diff --git a/Import/GacUI.Windows.cpp b/Import/GacUI.Windows.cpp index da5f8e0e..583fd52c 100644 --- a/Import/GacUI.Windows.cpp +++ b/Import/GacUI.Windows.cpp @@ -3067,13 +3067,6 @@ WindowsDirect2DParagraph TextRange(){} TextRange(vint _start, vint _end):start(_start),end(_end){} - inline vint Compare(const TextRange& value)const - { - vint result; - if ((result = start - value.start) != 0) return result; - if ((result = end - value.end) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(TextRange) }; diff --git a/Import/GacUI.Windows.h b/Import/GacUI.Windows.h index e1bc0a95..eb847ed3 100644 --- a/Import/GacUI.Windows.h +++ b/Import/GacUI.Windows.h @@ -461,8 +461,7 @@ Renderers ColorItemResource selectedFocused; ColorItemResource selectedUnfocused; - bool operator==(const ColorEntryResource& value){return false;} - bool operator!=(const ColorEntryResource& value){return true;} + bool operator==(const ColorEntryResource& value) const { return false; } }; typedef collections::Array ColorArray; @@ -1057,13 +1056,6 @@ UniscribeColor UniscribeColorRange(){} UniscribeColorRange(vint _start, vint _end):start(_start),end(_end){} - inline vint Compare(const UniscribeColorRange& value)const - { - vint result; - if ((result = start - value.start) != 0) return result; - if ((result = end - value.end) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(UniscribeColorRange) }; @@ -1075,13 +1067,6 @@ UniscribeColor UniscribeColor(){} UniscribeColor(Color _fontColor, Color _backgroundColor):fontColor(_fontColor),backgroundColor(_backgroundColor){} - inline vint64_t Compare(const UniscribeColor& value)const - { - vint64_t result; - if ((result = fontColor.Compare(value.fontColor)) != 0) return result; - if ((result = backgroundColor.Compare(value.backgroundColor)) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(UniscribeColor) }; } diff --git a/Import/GacUI.cpp b/Import/GacUI.cpp index ec3c4f19..afc92c7d 100644 --- a/Import/GacUI.cpp +++ b/Import/GacUI.cpp @@ -3136,32 +3136,9 @@ namespace vl GuiBoundsComposition ***********************************************************************/ - GuiBoundsComposition::GuiBoundsComposition() + Rect GuiBoundsComposition::GetPreferredBoundsInternal(bool considerPreferredMinSize) { - } - - GuiBoundsComposition::~GuiBoundsComposition() - { - } - - bool GuiBoundsComposition::GetSizeAffectParent() - { - return sizeAffectParent; - } - - void GuiBoundsComposition::SetSizeAffectParent(bool value) - { - sizeAffectParent = value; - } - - bool GuiBoundsComposition::IsSizeAffectParent() - { - return sizeAffectParent; - } - - Rect GuiBoundsComposition::GetPreferredBounds() - { - Rect result = GetBoundsInternal(compositionBounds); + Rect result = GetBoundsInternal(compositionBounds, considerPreferredMinSize); if (GetParent() && IsAlignedToParent()) { if (alignmentToParent.left >= 0) @@ -3188,6 +3165,29 @@ GuiBoundsComposition return result; } + GuiBoundsComposition::GuiBoundsComposition() + { + } + + GuiBoundsComposition::~GuiBoundsComposition() + { + } + + bool GuiBoundsComposition::GetSizeAffectParent() + { + return sizeAffectParent; + } + + void GuiBoundsComposition::SetSizeAffectParent(bool value) + { + sizeAffectParent = value; + } + + bool GuiBoundsComposition::IsSizeAffectParent() + { + return sizeAffectParent; + } + Rect GuiBoundsComposition::GetBounds() { Rect result = GetPreferredBounds(); @@ -3236,8 +3236,11 @@ GuiBoundsComposition void GuiBoundsComposition::SetBounds(Rect value) { - compositionBounds = value; - InvokeOnCompositionStateChanged(); + if (compositionBounds != value) + { + compositionBounds = value; + InvokeOnCompositionStateChanged(); + } } Margin GuiBoundsComposition::GetAlignmentToParent() @@ -3247,8 +3250,11 @@ GuiBoundsComposition void GuiBoundsComposition::SetAlignmentToParent(Margin value) { - alignmentToParent = value; - InvokeOnCompositionStateChanged(); + if (alignmentToParent != value) + { + alignmentToParent = value; + InvokeOnCompositionStateChanged(); + } } bool GuiBoundsComposition::IsAlignedToParent() @@ -3278,6 +3284,21 @@ namespace vl composition->InvokeOnCompositionStateChanged(); } + Size InvokeGetMinPreferredClientSizeInternal(GuiGraphicsComposition* composition, bool considerPreferredMinSize) + { + return composition->GetMinPreferredClientSizeInternal(considerPreferredMinSize); + } + + Rect InvokeGetPreferredBoundsInternal(GuiGraphicsComposition* composition, bool considerPreferredMinSize) + { + return composition->GetPreferredBoundsInternal(considerPreferredMinSize); + } + + Rect InvokeGetBoundsInternal(GuiGraphicsSite* composition, Rect expectedBounds, bool considerPreferredMinSize) + { + return composition->GetBoundsInternal(expectedBounds, considerPreferredMinSize); + } + /*********************************************************************** GuiWindowComposition ***********************************************************************/ @@ -3550,8 +3571,11 @@ GuiGraphicsComposition void GuiGraphicsComposition::SetVisible(bool value) { - visible = value; - InvokeOnCompositionStateChanged(); + if (visible != value) + { + visible = value; + InvokeOnCompositionStateChanged(); + } } bool GuiGraphicsComposition::GetEventuallyVisible() @@ -3572,8 +3596,11 @@ GuiGraphicsComposition void GuiGraphicsComposition::SetMinSizeLimitation(MinSizeLimitation value) { - minSizeLimitation = value; - InvokeOnCompositionStateChanged(); + if (minSizeLimitation != value) + { + minSizeLimitation = value; + InvokeOnCompositionStateChanged(); + } } elements::IGuiGraphicsRenderTarget* GuiGraphicsComposition::GetRenderTarget() @@ -3796,8 +3823,11 @@ GuiGraphicsComposition void GuiGraphicsComposition::SetMargin(Margin value) { - margin = value; - InvokeOnCompositionStateChanged(); + if (margin != value) + { + margin = value; + InvokeOnCompositionStateChanged(); + } } Margin GuiGraphicsComposition::GetInternalMargin() @@ -3807,8 +3837,11 @@ GuiGraphicsComposition void GuiGraphicsComposition::SetInternalMargin(Margin value) { - internalMargin = value; - InvokeOnCompositionStateChanged(); + if (internalMargin != value) + { + internalMargin = value; + InvokeOnCompositionStateChanged(); + } } Size GuiGraphicsComposition::GetPreferredMinSize() @@ -3818,8 +3851,11 @@ GuiGraphicsComposition void GuiGraphicsComposition::SetPreferredMinSize(Size value) { - preferredMinSize = value; - InvokeOnCompositionStateChanged(); + if (preferredMinSize != value) + { + preferredMinSize = value; + InvokeOnCompositionStateChanged(); + } } Rect GuiGraphicsComposition::GetClientArea() @@ -3843,15 +3879,28 @@ GuiGraphicsComposition InvokeOnCompositionStateChanged(); } + Size GuiGraphicsComposition::GetMinPreferredClientSize() + { + return GetMinPreferredClientSizeInternal(true); + } + + Rect GuiGraphicsComposition::GetPreferredBounds() + { + return GetPreferredBoundsInternal(true); + } + /*********************************************************************** GuiGraphicsSite ***********************************************************************/ - Rect GuiGraphicsSite::GetBoundsInternal(Rect expectedBounds) + Rect GuiGraphicsSite::GetBoundsInternal(Rect expectedBounds, bool considerPreferredMinSize) { - Size minSize = GetMinPreferredClientSize(); - if (minSize.x < preferredMinSize.x) minSize.x = preferredMinSize.x; - if (minSize.y < preferredMinSize.y) minSize.y = preferredMinSize.y; + Size minSize = GetMinPreferredClientSizeInternal(considerPreferredMinSize); + if (considerPreferredMinSize) + { + if (minSize.x < preferredMinSize.x) minSize.x = preferredMinSize.x; + if (minSize.y < preferredMinSize.y) minSize.y = preferredMinSize.y; + } minSize.x += margin.left + margin.right + internalMargin.left + internalMargin.right; minSize.y += margin.top + margin.bottom + internalMargin.top + internalMargin.bottom; @@ -3872,21 +3921,7 @@ GuiGraphicsSite } } - GuiGraphicsSite::GuiGraphicsSite() - { - BoundsChanged.SetAssociatedComposition(this); - } - - GuiGraphicsSite::~GuiGraphicsSite() - { - } - - bool GuiGraphicsSite::IsSizeAffectParent() - { - return true; - } - - Size GuiGraphicsSite::GetMinPreferredClientSize() + Size GuiGraphicsSite::GetMinPreferredClientSizeInternal(bool considerPreferredMinSize) { Size minSize; if (minSizeLimitation != GuiGraphicsComposition::NoLimit) @@ -3908,7 +3943,7 @@ GuiGraphicsSite GuiGraphicsComposition* child = children[i]; if (child->IsSizeAffectParent()) { - Rect childBounds = child->GetPreferredBounds(); + Rect childBounds = InvokeGetPreferredBoundsInternal(child, considerPreferredMinSize); if (minSize.x < childBounds.x2) minSize.x = childBounds.x2; if (minSize.y < childBounds.y2) minSize.y = childBounds.y2; } @@ -3917,9 +3952,23 @@ GuiGraphicsSite return minSize; } - Rect GuiGraphicsSite::GetPreferredBounds() + Rect GuiGraphicsSite::GetPreferredBoundsInternal(bool considerPreferredMinSize) { - return GetBoundsInternal(Rect(Point(0, 0), GetMinPreferredClientSize())); + return GetBoundsInternal(Rect(Point(0, 0), GetMinPreferredClientSize()), considerPreferredMinSize); + } + + GuiGraphicsSite::GuiGraphicsSite() + { + BoundsChanged.SetAssociatedComposition(this); + } + + GuiGraphicsSite::~GuiGraphicsSite() + { + } + + bool GuiGraphicsSite::IsSizeAffectParent() + { + return true; } Rect GuiGraphicsSite::GetPreviousCalculatedBounds() @@ -4654,11 +4703,20 @@ GuiGraphicsHost return needRender; } - void GuiGraphicsHost::ForceRefresh(bool handleFailure, bool& failureByResized, bool& failureByLostDevice) + void GuiGraphicsHost::ForceRefresh(bool handleFailure, bool& updated, bool& failureByResized, bool& failureByLostDevice) { - auto result = Render(true, handleFailure); - failureByResized |= result == RenderTargetFailure::ResizeWhileRendering; - failureByLostDevice |= result == RenderTargetFailure::LostDevice; + if (hostRecord.nativeWindow && hostRecord.nativeWindow->IsVisible()) + { + auto result = Render(true, handleFailure, updated); + failureByResized |= result == RenderTargetFailure::ResizeWhileRendering; + failureByLostDevice |= result == RenderTargetFailure::LostDevice; + } + else + { + updated = false; + failureByResized = false; + failureByLostDevice = false; + } } void GuiGraphicsHost::GlobalTimer() @@ -4675,77 +4733,33 @@ GuiGraphicsHost } } - if (hostRecord.nativeWindow && hostRecord.nativeWindow->IsActivelyRefreshing()) + if (hostRecord.nativeWindow && hostRecord.nativeWindow->IsVisible() && hostRecord.nativeWindow->IsActivelyRefreshing()) { - Render(false, true); + bool updated = false; + Render(false, true, updated); } } - GuiGraphicsHost::GuiGraphicsHost(controls::GuiControlHost* _controlHost, GuiGraphicsComposition* boundsComposition) - :controlHost(_controlHost) - { - altActionManager = new GuiAltActionManager(controlHost); - tabActionManager = new GuiTabActionManager(controlHost); - hostRecord.host = this; - windowComposition=new GuiWindowComposition; - windowComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); - windowComposition->AddChild(boundsComposition); - RefreshRelatedHostRecord(nullptr); - } - - GuiGraphicsHost::~GuiGraphicsHost() - { - windowComposition->RemoveChild(windowComposition->Children()[0]); - NotifyFinalizeInstance(windowComposition); - - delete altActionManager; - delete tabActionManager; - if (shortcutKeyManager) - { - delete shortcutKeyManager; - shortcutKeyManager = nullptr; - } - - delete windowComposition; - } - - INativeWindow* GuiGraphicsHost::GetNativeWindow() - { - return hostRecord.nativeWindow; - } - - void GuiGraphicsHost::SetNativeWindow(INativeWindow* _nativeWindow) - { - if (hostRecord.nativeWindow != _nativeWindow) - { - if (hostRecord.nativeWindow) - { - GetCurrentController()->CallbackService()->UninstallListener(this); - hostRecord.nativeWindow->UninstallListener(this); - } - - if (_nativeWindow) - { - _nativeWindow->InstallListener(this); - GetCurrentController()->CallbackService()->InstallListener(this); - previousClientSize = _nativeWindow->GetClientSize(); - minSize = windowComposition->GetPreferredBounds().GetSize(); - _nativeWindow->SetCaretPoint(_nativeWindow->Convert(caretPoint)); - needRender = true; - } - - RefreshRelatedHostRecord(_nativeWindow); - } - } - - GuiGraphicsComposition* GuiGraphicsHost::GetMainComposition() - { - return windowComposition; - } - - elements::RenderTargetFailure GuiGraphicsHost::Render(bool forceUpdate, bool handleFailure) + elements::RenderTargetFailure GuiGraphicsHost::Render(bool forceUpdate, bool handleFailure, bool& updated) { RenderTargetFailure result = RenderTargetFailure::None; + + if (!renderingTriggeredInLastFrame && needRender) + { + GuiControlSignalEventArgs arguments(controlHost->boundsComposition); + arguments.controlSignal = ControlSignal::UpdateRequested; + controlHost->ControlSignalTrigerred.Execute(arguments); + } + else if (renderingTriggeredInLastFrame && !needRender) + { + GuiControlSignalEventArgs arguments(controlHost->boundsComposition); + arguments.controlSignal = ControlSignal::UpdateFullfilled; + controlHost->ControlSignalTrigerred.Execute(arguments); + } + + updated = needRender; + renderingTriggeredInLastFrame = needRender; + if (!forceUpdate && !needRender) { return result; @@ -4820,6 +4834,68 @@ GuiGraphicsHost return result; } + GuiGraphicsHost::GuiGraphicsHost(controls::GuiControlHost* _controlHost, GuiGraphicsComposition* boundsComposition) + :controlHost(_controlHost) + { + altActionManager = new GuiAltActionManager(controlHost); + tabActionManager = new GuiTabActionManager(controlHost); + hostRecord.host = this; + windowComposition=new GuiWindowComposition; + windowComposition->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren); + windowComposition->AddChild(boundsComposition); + RefreshRelatedHostRecord(nullptr); + } + + GuiGraphicsHost::~GuiGraphicsHost() + { + windowComposition->RemoveChild(windowComposition->Children()[0]); + NotifyFinalizeInstance(windowComposition); + + delete altActionManager; + delete tabActionManager; + if (shortcutKeyManager) + { + delete shortcutKeyManager; + shortcutKeyManager = nullptr; + } + + delete windowComposition; + } + + INativeWindow* GuiGraphicsHost::GetNativeWindow() + { + return hostRecord.nativeWindow; + } + + void GuiGraphicsHost::SetNativeWindow(INativeWindow* _nativeWindow) + { + if (hostRecord.nativeWindow != _nativeWindow) + { + if (hostRecord.nativeWindow) + { + GetCurrentController()->CallbackService()->UninstallListener(this); + hostRecord.nativeWindow->UninstallListener(this); + } + + if (_nativeWindow) + { + _nativeWindow->InstallListener(this); + GetCurrentController()->CallbackService()->InstallListener(this); + previousClientSize = _nativeWindow->GetClientSize(); + minSize = windowComposition->GetPreferredBounds().GetSize(); + _nativeWindow->SetCaretPoint(_nativeWindow->Convert(caretPoint)); + needRender = true; + } + + RefreshRelatedHostRecord(_nativeWindow); + } + } + + GuiGraphicsComposition* GuiGraphicsHost::GetMainComposition() + { + return windowComposition; + } + void GuiGraphicsHost::RequestRender() { needRender = true; @@ -8305,7 +8381,7 @@ DataProvider virtualRowToSourceRow.Count(), [=](vint a, vint b) { - return sorter->Compare(itemSource->Get(a), itemSource->Get(b)); + return sorter->Compare(itemSource->Get(a), itemSource->Get(b)) <=> 0; }); } @@ -15058,12 +15134,7 @@ TextItem bool TextItem::operator==(const TextItem& value)const { - return text==value.text; - } - - bool TextItem::operator!=(const TextItem& value)const - { - return text!=value.text; + return text == value.text; } const WString& TextItem::GetText() @@ -20513,7 +20584,7 @@ GuiTextBoxAutoCompleteBase From(items) .OrderBy([](const AutoCompleteItem& a, const AutoCompleteItem& b) { - return INVLOC.Compare(a.text, b.text, Locale::IgnoreCase); + return INVLOC.Compare(a.text, b.text, Locale::IgnoreCase) <=> 0; }) ); @@ -27371,6 +27442,31 @@ GuiFlowComposition needUpdate = true; } } + + Size GuiFlowComposition::GetMinPreferredClientSizeInternal(bool considerPreferredMinSize) + { + Size minSize = GuiBoundsComposition::GetMinPreferredClientSizeInternal(considerPreferredMinSize); + if (GetMinSizeLimitation() == GuiGraphicsComposition::LimitToElementAndChildren) + { + auto clientSize = axis->VirtualSizeToRealSize(Size(0, minHeight)); + for (auto item : flowItems) + { + auto itemSize = InvokeGetPreferredBoundsInternal(item, considerPreferredMinSize).GetSize(); + if (clientSize.x < itemSize.x) clientSize.x = itemSize.x; + if (clientSize.y < itemSize.y) clientSize.y = itemSize.y; + } + if (minSize.x < clientSize.x) minSize.x = clientSize.x; + if (minSize.y < clientSize.y) minSize.y = clientSize.y; + } + + vint x = 0; + vint y = 0; + if (extraMargin.left > 0) x += extraMargin.left; + if (extraMargin.right > 0) x += extraMargin.right; + if (extraMargin.top > 0) y += extraMargin.top; + if (extraMargin.bottom > 0) y += extraMargin.bottom; + return minSize + Size(x, y); + } GuiFlowComposition::GuiFlowComposition() :axis(new GuiDefaultAxis) @@ -27410,9 +27506,12 @@ GuiFlowComposition void GuiFlowComposition::SetExtraMargin(Margin value) { - extraMargin = value; - needUpdate = true; - InvokeOnCompositionStateChanged(); + if (extraMargin != value) + { + extraMargin = value; + needUpdate = true; + InvokeOnCompositionStateChanged(); + } } vint GuiFlowComposition::GetRowPadding() @@ -27422,9 +27521,12 @@ GuiFlowComposition void GuiFlowComposition::SetRowPadding(vint value) { - rowPadding = value; - needUpdate = true; - InvokeOnCompositionStateChanged(); + if (rowPadding != value) + { + rowPadding = value; + needUpdate = true; + InvokeOnCompositionStateChanged(); + } } vint GuiFlowComposition::GetColumnPadding() @@ -27434,9 +27536,12 @@ GuiFlowComposition void GuiFlowComposition::SetColumnPadding(vint value) { - columnPadding = value; - needUpdate = true; - InvokeOnCompositionStateChanged(); + if (columnPadding != value) + { + columnPadding = value; + needUpdate = true; + InvokeOnCompositionStateChanged(); + } } Ptr GuiFlowComposition::GetAxis() @@ -27461,9 +27566,12 @@ GuiFlowComposition void GuiFlowComposition::SetAlignment(FlowAlignment value) { - alignment = value; - needUpdate = true; - InvokeOnCompositionStateChanged(); + if (alignment != value) + { + alignment = value; + needUpdate = true; + InvokeOnCompositionStateChanged(); + } } void GuiFlowComposition::ForceCalculateSizeImmediately() @@ -27471,31 +27579,6 @@ GuiFlowComposition GuiBoundsComposition::ForceCalculateSizeImmediately(); UpdateFlowItemBounds(true); } - - Size GuiFlowComposition::GetMinPreferredClientSize() - { - Size minSize = GuiBoundsComposition::GetMinPreferredClientSize(); - if (GetMinSizeLimitation() == GuiGraphicsComposition::LimitToElementAndChildren) - { - auto clientSize = axis->VirtualSizeToRealSize(Size(0, minHeight)); - for (auto item : flowItems) - { - auto itemSize = item->GetPreferredBounds().GetSize(); - if (clientSize.x < itemSize.x) clientSize.x = itemSize.x; - if (clientSize.y < itemSize.y) clientSize.y = itemSize.y; - } - if (minSize.x < clientSize.x) minSize.x = clientSize.x; - if (minSize.y < clientSize.y) minSize.y = clientSize.y; - } - - vint x = 0; - vint y = 0; - if (extraMargin.left > 0) x += extraMargin.left; - if (extraMargin.right > 0) x += extraMargin.right; - if (extraMargin.top > 0) y += extraMargin.top; - if (extraMargin.bottom > 0) y += extraMargin.bottom; - return minSize + Size(x, y); - } Rect GuiFlowComposition::GetBounds() { @@ -27532,7 +27615,7 @@ GuiFlowItemComposition Size GuiFlowItemComposition::GetMinSize() { - return GetBoundsInternal(bounds).GetSize(); + return GetBoundsInternal(bounds, true).GetSize(); } GuiFlowItemComposition::GuiFlowItemComposition() @@ -27574,8 +27657,11 @@ GuiFlowItemComposition void GuiFlowItemComposition::SetBounds(Rect value) { - bounds = value; - InvokeOnCompositionStateChanged(); + if (bounds != value) + { + bounds = value; + InvokeOnCompositionStateChanged(); + } } Margin GuiFlowItemComposition::GetExtraMargin() @@ -27585,8 +27671,11 @@ GuiFlowItemComposition void GuiFlowItemComposition::SetExtraMargin(Margin value) { - extraMargin = value; - InvokeOnCompositionStateChanged(); + if (extraMargin != value) + { + extraMargin = value; + InvokeOnCompositionStateChanged(); + } } GuiFlowOption GuiFlowItemComposition::GetFlowOption() @@ -27596,11 +27685,14 @@ GuiFlowItemComposition void GuiFlowItemComposition::SetFlowOption(GuiFlowOption value) { - option = value; - if (flowParent) + if (option != value) { - flowParent->needUpdate = true; - InvokeOnCompositionStateChanged(); + option = value; + if (flowParent) + { + flowParent->needUpdate = true; + InvokeOnCompositionStateChanged(); + } } } } @@ -28855,8 +28947,7 @@ GuiSharedSizeRootComposition { auto group = item->GetGroup(); auto minSize = item->GetPreferredMinSize(); - item->SetPreferredMinSize(Size(0, 0)); - auto size = item->GetPreferredBounds().GetSize(); + auto size = InvokeGetPreferredBoundsInternal(item, false).GetSize(); if (item->GetSharedWidth()) { @@ -28961,8 +29052,11 @@ GuiSideAlignedComposition void GuiSideAlignedComposition::SetDirection(Direction value) { - direction = value; - InvokeOnCompositionStateChanged(); + if (direction != value) + { + direction = value; + InvokeOnCompositionStateChanged(); + } } vint GuiSideAlignedComposition::GetMaxLength() @@ -28973,8 +29067,11 @@ GuiSideAlignedComposition void GuiSideAlignedComposition::SetMaxLength(vint value) { if (value < 0) value = 0; - maxLength = value; - InvokeOnCompositionStateChanged(); + if (maxLength != value) + { + maxLength = value; + InvokeOnCompositionStateChanged(); + } } double GuiSideAlignedComposition::GetMaxRatio() @@ -28984,11 +29081,12 @@ GuiSideAlignedComposition void GuiSideAlignedComposition::SetMaxRatio(double value) { - maxRatio = - value < 0 ? 0 : - value>1 ? 1 : - value; - InvokeOnCompositionStateChanged(); + if (value < 0) value = 0; else if (value > 1) value = 1; + if (maxRatio != value) + { + maxRatio = value; + InvokeOnCompositionStateChanged(); + } } bool GuiSideAlignedComposition::IsSizeAffectParent() @@ -29074,26 +29172,38 @@ GuiPartialViewComposition void GuiPartialViewComposition::SetWidthRatio(double value) { - wRatio = value; - InvokeOnCompositionStateChanged(); + if (wRatio != value) + { + wRatio = value; + InvokeOnCompositionStateChanged(); + } } void GuiPartialViewComposition::SetWidthPageSize(double value) { - wPageSize = value; - InvokeOnCompositionStateChanged(); + if (wPageSize != value) + { + wPageSize = value; + InvokeOnCompositionStateChanged(); + } } void GuiPartialViewComposition::SetHeightRatio(double value) { - hRatio = value; - InvokeOnCompositionStateChanged(); + if (hRatio != value) + { + hRatio = value; + InvokeOnCompositionStateChanged(); + } } void GuiPartialViewComposition::SetHeightPageSize(double value) { - hPageSize = value; - InvokeOnCompositionStateChanged(); + if (hPageSize != value) + { + hPageSize = value; + InvokeOnCompositionStateChanged(); + } } bool GuiPartialViewComposition::IsSizeAffectParent() @@ -29202,6 +29312,7 @@ GuiStackComposition if (itemBounds.U() <= 0) \ { \ adjustment -= itemBounds.U(); \ + InvokeOnCompositionStateChanged(); \ } \ else \ { \ @@ -29209,6 +29320,7 @@ GuiStackComposition if (overflow > 0) \ { \ adjustment -= overflow; \ + InvokeOnCompositionStateChanged(); \ } \ } \ @@ -29227,8 +29339,6 @@ GuiStackComposition break; } } - - InvokeOnCompositionStateChanged(); #undef ADJUSTMENT } @@ -29265,6 +29375,36 @@ GuiStackComposition UpdateStackItemBounds(); } } + + Size GuiStackComposition::GetMinPreferredClientSizeInternal(bool considerPreferredMinSize) + { + Size minSize = GuiBoundsComposition::GetMinPreferredClientSizeInternal(considerPreferredMinSize); + if (GetMinSizeLimitation() == GuiGraphicsComposition::LimitToElementAndChildren) + { + if (!ensuringVisibleStackItem || direction == Vertical || direction == ReversedVertical) + { + if (minSize.x < stackItemTotalSize.x) + { + minSize.x = stackItemTotalSize.x; + } + } + if (!ensuringVisibleStackItem || direction == Horizontal || direction == ReversedHorizontal) + { + if (minSize.y < stackItemTotalSize.y) + { + minSize.y = stackItemTotalSize.y; + } + } + } + + vint x = 0; + vint y = 0; + if (extraMargin.left > 0) x += extraMargin.left; + if (extraMargin.right > 0) x += extraMargin.right; + if (extraMargin.top > 0) y += extraMargin.top; + if (extraMargin.bottom > 0) y += extraMargin.bottom; + return minSize + Size(x, y); + } GuiStackComposition::GuiStackComposition() { @@ -29321,36 +29461,6 @@ GuiStackComposition GuiBoundsComposition::ForceCalculateSizeImmediately(); UpdateStackItemBounds(); } - - Size GuiStackComposition::GetMinPreferredClientSize() - { - Size minSize = GuiBoundsComposition::GetMinPreferredClientSize(); - if (GetMinSizeLimitation() == GuiGraphicsComposition::LimitToElementAndChildren) - { - if (!ensuringVisibleStackItem || direction == Vertical || direction == ReversedVertical) - { - if (minSize.x < stackItemTotalSize.x) - { - minSize.x = stackItemTotalSize.x; - } - } - if (!ensuringVisibleStackItem || direction == Horizontal || direction == ReversedHorizontal) - { - if (minSize.y < stackItemTotalSize.y) - { - minSize.y = stackItemTotalSize.y; - } - } - } - - vint x = 0; - vint y = 0; - if (extraMargin.left > 0) x += extraMargin.left; - if (extraMargin.right > 0) x += extraMargin.right; - if (extraMargin.top > 0) y += extraMargin.top; - if (extraMargin.bottom > 0) y += extraMargin.bottom; - return minSize + Size(x, y); - } Rect GuiStackComposition::GetBounds() { @@ -29435,7 +29545,7 @@ GuiStackItemComposition Size GuiStackItemComposition::GetMinSize() { - return GetBoundsInternal(bounds).GetSize(); + return GetBoundsInternal(bounds, true).GetSize(); } GuiStackItemComposition::GuiStackItemComposition() @@ -29513,8 +29623,11 @@ GuiStackItemComposition void GuiStackItemComposition::SetBounds(Rect value) { - bounds = value; - InvokeOnCompositionStateChanged(); + if (bounds != value) + { + bounds = value; + InvokeOnCompositionStateChanged(); + } } Margin GuiStackItemComposition::GetExtraMargin() @@ -29524,8 +29637,11 @@ GuiStackItemComposition void GuiStackItemComposition::SetExtraMargin(Margin value) { - extraMargin = value; - InvokeOnCompositionStateChanged(); + if (extraMargin != value) + { + extraMargin = value; + InvokeOnCompositionStateChanged(); + } } } } @@ -29848,6 +29964,12 @@ GuiTableComposition } } + Size GuiTableComposition::GetMinPreferredClientSizeInternal(bool considerPreferredMinSize) + { + vint offset = (borderVisible ? 2 * cellPadding : 0); + return Size(tableContentMinSize.x + offset, tableContentMinSize.y + offset); + } + GuiTableComposition::GuiTableComposition() :rows(0) , columns(0) @@ -29914,9 +30036,12 @@ GuiTableComposition void GuiTableComposition::SetRowOption(vint _row, GuiCellOption option) { - rowOptions[_row] = option; - UpdateCellBounds(); - ConfigChanged.Execute(GuiEventArgs(this)); + if (rowOptions[_row] != option) + { + rowOptions[_row] = option; + UpdateCellBounds(); + ConfigChanged.Execute(GuiEventArgs(this)); + } } GuiCellOption GuiTableComposition::GetColumnOption(vint _column) @@ -29926,9 +30051,12 @@ GuiTableComposition void GuiTableComposition::SetColumnOption(vint _column, GuiCellOption option) { - columnOptions[_column] = option; - UpdateCellBounds(); - ConfigChanged.Execute(GuiEventArgs(this)); + if (columnOptions[_column] != option) + { + columnOptions[_column] = option; + UpdateCellBounds(); + ConfigChanged.Execute(GuiEventArgs(this)); + } } vint GuiTableComposition::GetCellPadding() @@ -30037,12 +30165,6 @@ GuiTableComposition UpdateCellBounds(); } - Size GuiTableComposition::GetMinPreferredClientSize() - { - vint offset = (borderVisible ? 2 * cellPadding : 0); - return Size(tableContentMinSize.x + offset, tableContentMinSize.y + offset); - } - Rect GuiTableComposition::GetBounds() { Rect cached = previousBounds; @@ -30459,8 +30581,11 @@ GuiRowSplitterComposition void GuiRowSplitterComposition::SetRowsToTheTop(vint value) { - rowsToTheTop = value; - InvokeOnCompositionStateChanged(); + if (rowsToTheTop != value) + { + rowsToTheTop = value; + InvokeOnCompositionStateChanged(); + } } Rect GuiRowSplitterComposition::GetBounds() @@ -30511,8 +30636,11 @@ GuiColumnSplitterComposition void GuiColumnSplitterComposition::SetColumnsToTheLeft(vint value) { - columnsToTheLeft = value; - InvokeOnCompositionStateChanged(); + if (columnsToTheLeft != value) + { + columnsToTheLeft = value; + InvokeOnCompositionStateChanged(); + } } Rect GuiColumnSplitterComposition::GetBounds() @@ -33565,7 +33693,11 @@ INativeWindowListener return false; } - void INativeWindowListener::ForceRefresh(bool handleFailure, bool& failureByResized, bool& failureByLostDevice) + void INativeWindowListener::ForceRefresh(bool handleFailure, bool& updated, bool& failureByResized, bool& failureByLostDevice) + { + } + + void INativeWindowListener::BecomeMainHostedWindow() { } @@ -34261,7 +34393,6 @@ GuiHostedController::INativeWindowListener void GuiHostedController::Paint() { - wmManager->needRefresh = true; } /*********************************************************************** @@ -34674,27 +34805,30 @@ GuiHostedController::INativeControllerListener auto renderTarget = hostedResourceManager->nativeManager->GetRenderTarget(nativeWindow); if (renderTarget->IsInHostedRendering()) { - goto SKIP_REFRESH; + return; } - if (wmManager->needRefresh) - { - wmManager->needRefresh = false; - goto NEED_REFRESH; - } for (auto hostedWindow : createdWindows) { for (auto listener : hostedWindow->listeners) { if (listener->NeedRefresh()) { + wmManager->needRefresh = true; goto NEED_REFRESH; } } } - return; + + if (!wmManager->needRefresh && !windowsUpdatedInLastFrame) + { + return; + } NEED_REFRESH: + wmManager->needRefresh = false; + windowsUpdatedInLastFrame = false; + while (true) { renderTarget->StartHostedRendering(); @@ -34706,7 +34840,9 @@ GuiHostedController::INativeControllerListener auto hostedWindow = wmManager->ordinaryWindowsInOrder[i]->id; for (auto listener : hostedWindow->listeners) { - listener->ForceRefresh(false, failureByResized, failureByLostDevice); + bool updated = false; + listener->ForceRefresh(false, updated, failureByResized, failureByLostDevice); + windowsUpdatedInLastFrame |= updated; if (failureByResized || failureByLostDevice) { goto STOP_RENDERING; @@ -34718,7 +34854,9 @@ GuiHostedController::INativeControllerListener auto hostedWindow = wmManager->topMostedWindowsInOrder[i]->id; for (auto listener : hostedWindow->listeners) { - listener->ForceRefresh(false, failureByResized, failureByLostDevice); + bool updated = false; + listener->ForceRefresh(false, updated, failureByResized, failureByLostDevice); + windowsUpdatedInLastFrame |= updated; if (failureByResized || failureByLostDevice) { goto STOP_RENDERING; @@ -34741,10 +34879,12 @@ GuiHostedController::INativeControllerListener if (failureByLostDevice) { hostedResourceManager->nativeManager->RecreateRenderTarget(nativeWindow); + wmManager->needRefresh = true; } else if (failureByResized) { hostedResourceManager->nativeManager->ResizeRenderTarget(nativeWindow); + wmManager->needRefresh = true; } else { @@ -34752,7 +34892,6 @@ GuiHostedController::INativeControllerListener break; } } - SKIP_REFRESH:; } } @@ -41750,17 +41889,7 @@ GuiResourceError void GuiResourceError::SortAndLog(List& errors, collections::List& output, const WString& workingDirectory) { if (errors.Count() == 0) return; - SortLambda(&errors[0], errors.Count(), [](const GuiResourceError& a, const GuiResourceError& b) - { - vint64_t result = 0; - if (result == 0) result = WString::Compare(a.location.resourcePath, b.location.resourcePath); - if (result == 0) result = WString::Compare(a.location.filePath, b.location.filePath); - if (result == 0) result = WString::Compare(a.position.originalLocation.resourcePath, b.position.originalLocation.resourcePath); - if (result == 0) result = WString::Compare(a.position.originalLocation.filePath, b.position.originalLocation.filePath); - if (result == 0) result = a.position.row - b.position.row; - if (result == 0) result = a.position.column - b.position.column; - return result; - }); + Sort(&errors[0], errors.Count()); for (vint index = 0; index < errors.Count(); index++) { @@ -42289,15 +42418,9 @@ GuiResourceFolder vint count = itemTuples.Count(); writer << count; - for (auto item : itemTuples) + for (auto [typeName, name, directLoad, resource, content] : itemTuples) { - vint typeName = item.f0; - WString name = item.f1; writer << typeName << name; - - auto directLoad = item.f2; - auto resource = item.f3; - auto content = item.f4; directLoad->SerializePrecompiled(resource, content, writer.output); } @@ -44057,11 +44180,26 @@ FakeDialogServiceBase { auto app = GetApplication(); bool exit = false; + dialog->WindowOpened.AttachLambda([=](GuiGraphicsComposition* sender, GuiEventArgs& arguments) { dialog->ForceCalculateSizeImmediately(); dialog->MoveToScreenCenter(); }); + + auto movingFlag = Ptr(new bool(false)); + dialog->ControlSignalTrigerred.AttachLambda([=](GuiGraphicsComposition* sender, GuiControlSignalEventArgs& arguments) + { + if (arguments.controlSignal == ControlSignal::UpdateFullfilled) + { + if (!*movingFlag.Obj()) + { + *movingFlag.Obj() = true; + dialog->MoveToScreenCenter(); + } + } + }); + dialog->ShowModalAndDelete(owner, [&exit]() { exit = true; }, [viewModel]() { (void)viewModel; }); while (!exit && app->RunOneCycle()); } @@ -45112,11 +45250,7 @@ FakeDialogServiceBase GetCurrentController()->ResourceService()->EnumerateFonts(vm->fontList); if (vm->fontList.Count() > 0) { - Sort( - &vm->fontList[0], - vm->fontList.Count(), - Func([](WString a, WString b) {return WString::Compare(a, b); }) - ); + Sort(&vm->fontList[0], vm->fontList.Count()); } }; diff --git a/Import/GacUI.h b/Import/GacUI.h index a5b86d65..25e15a7d 100644 --- a/Import/GacUI.h +++ b/Import/GacUI.h @@ -74,12 +74,8 @@ Enumerations }; #define GUI_DEFINE_COMPARE_OPERATORS(TYPE)\ - inline bool operator==(const TYPE& right)const { return Compare(right) == 0; } \ - inline bool operator!=(const TYPE& right)const { return Compare(right) != 0; } \ - inline bool operator< (const TYPE& right)const { return Compare(right) < 0; } \ - inline bool operator<=(const TYPE& right)const { return Compare(right) <= 0; } \ - inline bool operator> (const TYPE& right)const { return Compare(right) > 0; } \ - inline bool operator>=(const TYPE& right)const { return Compare(right) >= 0; } \ + std::strong_ordering operator<=>(const TYPE&) const = default;\ + bool operator==(const TYPE&) const = default;\ /*********************************************************************** TextPos @@ -109,13 +105,6 @@ TextPos { } - inline vint Compare(const TextPos& value)const - { - vint result; - if ((result = row - value.row) != 0) return result; - if ((result = column - value.column) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(TextPos) }; @@ -147,13 +136,6 @@ GridPos { } - inline vint Compare(const GridPos& value)const - { - vint result; - if ((result = row - value.row) != 0) return result; - if ((result = column - value.column) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(GridPos) }; @@ -180,7 +162,6 @@ Coordinate NativeCoordinate& operator=(const NativeCoordinate& _value) = default; NativeCoordinate& operator=(NativeCoordinate&& _value) = default; - inline vint Compare(NativeCoordinate c) const { return value - c.value; } GUI_DEFINE_COMPARE_OPERATORS(NativeCoordinate) inline NativeCoordinate operator+(NativeCoordinate c)const { return value + c.value; }; @@ -227,13 +208,6 @@ Point { } - inline vint Compare(const Point_& value)const - { - vint result; - if ((result = CompareCoordinate(x, value.x)) != 0) return result; - if ((result = CompareCoordinate(y, value.y)) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(Point_) }; @@ -270,13 +244,6 @@ Size { } - inline vint Compare(const Size_& value)const - { - vint result; - if ((result = CompareCoordinate(x, value.x)) != 0) return result; - if ((result = CompareCoordinate(y, value.y)) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(Size_) }; @@ -326,15 +293,6 @@ Rectangle { } - inline vint Compare(const Rect_& value)const - { - vint result; - if ((result = CompareCoordinate(x1, value.x1)) != 0) return result; - if ((result = CompareCoordinate(y1, value.y1)) != 0) return result; - if ((result = CompareCoordinate(x2, value.x2)) != 0) return result; - if ((result = CompareCoordinate(y2, value.y2)) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(Rect_) Point_ LeftTop()const @@ -536,11 +494,8 @@ Color { } - vint64_t Compare(Color color)const - { - return (vint64_t)value - (vint64_t)color.value; - } - GUI_DEFINE_COMPARE_OPERATORS(Color) + std::strong_ordering operator<=>(const Color& c) const { return value <=> c.value; } + bool operator==(const Color& c) const { return value == c.value; } static Color Parse(const WString& value) { @@ -628,15 +583,6 @@ Margin { } - inline vint Compare(const Margin_& value)const - { - vint result; - if ((result = CompareCoordinate(left, value.left)) != 0) return result; - if ((result = CompareCoordinate(top, value.top)) != 0) return result; - if ((result = CompareCoordinate(right, value.right)) != 0) return result; - if ((result = CompareCoordinate(bottom, value.bottom)) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(Margin_) }; @@ -696,33 +642,6 @@ Resources { } - vint64_t Compare(const FontProperties& value)const - { - vint64_t result = 0; - - result = WString::Compare(fontFamily, value.fontFamily); - if (result != 0) return result; - - result = (vint64_t)size - (vint64_t)value.size; - if (result != 0) return result; - - result = (vint64_t)bold - (vint64_t)value.bold; - if (result != 0) return result; - - result = (vint64_t)italic - (vint64_t)value.italic; - if (result != 0) return result; - - result = (vint64_t)underline - (vint64_t)value.underline; - if (result != 0) return result; - - result = (vint64_t)strikeline - (vint64_t)value.strikeline; - if (result != 0) return result; - - result = (vint64_t)antialias - (vint64_t)value.antialias; - if (result != 0) return result; - - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(FontProperties) }; @@ -2347,7 +2266,12 @@ INativeWindow /// /// Returns true if the window needs to be updated. /// True when the whole render target needs to be cleaned. - virtual void ForceRefresh(bool handleFailure, bool& failureByResized, bool& failureByLostDevice); + virtual void ForceRefresh(bool handleFailure, bool& updated, bool& failureByResized, bool& failureByLostDevice); + /// + /// Called when the window becomes a main window in hosted mode. + /// This callback is only called once on the main window. + /// + virtual void BecomeMainHostedWindow(); /// /// Called when the window becomes a non-main window in hosted mode. /// It requires MaximizedBox and MinimizedBox to be disabled. @@ -3707,6 +3631,10 @@ Predefined Events ParentLineChanged, /// Service added changed. ServiceAdded, + /// The window need to update when data or layout is changed. This even only triggered on . + UpdateRequested, + /// The window finished all the updating works after data or layout is changed. This even only triggered on . + UpdateFullfilled, }; /// Control signal event arguments. @@ -4018,7 +3946,9 @@ Basic Construction friend class controls::GuiControl; friend class GuiGraphicsHost; - friend void InvokeOnCompositionStateChanged(compositions::GuiGraphicsComposition* composition); + friend void InvokeOnCompositionStateChanged(GuiGraphicsComposition* composition); + friend Size InvokeGetMinPreferredClientSizeInternal(GuiGraphicsComposition* composition, bool considerPreferredMinSize); + friend Rect InvokeGetPreferredBoundsInternal(GuiGraphicsComposition* composition, bool considerPreferredMinSize); public: /// /// Minimum size limitation. @@ -4073,6 +4003,9 @@ Basic Construction void SetAssociatedControl(controls::GuiControl* control); void InvokeOnCompositionStateChanged(); + virtual Size GetMinPreferredClientSizeInternal(bool considerPreferredMinSize) = 0; + virtual Rect GetPreferredBoundsInternal(bool considerPreferredMinSize) = 0; + static bool SharedPtrDestructorProc(DescriptableObject* obj, bool forceDisposing); public: GuiGraphicsComposition(); @@ -4209,16 +4142,17 @@ Basic Construction virtual Rect GetClientArea(); /// Force to calculate layout and size immediately virtual void ForceCalculateSizeImmediately(); + + /// Get the preferred minimum client size. + /// The preferred minimum client size. + Size GetMinPreferredClientSize(); + /// Get the preferred bounds. + /// The preferred bounds. + Rect GetPreferredBounds(); /// Test is the size calculation affected by the parent. /// Returns true if the size calculation is affected by the parent. virtual bool IsSizeAffectParent()=0; - /// Get the preferred minimum client size. - /// The preferred minimum client size. - virtual Size GetMinPreferredClientSize()=0; - /// Get the preferred bounds. - /// The preferred bounds. - virtual Rect GetPreferredBounds()=0; /// Get the bounds. /// The bounds. virtual Rect GetBounds()=0; @@ -4229,15 +4163,18 @@ Basic Construction /// class GuiGraphicsSite : public GuiGraphicsComposition, public Description { + friend Rect InvokeGetBoundsInternal(GuiGraphicsSite* composition, Rect expectedBounds, bool considerPreferredMinSize); protected: Rect previousBounds; /// Calculate the final bounds from an expected bounds. /// The final bounds according to some configuration like margin, minimum size, etc.. /// The expected bounds. - virtual Rect GetBoundsInternal(Rect expectedBounds); + virtual Rect GetBoundsInternal(Rect expectedBounds, bool considerPreferredMinSize); void UpdatePreviousBounds(Rect bounds); + Size GetMinPreferredClientSizeInternal(bool considerPreferredMinSize)override; + Rect GetPreferredBoundsInternal(bool considerPreferredMinSize)override; public: GuiGraphicsSite(); ~GuiGraphicsSite(); @@ -4246,8 +4183,6 @@ Basic Construction compositions::GuiNotifyEvent BoundsChanged; bool IsSizeAffectParent()override; - Size GetMinPreferredClientSize()override; - Rect GetPreferredBounds()override; /// Get the previous calculated bounds, ignoring any surrounding changes that could affect the bounds. /// The previous calculated bounds. @@ -4327,7 +4262,8 @@ Basic Compositions bool sizeAffectParent = true; Rect compositionBounds; Margin alignmentToParent{ -1,-1,-1,-1 }; - + + Rect GetPreferredBoundsInternal(bool considerPreferredMinSize)override; public: GuiBoundsComposition(); ~GuiBoundsComposition(); @@ -4340,7 +4276,6 @@ Basic Compositions void SetSizeAffectParent(bool value); bool IsSizeAffectParent()override; - Rect GetPreferredBounds()override; Rect GetBounds()override; /// Set the expected bounds. /// The expected bounds. @@ -4789,6 +4724,7 @@ Host HostRecord hostRecord; bool supressPaint = false; bool needRender = true; + bool renderingTriggeredInLastFrame = false; ProcList afterRenderProcs; ProcMap afterRenderKeyedProcs; @@ -4849,9 +4785,11 @@ Host void Char(const NativeWindowCharInfo& info)override; bool NeedRefresh()override; - void ForceRefresh(bool handleFailure, bool& failureByResized, bool& failureByLostDevice)override; - + void ForceRefresh(bool handleFailure, bool& updated, bool& failureByResized, bool& failureByLostDevice)override; void GlobalTimer()override; + + elements::RenderTargetFailure Render(bool forceUpdate, bool handleFailure, bool& updated); + public: GuiGraphicsHost(controls::GuiControlHost* _controlHost, GuiGraphicsComposition* boundsComposition); ~GuiGraphicsHost(); @@ -4865,10 +4803,6 @@ Host /// Get the main . If a window is associated, everything that put into the main composition will be shown in the window. /// The main compositoin. GuiGraphicsComposition* GetMainComposition(); - /// Render the main composition and all content to the associated window. - /// Set to true to force updating layout and then render. - /// Set to true to force updating layout and then render. - elements::RenderTargetFailure Render(bool forceUpdate, bool handleFailure); /// Request a rendering void RequestRender(); /// Invoke a specified function after rendering. @@ -5031,6 +4965,7 @@ Flow Compositions void OnBoundsChanged(GuiGraphicsComposition* sender, GuiEventArgs& arguments); void OnChildInserted(GuiGraphicsComposition* child)override; void OnChildRemoved(GuiGraphicsComposition* child)override; + Size GetMinPreferredClientSizeInternal(bool considerPreferredMinSize)override; public: GuiFlowComposition(); ~GuiFlowComposition(); @@ -5080,7 +5015,6 @@ Flow Compositions void SetAlignment(FlowAlignment value); void ForceCalculateSizeImmediately()override; - Size GetMinPreferredClientSize()override; Rect GetBounds()override; }; @@ -5106,6 +5040,8 @@ Flow Compositions double percentage = 0.0; /// The distance value. vint distance = 0; + + bool operator==(const GuiFlowOption& value) const = default; }; /// @@ -5702,6 +5638,7 @@ Stack Compositions void OnBoundsChanged(GuiGraphicsComposition* sender, GuiEventArgs& arguments); void OnChildInserted(GuiGraphicsComposition* child)override; void OnChildRemoved(GuiGraphicsComposition* child)override; + Size GetMinPreferredClientSizeInternal(bool considerPreferredMinSize)override; public: GuiStackComposition(); ~GuiStackComposition(); @@ -5729,7 +5666,6 @@ Stack Compositions void SetPadding(vint value); void ForceCalculateSizeImmediately()override; - Size GetMinPreferredClientSize()override; Rect GetBounds()override; /// Get the extra margin inside the stack composition. @@ -5932,8 +5868,7 @@ Table Compositions { } - bool operator==(const GuiCellOption& value){return false;} - bool operator!=(const GuiCellOption& value){return true;} + bool operator==(const GuiCellOption& value) const = default; /// Creates an absolute sizing option /// The created option. @@ -6025,6 +5960,7 @@ Table Compositions ); void OnRenderContextChanged()override; + Size GetMinPreferredClientSizeInternal(bool considerPreferredMinSize)override; public: GuiTableComposition(); ~GuiTableComposition(); @@ -6085,7 +6021,6 @@ Table Compositions void UpdateCellBounds(); void ForceCalculateSizeImmediately()override; - Size GetMinPreferredClientSize()override; Rect GetBounds()override; }; @@ -6488,16 +6423,14 @@ Helpers struct Package\ {\ TVALUE resource;\ - vint counter;\ + vint counter;\ bool operator==(const Package& package)const{return false;}\ - bool operator!=(const Package& package)const{return true;}\ };\ struct DeadPackage\ {\ TKEY key;\ TVALUE value;\ bool operator==(const DeadPackage& package)const{return false;}\ - bool operator!=(const DeadPackage& package)const{return true;}\ };\ Dictionary aliveResources;\ List deadResources;\ @@ -7659,7 +7592,6 @@ Global String Key vint key = -1; public: - inline vint Compare(GlobalStringKey value)const{ return key - value.key; } GUI_DEFINE_COMPARE_OPERATORS(GlobalStringKey) static GlobalStringKey Get(const WString& string); @@ -7817,8 +7749,7 @@ Resource Structure GuiResourceLocation(const WString& _resourcePath, const WString& _filePath); GuiResourceLocation(Ptr node); - bool operator==(const GuiResourceLocation& b)const { return resourcePath == b.resourcePath && filePath == b.filePath; } - bool operator!=(const GuiResourceLocation& b)const { return !(*this == b); } + GUI_DEFINE_COMPARE_OPERATORS(GuiResourceLocation) }; struct GuiResourceTextPos @@ -7830,8 +7761,7 @@ Resource Structure GuiResourceTextPos() = default; GuiResourceTextPos(GuiResourceLocation location, glr::ParsingTextPos position); - bool operator==(const GuiResourceTextPos& b)const { return originalLocation == b.originalLocation && row == b.row && column == b.column; } - bool operator!=(const GuiResourceTextPos& b)const { return !(*this == b); } + GUI_DEFINE_COMPARE_OPERATORS(GuiResourceTextPos) }; struct GuiResourceError @@ -7848,8 +7778,7 @@ Resource Structure GuiResourceError(GuiResourceLocation _location, const WString& _message); GuiResourceError(GuiResourceLocation _location, GuiResourceTextPos _position, const WString& _message); - bool operator==(const GuiResourceError& b)const { return location == b.location && position == b.position && message == b.message; } - bool operator!=(const GuiResourceError& b)const { return !(*this == b); } + GUI_DEFINE_COMPARE_OPERATORS(GuiResourceError) static void Transform(GuiResourceLocation _location, GuiResourceError::List& errors, collections::List& parsingErrors); static void Transform(GuiResourceLocation _location, GuiResourceError::List& errors, collections::List& parsingErrors, glr::ParsingTextPos offset); @@ -10533,15 +10462,7 @@ Rich Content Document (style) static DocumentFontSize Parse(const WString& value); WString ToString()const; - bool operator==(const DocumentFontSize& value)const - { - return size == value.size && relative == value.relative; - } - - bool operator!=(const DocumentFontSize& value)const - { - return size != value.size || relative != value.relative; - } + bool operator==(const DocumentFontSize& value) const = default; }; /// Represents a text style. @@ -10922,8 +10843,7 @@ Elements int radiusX = 0; int radiusY = 0; - bool operator==(const ElementShape& value)const { return shapeType == value.shapeType && radiusX == value.radiusX && radiusY == value.radiusY; } - bool operator!=(const ElementShape& value)const { return !(*this == value); } + bool operator==(const ElementShape& value) const = default; }; /// @@ -11915,8 +11835,7 @@ Colorized Plain Text (model) ~TextLine(); static vint CalculateBufferLength(vint dataLength); - bool operator==(const TextLine& value)const{return false;} - bool operator!=(const TextLine& value)const{return true;} + bool operator==(const TextLine& value) const { return false; } /// /// Initialize the instance to be an empty line. @@ -12266,13 +12185,6 @@ Colorized Plain Text (model) /// Color background; - inline vint64_t Compare(const ColorItem& value)const - { - vint64_t result; - if ((result = text.Compare(value.text)) != 0) return result; - if ((result = background.Compare(value.background)) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(ColorItem) }; @@ -12294,14 +12206,6 @@ Colorized Plain Text (model) /// ColorItem selectedUnfocused; - inline vint64_t Compare(const ColorEntry& value)const - { - vint64_t result; - if ((result = normal.Compare(value.normal)) != 0) return result; - if ((result = selectedFocused.Compare(value.selectedFocused)) != 0) return result; - if ((result = selectedUnfocused.Compare(value.selectedUnfocused)) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(ColorEntry) }; } @@ -14295,7 +14199,6 @@ TextItemProvider ~TextItem(); bool operator==(const TextItem& value)const; - bool operator!=(const TextItem& value)const; /// Get the text of this item. /// The text of this item. @@ -20551,13 +20454,6 @@ Ribbon Gallery List { } - inline vint Compare(const GalleryPos& value)const - { - vint result; - if ((result = group - value.group) != 0) return result; - if ((result = item - value.item) != 0) return result; - return 0; - } GUI_DEFINE_COMPARE_OPERATORS(GalleryPos) }; @@ -25058,6 +24954,7 @@ GuiHostedController protected: SharedCallbackService callbackService; hosted_window_manager::WindowManager* wmManager = nullptr; + bool windowsUpdatedInLastFrame = false; INativeController* nativeController = nullptr; elements::GuiHostedGraphicsResourceManager* hostedResourceManager = nullptr; collections::SortedList> createdWindows; diff --git a/Import/GacUICompiler.cpp b/Import/GacUICompiler.cpp index 46065e42..5b04d5a1 100644 --- a/Import/GacUICompiler.cpp +++ b/Import/GacUICompiler.cpp @@ -2030,7 +2030,7 @@ GuiDefaultInstanceLoader } else { - PropertyType value(GuiInstancePropertyInfo::Unsupported(), 0); + PropertyType value(GuiInstancePropertyInfo::Unsupported(), nullptr); propertyTypes.Add(key, value); return value; } @@ -2043,7 +2043,7 @@ GuiDefaultInstanceLoader Ptr GetPropertyType(GuiResourcePrecompileContext& precompileContext, const PropertyInfo& propertyInfo)override { - return GetPropertyTypeCached(propertyInfo).f0; + return GetPropertyTypeCached(propertyInfo).get<0>(); } //*********************************************************************************** @@ -2141,9 +2141,9 @@ GuiDefaultInstanceLoader for (auto [prop, index] : indexed(arguments.Keys())) { PropertyType propertyType = GetPropertyTypeCached(PropertyInfo(typeInfo, prop)); - if (propertyType.f1) + if (propertyType.get<1>()) { - switch (propertyType.f0->support) + switch (propertyType.get<0>()->support) { case GuiInstancePropertyInfo::SupportCollection: { @@ -5301,7 +5301,7 @@ GuiInstanceLocalizedStrings textDesc->texts.Add(reading); } - for (auto [i, index] : indexed(From(textDesc->positions).OrderBy([](vint a, vint b) {return a - b; }))) + for (auto [i, index] : indexed(From(textDesc->positions).OrderBySelf())) { if (i != index) { @@ -9367,152 +9367,140 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::presentation::instancequery { - namespace presentation - { - namespace instancequery - { /*********************************************************************** Visitor Pattern Implementation ***********************************************************************/ - void GuiIqPrimaryQuery::Accept(GuiIqQuery::IVisitor* visitor) - { - visitor->Visit(this); - } + void GuiIqPrimaryQuery::Accept(GuiIqQuery::IVisitor* visitor) + { + visitor->Visit(this); + } - void GuiIqCascadeQuery::Accept(GuiIqQuery::IVisitor* visitor) - { - visitor->Visit(this); - } + void GuiIqCascadeQuery::Accept(GuiIqQuery::IVisitor* visitor) + { + visitor->Visit(this); + } - void GuiIqSetQuery::Accept(GuiIqQuery::IVisitor* visitor) - { - visitor->Visit(this); - } - } + void GuiIqSetQuery::Accept(GuiIqQuery::IVisitor* visitor) + { + visitor->Visit(this); } } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqQuery, presentation::instancequery::GuiIqQuery) - IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqQuery::IVisitor, presentation::instancequery::GuiIqQuery::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqNameOption, presentation::instancequery::GuiIqNameOption) - IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqChildOption, presentation::instancequery::GuiIqChildOption) - IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqPrimaryQuery, presentation::instancequery::GuiIqPrimaryQuery) - IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqCascadeQuery, presentation::instancequery::GuiIqCascadeQuery) - IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqBinaryOperator, presentation::instancequery::GuiIqBinaryOperator) - IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqSetQuery, presentation::instancequery::GuiIqSetQuery) + IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqQuery, presentation::instancequery::GuiIqQuery) + IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqQuery::IVisitor, presentation::instancequery::GuiIqQuery::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqNameOption, presentation::instancequery::GuiIqNameOption) + IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqChildOption, presentation::instancequery::GuiIqChildOption) + IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqPrimaryQuery, presentation::instancequery::GuiIqPrimaryQuery) + IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqCascadeQuery, presentation::instancequery::GuiIqCascadeQuery) + IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqBinaryOperator, presentation::instancequery::GuiIqBinaryOperator) + IMPL_TYPE_INFO_RENAME(vl::presentation::instancequery::GuiIqSetQuery, presentation::instancequery::GuiIqSetQuery) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_CLASS_MEMBER(vl::presentation::instancequery::GuiIqQuery) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::presentation::instancequery::GuiIqQuery) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - END_CLASS_MEMBER(vl::presentation::instancequery::GuiIqQuery) + END_CLASS_MEMBER(vl::presentation::instancequery::GuiIqQuery) - BEGIN_ENUM_ITEM(vl::presentation::instancequery::GuiIqNameOption) - ENUM_ITEM_NAMESPACE(vl::presentation::instancequery::GuiIqNameOption) - ENUM_NAMESPACE_ITEM(Specified) - ENUM_NAMESPACE_ITEM(Any) - END_ENUM_ITEM(vl::presentation::instancequery::GuiIqNameOption) + BEGIN_ENUM_ITEM(vl::presentation::instancequery::GuiIqNameOption) + ENUM_ITEM_NAMESPACE(vl::presentation::instancequery::GuiIqNameOption) + ENUM_NAMESPACE_ITEM(Specified) + ENUM_NAMESPACE_ITEM(Any) + END_ENUM_ITEM(vl::presentation::instancequery::GuiIqNameOption) - BEGIN_ENUM_ITEM(vl::presentation::instancequery::GuiIqChildOption) - ENUM_ITEM_NAMESPACE(vl::presentation::instancequery::GuiIqChildOption) - ENUM_NAMESPACE_ITEM(Direct) - ENUM_NAMESPACE_ITEM(Indirect) - END_ENUM_ITEM(vl::presentation::instancequery::GuiIqChildOption) + BEGIN_ENUM_ITEM(vl::presentation::instancequery::GuiIqChildOption) + ENUM_ITEM_NAMESPACE(vl::presentation::instancequery::GuiIqChildOption) + ENUM_NAMESPACE_ITEM(Direct) + ENUM_NAMESPACE_ITEM(Indirect) + END_ENUM_ITEM(vl::presentation::instancequery::GuiIqChildOption) - BEGIN_CLASS_MEMBER(vl::presentation::instancequery::GuiIqPrimaryQuery) - CLASS_MEMBER_BASE(vl::presentation::instancequery::GuiIqQuery) + BEGIN_CLASS_MEMBER(vl::presentation::instancequery::GuiIqPrimaryQuery) + CLASS_MEMBER_BASE(vl::presentation::instancequery::GuiIqQuery) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(childOption) - CLASS_MEMBER_FIELD(attributeNameOption) - CLASS_MEMBER_FIELD(attributeName) - CLASS_MEMBER_FIELD(typeNameOption) - CLASS_MEMBER_FIELD(typeName) - CLASS_MEMBER_FIELD(referenceName) - END_CLASS_MEMBER(vl::presentation::instancequery::GuiIqPrimaryQuery) + CLASS_MEMBER_FIELD(childOption) + CLASS_MEMBER_FIELD(attributeNameOption) + CLASS_MEMBER_FIELD(attributeName) + CLASS_MEMBER_FIELD(typeNameOption) + CLASS_MEMBER_FIELD(typeName) + CLASS_MEMBER_FIELD(referenceName) + END_CLASS_MEMBER(vl::presentation::instancequery::GuiIqPrimaryQuery) - BEGIN_CLASS_MEMBER(vl::presentation::instancequery::GuiIqCascadeQuery) - CLASS_MEMBER_BASE(vl::presentation::instancequery::GuiIqQuery) + BEGIN_CLASS_MEMBER(vl::presentation::instancequery::GuiIqCascadeQuery) + CLASS_MEMBER_BASE(vl::presentation::instancequery::GuiIqQuery) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(parent) - CLASS_MEMBER_FIELD(child) - END_CLASS_MEMBER(vl::presentation::instancequery::GuiIqCascadeQuery) + CLASS_MEMBER_FIELD(parent) + CLASS_MEMBER_FIELD(child) + END_CLASS_MEMBER(vl::presentation::instancequery::GuiIqCascadeQuery) - BEGIN_ENUM_ITEM(vl::presentation::instancequery::GuiIqBinaryOperator) - ENUM_ITEM_NAMESPACE(vl::presentation::instancequery::GuiIqBinaryOperator) - ENUM_NAMESPACE_ITEM(ExclusiveOr) - ENUM_NAMESPACE_ITEM(Intersect) - ENUM_NAMESPACE_ITEM(Union) - ENUM_NAMESPACE_ITEM(Substract) - END_ENUM_ITEM(vl::presentation::instancequery::GuiIqBinaryOperator) + BEGIN_ENUM_ITEM(vl::presentation::instancequery::GuiIqBinaryOperator) + ENUM_ITEM_NAMESPACE(vl::presentation::instancequery::GuiIqBinaryOperator) + ENUM_NAMESPACE_ITEM(ExclusiveOr) + ENUM_NAMESPACE_ITEM(Intersect) + ENUM_NAMESPACE_ITEM(Union) + ENUM_NAMESPACE_ITEM(Substract) + END_ENUM_ITEM(vl::presentation::instancequery::GuiIqBinaryOperator) - BEGIN_CLASS_MEMBER(vl::presentation::instancequery::GuiIqSetQuery) - CLASS_MEMBER_BASE(vl::presentation::instancequery::GuiIqQuery) + BEGIN_CLASS_MEMBER(vl::presentation::instancequery::GuiIqSetQuery) + CLASS_MEMBER_BASE(vl::presentation::instancequery::GuiIqQuery) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(first) - CLASS_MEMBER_FIELD(second) - CLASS_MEMBER_FIELD(op) - END_CLASS_MEMBER(vl::presentation::instancequery::GuiIqSetQuery) + CLASS_MEMBER_FIELD(first) + CLASS_MEMBER_FIELD(second) + CLASS_MEMBER_FIELD(op) + END_CLASS_MEMBER(vl::presentation::instancequery::GuiIqSetQuery) - BEGIN_INTERFACE_MEMBER(vl::presentation::instancequery::GuiIqQuery::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::presentation::instancequery::GuiIqQuery::IVisitor::*)(vl::presentation::instancequery::GuiIqPrimaryQuery* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::presentation::instancequery::GuiIqQuery::IVisitor::*)(vl::presentation::instancequery::GuiIqCascadeQuery* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::presentation::instancequery::GuiIqQuery::IVisitor::*)(vl::presentation::instancequery::GuiIqSetQuery* node)) - END_INTERFACE_MEMBER(vl::presentation::instancequery::GuiIqQuery) + BEGIN_INTERFACE_MEMBER(vl::presentation::instancequery::GuiIqQuery::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::presentation::instancequery::GuiIqQuery::IVisitor::*)(vl::presentation::instancequery::GuiIqPrimaryQuery* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::presentation::instancequery::GuiIqQuery::IVisitor::*)(vl::presentation::instancequery::GuiIqCascadeQuery* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::presentation::instancequery::GuiIqQuery::IVisitor::*)(vl::presentation::instancequery::GuiIqSetQuery* node)) + END_INTERFACE_MEMBER(vl::presentation::instancequery::GuiIqQuery) #endif #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - class GuiInstanceQueryAstTypeLoader : public vl::Object, public ITypeLoader - { - public: - void Load(ITypeManager* manager) - { - ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqQuery) - ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqQuery::IVisitor) - ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqNameOption) - ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqChildOption) - ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqPrimaryQuery) - ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqCascadeQuery) - ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqBinaryOperator) - ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqSetQuery) - } - - void Unload(ITypeManager* manager) - { - } - }; -#endif -#endif - - bool GuiInstanceQueryAstLoadTypes() - { -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - if (auto manager = GetGlobalTypeManager()) - { - auto loader = Ptr(new GuiInstanceQueryAstTypeLoader); - return manager->AddTypeLoader(loader); - } -#endif - return false; - } + class GuiInstanceQueryAstTypeLoader : public vl::Object, public ITypeLoader + { + public: + void Load(ITypeManager* manager) + { + ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqQuery) + ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqQuery::IVisitor) + ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqNameOption) + ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqChildOption) + ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqPrimaryQuery) + ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqCascadeQuery) + ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqBinaryOperator) + ADD_TYPE_INFO(vl::presentation::instancequery::GuiIqSetQuery) } + + void Unload(ITypeManager* manager) + { + } + }; +#endif +#endif + + bool GuiInstanceQueryAstLoadTypes() + { +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + if (auto manager = GetGlobalTypeManager()) + { + auto loader = Ptr(new GuiInstanceQueryAstTypeLoader); + return manager->AddTypeLoader(loader); + } +#endif + return false; } } @@ -9527,127 +9515,126 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::presentation::instancequery { - namespace presentation + void GuiInstanceQueryParserData(vl::stream::IStream& outputStream) { - namespace instancequery - { - void GuiInstanceQueryParserData(vl::stream::IStream& outputStream) - { - static const vl::vint dataLength = 3046; // 28794 bytes before compressing - static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 230; - static const vl::vint dataSolidRows = 11; - static const vl::vint dataRows = 12; - static const char* compressed[] = { - "\x7A\x70\x00\x00\xDE\x0B\x00\x00\x0D\x00\x01\x82\x80\x07\x03\x82\x81\x82\x06\x89\x82\x88\x0A\x87\x06\x84\x0C\x0A\x9D\x0A\x86\x1A\x87\x16\x84\x77\x02\x09\xBF\x7B\x8C\x8B\x8E\x84\x00\x1D\x9D\x9F\x81\x9C\x8B\x90\x93\x7F\x1F\x9F\x81\x0A\x8B\x91\x85\x96\x83\x27\xA8\x8A\x91\x96\x94\x91\x9B\x90\x37\xA2\xB3\x87\x99\x9D\x93\x9C\x9B\x3F\xB8\x81\xBA\x9A\x8C\x9F\xA0\x9F\x45\xC0\x89\xA2\xAB\xA4\xA0\x98\xA3\x4D\xC8\x8F\xAA\xA3\xAC\xA5\xAA\xA7\x03\xB4\x87\xBE\x8B\xAA\x99\xA8\xAE\x09\x99\xAE\x9D\xAD\x98\xB3\xAA\xA9\x59\xD0\xA7\xA6\xB9\xB4\xA9\xB6\xAB\x6F\xD8\x82\x9A\xAF\xAE\xAF\xB4\xBB\x71\xE8\x82\x83\x0C\x94\xB2\xBF\xBA\x65\xF8\xB3\xAA\xB3\x84\x01\xBE\xC0\x7F\xF7\x81\xCB\xC9\xC1\xBC\xB7\xC1\x6E\x90\xF0\xB2\xC2\xB9\x81\x03\xC3\x8A\x8D\xD4\xDA\xB1\x84\xB9\xCC\xC4\xA0\x9F\xE2\xCE\xC2\xC5\xCC\xC3\xCD\x8F\xA6\xD1\xCA\xD3\xC9\x82\x02\xCC\xA4\x8C\xE1\xD1\xDA\xCC\xD5\xCA\x90\xA7\xB6\xDC\xD8\xDB\xD4\xDD\xD6\xDF\xB7\x9E\xC3\x88\x86\x87\x94\xDB\xD9\xA8\xA5\xC0\xFB\xD2\xE3\x84\xD9\xE4\xB2\xA3\xD0\xF5\xDB\xE1\xD5\xEA\xE5\xCD\xBA\xD6\xF9", - "\xE0\x01\x07\xE6\xED\xD8\xB9\xD7\xF1\xE7\xE2\xE8\xF0\xF2\xD3\xC8\xE7\xF4\xEC\xED\xF6\xF0\xF7\xBD\xDC\xCA\x1F\xE0\x03\x04\xFA\xF8\xBF\xF8\xC1\xE2\xFC\x07\xFB\xF7\xFF\xF1\x40\x89\x7E\x80\xFB\x41\x86\x83\x80\x07\x85\x88\x83\x82\x0A\x8D\x8C\x72\x78\x00\x63\x5A\x7B\x78\xEC\x44\x8F\x81\x82\x17\x8C\x89\x86\x83\xDB\x56\x8D\x84\x86\x1F\x9A\x81\x8B\x6D\x0E\x3E\x70\x89\x78\x27\xA8\x7B\x7B\x84\x0E\x52\x86\x78\x85\x13\xBA\x7B\x87\x8C\x23\xB4\x88\x8A\x88\x37\x9C\x89\x8F\x6E\x10\x26\x88\x8F\x47\x11\x3E\x8A\x8E\x8A\x30\xAF\x82\x8D\x8D\x48\xBB\x89\x90\x91\x47\x8A\x9E\x90\x93\xE2\x52\x04\x7F\x04\x42\xB6\x80\x95\x8A\x15\x98\x91\x8E\x87\xCA\x54\x04\x7D\x05\x55\x8B\x9A\x42\x05\x61\x8F\x99\x97\x8F\x67\x83\x99\x9A\x95\x6B\xA2\x9B\x96\x96\x46\x9C\x97\x94\x9A\x09\x57\x05\x9B\x9C\x6A\xAF\x94\x9D\x9C\x70\xA5\x7E\x9D\x7A\x7C\xBB\x9F\x9F\x8A\x81\xB9\x96\x40\x44\x2E\x83\xA5\x92\xA2\x4D\xB8\x9C\x9B\x84\x19\x34\x7A\x07\x9D\xD4\x5B\x04\xA6\x9E\x86\x8C\xA2\x9C\x75\x1C\x17\xA5\xA3\xA3\x9F\xAE\x91\xAA\x99\x98\xA0\xAA\xA5\x9F\x80\x8A\xA2\x45\xA2", - "\x02\x5E\x0E\xA7\xA9\x82\xA9\xA2\x43\x07\xAF\xB2\xA4\xA3\x40\x20\x35\xA7\xAE\xAD\x8B\xBC\xAD\xA1\x9B\xA4\xA3\xAE\xA2\xA8\xB0\x99\xA2\x41\x08\xF4\x62\x0A\xAD\xAF\xBB\x8D\xBC\xB0\x00\x23\x0B\xBF\xAD\xA9\xD6\x64\x04\x7D\x09\xD2\xA2\x74\x44\xAB\xCE\x93\xB2\xB0\xB0\xC3\x81\xB5\xB2\xA9\xBE\x9B\xA4\xB6\xB8\xE5\xA8\xAD\xB6\xB9\x06\x67\x04\x7C\x0A\xD9\xBD\x69\x09\xBC\xB1\xAB\xBA\xBB\xB3\xDC\x6A\x04\x7F\x0A\xF4\x86\xB6\xBD\xBD\xF8\xAC\xB3\xB8\xB1\xBC\xAC\x04\x7D\x0B\xFD\xA4\xBF\xBE\xBF\x01\xF7\xBE\xB7\xC0\xE8\x8E\xBE\x08\x7D\x16\x5C\xBD\xC3\x6F\x30\x09\xC4\xC3\xC2\x0A\xD7\xCC\xC3\xC3\xE9\x80\xC0\xC8\xC7\x1B\xDE\xCD\xC7\xC8\xCF\xB1\x04\x7E\x0C\x1A\xCA\x73\x0D\xCB\xE1\xB1\xC0\xBA\x42\x34\x34\x75\x0E\x42\x62\x5F\xB7\xBA\xCC\x3B\xF3\xCD\xCF\xCF\x2F\xB7\x04\x7C\x0E\x30\xCA\x49\x0D\xD1\x40\xD0\xCC\xCE\x41\x3A\x34\x7B\x0C\xCE\x3E\xFA\xC2\xD6\xD2\x51\xD4\xD9\xD1\xC8\x1F\xE2\x7D\x0C\xD2\x53\xD8\xD7\xCA\xC0\x5E\xE5\xC8\xCB\xD8\xE2\x7E\x0C\xD6\xD5\x5D\xC1\x4F\x0C\x7D\x40\x10\xD7\xD4\xC9\x11\xE6\xC2\xD8\xD8\x70\xCB\xDA\xA2\x10\xF4", - "\x43\x17\xDA\x40\x44\x3B\xD5\xDD\xD5\x61\xF1\xD4\xDA\xC3\x74\xF2\xD2\xE1\xE1\x83\xE2\xC2\x79\x11\xF4\x46\x1E\xDC\x00\x47\x0F\xE9\xE1\xD6\xF7\x88\x14\x7D\x12\x6E\xE9\xD6\xE2\xDD\x81\xDC\xEF\xDF\xDB\xCF\x8B\x14\x7C\x13\x8F\xCD\x12\xE4\xE2\xA8\xF7\xBE\x10\x7D\x4F\x19\xE8\xDB\xEB\x9D\xC0\xEF\xE6\xE6\x93\xDF\xD4\xE3\xED\x00\xD1\x17\xE8\xEE\x94\xCA\xEC\xEE\xED\xBE\xFF\x62\x17\xEE\x00\xD3\x14\x7C\x15\xAE\xF1\xE0\xE9\xED\x73\xFF\xED\xF1\xF0\xB7\x56\x14\x7F\x15\x8F\xD8\x14\xF1\xEF\xD8\xC0\xF9\xF7\xF3\xDB\xC7\xEE\xF2\xF7\xD0\xFB\x69\x17\xF5\xDA\xE5\xFC\xF6\xF9\xE0\xCC\xCE\x02\x71\x01\x79\xC3\x40\xFB\x70\xF1\x4E\x75\x42\xAF\x75\x5E\xFA\x40\xF0\xD7\x79\xFD\xFE\xF2\xCA\x44\x70\x69\x97\x35\x2D\x93\x7D\x79\x21\x00\xB7\x2B\x7F\x5D\x33\x7E\x41\x7F\x79\x38\x03\xA4\x31\x26\xF9\x61\x32\x02\xC3\x3D\x2A\x07\x89\x3B\x80\x27\x33\x82\x40\x16\x80\x3D\x08\x89\x86\x7F\x15\x9D\x29\x4C\x7C\x22\x81\x93\x37\x79\x20\xFC\x7C\x48\x01\x86\x25\x7F\xBB\x24\x87\x2E\x31\x27\x84\x00\x29\x84\x25\x17\x8F\x87\x24\x86\x25\x84\x49\x08\x85\x2E\x0D\x81\x26", - "\x86\x0D\x82\x86\x0A\x99\x89\x79\x0E\xA9\x25\x87\x0A\x20\x88\x78\x1C\x87\x3B\x18\xAD\x63\x85\x03\x2D\x84\x69\x32\x84\x87\x90\x0A\x8D\x89\x27\x37\x89\x4C\x23\x82\x88\x92\x0C\x8B\x8B\x59\x9D\x8A\x15\xE2\x8D\x22\x2D\xA0\x8B\x8C\x3A\x88\x8C\x0C\xE1\x89\x8D\x32\xA4\x8C\x23\x66\x87\x8C\x1C\xEF\x8B\x23\x38\xB2\x8F\x1F\x76\x92\x8D\x1E\xE7\x8B\x8E\x30\xBD\x8B\x8B\x7F\x90\x83\x11\xF7\x2E\x86\x00\x39\x87\x2E\x5F\x97\x8D\x1D\xF4\x8F\x1E\x2A\x80\x58\x8A\x02\x32\x89\x72\x01\x96\x85\x32\x54\x93\x87\x65\x45\x93\x21\x80\x8C\x91\x4B\xA1\x26\x91\xE7\x50\x92\x6B\x5D\x2E\x93\x8E\x20\x96\x85\x9D\x89\x95\x1B\xF3\x8B\x95\x45\xAD\x90\x8F\xAA\x8B\x8D\x0D\xB1\x97\x87\x59\xAF\x91\x91\x8A\x98\x97\x1D\x8C\x80\x3C\x27\x83\x91\x39\x0C\x2F\x95\x21\xD5\x8D\x22\x5D\xB2\x8E\x98\x67\x9C\x94\x16\xA4\x22\x87\xC0\x01\x9A\x96\x21\x23\x98\x29\xB4\x97\x82\x36\x90\x9E\x8D\xAF\x85\x94\x2B\xD7\x9B\x9B\x5A\xAA\x8E\x9B\xD8\x9C\x9A\x2B\xE2\x90\x97\x6C\x94\x9D\x97\xD6\x80\x9D\x37\xD5\x98\x92\x8B\x62\x95\x3B\x21\x8F\x94\x0F\x84\x9A\x21\x42\xB1\x20\x99\x60\x8A", - "\x9A\x22\x9B\x22\x87\x3F\x8F\x9A\x9D\x1B\x25\x93\x3F\xC9\x33\x9E\xD2\x05\x96\x9E\x27\x38\x9F\x16\xFA\x9B\x9F\x7E\x9D\x2B\xA0\xE8\x84\x26\x40\xD3\x96\x9D\x8A\xA4\x9A\x9B\xE3\x80\xA1\x39\xE4\x9E\x82\x24\x89\x20\xA1\x5E\x8C\x91\x47\xF4\x9F\xA3\x78\xA4\x9C\xA1\x8A\x8E\xA1\x5D\x10\xAB\x99\x68\x8A\x24\xA5\x82\x9F\x94\x78\x07\xA6\xA4\x8D\xA8\xA7\x8E\x2A\xB7\x2C\x4C\xFB\x93\xA3\xBA\x0A\xA7\x9E\x8C\x97\xA6\x1C\xB9\xA4\x35\x9D\x8A\x95\xA7\x88\x81\xA8\x23\xC4\xA0\x98\x46\x88\xAC\x34\x18\xBB\xA2\x46\xD1\xA4\xAB\x73\xAD\xA1\x9C\x53\xB6\xAB\x3E\xD2\xAC\x9D\x6F\x9D\xA8\xAB\x5F\xAB\x9D\x44\xDE\xA3\xAC\xB0\xA5\xAA\xAC\x57\xA8\xAF\x56\xD5\xA6\xA3\xAC\xB2\x9D\x88\xD7\x34\xA6\x4F\xA2\xA0\xAF\x77\xA0\xA1\x24\x3F\xA7\x26\x50\xE7\x8C\xA8\xF0\x06\xAF\x8E\x4F\xA4\xA1\x5D\xC4\x85\xA5\xB9\xAF\x93\xAF\x60\x9D\xAF\x75\x7F\xA2\x8F\xC0\xA0\x3C\xAD\x17\xBA\xAB\x3E\x90\xBE\xAD\xC8\xAD\xA9\xAC\x1B\x39\x7F\x1F\xF2\xA9\xA9\xB7\x89\x23\xB3\xF5\x95\xA4\x66\xFF\x18\xB1\x2D\x8A\xB1\x26\x8C\xA7\x8E\x63\xFA\x79\x89\x0F\x85\xB5\xB3\x27\xAB\xA9\x6B\xAB", - "\xAE\xA9\x97\xA2\xB7\xAC\x1B\x39\xAC\x49\x25\xBE\x96\x83\x3E\x9D\xB6\x09\x29\xB5\x6E\xCA\xAF\x95\xD3\xA7\x22\xB8\x5B\x8B\xB4\x17\x97\xB8\xB6\xAE\x8D\xBC\xB2\xA3\xB0\xBB\x73\x92\xBA\x90\xE9\xA9\xA9\xA3\xD1\xB4\xBB\x1D\xD1\xAB\x93\xD1\xBA\xB1\x24\xDD\xAD\xB9\x78\xD7\xBF\x1F\xF1\x9B\xAE\xBC\xFB\x88\xBE\x22\xEA\xB7\x8E\xF6\x8D\xB2\xA6\x33\xAA\x23\x7C\x1E\xA6\x21\xF9\xA4\xA5\xBE\xAE\xB8\xBD\x5D\x5C\x00\xBF\x94\x05\xA2\x20\x8A\xA3\xBC\x13\x92\x9D\x7D\xD9\x86\x22\xC0\x0A\x24\xC0\x00\x01\xCA\x21\x01\xE0\x80\xBE\xCA\x9F\x22\x32\xAC\xAF\x22\x0A\xF6\xB4\x7E\x09\xD9\xC3\x6B\x83\x2C\xB3\x81\x0E\xC5\x80\x1A\xC6\x23\x87\xFA\xBC\x84\xF9\xA1\xC3\x20\xF6\xB1\x8A\x42\x76\x38\xC3\x84\x2C\xC5\xC4\x2E\xC7\xC6\x40\x08\xCD\xC5\x03\xCD\xC2\xC6\x01\x34\xC4\x8C\x86\x2D\x3E\x10\xF5\xC3\x20\x3D\xC2\xC4\x8E\x80\x01\xC8\x0F\xC3\xC9\x42\x42\xDF\xC6\x40\x48\xC6\xC8\x25\xC1\x24\xC9\x1B\x83\xCB\x15\xBA\xCA\xC5\xCF\x8A\x24\xCA\x91\x86\xC1\x61\x37\xCE\xC8\x00\x25\x40\xBE\x29\xC3\x93\x1F\xFD\xB0\x00\x28\xC7\x8F\x8A\x02\x10\x7D\xFE\x0A\xC2\x4A\xF8", - "\x97\x8B\x00\x6A\xDC\xCA\x41\x2A\x6E\xCC\xEA\x23\xBB\x62\x75\xC9\x20\x01\x71\xC6\xCB\x84\x18\x59\xCF\x22\xDC\xCE\x41\x32\x8D\x52\x40\xD1\x8A\xD0\xEF\x6A\x22\x97\x06\xD7\x20\x44\xF8\x7B\x4C\xFD\xB7\x88\x02\x0E\xD5\xC1\x84\x16\x54\xCC\x1F\xB4\xD0\x00\x57\x89\x56\x4C\xF5\xBA\xD3\x57\x8A\x5A\xA7\x83\x2B\x00\x4D\xE3\xBB\x5E\xA3\xC2\x20\x03\x26\xDA\x20\x7E\x69\xD7\xC9\x9A\xDA\x09\x7F\x8A\xAF\xD5\x47\xD6\x62\x86\xDC\x3F\x20\xAE\xE2\x3F\x23\x2B\x84\x9D\x63\xA7\x8A\x53\x47\x63\xB3\xCC\xEA\x06\xBD\x37\x9E\x6F\x5B\x94\xD4\x34\x48\x65\xBB\xD5\x37\xE3\xBF\xD6\x75\x1F\x25\x91\x62\xD3\x44\x89\xD2\xCA\x3B\x47\x45\xCB\x2E\xD9\x40\x03\xC4\xC2\xDE\xD8\x77\x0A\xC5\xB4\x32\xDC\x3D\x45\x83\xD4\x3A\x32\xD9\xD4\xCD\x20\x7D\xCA\x73\x2C\xB4\xD5\x7F\x8B\xD9\xDD\x84\x24\x49\x2C\xFD\xB9\x7C\x4B\xCF\xDF\x37\x8F\x08\x55\xDE\x2F\x5F\xBD\x40\x2C\xAF\xC5\x70\xC9\x23\x52\xEE\x85\x71\x98\x81\x27\xAF\xDB\x1F\x27\xD2\x36\xC0\x75\xC1\xAA\xDC\xD8\xEA\x34\x50\xDF\x13\x53\xE1\x40\x5F\xCF\x45\x64\xDC\x3C\xDB\x1B\xF5\xE3\xF2\x10\x41\xB5\x09\x5F\x20\x59", - "\xEF\xD0\x75\xC8\xBE\xCD\xE2\x85\x16\x5E\x62\x7F\xC0\xE3\x40\x41\xD2\x20\x8E\xF3\xE2\xE4\xED\x4B\x5A\xAF\x8D\x2A\x20\x3B\x66\xE2\x21\xF0\x49\xE3\xBD\x68\xD3\x20\x30\x7F\xE1\x21\xA8\xC5\x3A\xB7\xC4\xE2\x20\x2A\x47\xEE\x20\xFA\x42\xE8\xC0\x6E\xD6\x21\x1E\x4F\xEB\x20\xAE\xCA\xE8\xE8\x6D\xC6\x20\xAA\xC6\xE4\x76\xE2\x2E\xEA\x41\x3E\xED\xE5\x84\x06\x64\xE5\x8A\x58\xC9\x40\x62\xE5\xE8\x9C\xC3\x24\xCE\x49\xCF\x45\x21\xCC\x8C\xED\xA6\xEE\xEA\x20\x36\x12\xCE\xA2\x36\xE1\xCB\x84\x34\xDB\x20\x56\xE5\xEE\x41\x4F\x69\xE4\xE5\x46\x26\xE8\x71\xFF\xEB\x40\x66\x68\xE2\x83\x2D\x6D\xF1\x03\x35\xED\xA5\x87\xF3\xB0\x64\xCA\x20\x6F\x90\xFC\x54\xE2\xB7\xE9\x21\xCD\xC2\x22\xE3\xCF\x5F\x21\xDF\x52\xE7\x36\xB2\xC9\xD6\xDE\x0A\x21\xF2\xE2\x82\x2C\x71\xC2\xF3\x73\x20\xA6\xFD\xEE\xE0\x83\x26\x73\xCC\xC1\x22\x09\x70\xBF\xDC\xE7\xE3\xE5\xF3\x7E\xCA\x24\x74\xB6\xEF\x58\xC2\xB2\xE2\x21\xD8\xC1\x20\xF4\xB9\xCA\x23\xEA\x24\xFB\x37\x42\xDA\xEF\x50\x3D\xF7\xED\x40\x2D\x71\xF8\xEE\x2B\x57\xF9\x03\x3A\xF6\x40\x1E\xFE\x59\x8F\x3A\x75\xFA\xE2\x2E\x56", - "\xC5\x5A\xFB\xEC\xE9\xC0\x06\x78\xE0\xFD\x37\xC5\xD8\xF2\x21\xE1\xF0\xF6\xFC\x55\x0B\x59\xA7\xEC\xF1\x20\xF7\xDB\xFE\xFC\xD2\x6C\xFA\x75\x28\xE4\xFE\x00\x36\xFD\xFC\x57\x72\x10\xD4\x3A\x7F\xCA\x12\x6A\xFD\x70\x71\x03\x11\x29\x01\x81\x10\xD6\x34\x80\x44\x28\x80\xED\x76\x7E\xE3\x3A\x67\x0A\x1D\x05\xCB\x2E\x7C\x09\x86\x7E\x5E\x0F\x38\x18\x81\x81\x0B\x80\x00\x5F\x07\x65\x0A\x13\x06\xCB\x27\x7D\xEF\x7F\x81\x64\x0A\x65\xBC\x21\x2D\xC1\x76\x82\xF7\x7F\x81\x67\x0A\x82\xCE\x21\x73\xBB\x73\x10\x2E\x80\x80\xB3\x72\x10\x6A\x02\x83\xCF\x2E\x2E\xC1\x7B\x7E\x27\x89\x83\x01\x1D\x06\xBD\x77\x1B\x49\x75\x83\xB3\x2A\x10\xDC\x71\x7A\x0A\x1F\x06\x45\x8B\x1B\x59\x78\x84\x01\x10\x84\x76\x7F\x81\x71\x0F\x84\xD6\x18\x30\xC1\x73\x7F\x03\x12\x7E\x42\x80\x00\x73\x0C\x83\x28\x3C\x85\x02\x1C\x82\x5F\x86\x07\x43\x6C\x07\xF2\x7E\x72\xE6\x7D\x07\x43\x63\x08\xCB\x2C\x7F\x41\x8B\x7A\x01\x14\x08\x58\x8A\x1C\x15\x34\x7C\x01\x12\x87\x2F\x8F\x85\x86\x07\x87\x1F\x10\x77\x52\x80\x00\x7C\x88\x83\x74\x80\x00\x88\x00\x88\x0A\x1F\x32\xC1\x76\x80\x5D\x86", - "\x7E\x8A\x02\x86\x85\x3E\x88\x65\x86\x7E\x8D\x03\x64\x93\x0B\x2C\x94\x81\x10\x2F\x7F\x85\x94\x03\x64\x9A\x0B\x2C\x66\x83\x10\x54\x8D\x7D\xE2\x62\x1E\x9D\x83\x10\x85\x8C\x84\x23\x7D\x1B\x34\x8D\x2A\xE6\x7B\x09\x8F\x3F\x8A\x01\x13\x8A\xBC\x2F\x11\x9C\x02\x82\x09\x10\x0A\xCB\x24\x8B\x00\x09\x8A\xB7\x8A\x10\xA1\x0A\x8B\x06\x15\x0A\xCB\x2B\x2D\xBC\x7F\x81\xA6\x04\x8C\x8A\x27\x33\xAE\x70\x00\xC8\x8D\x76\x1F\x8A\x0A\xCC\x8C\x2B\x44\x3F\x8C\xD1\x85\x85\x5F\x8E\x0A\xD5\x8E\x2C\x84\x7E\x5B\x40\x71\x7D\x1F\x82\x0B\x92\x8D\x1B\x8C\x70\x8E\x09\x11\x74\x94\x7F\x81\xB5\x05\x8E\xBF\x11\x04\x3C\x8A\x8E\x91\x76\x7E\xB8\x0E\x8E\xB7\x13\x7A\xE8\x86\x10\x47\x82\x10\x3E\x8F\x85\xBB\x06\x8F\x1D\x3B\x8F\x01\x17\x76\x5F\x8E\x0B\x43\x64\x0C\xCB\x22\x90\x00\x0A\x85\x5F\x85\x0C\x43\x6B\x0C\xCB\x21\x75\xC9\x8F\x85\xCC\x00\x90\xD6\x11\x39\xCF\x82\x91\xD2\x8F\x85\xCF\x06\x91\xCA\x18\x7B\x19\x9A\x10\x92\x7C\x8A\x06\x12\x0D\x1E\x9F\x11\xA6\x3F\x8C\x51\x8C\x8F\xE6\x75\x0D\x27\x94\x1D\x2B\x93\x90\xE6\x78\x0D\x43\x6E\x0D\xCB\x21\x93\x0B\x96\x7E", - "\xDF\x03\x64\xE5\x0B\x2C\x04\x93\x10\xF2\x81\x8C\xAD\x8F\x1B\x0C\x93\x10\x1A\x92\x94\x60\x7D\x1B\x78\x69\x73\x1F\x86\x0E\x8F\x3B\x94\x03\x1F\x93\x48\x93\x10\xE7\x0D\x8D\x00\x0B\x0E\xCB\x20\x95\x02\x15\x94\x53\x92\x10\xEC\x06\x95\xF0\x0B\x2C\x79\x83\x87\x5D\x91\x10\xF1\x0A\x77\xBC\x20\x05\x56\x93\x96\x7D\x87\x88\xF6\x08\x96\xCE\x28\x3C\x14\x89\x10\x6C\x96\x88\x65\x90\x00\xFB\x00\x97\xCF\x2D\x80\x11\x73\x67\x0A\x19\x31\x1F\x83\x43\xE9\x70\x30\x2C\x30\x5F\xB9\x6B\x45\xB5\x69\x98\xF0\x53\x52\xFD\x7E\x5F\x2A\x14\x16\xD9\x6F\x0F\x8C\x97\x7A\x8D\x92\x70\x28\x44\x1F\x82\x96\x31\x0B\x64\x16\xFC\x6F\x49\x70\x5B\x99\xC1\x70\x9A\x7A\x83\x79\x32\x5D\x4C\xBA\x68\x99\x34\x7D\x6D\x80\x11\x48\x3B\x7C\x83\x11\x47\x45\x29\x1E\x5E\x25\x12\x9B\x1C\x13\x5E\xCD\x46\x9B\xC3\x68\x99\xD1\x69\x9B\xA1\x9B\x9B\x56\x99\x12\xB4\x6F\x53\xD8\x6F\x11\xC3\x9A\x97\xCD\x4C\x44\xC7\x98\x99\xC8\x94\x9C\x64\x6A\x60\x34\x1E\x9C\x31\x1A\x60\x98\x60", - }; - vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); - } + static const vl::vint dataLength = 3046; // 28794 bytes before compressing + static const vl::vint dataBlock = 256; + static const vl::vint dataRemain = 230; + static const vl::vint dataSolidRows = 11; + static const vl::vint dataRows = 12; + static const char* compressed[] = { + "\x7A\x70\x00\x00\xDE\x0B\x00\x00\x0D\x00\x01\x82\x80\x07\x03\x82\x81\x82\x06\x89\x82\x88\x0A\x87\x06\x84\x0C\x0A\x9D\x0A\x86\x1A\x87\x16\x84\x77\x02\x09\xBF\x7B\x8C\x8B\x8E\x84\x00\x1D\x9D\x9F\x81\x9C\x8B\x90\x93\x7F\x1F\x9F\x81\x0A\x8B\x91\x85\x96\x83\x27\xA8\x8A\x91\x96\x94\x91\x9B\x90\x37\xA2\xB3\x87\x99\x9D\x93\x9C\x9B\x3F\xB8\x81\xBA\x9A\x8C\x9F\xA0\x9F\x45\xC0\x89\xA2\xAB\xA4\xA0\x98\xA3\x4D\xC8\x8F\xAA\xA3\xAC\xA5\xAA\xA7\x03\xB4\x87\xBE\x8B\xAA\x99\xA8\xAE\x09\x99\xAE\x9D\xAD\x98\xB3\xAA\xA9\x59\xD0\xA7\xA6\xB9\xB4\xA9\xB6\xAB\x6F\xD8\x82\x9A\xAF\xAE\xAF\xB4\xBB\x71\xE8\x82\x83\x0C\x94\xB2\xBF\xBA\x65\xF8\xB3\xAA\xB3\x84\x01\xBE\xC0\x7F\xF7\x81\xCB\xC9\xC1\xBC\xB7\xC1\x6E\x90\xF0\xB2\xC2\xB9\x81\x03\xC3\x8A\x8D\xD4\xDA\xB1\x84\xB9\xCC\xC4\xA0\x9F\xE2\xCE\xC2\xC5\xCC\xC3\xCD\x8F\xA6\xD1\xCA\xD3\xC9\x82\x02\xCC\xA4\x8C\xE1\xD1\xDA\xCC\xD5\xCA\x90\xA7\xB6\xDC\xD8\xDB\xD4\xDD\xD6\xDF\xB7\x9E\xC3\x88\x86\x87\x94\xDB\xD9\xA8\xA5\xC0\xFB\xD2\xE3\x84\xD9\xE4\xB2\xA3\xD0\xF5\xDB\xE1\xD5\xEA\xE5\xCD\xBA\xD6\xF9", + "\xE0\x01\x07\xE6\xED\xD8\xB9\xD7\xF1\xE7\xE2\xE8\xF0\xF2\xD3\xC8\xE7\xF4\xEC\xED\xF6\xF0\xF7\xBD\xDC\xCA\x1F\xE0\x03\x04\xFA\xF8\xBF\xF8\xC1\xE2\xFC\x07\xFB\xF7\xFF\xF1\x40\x89\x7E\x80\xFB\x41\x86\x83\x80\x07\x85\x88\x83\x82\x0A\x8D\x8C\x72\x78\x00\x63\x5A\x7B\x78\xEC\x44\x8F\x81\x82\x17\x8C\x89\x86\x83\xDB\x56\x8D\x84\x86\x1F\x9A\x81\x8B\x6D\x0E\x3E\x70\x89\x78\x27\xA8\x7B\x7B\x84\x0E\x52\x86\x78\x85\x13\xBA\x7B\x87\x8C\x23\xB4\x88\x8A\x88\x37\x9C\x89\x8F\x6E\x10\x26\x88\x8F\x47\x11\x3E\x8A\x8E\x8A\x30\xAF\x82\x8D\x8D\x48\xBB\x89\x90\x91\x47\x8A\x9E\x90\x93\xE2\x52\x04\x7F\x04\x42\xB6\x80\x95\x8A\x15\x98\x91\x8E\x87\xCA\x54\x04\x7D\x05\x55\x8B\x9A\x42\x05\x61\x8F\x99\x97\x8F\x67\x83\x99\x9A\x95\x6B\xA2\x9B\x96\x96\x46\x9C\x97\x94\x9A\x09\x57\x05\x9B\x9C\x6A\xAF\x94\x9D\x9C\x70\xA5\x7E\x9D\x7A\x7C\xBB\x9F\x9F\x8A\x81\xB9\x96\x40\x44\x2E\x83\xA5\x92\xA2\x4D\xB8\x9C\x9B\x84\x19\x34\x7A\x07\x9D\xD4\x5B\x04\xA6\x9E\x86\x8C\xA2\x9C\x75\x1C\x17\xA5\xA3\xA3\x9F\xAE\x91\xAA\x99\x98\xA0\xAA\xA5\x9F\x80\x8A\xA2\x45\xA2", + "\x02\x5E\x0E\xA7\xA9\x82\xA9\xA2\x43\x07\xAF\xB2\xA4\xA3\x40\x20\x35\xA7\xAE\xAD\x8B\xBC\xAD\xA1\x9B\xA4\xA3\xAE\xA2\xA8\xB0\x99\xA2\x41\x08\xF4\x62\x0A\xAD\xAF\xBB\x8D\xBC\xB0\x00\x23\x0B\xBF\xAD\xA9\xD6\x64\x04\x7D\x09\xD2\xA2\x74\x44\xAB\xCE\x93\xB2\xB0\xB0\xC3\x81\xB5\xB2\xA9\xBE\x9B\xA4\xB6\xB8\xE5\xA8\xAD\xB6\xB9\x06\x67\x04\x7C\x0A\xD9\xBD\x69\x09\xBC\xB1\xAB\xBA\xBB\xB3\xDC\x6A\x04\x7F\x0A\xF4\x86\xB6\xBD\xBD\xF8\xAC\xB3\xB8\xB1\xBC\xAC\x04\x7D\x0B\xFD\xA4\xBF\xBE\xBF\x01\xF7\xBE\xB7\xC0\xE8\x8E\xBE\x08\x7D\x16\x5C\xBD\xC3\x6F\x30\x09\xC4\xC3\xC2\x0A\xD7\xCC\xC3\xC3\xE9\x80\xC0\xC8\xC7\x1B\xDE\xCD\xC7\xC8\xCF\xB1\x04\x7E\x0C\x1A\xCA\x73\x0D\xCB\xE1\xB1\xC0\xBA\x42\x34\x34\x75\x0E\x42\x62\x5F\xB7\xBA\xCC\x3B\xF3\xCD\xCF\xCF\x2F\xB7\x04\x7C\x0E\x30\xCA\x49\x0D\xD1\x40\xD0\xCC\xCE\x41\x3A\x34\x7B\x0C\xCE\x3E\xFA\xC2\xD6\xD2\x51\xD4\xD9\xD1\xC8\x1F\xE2\x7D\x0C\xD2\x53\xD8\xD7\xCA\xC0\x5E\xE5\xC8\xCB\xD8\xE2\x7E\x0C\xD6\xD5\x5D\xC1\x4F\x0C\x7D\x40\x10\xD7\xD4\xC9\x11\xE6\xC2\xD8\xD8\x70\xCB\xDA\xA2\x10\xF4", + "\x43\x17\xDA\x40\x44\x3B\xD5\xDD\xD5\x61\xF1\xD4\xDA\xC3\x74\xF2\xD2\xE1\xE1\x83\xE2\xC2\x79\x11\xF4\x46\x1E\xDC\x00\x47\x0F\xE9\xE1\xD6\xF7\x88\x14\x7D\x12\x6E\xE9\xD6\xE2\xDD\x81\xDC\xEF\xDF\xDB\xCF\x8B\x14\x7C\x13\x8F\xCD\x12\xE4\xE2\xA8\xF7\xBE\x10\x7D\x4F\x19\xE8\xDB\xEB\x9D\xC0\xEF\xE6\xE6\x93\xDF\xD4\xE3\xED\x00\xD1\x17\xE8\xEE\x94\xCA\xEC\xEE\xED\xBE\xFF\x62\x17\xEE\x00\xD3\x14\x7C\x15\xAE\xF1\xE0\xE9\xED\x73\xFF\xED\xF1\xF0\xB7\x56\x14\x7F\x15\x8F\xD8\x14\xF1\xEF\xD8\xC0\xF9\xF7\xF3\xDB\xC7\xEE\xF2\xF7\xD0\xFB\x69\x17\xF5\xDA\xE5\xFC\xF6\xF9\xE0\xCC\xCE\x02\x71\x01\x79\xC3\x40\xFB\x70\xF1\x4E\x75\x42\xAF\x75\x5E\xFA\x40\xF0\xD7\x79\xFD\xFE\xF2\xCA\x44\x70\x69\x97\x35\x2D\x93\x7D\x79\x21\x00\xB7\x2B\x7F\x5D\x33\x7E\x41\x7F\x79\x38\x03\xA4\x31\x26\xF9\x61\x32\x02\xC3\x3D\x2A\x07\x89\x3B\x80\x27\x33\x82\x40\x16\x80\x3D\x08\x89\x86\x7F\x15\x9D\x29\x4C\x7C\x22\x81\x93\x37\x79\x20\xFC\x7C\x48\x01\x86\x25\x7F\xBB\x24\x87\x2E\x31\x27\x84\x00\x29\x84\x25\x17\x8F\x87\x24\x86\x25\x84\x49\x08\x85\x2E\x0D\x81\x26", + "\x86\x0D\x82\x86\x0A\x99\x89\x79\x0E\xA9\x25\x87\x0A\x20\x88\x78\x1C\x87\x3B\x18\xAD\x63\x85\x03\x2D\x84\x69\x32\x84\x87\x90\x0A\x8D\x89\x27\x37\x89\x4C\x23\x82\x88\x92\x0C\x8B\x8B\x59\x9D\x8A\x15\xE2\x8D\x22\x2D\xA0\x8B\x8C\x3A\x88\x8C\x0C\xE1\x89\x8D\x32\xA4\x8C\x23\x66\x87\x8C\x1C\xEF\x8B\x23\x38\xB2\x8F\x1F\x76\x92\x8D\x1E\xE7\x8B\x8E\x30\xBD\x8B\x8B\x7F\x90\x83\x11\xF7\x2E\x86\x00\x39\x87\x2E\x5F\x97\x8D\x1D\xF4\x8F\x1E\x2A\x80\x58\x8A\x02\x32\x89\x72\x01\x96\x85\x32\x54\x93\x87\x65\x45\x93\x21\x80\x8C\x91\x4B\xA1\x26\x91\xE7\x50\x92\x6B\x5D\x2E\x93\x8E\x20\x96\x85\x9D\x89\x95\x1B\xF3\x8B\x95\x45\xAD\x90\x8F\xAA\x8B\x8D\x0D\xB1\x97\x87\x59\xAF\x91\x91\x8A\x98\x97\x1D\x8C\x80\x3C\x27\x83\x91\x39\x0C\x2F\x95\x21\xD5\x8D\x22\x5D\xB2\x8E\x98\x67\x9C\x94\x16\xA4\x22\x87\xC0\x01\x9A\x96\x21\x23\x98\x29\xB4\x97\x82\x36\x90\x9E\x8D\xAF\x85\x94\x2B\xD7\x9B\x9B\x5A\xAA\x8E\x9B\xD8\x9C\x9A\x2B\xE2\x90\x97\x6C\x94\x9D\x97\xD6\x80\x9D\x37\xD5\x98\x92\x8B\x62\x95\x3B\x21\x8F\x94\x0F\x84\x9A\x21\x42\xB1\x20\x99\x60\x8A", + "\x9A\x22\x9B\x22\x87\x3F\x8F\x9A\x9D\x1B\x25\x93\x3F\xC9\x33\x9E\xD2\x05\x96\x9E\x27\x38\x9F\x16\xFA\x9B\x9F\x7E\x9D\x2B\xA0\xE8\x84\x26\x40\xD3\x96\x9D\x8A\xA4\x9A\x9B\xE3\x80\xA1\x39\xE4\x9E\x82\x24\x89\x20\xA1\x5E\x8C\x91\x47\xF4\x9F\xA3\x78\xA4\x9C\xA1\x8A\x8E\xA1\x5D\x10\xAB\x99\x68\x8A\x24\xA5\x82\x9F\x94\x78\x07\xA6\xA4\x8D\xA8\xA7\x8E\x2A\xB7\x2C\x4C\xFB\x93\xA3\xBA\x0A\xA7\x9E\x8C\x97\xA6\x1C\xB9\xA4\x35\x9D\x8A\x95\xA7\x88\x81\xA8\x23\xC4\xA0\x98\x46\x88\xAC\x34\x18\xBB\xA2\x46\xD1\xA4\xAB\x73\xAD\xA1\x9C\x53\xB6\xAB\x3E\xD2\xAC\x9D\x6F\x9D\xA8\xAB\x5F\xAB\x9D\x44\xDE\xA3\xAC\xB0\xA5\xAA\xAC\x57\xA8\xAF\x56\xD5\xA6\xA3\xAC\xB2\x9D\x88\xD7\x34\xA6\x4F\xA2\xA0\xAF\x77\xA0\xA1\x24\x3F\xA7\x26\x50\xE7\x8C\xA8\xF0\x06\xAF\x8E\x4F\xA4\xA1\x5D\xC4\x85\xA5\xB9\xAF\x93\xAF\x60\x9D\xAF\x75\x7F\xA2\x8F\xC0\xA0\x3C\xAD\x17\xBA\xAB\x3E\x90\xBE\xAD\xC8\xAD\xA9\xAC\x1B\x39\x7F\x1F\xF2\xA9\xA9\xB7\x89\x23\xB3\xF5\x95\xA4\x66\xFF\x18\xB1\x2D\x8A\xB1\x26\x8C\xA7\x8E\x63\xFA\x79\x89\x0F\x85\xB5\xB3\x27\xAB\xA9\x6B\xAB", + "\xAE\xA9\x97\xA2\xB7\xAC\x1B\x39\xAC\x49\x25\xBE\x96\x83\x3E\x9D\xB6\x09\x29\xB5\x6E\xCA\xAF\x95\xD3\xA7\x22\xB8\x5B\x8B\xB4\x17\x97\xB8\xB6\xAE\x8D\xBC\xB2\xA3\xB0\xBB\x73\x92\xBA\x90\xE9\xA9\xA9\xA3\xD1\xB4\xBB\x1D\xD1\xAB\x93\xD1\xBA\xB1\x24\xDD\xAD\xB9\x78\xD7\xBF\x1F\xF1\x9B\xAE\xBC\xFB\x88\xBE\x22\xEA\xB7\x8E\xF6\x8D\xB2\xA6\x33\xAA\x23\x7C\x1E\xA6\x21\xF9\xA4\xA5\xBE\xAE\xB8\xBD\x5D\x5C\x00\xBF\x94\x05\xA2\x20\x8A\xA3\xBC\x13\x92\x9D\x7D\xD9\x86\x22\xC0\x0A\x24\xC0\x00\x01\xCA\x21\x01\xE0\x80\xBE\xCA\x9F\x22\x32\xAC\xAF\x22\x0A\xF6\xB4\x7E\x09\xD9\xC3\x6B\x83\x2C\xB3\x81\x0E\xC5\x80\x1A\xC6\x23\x87\xFA\xBC\x84\xF9\xA1\xC3\x20\xF6\xB1\x8A\x42\x76\x38\xC3\x84\x2C\xC5\xC4\x2E\xC7\xC6\x40\x08\xCD\xC5\x03\xCD\xC2\xC6\x01\x34\xC4\x8C\x86\x2D\x3E\x10\xF5\xC3\x20\x3D\xC2\xC4\x8E\x80\x01\xC8\x0F\xC3\xC9\x42\x42\xDF\xC6\x40\x48\xC6\xC8\x25\xC1\x24\xC9\x1B\x83\xCB\x15\xBA\xCA\xC5\xCF\x8A\x24\xCA\x91\x86\xC1\x61\x37\xCE\xC8\x00\x25\x40\xBE\x29\xC3\x93\x1F\xFD\xB0\x00\x28\xC7\x8F\x8A\x02\x10\x7D\xFE\x0A\xC2\x4A\xF8", + "\x97\x8B\x00\x6A\xDC\xCA\x41\x2A\x6E\xCC\xEA\x23\xBB\x62\x75\xC9\x20\x01\x71\xC6\xCB\x84\x18\x59\xCF\x22\xDC\xCE\x41\x32\x8D\x52\x40\xD1\x8A\xD0\xEF\x6A\x22\x97\x06\xD7\x20\x44\xF8\x7B\x4C\xFD\xB7\x88\x02\x0E\xD5\xC1\x84\x16\x54\xCC\x1F\xB4\xD0\x00\x57\x89\x56\x4C\xF5\xBA\xD3\x57\x8A\x5A\xA7\x83\x2B\x00\x4D\xE3\xBB\x5E\xA3\xC2\x20\x03\x26\xDA\x20\x7E\x69\xD7\xC9\x9A\xDA\x09\x7F\x8A\xAF\xD5\x47\xD6\x62\x86\xDC\x3F\x20\xAE\xE2\x3F\x23\x2B\x84\x9D\x63\xA7\x8A\x53\x47\x63\xB3\xCC\xEA\x06\xBD\x37\x9E\x6F\x5B\x94\xD4\x34\x48\x65\xBB\xD5\x37\xE3\xBF\xD6\x75\x1F\x25\x91\x62\xD3\x44\x89\xD2\xCA\x3B\x47\x45\xCB\x2E\xD9\x40\x03\xC4\xC2\xDE\xD8\x77\x0A\xC5\xB4\x32\xDC\x3D\x45\x83\xD4\x3A\x32\xD9\xD4\xCD\x20\x7D\xCA\x73\x2C\xB4\xD5\x7F\x8B\xD9\xDD\x84\x24\x49\x2C\xFD\xB9\x7C\x4B\xCF\xDF\x37\x8F\x08\x55\xDE\x2F\x5F\xBD\x40\x2C\xAF\xC5\x70\xC9\x23\x52\xEE\x85\x71\x98\x81\x27\xAF\xDB\x1F\x27\xD2\x36\xC0\x75\xC1\xAA\xDC\xD8\xEA\x34\x50\xDF\x13\x53\xE1\x40\x5F\xCF\x45\x64\xDC\x3C\xDB\x1B\xF5\xE3\xF2\x10\x41\xB5\x09\x5F\x20\x59", + "\xEF\xD0\x75\xC8\xBE\xCD\xE2\x85\x16\x5E\x62\x7F\xC0\xE3\x40\x41\xD2\x20\x8E\xF3\xE2\xE4\xED\x4B\x5A\xAF\x8D\x2A\x20\x3B\x66\xE2\x21\xF0\x49\xE3\xBD\x68\xD3\x20\x30\x7F\xE1\x21\xA8\xC5\x3A\xB7\xC4\xE2\x20\x2A\x47\xEE\x20\xFA\x42\xE8\xC0\x6E\xD6\x21\x1E\x4F\xEB\x20\xAE\xCA\xE8\xE8\x6D\xC6\x20\xAA\xC6\xE4\x76\xE2\x2E\xEA\x41\x3E\xED\xE5\x84\x06\x64\xE5\x8A\x58\xC9\x40\x62\xE5\xE8\x9C\xC3\x24\xCE\x49\xCF\x45\x21\xCC\x8C\xED\xA6\xEE\xEA\x20\x36\x12\xCE\xA2\x36\xE1\xCB\x84\x34\xDB\x20\x56\xE5\xEE\x41\x4F\x69\xE4\xE5\x46\x26\xE8\x71\xFF\xEB\x40\x66\x68\xE2\x83\x2D\x6D\xF1\x03\x35\xED\xA5\x87\xF3\xB0\x64\xCA\x20\x6F\x90\xFC\x54\xE2\xB7\xE9\x21\xCD\xC2\x22\xE3\xCF\x5F\x21\xDF\x52\xE7\x36\xB2\xC9\xD6\xDE\x0A\x21\xF2\xE2\x82\x2C\x71\xC2\xF3\x73\x20\xA6\xFD\xEE\xE0\x83\x26\x73\xCC\xC1\x22\x09\x70\xBF\xDC\xE7\xE3\xE5\xF3\x7E\xCA\x24\x74\xB6\xEF\x58\xC2\xB2\xE2\x21\xD8\xC1\x20\xF4\xB9\xCA\x23\xEA\x24\xFB\x37\x42\xDA\xEF\x50\x3D\xF7\xED\x40\x2D\x71\xF8\xEE\x2B\x57\xF9\x03\x3A\xF6\x40\x1E\xFE\x59\x8F\x3A\x75\xFA\xE2\x2E\x56", + "\xC5\x5A\xFB\xEC\xE9\xC0\x06\x78\xE0\xFD\x37\xC5\xD8\xF2\x21\xE1\xF0\xF6\xFC\x55\x0B\x59\xA7\xEC\xF1\x20\xF7\xDB\xFE\xFC\xD2\x6C\xFA\x75\x28\xE4\xFE\x00\x36\xFD\xFC\x57\x72\x10\xD4\x3A\x7F\xCA\x12\x6A\xFD\x70\x71\x03\x11\x29\x01\x81\x10\xD6\x34\x80\x44\x28\x80\xED\x76\x7E\xE3\x3A\x67\x0A\x1D\x05\xCB\x2E\x7C\x09\x86\x7E\x5E\x0F\x38\x18\x81\x81\x0B\x80\x00\x5F\x07\x65\x0A\x13\x06\xCB\x27\x7D\xEF\x7F\x81\x64\x0A\x65\xBC\x21\x2D\xC1\x76\x82\xF7\x7F\x81\x67\x0A\x82\xCE\x21\x73\xBB\x73\x10\x2E\x80\x80\xB3\x72\x10\x6A\x02\x83\xCF\x2E\x2E\xC1\x7B\x7E\x27\x89\x83\x01\x1D\x06\xBD\x77\x1B\x49\x75\x83\xB3\x2A\x10\xDC\x71\x7A\x0A\x1F\x06\x45\x8B\x1B\x59\x78\x84\x01\x10\x84\x76\x7F\x81\x71\x0F\x84\xD6\x18\x30\xC1\x73\x7F\x03\x12\x7E\x42\x80\x00\x73\x0C\x83\x28\x3C\x85\x02\x1C\x82\x5F\x86\x07\x43\x6C\x07\xF2\x7E\x72\xE6\x7D\x07\x43\x63\x08\xCB\x2C\x7F\x41\x8B\x7A\x01\x14\x08\x58\x8A\x1C\x15\x34\x7C\x01\x12\x87\x2F\x8F\x85\x86\x07\x87\x1F\x10\x77\x52\x80\x00\x7C\x88\x83\x74\x80\x00\x88\x00\x88\x0A\x1F\x32\xC1\x76\x80\x5D\x86", + "\x7E\x8A\x02\x86\x85\x3E\x88\x65\x86\x7E\x8D\x03\x64\x93\x0B\x2C\x94\x81\x10\x2F\x7F\x85\x94\x03\x64\x9A\x0B\x2C\x66\x83\x10\x54\x8D\x7D\xE2\x62\x1E\x9D\x83\x10\x85\x8C\x84\x23\x7D\x1B\x34\x8D\x2A\xE6\x7B\x09\x8F\x3F\x8A\x01\x13\x8A\xBC\x2F\x11\x9C\x02\x82\x09\x10\x0A\xCB\x24\x8B\x00\x09\x8A\xB7\x8A\x10\xA1\x0A\x8B\x06\x15\x0A\xCB\x2B\x2D\xBC\x7F\x81\xA6\x04\x8C\x8A\x27\x33\xAE\x70\x00\xC8\x8D\x76\x1F\x8A\x0A\xCC\x8C\x2B\x44\x3F\x8C\xD1\x85\x85\x5F\x8E\x0A\xD5\x8E\x2C\x84\x7E\x5B\x40\x71\x7D\x1F\x82\x0B\x92\x8D\x1B\x8C\x70\x8E\x09\x11\x74\x94\x7F\x81\xB5\x05\x8E\xBF\x11\x04\x3C\x8A\x8E\x91\x76\x7E\xB8\x0E\x8E\xB7\x13\x7A\xE8\x86\x10\x47\x82\x10\x3E\x8F\x85\xBB\x06\x8F\x1D\x3B\x8F\x01\x17\x76\x5F\x8E\x0B\x43\x64\x0C\xCB\x22\x90\x00\x0A\x85\x5F\x85\x0C\x43\x6B\x0C\xCB\x21\x75\xC9\x8F\x85\xCC\x00\x90\xD6\x11\x39\xCF\x82\x91\xD2\x8F\x85\xCF\x06\x91\xCA\x18\x7B\x19\x9A\x10\x92\x7C\x8A\x06\x12\x0D\x1E\x9F\x11\xA6\x3F\x8C\x51\x8C\x8F\xE6\x75\x0D\x27\x94\x1D\x2B\x93\x90\xE6\x78\x0D\x43\x6E\x0D\xCB\x21\x93\x0B\x96\x7E", + "\xDF\x03\x64\xE5\x0B\x2C\x04\x93\x10\xF2\x81\x8C\xAD\x8F\x1B\x0C\x93\x10\x1A\x92\x94\x60\x7D\x1B\x78\x69\x73\x1F\x86\x0E\x8F\x3B\x94\x03\x1F\x93\x48\x93\x10\xE7\x0D\x8D\x00\x0B\x0E\xCB\x20\x95\x02\x15\x94\x53\x92\x10\xEC\x06\x95\xF0\x0B\x2C\x79\x83\x87\x5D\x91\x10\xF1\x0A\x77\xBC\x20\x05\x56\x93\x96\x7D\x87\x88\xF6\x08\x96\xCE\x28\x3C\x14\x89\x10\x6C\x96\x88\x65\x90\x00\xFB\x00\x97\xCF\x2D\x80\x11\x73\x67\x0A\x19\x31\x1F\x83\x43\xE9\x70\x30\x2C\x30\x5F\xB9\x6B\x45\xB5\x69\x98\xF0\x53\x52\xFD\x7E\x5F\x2A\x14\x16\xD9\x6F\x0F\x8C\x97\x7A\x8D\x92\x70\x28\x44\x1F\x82\x96\x31\x0B\x64\x16\xFC\x6F\x49\x70\x5B\x99\xC1\x70\x9A\x7A\x83\x79\x32\x5D\x4C\xBA\x68\x99\x34\x7D\x6D\x80\x11\x48\x3B\x7C\x83\x11\x47\x45\x29\x1E\x5E\x25\x12\x9B\x1C\x13\x5E\xCD\x46\x9B\xC3\x68\x99\xD1\x69\x9B\xA1\x9B\x9B\x56\x99\x12\xB4\x6F\x53\xD8\x6F\x11\xC3\x9A\x97\xCD\x4C\x44\xC7\x98\x99\xC8\x94\x9C\x64\x6A\x60\x34\x1E\x9C\x31\x1A\x60\x98\x60", + }; + vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); + } - const wchar_t* ParserRuleName(vl::vint index) - { - static const wchar_t* results[] = { - L"QPrimaryFragment", - L"QPrimaryAttributed", - L"QPrimary", - L"Query0", - L"Query1", - L"Query2", - L"QueryRoot", - }; - return results[index]; - } + const wchar_t* ParserRuleName(vl::vint index) + { + static const wchar_t* results[] = { + L"QPrimaryFragment", + L"QPrimaryAttributed", + L"QPrimary", + L"Query0", + L"Query1", + L"Query2", + L"QueryRoot", + }; + return results[index]; + } - const wchar_t* ParserStateLabel(vl::vint index) - { - static const wchar_t* results[] = { - L"[0][QPrimaryFragment] BEGIN ", - L"[1][QPrimaryFragment] END [ENDING]", - L"[2][QPrimaryFragment]< \"*\" @ [ \".\" NAME ] >", - L"[3][QPrimaryFragment]< \"*\" [ \".\" @ NAME ] >", - L"[4][QPrimaryFragment]< \"*\" [ \".\" NAME @ ] >", - L"[5][QPrimaryFragment]< NAME @ [ \".\" NAME ] >", - L"[6][QPrimaryFragment]< NAME [ \".\" @ NAME ] >", - L"[7][QPrimaryFragment]< NAME [ \".\" NAME @ ] >", - L"[8][QPrimaryAttributed] BEGIN ", - L"[9][QPrimaryAttributed] END [ENDING]", - L"[10][QPrimaryAttributed]<< !QPrimaryFragment @ >>", - L"[11][QPrimaryAttributed]<< \"@\" @ [ NAME ] \":\" !QPrimaryFragment >>", - L"[12][QPrimaryAttributed]<< \"@\" [ NAME @ ] \":\" !QPrimaryFragment >>", - L"[13][QPrimaryAttributed]<< \"@\" [ NAME ] \":\" !QPrimaryFragment @ >>", - L"[14][QPrimaryAttributed]<< \"@\" [ NAME ] \":\" @ !QPrimaryFragment >>", - L"[15][QPrimary] BEGIN ", - L"[16][QPrimary] END [ENDING]", - L"[17][QPrimary]<< \"(\" !QueryRoot \")\" @ >>", - L"[18][QPrimary]<< \"(\" !QueryRoot @ \")\" >>", - L"[19][QPrimary]<< \"(\" @ !QueryRoot \")\" >>", - L"[20][QPrimary]<< \"/\" !QPrimaryAttributed @ >>", - L"[21][QPrimary]<< \"/\" @ !QPrimaryAttributed >>", - L"[22][QPrimary]<< \"//\" !QPrimaryAttributed @ >>", - L"[23][QPrimary]<< \"//\" @ !QPrimaryAttributed >>", - L"[24][Query0] BEGIN ", - L"[25][Query0] END [ENDING]", - L"[26][Query0]< Query0 @ QPrimary >", - L"[27][Query0]< Query0 QPrimary @ >", - L"[28][Query0]<< !QPrimary @ >>", - L"[29][Query1] BEGIN ", - L"[30][Query1] END [ENDING]", - L"[31][Query1]< Query1 \"*\" @ Query0 >", - L"[32][Query1]< Query1 \"*\" Query0 @ >", - L"[33][Query1]< Query1 \"^\" @ Query0 >", - L"[34][Query1]< Query1 \"^\" Query0 @ >", - L"[35][Query1]< Query1 @ \"*\" Query0 >", - L"[36][Query1]< Query1 @ \"^\" Query0 >", - L"[37][Query1]<< !Query0 @ >>", - L"[38][Query2] BEGIN ", - L"[39][Query2] END [ENDING]", - L"[40][Query2]< Query2 \"+\" @ Query1 >", - L"[41][Query2]< Query2 \"+\" Query1 @ >", - L"[42][Query2]< Query2 \"-\" @ Query1 >", - L"[43][Query2]< Query2 \"-\" Query1 @ >", - L"[44][Query2]< Query2 @ \"+\" Query1 >", - L"[45][Query2]< Query2 @ \"-\" Query1 >", - L"[46][Query2]<< !Query1 @ >>", - L"[47][QueryRoot] BEGIN ", - L"[48][QueryRoot] END [ENDING]", - L"[49][QueryRoot]<< !Query2 @ >>", - }; - return results[index]; - } + const wchar_t* ParserStateLabel(vl::vint index) + { + static const wchar_t* results[] = { + L"[0][QPrimaryFragment] BEGIN ", + L"[1][QPrimaryFragment] END [ENDING]", + L"[2][QPrimaryFragment]< \"*\" @ [ \".\" NAME ] >", + L"[3][QPrimaryFragment]< \"*\" [ \".\" @ NAME ] >", + L"[4][QPrimaryFragment]< \"*\" [ \".\" NAME @ ] >", + L"[5][QPrimaryFragment]< NAME @ [ \".\" NAME ] >", + L"[6][QPrimaryFragment]< NAME [ \".\" @ NAME ] >", + L"[7][QPrimaryFragment]< NAME [ \".\" NAME @ ] >", + L"[8][QPrimaryAttributed] BEGIN ", + L"[9][QPrimaryAttributed] END [ENDING]", + L"[10][QPrimaryAttributed]<< !QPrimaryFragment @ >>", + L"[11][QPrimaryAttributed]<< \"@\" @ [ NAME ] \":\" !QPrimaryFragment >>", + L"[12][QPrimaryAttributed]<< \"@\" [ NAME @ ] \":\" !QPrimaryFragment >>", + L"[13][QPrimaryAttributed]<< \"@\" [ NAME ] \":\" !QPrimaryFragment @ >>", + L"[14][QPrimaryAttributed]<< \"@\" [ NAME ] \":\" @ !QPrimaryFragment >>", + L"[15][QPrimary] BEGIN ", + L"[16][QPrimary] END [ENDING]", + L"[17][QPrimary]<< \"(\" !QueryRoot \")\" @ >>", + L"[18][QPrimary]<< \"(\" !QueryRoot @ \")\" >>", + L"[19][QPrimary]<< \"(\" @ !QueryRoot \")\" >>", + L"[20][QPrimary]<< \"/\" !QPrimaryAttributed @ >>", + L"[21][QPrimary]<< \"/\" @ !QPrimaryAttributed >>", + L"[22][QPrimary]<< \"//\" !QPrimaryAttributed @ >>", + L"[23][QPrimary]<< \"//\" @ !QPrimaryAttributed >>", + L"[24][Query0] BEGIN ", + L"[25][Query0] END [ENDING]", + L"[26][Query0]< Query0 @ QPrimary >", + L"[27][Query0]< Query0 QPrimary @ >", + L"[28][Query0]<< !QPrimary @ >>", + L"[29][Query1] BEGIN ", + L"[30][Query1] END [ENDING]", + L"[31][Query1]< Query1 \"*\" @ Query0 >", + L"[32][Query1]< Query1 \"*\" Query0 @ >", + L"[33][Query1]< Query1 \"^\" @ Query0 >", + L"[34][Query1]< Query1 \"^\" Query0 @ >", + L"[35][Query1]< Query1 @ \"*\" Query0 >", + L"[36][Query1]< Query1 @ \"^\" Query0 >", + L"[37][Query1]<< !Query0 @ >>", + L"[38][Query2] BEGIN ", + L"[39][Query2] END [ENDING]", + L"[40][Query2]< Query2 \"+\" @ Query1 >", + L"[41][Query2]< Query2 \"+\" Query1 @ >", + L"[42][Query2]< Query2 \"-\" @ Query1 >", + L"[43][Query2]< Query2 \"-\" Query1 @ >", + L"[44][Query2]< Query2 @ \"+\" Query1 >", + L"[45][Query2]< Query2 @ \"-\" Query1 >", + L"[46][Query2]<< !Query1 @ >>", + L"[47][QueryRoot] BEGIN ", + L"[48][QueryRoot] END [ENDING]", + L"[49][QueryRoot]<< !Query2 @ >>", + }; + return results[index]; + } - Parser::Parser() - : vl::glr::ParserBase(&GuiInstanceQueryTokenDeleter, &GuiInstanceQueryLexerData, &GuiInstanceQueryParserData) - { - }; + Parser::Parser() + : vl::glr::ParserBase(&GuiInstanceQueryTokenDeleter, &GuiInstanceQueryLexerData, &GuiInstanceQueryParserData) + { + } - vl::vint32_t Parser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const - { - return -1; - }; + vl::WString Parser::GetClassName(vl::vint32_t classIndex) const + { + return vl::WString::Unmanaged(GuiInstanceQueryTypeName((GuiInstanceQueryClasses)classIndex)); + } - vl::Ptr Parser::ParseQueryRoot(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); - }; + vl::vint32_t Parser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const + { + return -1; + } - vl::Ptr Parser::ParseQueryRoot(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; - } + vl::Ptr Parser::ParseQueryRoot(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } + + vl::Ptr Parser::ParseQueryRoot(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); } } @@ -9662,154 +9649,148 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::presentation::instancequery { - namespace presentation - { - namespace instancequery - { /*********************************************************************** GuiInstanceQueryAstInsReceiver : public vl::glr::AstInsReceiverBase ***********************************************************************/ - vl::Ptr GuiInstanceQueryAstInsReceiver::CreateAstNode(vl::vint32_t type) - { - auto cppTypeName = GuiInstanceQueryCppTypeName((GuiInstanceQueryClasses)type); - switch((GuiInstanceQueryClasses)type) - { - case GuiInstanceQueryClasses::CascadeQuery: - return vl::Ptr(new vl::presentation::instancequery::GuiIqCascadeQuery); - case GuiInstanceQueryClasses::PrimaryQuery: - return vl::Ptr(new vl::presentation::instancequery::GuiIqPrimaryQuery); - case GuiInstanceQueryClasses::SetQuery: - return vl::Ptr(new vl::presentation::instancequery::GuiIqSetQuery); - default: - return vl::glr::AssemblyThrowCannotCreateAbstractType(type, cppTypeName); - } - } - - void GuiInstanceQueryAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) - { - auto cppFieldName = GuiInstanceQueryCppFieldName((GuiInstanceQueryFields)field); - switch((GuiInstanceQueryFields)field) - { - case GuiInstanceQueryFields::CascadeQuery_child: - return vl::glr::AssemblerSetObjectField(&vl::presentation::instancequery::GuiIqCascadeQuery::child, object, field, value, cppFieldName); - case GuiInstanceQueryFields::CascadeQuery_parent: - return vl::glr::AssemblerSetObjectField(&vl::presentation::instancequery::GuiIqCascadeQuery::parent, object, field, value, cppFieldName); - case GuiInstanceQueryFields::SetQuery_first: - return vl::glr::AssemblerSetObjectField(&vl::presentation::instancequery::GuiIqSetQuery::first, object, field, value, cppFieldName); - case GuiInstanceQueryFields::SetQuery_second: - return vl::glr::AssemblerSetObjectField(&vl::presentation::instancequery::GuiIqSetQuery::second, object, field, value, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotObject(field, cppFieldName); - } - } - - void GuiInstanceQueryAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) - { - auto cppFieldName = GuiInstanceQueryCppFieldName((GuiInstanceQueryFields)field); - switch((GuiInstanceQueryFields)field) - { - case GuiInstanceQueryFields::PrimaryQuery_attributeName: - return vl::glr::AssemblerSetTokenField(&vl::presentation::instancequery::GuiIqPrimaryQuery::attributeName, object, field, token, tokenIndex, cppFieldName); - case GuiInstanceQueryFields::PrimaryQuery_referenceName: - return vl::glr::AssemblerSetTokenField(&vl::presentation::instancequery::GuiIqPrimaryQuery::referenceName, object, field, token, tokenIndex, cppFieldName); - case GuiInstanceQueryFields::PrimaryQuery_typeName: - return vl::glr::AssemblerSetTokenField(&vl::presentation::instancequery::GuiIqPrimaryQuery::typeName, object, field, token, tokenIndex, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotToken(field, cppFieldName); - } - } - - void GuiInstanceQueryAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) - { - auto cppFieldName = GuiInstanceQueryCppFieldName((GuiInstanceQueryFields)field); - switch((GuiInstanceQueryFields)field) - { - case GuiInstanceQueryFields::PrimaryQuery_attributeNameOption: - return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::attributeNameOption, object, field, enumItem, weakAssignment, cppFieldName); - case GuiInstanceQueryFields::PrimaryQuery_childOption: - return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::childOption, object, field, enumItem, weakAssignment, cppFieldName); - case GuiInstanceQueryFields::PrimaryQuery_typeNameOption: - return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::typeNameOption, object, field, enumItem, weakAssignment, cppFieldName); - case GuiInstanceQueryFields::SetQuery_op: - return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqSetQuery::op, object, field, enumItem, weakAssignment, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); - } - } - - const wchar_t* GuiInstanceQueryTypeName(GuiInstanceQueryClasses type) - { - const wchar_t* results[] = { - L"CascadeQuery", - L"PrimaryQuery", - L"Query", - L"SetQuery", - }; - vl::vint index = (vl::vint)type; - return 0 <= index && index < 4 ? results[index] : nullptr; - } - - const wchar_t* GuiInstanceQueryCppTypeName(GuiInstanceQueryClasses type) - { - const wchar_t* results[] = { - L"vl::presentation::instancequery::GuiIqCascadeQuery", - L"vl::presentation::instancequery::GuiIqPrimaryQuery", - L"vl::presentation::instancequery::GuiIqQuery", - L"vl::presentation::instancequery::GuiIqSetQuery", - }; - vl::vint index = (vl::vint)type; - return 0 <= index && index < 4 ? results[index] : nullptr; - } - - const wchar_t* GuiInstanceQueryFieldName(GuiInstanceQueryFields field) - { - const wchar_t* results[] = { - L"CascadeQuery::child", - L"CascadeQuery::parent", - L"PrimaryQuery::attributeName", - L"PrimaryQuery::attributeNameOption", - L"PrimaryQuery::childOption", - L"PrimaryQuery::referenceName", - L"PrimaryQuery::typeName", - L"PrimaryQuery::typeNameOption", - L"SetQuery::first", - L"SetQuery::op", - L"SetQuery::second", - }; - vl::vint index = (vl::vint)field; - return 0 <= index && index < 11 ? results[index] : nullptr; - } - - const wchar_t* GuiInstanceQueryCppFieldName(GuiInstanceQueryFields field) - { - const wchar_t* results[] = { - L"vl::presentation::instancequery::GuiIqCascadeQuery::child", - L"vl::presentation::instancequery::GuiIqCascadeQuery::parent", - L"vl::presentation::instancequery::GuiIqPrimaryQuery::attributeName", - L"vl::presentation::instancequery::GuiIqPrimaryQuery::attributeNameOption", - L"vl::presentation::instancequery::GuiIqPrimaryQuery::childOption", - L"vl::presentation::instancequery::GuiIqPrimaryQuery::referenceName", - L"vl::presentation::instancequery::GuiIqPrimaryQuery::typeName", - L"vl::presentation::instancequery::GuiIqPrimaryQuery::typeNameOption", - L"vl::presentation::instancequery::GuiIqSetQuery::first", - L"vl::presentation::instancequery::GuiIqSetQuery::op", - L"vl::presentation::instancequery::GuiIqSetQuery::second", - }; - vl::vint index = (vl::vint)field; - return 0 <= index && index < 11 ? results[index] : nullptr; - } - - vl::Ptr GuiInstanceQueryAstInsReceiver::ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) - { - auto cppTypeName = GuiInstanceQueryCppTypeName((GuiInstanceQueryClasses)type); - return vl::glr::AssemblyThrowTypeNotAllowAmbiguity(type, cppTypeName); - } + vl::Ptr GuiInstanceQueryAstInsReceiver::CreateAstNode(vl::vint32_t type) + { + auto cppTypeName = GuiInstanceQueryCppTypeName((GuiInstanceQueryClasses)type); + switch((GuiInstanceQueryClasses)type) + { + case GuiInstanceQueryClasses::CascadeQuery: + return vl::Ptr(new vl::presentation::instancequery::GuiIqCascadeQuery); + case GuiInstanceQueryClasses::PrimaryQuery: + return vl::Ptr(new vl::presentation::instancequery::GuiIqPrimaryQuery); + case GuiInstanceQueryClasses::SetQuery: + return vl::Ptr(new vl::presentation::instancequery::GuiIqSetQuery); + default: + return vl::glr::AssemblyThrowCannotCreateAbstractType(type, cppTypeName); } } + + void GuiInstanceQueryAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) + { + auto cppFieldName = GuiInstanceQueryCppFieldName((GuiInstanceQueryFields)field); + switch((GuiInstanceQueryFields)field) + { + case GuiInstanceQueryFields::CascadeQuery_child: + return vl::glr::AssemblerSetObjectField(&vl::presentation::instancequery::GuiIqCascadeQuery::child, object, field, value, cppFieldName); + case GuiInstanceQueryFields::CascadeQuery_parent: + return vl::glr::AssemblerSetObjectField(&vl::presentation::instancequery::GuiIqCascadeQuery::parent, object, field, value, cppFieldName); + case GuiInstanceQueryFields::SetQuery_first: + return vl::glr::AssemblerSetObjectField(&vl::presentation::instancequery::GuiIqSetQuery::first, object, field, value, cppFieldName); + case GuiInstanceQueryFields::SetQuery_second: + return vl::glr::AssemblerSetObjectField(&vl::presentation::instancequery::GuiIqSetQuery::second, object, field, value, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotObject(field, cppFieldName); + } + } + + void GuiInstanceQueryAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) + { + auto cppFieldName = GuiInstanceQueryCppFieldName((GuiInstanceQueryFields)field); + switch((GuiInstanceQueryFields)field) + { + case GuiInstanceQueryFields::PrimaryQuery_attributeName: + return vl::glr::AssemblerSetTokenField(&vl::presentation::instancequery::GuiIqPrimaryQuery::attributeName, object, field, token, tokenIndex, cppFieldName); + case GuiInstanceQueryFields::PrimaryQuery_referenceName: + return vl::glr::AssemblerSetTokenField(&vl::presentation::instancequery::GuiIqPrimaryQuery::referenceName, object, field, token, tokenIndex, cppFieldName); + case GuiInstanceQueryFields::PrimaryQuery_typeName: + return vl::glr::AssemblerSetTokenField(&vl::presentation::instancequery::GuiIqPrimaryQuery::typeName, object, field, token, tokenIndex, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotToken(field, cppFieldName); + } + } + + void GuiInstanceQueryAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) + { + auto cppFieldName = GuiInstanceQueryCppFieldName((GuiInstanceQueryFields)field); + switch((GuiInstanceQueryFields)field) + { + case GuiInstanceQueryFields::PrimaryQuery_attributeNameOption: + return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::attributeNameOption, object, field, enumItem, weakAssignment, cppFieldName); + case GuiInstanceQueryFields::PrimaryQuery_childOption: + return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::childOption, object, field, enumItem, weakAssignment, cppFieldName); + case GuiInstanceQueryFields::PrimaryQuery_typeNameOption: + return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::typeNameOption, object, field, enumItem, weakAssignment, cppFieldName); + case GuiInstanceQueryFields::SetQuery_op: + return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqSetQuery::op, object, field, enumItem, weakAssignment, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); + } + } + + const wchar_t* GuiInstanceQueryTypeName(GuiInstanceQueryClasses type) + { + const wchar_t* results[] = { + L"CascadeQuery", + L"PrimaryQuery", + L"Query", + L"SetQuery", + }; + vl::vint index = (vl::vint)type; + return 0 <= index && index < 4 ? results[index] : nullptr; + } + + const wchar_t* GuiInstanceQueryCppTypeName(GuiInstanceQueryClasses type) + { + const wchar_t* results[] = { + L"vl::presentation::instancequery::GuiIqCascadeQuery", + L"vl::presentation::instancequery::GuiIqPrimaryQuery", + L"vl::presentation::instancequery::GuiIqQuery", + L"vl::presentation::instancequery::GuiIqSetQuery", + }; + vl::vint index = (vl::vint)type; + return 0 <= index && index < 4 ? results[index] : nullptr; + } + + const wchar_t* GuiInstanceQueryFieldName(GuiInstanceQueryFields field) + { + const wchar_t* results[] = { + L"CascadeQuery::child", + L"CascadeQuery::parent", + L"PrimaryQuery::attributeName", + L"PrimaryQuery::attributeNameOption", + L"PrimaryQuery::childOption", + L"PrimaryQuery::referenceName", + L"PrimaryQuery::typeName", + L"PrimaryQuery::typeNameOption", + L"SetQuery::first", + L"SetQuery::op", + L"SetQuery::second", + }; + vl::vint index = (vl::vint)field; + return 0 <= index && index < 11 ? results[index] : nullptr; + } + + const wchar_t* GuiInstanceQueryCppFieldName(GuiInstanceQueryFields field) + { + const wchar_t* results[] = { + L"vl::presentation::instancequery::GuiIqCascadeQuery::child", + L"vl::presentation::instancequery::GuiIqCascadeQuery::parent", + L"vl::presentation::instancequery::GuiIqPrimaryQuery::attributeName", + L"vl::presentation::instancequery::GuiIqPrimaryQuery::attributeNameOption", + L"vl::presentation::instancequery::GuiIqPrimaryQuery::childOption", + L"vl::presentation::instancequery::GuiIqPrimaryQuery::referenceName", + L"vl::presentation::instancequery::GuiIqPrimaryQuery::typeName", + L"vl::presentation::instancequery::GuiIqPrimaryQuery::typeNameOption", + L"vl::presentation::instancequery::GuiIqSetQuery::first", + L"vl::presentation::instancequery::GuiIqSetQuery::op", + L"vl::presentation::instancequery::GuiIqSetQuery::second", + }; + vl::vint index = (vl::vint)field; + return 0 <= index && index < 11 ? results[index] : nullptr; + } + + vl::Ptr GuiInstanceQueryAstInsReceiver::ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) + { + auto cppTypeName = GuiInstanceQueryCppTypeName((GuiInstanceQueryClasses)type); + return vl::glr::AssemblyThrowTypeNotAllowAmbiguity(type, cppTypeName); + } } @@ -9823,100 +9804,94 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::presentation::instancequery { - namespace presentation + bool GuiInstanceQueryTokenDeleter(vl::vint token) { - namespace instancequery + switch((GuiInstanceQueryTokens)token) { - bool GuiInstanceQueryTokenDeleter(vl::vint token) - { - switch((GuiInstanceQueryTokens)token) - { - case GuiInstanceQueryTokens::SPACE: - return true; - default: - return false; - } - } - - const wchar_t* GuiInstanceQueryTokenId(GuiInstanceQueryTokens token) - { - static const wchar_t* results[] = { - L"INDIRECT", - L"DIRECT", - L"NAME", - L"WILDCARD_INTERSECT", - L"OPEN", - L"CLOSE", - L"XOR", - L"UNION", - L"SUBSTRACT", - L"ATTRIBUTE", - L"COLON", - L"DOT", - L"SPACE", - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < GuiInstanceQueryTokenCount ? results[index] : nullptr; - } - - const wchar_t* GuiInstanceQueryTokenDisplayText(GuiInstanceQueryTokens token) - { - static const wchar_t* results[] = { - L"//", - L"/", - nullptr, - L"*", - L"(", - L")", - L"^", - L"+", - L"-", - L"@", - L":", - L".", - nullptr, - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < GuiInstanceQueryTokenCount ? results[index] : nullptr; - } - - const wchar_t* GuiInstanceQueryTokenRegex(GuiInstanceQueryTokens token) - { - static const wchar_t* results[] = { - L"////", - L"//", - L"[a-zA-Z_][a-zA-Z0-9]*", - L"/*", - L"/(", - L"/)", - L"/^", - L"/+", - L"-", - L"@", - L":", - L".", - L"/s+", - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < GuiInstanceQueryTokenCount ? results[index] : nullptr; - } - - void GuiInstanceQueryLexerData(vl::stream::IStream& outputStream) - { - static const vl::vint dataLength = 232; // 1446 bytes before compressing - static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 232; - static const vl::vint dataSolidRows = 0; - static const vl::vint dataRows = 1; - static const char* compressed[] = { - "\xA6\x05\x00\x00\xE0\x00\x00\x00\x10\x00\x01\x93\x01\x84\x81\x82\x08\x82\x09\x08\x84\x8A\x0B\x84\x81\x06\x87\x04\xA0\x11\x84\x88\x14\x88\x83\x14\x17\x84\xAA\x1A\x84\x83\x15\x8E\x82\x2D\x20\x84\x8E\x13\x94\x83\x16\x93\x04\xB0\x04\x99\x14\x82\x1D\x96\x82\x40\x30\x84\x81\x24\x82\x2C\x82\x2F\x37\x84\x9F\x3A\x94\x81\x30\x82\x3D\x04\x8C\x01\xA3\xA1\x82\xA1\x80\x02\x04\x85\x04\x83\x04\x87\x00\x82\x04\x04\x8B\x04\x81\x04\x87\x7E\xAB\x7F\x0C\x81\x89\x81\x82\x04\x82\x02\x82\x5D\xDC\x95\xB7\xA4\xB5\xB2\xB3\xB3\x68\xE9\xBF\x6F\x81\x82\xB6\xB7\xB7\x70\xF1\xB2\xBF\x7E\x03\xB2\xB3\xBA\x6D\xE7\xB8\xA0\x03\xBD\xBE\xBF\xBF\x80\x81\xC2\xC3\xC4\xC5\xC2\xC3\xC3\x88\x89\xCA\xCB\xCC\xC5\xC6\xC7\xC7\x90\x91\xD2\xD3\xC8\xC7\x04\x82\xCB\x01\x98\xC0\x1A\xC4\xCD\xCE\xCF\xCF\x71\xFB\xA8\xA2\xDA\xBE\xBB\x7E\xCD\xA8\x97\xE6\xC0\xDF\xB6\x7F\x7E\x80\x05\x81\x94\xA2\xB1\x84\xA7\xA3\xA4\x5E\xCD\x8F\xAA\x81\x81\xAC\x00\xA9\x45\xB1\xF4\xC0\x06\xA0\x00", - }; - vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); - } + case GuiInstanceQueryTokens::SPACE: + return true; + default: + return false; } } + + const wchar_t* GuiInstanceQueryTokenId(GuiInstanceQueryTokens token) + { + static const wchar_t* results[] = { + L"INDIRECT", + L"DIRECT", + L"NAME", + L"WILDCARD_INTERSECT", + L"OPEN", + L"CLOSE", + L"XOR", + L"UNION", + L"SUBSTRACT", + L"ATTRIBUTE", + L"COLON", + L"DOT", + L"SPACE", + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < GuiInstanceQueryTokenCount ? results[index] : nullptr; + } + + const wchar_t* GuiInstanceQueryTokenDisplayText(GuiInstanceQueryTokens token) + { + static const wchar_t* results[] = { + L"//", + L"/", + nullptr, + L"*", + L"(", + L")", + L"^", + L"+", + L"-", + L"@", + L":", + L".", + nullptr, + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < GuiInstanceQueryTokenCount ? results[index] : nullptr; + } + + const wchar_t* GuiInstanceQueryTokenRegex(GuiInstanceQueryTokens token) + { + static const wchar_t* results[] = { + L"////", + L"//", + L"[a-zA-Z_][a-zA-Z0-9]*", + L"/*", + L"/(", + L"/)", + L"/^", + L"/+", + L"-", + L"@", + L":", + L".", + L"/s+", + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < GuiInstanceQueryTokenCount ? results[index] : nullptr; + } + + void GuiInstanceQueryLexerData(vl::stream::IStream& outputStream) + { + static const vl::vint dataLength = 232; // 1446 bytes before compressing + static const vl::vint dataBlock = 256; + static const vl::vint dataRemain = 232; + static const vl::vint dataSolidRows = 0; + static const vl::vint dataRows = 1; + static const char* compressed[] = { + "\xA6\x05\x00\x00\xE0\x00\x00\x00\x10\x00\x01\x93\x01\x84\x81\x82\x08\x82\x09\x08\x84\x8A\x0B\x84\x81\x06\x87\x04\xA0\x11\x84\x88\x14\x88\x83\x14\x17\x84\xAA\x1A\x84\x83\x15\x8E\x82\x2D\x20\x84\x8E\x13\x94\x83\x16\x93\x04\xB0\x04\x99\x14\x82\x1D\x96\x82\x40\x30\x84\x81\x24\x82\x2C\x82\x2F\x37\x84\x9F\x3A\x94\x81\x30\x82\x3D\x04\x8C\x01\xA3\xA1\x82\xA1\x80\x02\x04\x85\x04\x83\x04\x87\x00\x82\x04\x04\x8B\x04\x81\x04\x87\x7E\xAB\x7F\x0C\x81\x89\x81\x82\x04\x82\x02\x82\x5D\xDC\x95\xB7\xA4\xB5\xB2\xB3\xB3\x68\xE9\xBF\x6F\x81\x82\xB6\xB7\xB7\x70\xF1\xB2\xBF\x7E\x03\xB2\xB3\xBA\x6D\xE7\xB8\xA0\x03\xBD\xBE\xBF\xBF\x80\x81\xC2\xC3\xC4\xC5\xC2\xC3\xC3\x88\x89\xCA\xCB\xCC\xC5\xC6\xC7\xC7\x90\x91\xD2\xD3\xC8\xC7\x04\x82\xCB\x01\x98\xC0\x1A\xC4\xCD\xCE\xCF\xCF\x71\xFB\xA8\xA2\xDA\xBE\xBB\x7E\xCD\xA8\x97\xE6\xC0\xDF\xB6\x7F\x7E\x80\x05\x81\x94\xA2\xB1\x84\xA7\xA3\xA4\x5E\xCD\x8F\xAA\x81\x81\xAC\x00\xA9\x45\xB1\xF4\xC0\x06\xA0\x00", + }; + vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); + } } @@ -10517,7 +10492,7 @@ Workflow_GenerateInstanceClass auto expression = Workflow_ParseExpression( precompileContext, parameter->classPosition.originalLocation, - L"cast("+parameterTypeInfoTuple.f1+L") (null of object)", + L"cast("+parameterTypeInfoTuple.get<1>() + L") (null of object)", parameter->classPosition, errors, { 0,5 } @@ -10642,9 +10617,9 @@ Workflow_GenerateInstanceClass { auto parameterTypeInfoTuple = getDefaultType(parameter->className.ToString()); vint errorCount = errors.Count(); - auto type = Workflow_ParseType(precompileContext, { resolvingResult.resource }, parameterTypeInfoTuple.f1, parameter->classPosition, errors); + auto type = Workflow_ParseType(precompileContext, { resolvingResult.resource }, parameterTypeInfoTuple.get<1>(), parameter->classPosition, errors); - if (!needFunctionBody && !parameterTypeInfoTuple.f0 && errorCount == errors.Count()) + if (!needFunctionBody && !parameterTypeInfoTuple.get<0>() && errorCount == errors.Count()) { if (!type || type.Cast() || type.Cast() || type.Cast()) { @@ -10660,7 +10635,7 @@ Workflow_GenerateInstanceClass decl->name.value = L"" + parameter->name.ToString(); decl->type = CopyType(type); - decl->expression = CreateDefaultValue(parameterTypeInfoTuple.f0.Obj()); + decl->expression = CreateDefaultValue(parameterTypeInfoTuple.get<0>().Obj()); Workflow_RecordScriptPosition(precompileContext, parameter->tagPosition, (Ptr)decl); } diff --git a/Import/GacUICompiler.h b/Import/GacUICompiler.h index d0cf56d6..45eb742e 100644 --- a/Import/GacUICompiler.h +++ b/Import/GacUICompiler.h @@ -264,132 +264,120 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PRESENTATION_INSTANCEQUERY_AST_AST -namespace vl +namespace vl::presentation::instancequery { - namespace presentation + class GuiIqCascadeQuery; + class GuiIqPrimaryQuery; + class GuiIqQuery; + class GuiIqSetQuery; + + enum class GuiIqNameOption { - namespace instancequery + UNDEFINED_ENUM_ITEM_VALUE = -1, + Specified = 0, + Any = 1, + }; + + enum class GuiIqChildOption + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Direct = 0, + Indirect = 1, + }; + + enum class GuiIqBinaryOperator + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + ExclusiveOr = 0, + Intersect = 1, + Union = 2, + Substract = 3, + }; + + class GuiIqQuery abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description { - class GuiIqCascadeQuery; - class GuiIqPrimaryQuery; - class GuiIqQuery; - class GuiIqSetQuery; + public: + virtual void Visit(GuiIqPrimaryQuery* node) = 0; + virtual void Visit(GuiIqCascadeQuery* node) = 0; + virtual void Visit(GuiIqSetQuery* node) = 0; + }; - enum class GuiIqNameOption - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Specified = 0, - Any = 1, - }; + virtual void Accept(GuiIqQuery::IVisitor* visitor) = 0; - enum class GuiIqChildOption - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Direct = 0, - Indirect = 1, - }; + }; - enum class GuiIqBinaryOperator - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - ExclusiveOr = 0, - Intersect = 1, - Union = 2, - Substract = 3, - }; + class GuiIqPrimaryQuery : public GuiIqQuery, vl::reflection::Description + { + public: + GuiIqChildOption childOption = GuiIqChildOption::UNDEFINED_ENUM_ITEM_VALUE; + GuiIqNameOption attributeNameOption = GuiIqNameOption::UNDEFINED_ENUM_ITEM_VALUE; + vl::glr::ParsingToken attributeName; + GuiIqNameOption typeNameOption = GuiIqNameOption::UNDEFINED_ENUM_ITEM_VALUE; + vl::glr::ParsingToken typeName; + vl::glr::ParsingToken referenceName; - class GuiIqQuery abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(GuiIqPrimaryQuery* node) = 0; - virtual void Visit(GuiIqCascadeQuery* node) = 0; - virtual void Visit(GuiIqSetQuery* node) = 0; - }; + void Accept(GuiIqQuery::IVisitor* visitor) override; + }; - virtual void Accept(GuiIqQuery::IVisitor* visitor) = 0; + class GuiIqCascadeQuery : public GuiIqQuery, vl::reflection::Description + { + public: + vl::Ptr parent; + vl::Ptr child; - }; + void Accept(GuiIqQuery::IVisitor* visitor) override; + }; - class GuiIqPrimaryQuery : public GuiIqQuery, vl::reflection::Description - { - public: - GuiIqChildOption childOption = GuiIqChildOption::UNDEFINED_ENUM_ITEM_VALUE; - GuiIqNameOption attributeNameOption = GuiIqNameOption::UNDEFINED_ENUM_ITEM_VALUE; - vl::glr::ParsingToken attributeName; - GuiIqNameOption typeNameOption = GuiIqNameOption::UNDEFINED_ENUM_ITEM_VALUE; - vl::glr::ParsingToken typeName; - vl::glr::ParsingToken referenceName; + class GuiIqSetQuery : public GuiIqQuery, vl::reflection::Description + { + public: + vl::Ptr first; + vl::Ptr second; + GuiIqBinaryOperator op = GuiIqBinaryOperator::UNDEFINED_ENUM_ITEM_VALUE; - void Accept(GuiIqQuery::IVisitor* visitor) override; - }; - - class GuiIqCascadeQuery : public GuiIqQuery, vl::reflection::Description - { - public: - vl::Ptr parent; - vl::Ptr child; - - void Accept(GuiIqQuery::IVisitor* visitor) override; - }; - - class GuiIqSetQuery : public GuiIqQuery, vl::reflection::Description - { - public: - vl::Ptr first; - vl::Ptr second; - GuiIqBinaryOperator op = GuiIqBinaryOperator::UNDEFINED_ENUM_ITEM_VALUE; - - void Accept(GuiIqQuery::IVisitor* visitor) override; - }; - } - } + void Accept(GuiIqQuery::IVisitor* visitor) override; + }; } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqQuery) - DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqQuery::IVisitor) - DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqNameOption) - DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqChildOption) - DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqPrimaryQuery) - DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqCascadeQuery) - DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqBinaryOperator) - DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqSetQuery) + DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqQuery) + DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqQuery::IVisitor) + DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqNameOption) + DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqChildOption) + DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqPrimaryQuery) + DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqCascadeQuery) + DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqBinaryOperator) + DECL_TYPE_INFO(vl::presentation::instancequery::GuiIqSetQuery) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::presentation::instancequery::GuiIqQuery::IVisitor) - void Visit(vl::presentation::instancequery::GuiIqPrimaryQuery* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::presentation::instancequery::GuiIqCascadeQuery* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::presentation::instancequery::GuiIqSetQuery* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::presentation::instancequery::GuiIqQuery::IVisitor) - -#endif -#endif - /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. - /// Returns true if this operation succeeded. - extern bool GuiInstanceQueryAstLoadTypes(); + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::presentation::instancequery::GuiIqQuery::IVisitor) + void Visit(vl::presentation::instancequery::GuiIqPrimaryQuery* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); } - } + + void Visit(vl::presentation::instancequery::GuiIqCascadeQuery* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::presentation::instancequery::GuiIqSetQuery* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::presentation::instancequery::GuiIqQuery::IVisitor) + +#endif +#endif + /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. + /// Returns true if this operation succeeded. + extern bool GuiInstanceQueryAstLoadTypes(); } #endif @@ -874,51 +862,45 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PRESENTATION_INSTANCEQUERY_AST_ASSEMBLER -namespace vl +namespace vl::presentation::instancequery { - namespace presentation + enum class GuiInstanceQueryClasses : vl::vint32_t { - namespace instancequery - { - enum class GuiInstanceQueryClasses : vl::vint32_t - { - CascadeQuery = 0, - PrimaryQuery = 1, - Query = 2, - SetQuery = 3, - }; + CascadeQuery = 0, + PrimaryQuery = 1, + Query = 2, + SetQuery = 3, + }; - enum class GuiInstanceQueryFields : vl::vint32_t - { - CascadeQuery_child = 0, - CascadeQuery_parent = 1, - PrimaryQuery_attributeName = 2, - PrimaryQuery_attributeNameOption = 3, - PrimaryQuery_childOption = 4, - PrimaryQuery_referenceName = 5, - PrimaryQuery_typeName = 6, - PrimaryQuery_typeNameOption = 7, - SetQuery_first = 8, - SetQuery_op = 9, - SetQuery_second = 10, - }; + enum class GuiInstanceQueryFields : vl::vint32_t + { + CascadeQuery_child = 0, + CascadeQuery_parent = 1, + PrimaryQuery_attributeName = 2, + PrimaryQuery_attributeNameOption = 3, + PrimaryQuery_childOption = 4, + PrimaryQuery_referenceName = 5, + PrimaryQuery_typeName = 6, + PrimaryQuery_typeNameOption = 7, + SetQuery_first = 8, + SetQuery_op = 9, + SetQuery_second = 10, + }; - extern const wchar_t* GuiInstanceQueryTypeName(GuiInstanceQueryClasses type); - extern const wchar_t* GuiInstanceQueryCppTypeName(GuiInstanceQueryClasses type); - extern const wchar_t* GuiInstanceQueryFieldName(GuiInstanceQueryFields field); - extern const wchar_t* GuiInstanceQueryCppFieldName(GuiInstanceQueryFields field); + extern const wchar_t* GuiInstanceQueryTypeName(GuiInstanceQueryClasses type); + extern const wchar_t* GuiInstanceQueryCppTypeName(GuiInstanceQueryClasses type); + extern const wchar_t* GuiInstanceQueryFieldName(GuiInstanceQueryFields field); + extern const wchar_t* GuiInstanceQueryCppFieldName(GuiInstanceQueryFields field); - class GuiInstanceQueryAstInsReceiver : public vl::glr::AstInsReceiverBase - { - protected: - vl::Ptr CreateAstNode(vl::vint32_t type) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; - vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; - }; - } - } + class GuiInstanceQueryAstInsReceiver : public vl::glr::AstInsReceiverBase + { + protected: + vl::Ptr CreateAstNode(vl::vint32_t type) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; + vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; + }; } #endif @@ -935,37 +917,31 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PRESENTATION_INSTANCEQUERY_LEXER -namespace vl +namespace vl::presentation::instancequery { - namespace presentation + enum class GuiInstanceQueryTokens : vl::vint32_t { - namespace instancequery - { - enum class GuiInstanceQueryTokens : vl::vint32_t - { - INDIRECT = 0, - DIRECT = 1, - NAME = 2, - WILDCARD_INTERSECT = 3, - OPEN = 4, - CLOSE = 5, - XOR = 6, - UNION = 7, - SUBSTRACT = 8, - ATTRIBUTE = 9, - COLON = 10, - DOT = 11, - SPACE = 12, - }; + INDIRECT = 0, + DIRECT = 1, + NAME = 2, + WILDCARD_INTERSECT = 3, + OPEN = 4, + CLOSE = 5, + XOR = 6, + UNION = 7, + SUBSTRACT = 8, + ATTRIBUTE = 9, + COLON = 10, + DOT = 11, + SPACE = 12, + }; - constexpr vl::vint GuiInstanceQueryTokenCount = 13; - extern bool GuiInstanceQueryTokenDeleter(vl::vint token); - extern const wchar_t* GuiInstanceQueryTokenId(GuiInstanceQueryTokens token); - extern const wchar_t* GuiInstanceQueryTokenDisplayText(GuiInstanceQueryTokens token); - extern const wchar_t* GuiInstanceQueryTokenRegex(GuiInstanceQueryTokens token); - extern void GuiInstanceQueryLexerData(vl::stream::IStream& outputStream); - } - } + constexpr vl::vint GuiInstanceQueryTokenCount = 13; + extern bool GuiInstanceQueryTokenDeleter(vl::vint token); + extern const wchar_t* GuiInstanceQueryTokenId(GuiInstanceQueryTokens token); + extern const wchar_t* GuiInstanceQueryTokenDisplayText(GuiInstanceQueryTokens token); + extern const wchar_t* GuiInstanceQueryTokenRegex(GuiInstanceQueryTokens token); + extern void GuiInstanceQueryLexerData(vl::stream::IStream& outputStream); } #endif @@ -982,41 +958,36 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PRESENTATION_INSTANCEQUERY_PARSER_SYNTAX -namespace vl +namespace vl::presentation::instancequery { - namespace presentation + enum class ParserStates { - namespace instancequery - { - enum class ParserStates - { - QPrimaryFragment = 0, - QPrimaryAttributed = 8, - QPrimary = 15, - Query0 = 24, - Query1 = 29, - Query2 = 38, - QueryRoot = 47, - }; + QPrimaryFragment = 0, + QPrimaryAttributed = 8, + QPrimary = 15, + Query0 = 24, + Query1 = 29, + Query2 = 38, + QueryRoot = 47, + }; - const wchar_t* ParserRuleName(vl::vint index); - const wchar_t* ParserStateLabel(vl::vint index); - extern void GuiInstanceQueryParserData(vl::stream::IStream& outputStream); + const wchar_t* ParserRuleName(vl::vint index); + const wchar_t* ParserStateLabel(vl::vint index); + extern void GuiInstanceQueryParserData(vl::stream::IStream& outputStream); - class Parser - : public vl::glr::ParserBase - , protected vl::glr::automaton::IExecutor::ITypeCallback - { - protected: - vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; - public: - Parser(); + class Parser + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback + { + protected: + vl::WString GetClassName(vl::vint32_t classIndex) const override; + vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; + public: + Parser(); - vl::Ptr ParseQueryRoot(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr ParseQueryRoot(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - }; - } - } + vl::Ptr ParseQueryRoot(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr ParseQueryRoot(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + }; } #endif diff --git a/Import/GacUIReflection.cpp b/Import/GacUIReflection.cpp index 4e1366b1..9904e091 100644 --- a/Import/GacUIReflection.cpp +++ b/Import/GacUIReflection.cpp @@ -3453,6 +3453,8 @@ Type Declaration ENUM_CLASS_ITEM(RenderTargetChanged) ENUM_CLASS_ITEM(ParentLineChanged) ENUM_CLASS_ITEM(ServiceAdded) + ENUM_CLASS_ITEM(UpdateRequested) + ENUM_CLASS_ITEM(UpdateFullfilled) END_ENUM_ITEM(ControlSignal) BEGIN_CLASS_MEMBER(GuiControlSignalEventArgs) diff --git a/Import/Vlpp.h b/Import/Vlpp.h index 331284b4..24c5ad9f 100644 --- a/Import/Vlpp.h +++ b/Import/Vlpp.h @@ -87,6 +87,8 @@ static_assert(false, "wchar_t configuration is not right."); #include #include +#include +#include #define L_(x) L__(x) #define L__(x) L ## x @@ -216,6 +218,24 @@ Basic Types { }; + template + struct TypeTupleItemRetriver; + + template + struct TypeTupleItemRetriver> + { + using Type = typename TypeTupleItemRetriver>::Type; + }; + + template + struct TypeTupleItemRetriver<0, TypeTuple> + { + using Type = T; + }; + + template + using TypeTupleElement = typename TypeTupleItemRetriver::Type; + /// /// Base type of all classes. /// This type has a virtual destructor, making all derived classes destructors virtual. @@ -227,174 +247,6 @@ Basic Types virtual ~Object() = default; }; - /// Type for representing nullable data. - /// Type of the data, typically it is a value type, or [T:vl.Ptr`1] could be used here. - template - class Nullable - { - private: - T* object = nullptr; - public: - /// Create a null value. - Nullable() = default; - - /// Create a non-null value by copying data. - /// The data to copy. - Nullable(const T& value) - :object(new T(value)) - { - } - - /// Create a non-null value by moving data. - /// The data to move. - Nullable(T&& value) - :object(new T(std::move(value))) - { - } - - /// Create a nullable value by copying from another nullable value. - /// The nullable value to copy. - Nullable(const Nullable& nullable) - :object(nullable.object ? new T(*nullable.object) : nullptr) - { - } - - /// Create a nullable value by moving from another nullable value. - /// The nullable value to move. - Nullable(Nullable&& nullable) - :object(nullable.object) - { - nullable.object = nullptr; - } - - ~Nullable() - { - if (object) delete object; - } - - /// Replace the data inside this nullable value by copying from data. - /// The nullable value itself. - /// The data to copy. - Nullable& operator=(const T& value) - { - if (object) delete object; - object = new T(value); - return *this; - } - - /// Replace the data inside this nullable value by copying from another nullable value. - /// The nullable value itself. - /// The nullable value to copy. - Nullable& operator=(const Nullable& nullable) - { - if (this != &nullable) - { - if (object) delete object; - if (nullable.object) - { - object = new T(*nullable.object); - } - else - { - object = nullptr; - } - } - return *this; - } - - /// Replace the data inside this nullable value by moving from another nullable value. - /// The nullable value itself. - /// The nullable value to move. - Nullable& operator=(Nullable&& nullable) - { - if (this != &nullable) - { - if (object) delete object; - object = nullable.object; - nullable.object = nullptr; - } - return *this; - } - - /// Comparing two nullable values. - /// Returns true when these nullable values are all null, or the data inside them equals. - /// The first nullable value to compare. - /// The second nullable value to compare. - static bool Equals(const Nullable& a, const Nullable& b) - { - if (!a.object && !b.object) return true; - if (a.object && b.object) return *a.object == *b.object; - return false; - } - - /// Comparing two nullable values. - /// - /// Returns a positive value when the first value is greater than the second value. - /// Returns a negative value when the first value is lesser than the second value. - /// Returns zero when the two values equal. - /// When one is null and another one is not, the non-null one is greater. - /// - /// The first nullable value to compare. - /// The second nullable value to compare. - static vint Compare(const Nullable& a, const Nullable& b) - { - if (a.object && b.object) - { - if (*a.object > *b.object) return 1; - if (*a.object < *b.object) return -1; - return 0; - } - if (a.object) return 1; - if (b.object) return -1; - return 0; - } - - bool operator==(const Nullable& nullable)const - { - return Equals(*this, nullable); - } - - bool operator!=(const Nullable& nullable)const - { - return !Equals(*this, nullable); - } - - bool operator<(const Nullable& nullable)const - { - return Compare(*this, nullable) < 0; - } - - bool operator<=(const Nullable& nullable)const - { - return Compare(*this, nullable) <= 0; - } - - bool operator>(const Nullable& nullable)const - { - return Compare(*this, nullable) > 0; - } - - bool operator>=(const Nullable& nullable)const - { - return Compare(*this, nullable) >= 0; - } - - /// Test if this nullable value is non-null. - /// Returns true if it is non-null. - operator bool()const - { - return object != nullptr; - } - - /// Return the data inside this nullable value - /// The data inside this nullable value. It crashes when it is null. - const T& Value()const - { - if (!object) throw Error(L"Nullable::Value()#Cannot unbox from null."); - return *object; - } - }; - template union BinaryRetriver { @@ -448,289 +300,6 @@ Interface #endif -/*********************************************************************** -.\COLLECTIONS\PAIR.H -***********************************************************************/ -/*********************************************************************** -Author: Zihan Chen (vczh) -Licensed under https://github.com/vczh-libraries/License -***********************************************************************/ - -#ifndef VCZH_COLLECTIONS_PAIR -#define VCZH_COLLECTIONS_PAIR - - -namespace vl -{ - namespace collections - { - template - class Pair; - - /// A type representing a pair of key and value. - /// Type of the key. - /// Type of the value. - template - class Pair - { - public: - /// The key. - K key; - /// The value. - V value; - - Pair() = default; - - template - Pair(TKey&& _key, TValue&& _value) - : key(std::forward(_key)) - , value(std::forward(_value)) - { - } - - Pair(const K& _key, const V& _value) - : key(_key) - , value(_value) - { - } - - Pair(const K& _key, V&& _value) - : key(_key) - , value(std::move(_value)) - { - } - - Pair(K&& _key, const V& _value) - : key(std::move(_key)) - , value(_value) - { - } - - Pair(K&& _key, V&& _value) - : key(std::move(_key)) - , value(std::move(_value)) - { - } - - Pair(const Pair& pair) - : key(pair.key) - , value(pair.value) - { - } - - Pair(const Pair& pair) - : key(pair.key) - , value(pair.value) - { - } - - Pair(Pair&& pair) - : key(std::move(pair.key)) - , value(std::move(pair.value)) - { - } - - Pair& operator=(const Pair& pair) - { - key = pair.key; - value = pair.value; - return *this; - } - - Pair& operator=(Pair&& pair) - { - key = std::move(pair.key); - value = std::move(pair.value); - return *this; - } - - template - auto CompareTo(const Pair& pair) const -> vint - requires ( - std::is_same_v, std::remove_cvref_t>&& - std::is_same_v, std::remove_cvref_t> - ) - { - if (key < pair.key) - { - return -1; - } - else if (key > pair.key) - { - return 1; - } - else if (value < pair.value) - { - return -1; - } - else if (value > pair.value) - { - return 1; - } - else - { - return 0; - } - } - - template - bool operator==(TPair&& pair)const - { - return CompareTo(std::forward(pair)) == 0; - } - - template - bool operator!=(TPair&& pair)const - { - return CompareTo(std::forward(pair)) != 0; - } - - template - bool operator<(TPair&& pair)const - { - return CompareTo(std::forward(pair)) < 0; - } - - template - bool operator<=(TPair&& pair)const - { - return CompareTo(std::forward(pair)) <= 0; - } - - template - bool operator>(TPair&& pair)const - { - return CompareTo(std::forward(pair)) > 0; - } - - template - bool operator>=(TPair&& pair)const - { - return CompareTo(std::forward(pair)) >= 0; - } - }; - - template - class Pair - { - public: - const K& key; - const V& value; - -#if defined(__clang__) -#pragma clang dignostic push -#pragma clang diagnostic ignored "-Wnull-dereference" -#elif defined(__GNUC__) -#pragma GCC dignostic push -#pragma GCC diagnostic ignored "-Wnull-dereference" -#endif - Pair() - : key(*(const K*)nullptr) - , value(*(const V*)nullptr) - { - } -#if defined(__clang__) -#pragma clang dignostic pop -#elif defined(__GNUC__) -#pragma GCC dignostic popd -#endif - - Pair(const K& _key, const V& _value) - : key(_key) - , value(_value) - { - } - - Pair(const Pair& pair) - : key(pair.key) - , value(pair.value) - { - } - - Pair& operator=(const Pair& pair) - { - -#ifdef VCZH_CHECK_MEMORY_LEAKS_NEW -#undef new -#endif - this->~Pair(); - new(this) Pair(pair); - return *this; -#ifdef VCZH_CHECK_MEMORY_LEAKS_NEW -#define new VCZH_CHECK_MEMORY_LEAKS_NEW -#endif - } - - template - auto CompareTo(const Pair& pair) const -> vint - requires ( - std::is_same_v, std::remove_cvref_t>&& - std::is_same_v, std::remove_cvref_t> - ) - { - if (key < pair.key) - { - return -1; - } - else if (key > pair.key) - { - return 1; - } - else if (value < pair.value) - { - return -1; - } - else if (value > pair.value) - { - return 1; - } - else - { - return 0; - } - } - - template - bool operator==(TPair&& pair)const - { - return CompareTo(std::forward(pair)) == 0; - } - - template - bool operator!=(TPair&& pair)const - { - return CompareTo(std::forward(pair)) != 0; - } - - template - bool operator<(TPair&& pair)const - { - return CompareTo(std::forward(pair)) < 0; - } - - template - bool operator<=(TPair&& pair)const - { - return CompareTo(std::forward(pair)) <= 0; - } - - template - bool operator>(TPair&& pair)const - { - return CompareTo(std::forward(pair)) > 0; - } - - template - bool operator>=(TPair&& pair)const - { - return CompareTo(std::forward(pair)) >= 0; - } - }; - } -} - -#endif - /*********************************************************************** .\PRIMITIVES\DATETIME.H ***********************************************************************/ @@ -829,18 +398,259 @@ Date and Time /// The delta in milliseconds. DateTime Backward(vuint64_t milliseconds); - bool operator==(const DateTime& value)const { return filetime == value.filetime; } - bool operator!=(const DateTime& value)const { return filetime != value.filetime; } - bool operator<(const DateTime& value)const { return filetime < value.filetime; } - bool operator<=(const DateTime& value)const { return filetime <= value.filetime; } - bool operator>(const DateTime& value)const { return filetime > value.filetime; } - bool operator>=(const DateTime& value)const { return filetime >= value.filetime; } + std::strong_ordering operator<=>(const DateTime& value) const + { + return filetime <=> value.filetime; + } + + bool operator==(const DateTime& value) const + { + return operator<=>(value) == 0; + } }; } #endif +/*********************************************************************** +.\PRIMITIVES\NULLABLE.H +***********************************************************************/ +/*********************************************************************** +Author: Zihan Chen (vczh) +Licensed under https://github.com/vczh-libraries/License +***********************************************************************/ + +#ifndef VCZH_NULLABLE +#define VCZH_NULLABLE + + +#ifdef VCZH_CHECK_MEMORY_LEAKS_NEW +#undef new +#endif + +namespace vl +{ + /// Type for representing nullable data. + /// Type of the data, typically it is a value type, or [T:vl.Ptr`1] could be used here. + template + class Nullable + { + private: + union + { + char buffer[sizeof(T)]; + T object; + }; + bool initialized = false; + + public: + static const Nullable Empty; + + /// Create a null value. + Nullable() + { + } + + /// Create a non-null value by copying data. + /// The data to copy. + Nullable(const T& value) + : initialized(true) + { + new (&object)T(value); + } + + /// Create a non-null value by moving data. + /// The data to move. + Nullable(T&& value) + : initialized(true) + { + new (&object)T(std::move(value)); + } + + /// Create a nullable value by copying from another nullable value. + /// The nullable value to copy. + Nullable(const Nullable& nullable) + : initialized(nullable.initialized) + { + if (nullable.initialized) + { + new (&object)T(nullable.object); + } + } + + /// Create a nullable value by moving from another nullable value. + /// The nullable value to move. + Nullable(Nullable&& nullable) + : initialized(nullable.initialized) + { + if (nullable.initialized) + { + new (&object)T(std::move(nullable.object)); + nullable.Reset(); + } + } + + ~Nullable() + { + Reset(); + } + + /// + /// Remove the contained data. + /// + void Reset() + { + if (initialized) + { + object.~T(); + initialized = false; + } + } + + /// Replace the data inside this nullable value by copying from data. + /// The nullable value itself. + /// The data to copy. + Nullable& operator=(const T& value) + { + if constexpr (std::is_copy_assignable_v) + { + if (initialized) + { + object = value; + return *this; + } + } + + Reset(); + new (&object)T(value); + initialized = true; + return *this; + } + + /// Replace the data inside this nullable value by moving from data. + /// The nullable value itself. + /// The data to copy. + Nullable& operator=(T&& value) + { + if constexpr (std::is_move_assignable_v) + { + if (initialized) + { + object = std::move(value); + return *this; + } + } + + Reset(); + new (&object)T(std::move(value)); + initialized = true; + return *this; + } + + /// Replace the data inside this nullable value by copying from another nullable value. + /// The nullable value itself. + /// The nullable value to copy. + Nullable& operator=(const Nullable& nullable) + { + if (!nullable.initialized) + { + Reset(); + } + else + { + if constexpr (std::is_copy_assignable_v) + { + if (initialized) + { + object = nullable.object; + return *this; + } + } + + Reset(); + new (&object)T(nullable.object); + initialized = true; + } + return *this; + } + + /// Replace the data inside this nullable value by moving from another nullable value. + /// The nullable value itself. + /// The nullable value to move. + Nullable& operator=(Nullable&& nullable) + { + if (!nullable.initialized) + { + Reset(); + } + else + { + if constexpr (std::is_move_assignable_v) + { + if (initialized) + { + object = std::move(nullable.object); + nullable.Reset(); + return *this; + } + } + + Reset(); + new (&object)T(std::move(nullable.object)); + nullable.Reset(); + initialized = true; + } + return *this; + } + + /// Comparing two nullable values. + /// + /// Returns std::strong_ordering indicating the order of the two values. + /// When one is null and another one is not, the non-null one is greater. + /// + /// The first nullable value to compare. + /// The second nullable value to compare. + std::strong_ordering operator<=>(const Nullable& b)const + { + if (initialized && b.initialized) return object <=> b.object; + if (initialized) return std::strong_ordering::greater; + if (b.initialized) return std::strong_ordering::less; + return std::strong_ordering::equal; + } + + bool operator==(const Nullable& b)const + { + if (initialized && b.initialized) return object == b.object; + return initialized == b.initialized; + } + + /// Test if this nullable value is non-null. + /// Returns true if it is non-null. + operator bool()const + { + return initialized; + } + + /// Return the data inside this nullable value + /// The data inside this nullable value. It crashes when it is null. + const T& Value()const + { + CHECK_ERROR(initialized, L"vl::Nullable::Value()#Cannot unbox from an empty nullable value."); + return object; + } + }; + + template + const Nullable Nullable::Empty; +} + +#ifdef VCZH_CHECK_MEMORY_LEAKS_NEW +#define new VCZH_CHECK_MEMORY_LEAKS_NEW +#endif + +#endif + /*********************************************************************** .\PRIMITIVES\POINTER.H ***********************************************************************/ @@ -1114,71 +924,31 @@ Ptr return *this; } - bool operator==(const T* pointer)const + std::strong_ordering operator<=>(const T* pointer)const { - return reference == pointer; + return reference <=> pointer; } - bool operator!=(const T* pointer)const + std::strong_ordering operator<=>(const Ptr& pointer)const { - return reference != pointer; + return reference <=> pointer.reference; } - bool operator>(const T* pointer)const + bool operator==(const T* value) const { - return reference > pointer; + return operator<=>(value) == 0; } - bool operator>=(const T* pointer)const + bool operator==(const Ptr& value) const { - return reference >= pointer; - } - - bool operator<(const T* pointer)const - { - return reference < pointer; - } - - bool operator<=(const T* pointer)const - { - return reference <= pointer; - } - - bool operator==(const Ptr& pointer)const - { - return reference == pointer.reference; - } - - bool operator!=(const Ptr& pointer)const - { - return reference != pointer.reference; - } - - bool operator>(const Ptr& pointer)const - { - return reference > pointer.reference; - } - - bool operator>=(const Ptr& pointer)const - { - return reference >= pointer.reference; - } - - bool operator<(const Ptr& pointer)const - { - return reference < pointer.reference; - } - - bool operator<=(const Ptr& pointer)const - { - return reference <= pointer.reference; + return operator<=>(value) == 0; } /// Test if it is an empty shared pointer. /// Returns true if it is non-null. operator bool()const { - return reference != 0; + return reference != nullptr; } /// Get the pointer to the contained object. @@ -1331,64 +1101,24 @@ ComPtr return *this; } - bool operator==(const T* pointer)const + std::strong_ordering operator<=>(const T* pointer)const { - return reference == pointer; + return reference <=> pointer; } - bool operator!=(const T* pointer)const + std::strong_ordering operator<=>(const ComPtr& pointer)const { - return reference != pointer; + return reference <=> pointer.reference; } - bool operator>(const T* pointer)const + bool operator==(const T* value) const { - return reference > pointer; + return operator<=>(value) == 0; } - bool operator>=(const T* pointer)const + bool operator==(const ComPtr& value) const { - return reference >= pointer; - } - - bool operator<(const T* pointer)const - { - return reference < pointer; - } - - bool operator<=(const T* pointer)const - { - return reference <= pointer; - } - - bool operator==(const ComPtr& pointer)const - { - return reference == pointer.reference; - } - - bool operator!=(const ComPtr& pointer)const - { - return reference != pointer.reference; - } - - bool operator>(const ComPtr& pointer)const - { - return reference > pointer.reference; - } - - bool operator>=(const ComPtr& pointer)const - { - return reference >= pointer.reference; - } - - bool operator<(const ComPtr& pointer)const - { - return reference < pointer.reference; - } - - bool operator<=(const ComPtr& pointer)const - { - return reference <= pointer.reference; + return operator<=>(value) == 0; } operator bool()const @@ -1439,6 +1169,631 @@ Traits #endif +/*********************************************************************** +.\PRIMITIVES\FUNCTION.H +***********************************************************************/ +/*********************************************************************** +Author: Zihan Chen (vczh) +Licensed under https://github.com/vczh-libraries/License +***********************************************************************/ + +#ifndef VCZH_FUNCTION +#define VCZH_FUNCTION +#include +namespace vl +{ + template + class Func; + +/*********************************************************************** +vl::Func +***********************************************************************/ + + namespace internal_invokers + { + template + class Invoker : public Object + { + public: + virtual R Invoke(TArgs&& ...args) = 0; + }; + + //------------------------------------------------------ + + template + class StaticInvoker : public Invoker + { + protected: + R(*function)(TArgs ...args); + + public: + StaticInvoker(R(*_function)(TArgs...)) + :function(_function) + { + } + + R Invoke(TArgs&& ...args)override + { + return function(std::forward(args)...); + } + }; + + //------------------------------------------------------ + + template + class MemberInvoker : public Invoker + { + protected: + C* sender; + R(C::*function)(TArgs ...args); + + public: + MemberInvoker(C* _sender, R(C::*_function)(TArgs ...args)) + :sender(_sender) + ,function(_function) + { + } + + R Invoke(TArgs&& ...args)override + { + return (sender->*function)(std::forward(args)...); + } + }; + + //------------------------------------------------------ + + template + class ObjectInvoker : public Invoker + { + protected: + C function; + + public: + ObjectInvoker(const C& _function) + :function(_function) + { + } + + ObjectInvoker(C&& _function) + :function(std::move(_function)) + { + } + + R Invoke(TArgs&& ...args)override + { + return function(std::forward(args)...); + } + }; + + //------------------------------------------------------ + + template + class ObjectInvoker : public Invoker + { + protected: + C function; + + public: + ObjectInvoker(const C& _function) + :function(_function) + { + } + + ObjectInvoker(C&& _function) + :function(std::move(_function)) + { + } + + void Invoke(TArgs&& ...args)override + { + function(std::forward(args)...); + } + }; + } + + /// A type for functors. + /// The return type. + /// Types of parameters. + template + class Func : public Object + { + protected: + Ptr> invoker; + + template + static bool IsEmptyFunc(const Func& function) + { + return !function; + } + + template + static bool IsEmptyFunc(Func& function) + { + return !function; + } + + template + static bool IsEmptyFunc(C&&) + { + return false; + } + public: + typedef R FunctionType(TArgs...); + typedef R ResultType; + + /// Create a null functor. + Func() = default; + + /// Copy a functor. + /// The functor to copy. + Func(const Func& function) = default; + + /// Move a functor. + /// The functor to move. + Func(Func&& function) = default; + + /// Create a functor from a function pointer. + /// The function pointer. + Func(R(*function)(TArgs...)) + { + invoker = Ptr(new internal_invokers::StaticInvoker(function)); + } + + /// Create a functor from a method. + /// Type of the class that this method belongs to. + /// The object that this method belongs to. + /// The method pointer. + template + Func(C* sender, R(C::*function)(TArgs...)) + { + invoker = Ptr(new internal_invokers::MemberInvoker(sender, function)); + } + + /// Create a functor from another compatible functor. + /// Type of the functor to copy. + /// The functor to copy. It could be a lambda expression, or any types that has operator() members. + template + Func(C&& function) + requires ( + std::is_invocable_v + ) && ( + std::is_same_v || + std::is_convertible_v()(std::declval()...)), R> + ) + { + if (!IsEmptyFunc(function)) + { + invoker = Ptr(new internal_invokers::ObjectInvoker, R, TArgs...>(std::forward(function))); + } + } + + /// Create a functor from another compatible functor. + /// Type of the functor to copy. + /// The functor to copy. It could be a lambda expression, or any types that has operator() members. + template + Func(C* function) + requires ( + std::is_invocable_v + ) && ( + std::is_same_v || + std::is_convertible_v()(std::declval()...)), R> + ) + { + if (!IsEmptyFunc(function)) + { + invoker = Ptr(new internal_invokers::ObjectInvoker(function)); + } + } + + /// Invoke the function. + /// Returns the function result. It crashes when the functor is null. + /// Arguments to invoke the function. + R operator()(TArgs ...args)const + { + return invoker->Invoke(std::forward(args)...); + } + + Func& operator=(const Func& function) + { + invoker = function.invoker; + return *this; + } + + Func& operator=(const Func&& function) + { + invoker = std::move(function.invoker); + return *this; + } + + bool operator==(const Func& function)const + { + return invoker == function.invoker; + } + + bool operator!=(const Func& function)const + { + return invoker != function.invoker; + } + + /// Test is the functor is non-null. + /// Returns true if the functor is non-null. + operator bool()const + { + return invoker; + } + }; + +/*********************************************************************** +vl::function_lambda::LambdaRetriveType +***********************************************************************/ + + namespace function_lambda + { + template + struct LambdaRetriveType + { + }; + + template + struct LambdaRetriveType + { + typedef R(FunctionType)(TArgs...); + typedef R ResultType; + typedef TypeTuple ParameterTypes; + }; + + template + struct LambdaRetriveType + { + typedef R(FunctionType)(TArgs...); + typedef R ResultType; + typedef TypeTuple ParameterTypes; + }; + +#define LAMBDA vl::function_lambda::Lambda + } + + template + Func(C&&) -> Func::FunctionType>; + + template + Func(R(*)(TArgs...)) -> Func; + + template + Func(C*, R(C::*)(TArgs...)) -> Func; +} +#endif + +/*********************************************************************** +.\PRIMITIVES\TUPLE.H +***********************************************************************/ +/*********************************************************************** +Author: Zihan Chen (vczh) +Licensed under https://github.com/vczh-libraries/License +***********************************************************************/ +#ifndef VCZH_TUPLE +#define VCZH_TUPLE + + +namespace vl +{ + namespace tuple_internal + { + template + struct TupleElement + { + T element; + + TupleElement() = default; + + template + TupleElement(U&& _element) + :element(std::forward(_element)) + { + } + }; + + template + struct TupleElementComparison + { + const T& t; + const U& u; + + TupleElementComparison(const T& _t, const U& _u) + : t(_t) + , u(_u) + { + } + + friend std::strong_ordering operator*(std::strong_ordering order, const TupleElementComparison& t) + { + if (order != 0) return order; + return t.t <=> t.u; + } + }; + + struct TupleCtorElementsTag {}; + struct TupleCtorTupleTag {}; + + template + struct TupleBase; + + template requires(sizeof...(Is) == sizeof...(TArgs)) + struct TupleBase, TArgs...> + : TupleElement... + { + private: + using TSelf = TupleBase, TArgs...>; + + template requires(sizeof...(TArgs) == sizeof...(UArgs)) + using TCompatible = TupleBase, UArgs...>; + + public: + TupleBase() = default; + + template + TupleBase(TupleCtorElementsTag, UArgs&& ...xs) + : TupleElement(std::forward(xs)) ... + { + } + + template + TupleBase(TupleCtorTupleTag, const TCompatible& t) + : TupleElement(static_cast&>(t).element) ... + { + } + + template + TupleBase(TupleCtorTupleTag, TCompatible&& t) + : TupleElement(std::move(static_cast&>(t).element)) ... + { + } + + template + void AssignCopy(const TCompatible& t) + { + (( + static_cast*>(this)->element = + static_cast&>(t).element + ), ...); + } + + template + void AssignMove(TCompatible&& t) + { + (( + static_cast*>(this)->element = + std::move(static_cast&&>(t).element) + ), ...); + } + + template + bool AreEqual(const TCompatible& t) const + { + return (true && ... && ( + static_cast*>(this)->element == + static_cast&>(t).element + )); + } + + template + std::strong_ordering Compare(const TCompatible& t) const + { + return (std::strong_ordering::equal * ... * (TupleElementComparison( + static_cast*>(this)->element, + static_cast&>(t).element + ))); + } + }; + } + + template + class Tuple : private tuple_internal::TupleBase, TArgs...> + { + template + friend class Tuple; + + using TSelf = Tuple; + using TBase = tuple_internal::TupleBase, TArgs...>; + + template requires(sizeof...(TArgs) == sizeof...(UArgs)) + using TCompatible = Tuple; + + template requires(sizeof...(TArgs) == sizeof...(UArgs)) + using TCompatibleBase = tuple_internal::TupleBase, UArgs...>; + + public: + Tuple() = default; + + template + Tuple(UArgs&& ...xs) requires(sizeof...(TArgs) == sizeof...(UArgs)) + : TBase( + tuple_internal::TupleCtorElementsTag{}, + std::forward(xs)... + ) + { + } + + template + Tuple(const TCompatible& t) requires(sizeof...(TArgs) == sizeof...(UArgs)) + : TBase( + tuple_internal::TupleCtorTupleTag{}, + static_cast&>(t) + ) + { + } + + template + Tuple(TCompatible&& t) requires(sizeof...(TArgs) == sizeof...(UArgs)) + : TBase( + tuple_internal::TupleCtorTupleTag{}, + static_cast&&>(t) + ) + { + } + + template + TSelf& operator=(const TCompatible& t) + { + AssignCopy(t); + return *this; + } + + template + TSelf& operator=(TCompatible&& t) + { + AssignMove(std::move(t)); + return *this; + } + + template + std::strong_ordering operator<=>(const TCompatible& t)const + { + return this->Compare(t); + } + + template + bool operator==(const TCompatible& t)const + { + return this->AreEqual(t); + } + + template + TypeTupleElement>& get() + { + return static_cast>>*>(this)->element; + } + + template + const TypeTupleElement>& get()const + { + return static_cast>>*>(this)->element; + } + }; + + template + struct TupleElementCtad { using Type = std::remove_cvref_t; }; + + template + struct TupleElementCtad { using Type = T*; }; + + template + Tuple(TArgs&&...) -> Tuple::Type...>; + + template + TypeTupleElement>& get(Tuple& t) + { + return t.template get(); + } + + template + const TypeTupleElement>& get(const Tuple& t) + { + return t.template get(); + } +} + +namespace std +{ + template + struct tuple_size> : integral_constant {}; + + template + struct tuple_element> + { + using type = vl::TypeTupleElement>; + }; +} + +#endif + +/*********************************************************************** +.\COLLECTIONS\PAIR.H +***********************************************************************/ +/*********************************************************************** +Author: Zihan Chen (vczh) +Licensed under https://github.com/vczh-libraries/License +***********************************************************************/ + +#ifndef VCZH_COLLECTIONS_PAIR +#define VCZH_COLLECTIONS_PAIR + + +namespace vl +{ + namespace collections + { + template + class Pair; + + /// A type representing a pair of key and value. + /// Type of the key. + /// Type of the value. + template + class Pair + { + public: + /// The key. + K key; + /// The value. + V value; + + Pair() = default; + Pair(const Pair&) = default; + Pair(Pair&&) = default; + + template + Pair(TKey&& _key, TValue&& _value) + requires(std::is_constructible_v && std::is_constructible_v) + : key(std::forward(_key)) + , value(std::forward(_value)) + { + } + + template + Pair(const Pair& p) + requires(std::is_constructible_v && std::is_constructible_v) + : key(p.key) + , value(p.value) + { + } + + template + Pair(Pair&& p) + requires(std::is_constructible_v && std::is_constructible_v) + : key(std::move(p.key)) + , value(std::move(p.value)) + { + } + + Pair& operator=(const Pair&) = default; + Pair& operator=(Pair&&) = default; + + template + std::strong_ordering operator<=>(const Pair& p) const + requires(std::three_way_comparable_with && std::three_way_comparable_with) + { + std::strong_ordering + result = key <=> p.key; if (result != 0) return result; + result = value <=> p.value; if (result != 0) return result; + return std::strong_ordering::equal; + } + + template + bool operator==(const Pair& p) const + requires(std::equality_comparable_with&& std::equality_comparable_with) + { + return key == p.key && value == p.value; + } + }; + + template + Pair(K&&, V&&) -> Pair::Type, typename TupleElementCtad::Type>; + } +} + +#endif + /*********************************************************************** .\COLLECTIONS\INTERFACES.H ***********************************************************************/ @@ -1686,8 +2041,6 @@ Licensed under https://github.com/vczh-libraries/License #undef new #endif -#include - namespace vl { namespace collections @@ -2068,21 +2421,25 @@ Array } /// Replace an element in the specified position. - /// The type of the new value. - /// Returns true if this operation succeeded. It will crash when the index is out of range + /// Returns true. It will crash when the index is out of range /// The position of the element to replace. /// The new value to replace. - template - bool Set(vint index, TItem&& item) + bool Set(vint index, const T& item) { CHECK_ERROR(index >= 0 && index < this->count, L"Array::Set(vint)#Argument index not in range."); - this->buffer[index] = std::forward(item); + this->buffer[index] = item; return true; } + /// Replace an element in the specified position. + /// Returns true. It will crash when the index is out of range + /// The position of the element to replace. + /// The new value to replace. bool Set(vint index, T&& item) { - return Set(index, std::move(item)); + CHECK_ERROR(index >= 0 && index < this->count, L"Array::Set(vint)#Argument index not in range."); + this->buffer[index] = std::move(item); + return true; } using ArrayBase::operator[]; @@ -2254,18 +2611,19 @@ List } /// Append a value at the end of the list. - /// The type of the new value. /// The index of the added item. /// The value to add. - template - vint Add(TItem&& item) + vint Add(const T& item) { - return Insert(this->count, std::forward(item)); + return Insert(this->count, item); } + /// Append a value at the end of the list. + /// The index of the added item. + /// The value to add. vint Add(T&& item) { - return Add(std::move(item)); + return Insert(this->count, std::move(item)); } /// Insert a value at the specified position. @@ -2310,21 +2668,25 @@ List } /// Replace an element in the specified position. - /// The type of the new value. - /// Returns true if this operation succeeded. It will crash when the index is out of range + /// Returns true. It will crash when the index is out of range /// The position of the element to replace. /// The new value to replace. - template - bool Set(vint index, TItem&& item) + bool Set(vint index, const T& item) { - CHECK_ERROR(index >= 0 && index < this->count, L"List::Set(vint)#Argument index not in range."); - this->buffer[index] = std::forward(item); + CHECK_ERROR(index >= 0 && index < this->count, L"Array::Set(vint)#Argument index not in range."); + this->buffer[index] = item; return true; } + /// Replace an element in the specified position. + /// Returns true. It will crash when the index is out of range + /// The position of the element to replace. + /// The new value to replace. bool Set(vint index, T&& item) { - return Set(index, std::move(item)); + CHECK_ERROR(index >= 0 && index < this->count, L"Array::Set(vint)#Argument index not in range."); + this->buffer[index] = std::move(item); + return true; } using ListBase::operator[]; @@ -2401,6 +2763,37 @@ SortedList memory_management::CallMoveCtors(&this->buffer[index], &item, 1); return index; } + + template + vint AddInternal(TItem&& item) + { + if (ArrayBase::count == 0) + { + return Insert(0, std::forward(item)); + } + else + { + vint outputIndex = -1; + if constexpr (std::is_same_v, std::remove_cvref_t>) + { + IndexOfInternal(item, outputIndex); + } + else if constexpr (std::is_same_v, std::remove_cvref_t>) + { + IndexOfInternal(item, outputIndex); + } + else + { + IndexOfInternal(KeyType::GetKeyValue(item), outputIndex); + } + CHECK_ERROR(outputIndex >= 0 && outputIndex < this->count, L"SortedList::Add(const T&)#Internal error, index not in range."); + if (this->buffer[outputIndex] < item) + { + outputIndex++; + } + return Insert(outputIndex, std::forward(item)); + } + } public: /// Create an empty list. SortedList() = default; @@ -2430,43 +2823,19 @@ SortedList } /// Add a value at the correct position, all elements will be kept in order. - /// The type of the new value. /// The index of the added item. /// The value to add. - template - vint Add(TItem&& item) + vint Add(const T& item) { - if (ArrayBase::count == 0) - { - return Insert(0, std::forward(item)); - } - else - { - vint outputIndex = -1; - if constexpr (std::is_same_v, std::remove_cvref_t>) - { - IndexOfInternal(item, outputIndex); - } - else if constexpr (std::is_same_v, std::remove_cvref_t>) - { - IndexOfInternal(item, outputIndex); - } - else - { - IndexOfInternal(KeyType::GetKeyValue(item), outputIndex); - } - CHECK_ERROR(outputIndex >= 0 && outputIndex < this->count, L"SortedList::Add(const T&)#Internal error, index not in range."); - if (this->buffer[outputIndex] < item) - { - outputIndex++; - } - return Insert(outputIndex, std::forward(item)); - } + return AddInternal(item); } + /// Add a value at the correct position, all elements will be kept in order. + /// The index of the added item. + /// The value to add. vint Add(T&& item) { - return Add(std::move(item)); + return AddInternal(std::move(item)); } /// Remove an element from the list. If multiple elements equal to the specified value, only the first one will be removed @@ -2682,7 +3051,7 @@ namespace vl private: const Dictionary* container; vint index; - KVPair current; + Nullable current; void UpdateCurrent() { @@ -2705,7 +3074,7 @@ namespace vl const KVPair& Current()const override { - return current; + return current.Value(); } vint Index()const override @@ -2734,6 +3103,40 @@ namespace vl KeyContainer keys; ValueContainer values; + + template + bool SetInternal(TKeyItem&& key, TValueItem&& value) + { + using TKeyAccept = memory_management::AcceptType; + using TKeyForward = memory_management::ForwardType; + TKeyAccept keyAccept = memory_management::RefOrConvert(std::forward(key)); + + vint index = keys.IndexOf(KeyType::GetKeyValue(keyAccept)); + if (index == -1) + { + index = keys.Add(std::forward(keyAccept)); + values.Insert(index, std::forward(value)); + } + else + { + values[index] = std::forward(value); + } + return true; + } + + template + bool AddInternal(TKeyItem&& key, TValueItem&& value) + { + using TKeyAccept = memory_management::AcceptType; + using TKeyForward = memory_management::ForwardType; + TKeyAccept keyAccept = memory_management::RefOrConvert(std::forward(key)); + + CHECK_ERROR(!keys.Contains(KeyType::GetKeyValue(keyAccept)), L"Dictionary::Add(const KT&, const VT&)#Key already exists."); + vint index = keys.Add(std::forward(keyAccept)); + values.Insert(index, std::forward(value)); + + return true; + } public: /// Create an empty dictionary. Dictionary() = default; @@ -2797,76 +3200,62 @@ namespace vl } /// Replace the value associated to a specified key. - /// The type of the new key. - /// The type of the new value. /// Returns true if the value is replaced. /// The key to find. If the key does not exist, it will be added to the dictionary. /// The associated value to replace. - template - bool Set(TKeyItem&& key, TValueItem&& value) - { - using TKeyAccept = memory_management::AcceptType; - using TKeyForward = memory_management::ForwardType; - TKeyAccept keyAccept = memory_management::RefOrConvert(std::forward(key)); + bool Set(const KT& key, const VT& value) { return SetInternal(key, value); } - vint index = keys.IndexOf(KeyType::GetKeyValue(keyAccept)); - if (index == -1) - { - index = keys.Add(std::forward(keyAccept)); - values.Insert(index, std::forward(value)); - } - else - { - values[index] = std::forward(value); - } - return true; - } + /// Replace the value associated to a specified key. + /// Returns true if the value is replaced. + /// The key to find. If the key does not exist, it will be added to the dictionary. + /// The associated value to replace. + bool Set(const KT& key, VT&& value) { return SetInternal(key, std::move(value)); } - bool Set(const KT& key, const VT& value) { return Set(key, value); } - bool Set(const KT& key, VT&& value) { return Set(key, std::move(value)); } - bool Set(KT&& key, const VT& value) { return Set(std::move(key), value); } - bool Set(KT&& key, VT&& value) { return Set(std::move(key), std::move(value)); } + /// Replace the value associated to a specified key. + /// Returns true if the value is replaced. + /// The key to find. If the key does not exist, it will be added to the dictionary. + /// The associated value to replace. + bool Set(KT&& key, const VT& value) { return SetInternal(std::move(key), value); } + + /// Replace the value associated to a specified key. + /// Returns true if the value is replaced. + /// The key to find. If the key does not exist, it will be added to the dictionary. + /// The associated value to replace. + bool Set(KT&& key, VT&& value) { return SetInternal(std::move(key), std::move(value)); } /// Add a key with an associated value. /// Returns true if the pair is added. If will crash if the key exists. /// The pair of key and value. - bool Add(const Pair& value) - { - return Add(value.key, value.value); - } + bool Add(const Pair& value) { return AddInternal(value.key, value.value); } /// Add a key with an associated value. /// Returns true if the pair is added. If will crash if the key exists. /// The pair of key and value. - bool Add(Pair&& value) - { - return Add(std::move(value.key), std::move(value.value)); - } + bool Add(Pair&& value) { return AddInternal(std::move(value.key), std::move(value.value)); } /// Add a key with an associated value. - /// The type of the new key. - /// The type of the new value. /// Returns true if the pair is added. If will crash if the key exists. /// The key to add. /// The value to add. - template - bool Add(TKeyItem&& key, TValueItem&& value) - { - using TKeyAccept = memory_management::AcceptType; - using TKeyForward = memory_management::ForwardType; - TKeyAccept keyAccept = memory_management::RefOrConvert(std::forward(key)); + bool Add(const KT& key, const VT& value) { return AddInternal(key, value); } - CHECK_ERROR(!keys.Contains(KeyType::GetKeyValue(keyAccept)), L"Dictionary::Add(const KT&, const VT&)#Key already exists."); - vint index = keys.Add(std::forward(keyAccept)); - values.Insert(index, std::forward(value)); + /// Add a key with an associated value. + /// Returns true if the pair is added. If will crash if the key exists. + /// The key to add. + /// The value to add. + bool Add(const KT& key, VT&& value) { return AddInternal(key, std::move(value)); } - return true; - } + /// Add a key with an associated value. + /// Returns true if the pair is added. If will crash if the key exists. + /// The key to add. + /// The value to add. + bool Add(KT&& key, const VT& value) { return AddInternal(std::move(key), value); } - bool Add(const KT& key, const VT& value) { return Add(key, value); } - bool Add(const KT& key, VT&& value) { return Add(key, std::move(value)); } - bool Add(KT&& key, const VT& value) { return Add(std::move(key), value); } - bool Add(KT&& key, VT&& value) { return Add(std::move(key), std::move(value)); } + /// Add a key with an associated value. + /// Returns true if the pair is added. If will crash if the key exists. + /// The key to add. + /// The value to add. + bool Add(KT&& key, VT&& value) { return AddInternal(std::move(key), std::move(value)); } /// Remove a key with the associated value. /// Returns true if the key and the value is removed. @@ -2915,7 +3304,7 @@ namespace vl const Group* container; vint keyIndex; vint valueIndex; - KVPair current; + Nullable current; void UpdateCurrent() { @@ -2943,7 +3332,7 @@ namespace vl const KVPair& Current()const override { - return current; + return current.Value(); } vint Index()const override @@ -3002,6 +3391,28 @@ namespace vl KeyContainer keys; List values; + + template + bool AddInternal(TKeyItem&& key, TValueItem&& value) + { + using TKeyAccept = memory_management::AcceptType; + using TKeyForward = memory_management::ForwardType; + TKeyAccept keyAccept = memory_management::RefOrConvert(std::forward(key)); + + ValueContainer* target = nullptr; + vint index = keys.IndexOf(KeyType::GetKeyValue(keyAccept)); + if (index == -1) + { + target = new ValueContainer; + values.Insert(keys.Add(std::forward(keyAccept)), target); + } + else + { + target = values[index]; + } + target->Add(std::forward(value)); + return true; + } public: /// Create an empty group. Group() = default; @@ -3102,10 +3513,7 @@ namespace vl /// /// Returns true if the pair is added. /// The pair of key and value to add. - bool Add(const Pair& value) - { - return Add(value.key, value.value); - } + bool Add(const Pair& value) { return AddInternal(value.key, value.value); } /// /// Add a key with an associated value. @@ -3114,47 +3522,47 @@ namespace vl /// /// Returns true if the pair is added. /// The pair of key and value to add. - bool Add(Pair&& value) - { - return Add(std::move(value.key), std::move(value.value)); - } + bool Add(Pair&& value) { return AddInternal(std::move(value.key), std::move(value.value)); } /// /// Add a key with an associated value. /// If the key already exists, the value will be associated to the key with other values. /// If this value has already been associated to the key, it will still be duplicated. /// - /// The type of the new key. - /// The type of the new value. /// Returns true if the key and the value are added. /// The key to add. /// The value to add. - template - bool Add(TKeyItem&& key, TValueItem&& value) - { - using TKeyAccept = memory_management::AcceptType; - using TKeyForward = memory_management::ForwardType; - TKeyAccept keyAccept = memory_management::RefOrConvert(std::forward(key)); + bool Add(const KT& key, const VT& value) { return AddInternal(key, value); } - ValueContainer* target = nullptr; - vint index = keys.IndexOf(KeyType::GetKeyValue(keyAccept)); - if (index == -1) - { - target = new ValueContainer; - values.Insert(keys.Add(std::forward(keyAccept)), target); - } - else - { - target = values[index]; - } - target->Add(std::forward(value)); - return true; - } + /// + /// Add a key with an associated value. + /// If the key already exists, the value will be associated to the key with other values. + /// If this value has already been associated to the key, it will still be duplicated. + /// + /// Returns true if the key and the value are added. + /// The key to add. + /// The value to add. + bool Add(const KT& key, VT&& value) { return AddInternal(key, std::move(value)); } - bool Add(const KT& key, const VT& value) { return Add(key, value); } - bool Add(const KT& key, VT&& value) { return Add(key, std::move(value)); } - bool Add(KT&& key, const VT& value) { return Add(std::move(key), value); } - bool Add(KT&& key, VT&& value) { return Add(std::move(key), std::move(value)); } + /// + /// Add a key with an associated value. + /// If the key already exists, the value will be associated to the key with other values. + /// If this value has already been associated to the key, it will still be duplicated. + /// + /// Returns true if the key and the value are added. + /// The key to add. + /// The value to add. + bool Add(KT&& key, const VT& value) { return AddInternal(std::move(key), value); } + + /// + /// Add a key with an associated value. + /// If the key already exists, the value will be associated to the key with other values. + /// If this value has already been associated to the key, it will still be duplicated. + /// + /// Returns true if the key and the value are added. + /// The key to add. + /// The value to add. + bool Add(KT&& key, VT&& value) { return AddInternal(std::move(key), std::move(value)); } /// Remove a key with all associated values. /// Returns true if the key and all associated values are removed. @@ -3757,7 +4165,7 @@ CompareEnumerable /// In other cases, the results represents the comparison result of the first pair of inequal values in enumerables. /// template - vint CompareEnumerable(const IEnumerable& a, const IEnumerable& b) + std::strong_ordering CompareEnumerable(const IEnumerable& a, const IEnumerable& b) { auto ator = Ptr(a.CreateEnumerator()); auto btor = Ptr(b.CreateEnumerator()); @@ -3765,22 +4173,16 @@ CompareEnumerable { bool a = ator->Next(); bool b = btor->Next(); - if (a && !b) return 1; - if (!a&&b) return -1; + if (a && !b) return std::strong_ordering::greater; + if (!a&&b) return std::strong_ordering::less; if (!a && !b) break; const T& ac = ator->Current(); const U& bc = btor->Current(); - if (ac < bc) - { - return -1; - } - else if (ac > bc) - { - return 1; - } + std::strong_ordering ordering = ac <=> bc; + if (ordering != 0) return ordering; } - return 0; + return std::strong_ordering::equal; } template @@ -3966,10 +4368,25 @@ Range-Based For-Loop Iterator return iterator->Current(); } - bool operator==(RangeBasedForLoopEnding) const + bool operator==(const RangeBasedForLoopEnding&) const { return iterator == nullptr; } + + bool operator!=(const RangeBasedForLoopEnding&) const + { + return iterator != nullptr; + } + + friend bool operator==(const RangeBasedForLoopEnding&, const RangeBasedForLoopIterator& iterator) + { + return iterator.iterator == nullptr; + } + + friend bool operator!=(const RangeBasedForLoopEnding&, const RangeBasedForLoopIterator& iterator) + { + return iterator.iterator != nullptr; + } }; template @@ -3991,17 +4408,6 @@ Range-Based For-Loop Iterator with Index template struct RangeBasedForLoopIteratorWithIndex { - struct Tuple - { - const T& value; - vint index; - - Tuple(const T& _value, vint _index) - : value(_value) - , index(_index) - { - } - }; private: IEnumerator* iterator; vint index; @@ -4029,15 +4435,30 @@ Range-Based For-Loop Iterator with Index index++; } - Tuple operator*() const + Tuple operator*() const { return { iterator->Current(),index }; } - bool operator==(RangeBasedForLoopEnding) const + bool operator==(const RangeBasedForLoopEnding&) const { return iterator == nullptr; } + + bool operator!=(const RangeBasedForLoopEnding&) const + { + return iterator != nullptr; + } + + friend bool operator==(const RangeBasedForLoopEnding&, const RangeBasedForLoopIteratorWithIndex& iterator) + { + return iterator.iterator == nullptr; + } + + friend bool operator!=(const RangeBasedForLoopEnding&, const RangeBasedForLoopIteratorWithIndex& iterator) + { + return iterator.iterator != nullptr; + } }; template @@ -4159,6 +4580,85 @@ Pairwise #endif +/*********************************************************************** +.\COLLECTIONS\OPERATIONSELECT.H +***********************************************************************/ +/*********************************************************************** +Author: Zihan Chen (vczh) +Licensed under https://github.com/vczh-libraries/License +***********************************************************************/ + +#ifndef VCZH_COLLECTIONS_OPERATIONSELECT +#define VCZH_COLLECTIONS_OPERATIONSELECT + + +namespace vl +{ + namespace collections + { + +/*********************************************************************** +Select +***********************************************************************/ + + template + class SelectEnumerator : public virtual IEnumerator + { + protected: + IEnumerator* enumerator; + Func selector; + Nullable current; + public: + SelectEnumerator(IEnumerator* _enumerator, const Func& _selector, Nullable _current = {}) + :enumerator(_enumerator) + ,selector(_selector) + ,current(_current) + { + } + + ~SelectEnumerator() + { + delete enumerator; + } + + IEnumerator* Clone()const override + { + return new SelectEnumerator(enumerator->Clone(), selector, current); + } + + const K& Current()const override + { + return current.Value(); + } + + vint Index()const override + { + return enumerator->Index(); + } + + bool Next()override + { + if (enumerator->Next()) + { + current = selector(enumerator->Current()); + return true; + } + else + { + return false; + } + } + + void Reset()override + { + enumerator->Reset(); + } + }; + } +} + +#endif + /*********************************************************************** .\COLLECTIONS\OPERATIONSEQUENCE.H ***********************************************************************/ @@ -4683,6 +5183,86 @@ Intersect/Except #endif +/*********************************************************************** +.\COLLECTIONS\OPERATIONWHERE.H +***********************************************************************/ +/*********************************************************************** +Author: Zihan Chen (vczh) +Licensed under https://github.com/vczh-libraries/License +***********************************************************************/ + +#ifndef VCZH_COLLECTIONS_OPERATIONWHERE +#define VCZH_COLLECTIONS_OPERATIONWHERE + + +namespace vl +{ + namespace collections + { +/*********************************************************************** +Where +***********************************************************************/ + + template + class WhereEnumerator : public virtual IEnumerator + { + protected: + IEnumerator* enumerator; + Func selector; + vint index; + + public: + WhereEnumerator(IEnumerator* _enumerator, const Func& _selector, vint _index=-1) + :enumerator(_enumerator) + ,selector(_selector) + ,index(_index) + { + } + + ~WhereEnumerator() + { + delete enumerator; + } + + IEnumerator* Clone()const override + { + return new WhereEnumerator(enumerator->Clone(), selector, index); + } + + const T& Current()const override + { + return enumerator->Current(); + } + + vint Index()const override + { + return index; + } + + bool Next()override + { + while(enumerator->Next()) + { + if(selector(enumerator->Current())) + { + index++; + return true; + } + } + return false; + } + + void Reset()override + { + enumerator->Reset(); + index=-1; + } + }; + } +} + +#endif + /*********************************************************************** .\COLLECTIONS\PARTIALORDERING.H ***********************************************************************/ @@ -5171,442 +5751,6 @@ Partial Ordering #endif -/*********************************************************************** -.\PRIMITIVES\FUNCTION.H -***********************************************************************/ -/*********************************************************************** -Author: Zihan Chen (vczh) -Licensed under https://github.com/vczh-libraries/License -***********************************************************************/ - -#ifndef VCZH_FUNCTION -#define VCZH_FUNCTION -#include -namespace vl -{ - template - class Func; - -/*********************************************************************** -vl::Func -***********************************************************************/ - - namespace internal_invokers - { - template - class Invoker : public Object - { - public: - virtual R Invoke(TArgs&& ...args) = 0; - }; - - //------------------------------------------------------ - - template - class StaticInvoker : public Invoker - { - protected: - R(*function)(TArgs ...args); - - public: - StaticInvoker(R(*_function)(TArgs...)) - :function(_function) - { - } - - R Invoke(TArgs&& ...args)override - { - return function(std::forward(args)...); - } - }; - - //------------------------------------------------------ - - template - class MemberInvoker : public Invoker - { - protected: - C* sender; - R(C::*function)(TArgs ...args); - - public: - MemberInvoker(C* _sender, R(C::*_function)(TArgs ...args)) - :sender(_sender) - ,function(_function) - { - } - - R Invoke(TArgs&& ...args)override - { - return (sender->*function)(std::forward(args)...); - } - }; - - //------------------------------------------------------ - - template - class ObjectInvoker : public Invoker - { - protected: - C function; - - public: - ObjectInvoker(const C& _function) - :function(_function) - { - } - - ObjectInvoker(C&& _function) - :function(std::move(_function)) - { - } - - R Invoke(TArgs&& ...args)override - { - return function(std::forward(args)...); - } - }; - - //------------------------------------------------------ - - template - class ObjectInvoker : public Invoker - { - protected: - C function; - - public: - ObjectInvoker(const C& _function) - :function(_function) - { - } - - ObjectInvoker(C&& _function) - :function(std::move(_function)) - { - } - - void Invoke(TArgs&& ...args)override - { - function(std::forward(args)...); - } - }; - } - - /// A type for functors. - /// The return type. - /// Types of parameters. - template - class Func : public Object - { - protected: - Ptr> invoker; - - template - static bool IsEmptyFunc(const Func& function) - { - return !function; - } - - template - static bool IsEmptyFunc(Func& function) - { - return !function; - } - - template - static bool IsEmptyFunc(C&&) - { - return false; - } - public: - typedef R FunctionType(TArgs...); - typedef R ResultType; - - /// Create a null functor. - Func() = default; - - /// Copy a functor. - /// The functor to copy. - Func(const Func& function) = default; - - /// Move a functor. - /// The functor to move. - Func(Func&& function) = default; - - /// Create a functor from a function pointer. - /// The function pointer. - Func(R(*function)(TArgs...)) - { - invoker = Ptr(new internal_invokers::StaticInvoker(function)); - } - - /// Create a functor from a method. - /// Type of the class that this method belongs to. - /// The object that this method belongs to. - /// The method pointer. - template - Func(C* sender, R(C::*function)(TArgs...)) - { - invoker = Ptr(new internal_invokers::MemberInvoker(sender, function)); - } - - /// Create a functor from another compatible functor. - /// Type of the functor to copy. - /// The functor to copy. It could be a lambda expression, or any types that has operator() members. - template - Func(C&& function) - requires ( - std::is_invocable_v - ) && ( - std::is_same_v || - std::is_convertible_v()(std::declval()...)), R> - ) - { - if (!IsEmptyFunc(function)) - { - invoker = Ptr(new internal_invokers::ObjectInvoker, R, TArgs...>(std::forward(function))); - } - } - - /// Invoke the function. - /// Returns the function result. It crashes when the functor is null. - /// Arguments to invoke the function. - R operator()(TArgs ...args)const - { - return invoker->Invoke(std::forward(args)...); - } - - Func& operator=(const Func& function) - { - invoker = function.invoker; - return *this; - } - - Func& operator=(const Func&& function) - { - invoker = std::move(function.invoker); - return *this; - } - - bool operator==(const Func& function)const - { - return invoker == function.invoker; - } - - bool operator!=(const Func& function)const - { - return invoker != function.invoker; - } - - /// Test is the functor is non-null. - /// Returns true if the functor is non-null. - operator bool()const - { - return invoker; - } - }; - -/*********************************************************************** -vl::function_lambda::LambdaRetriveType -***********************************************************************/ - - namespace function_lambda - { - template - struct LambdaRetriveType - { - }; - - template - struct LambdaRetriveType - { - typedef R(FunctionType)(TArgs...); - typedef R ResultType; - typedef TypeTuple ParameterTypes; - }; - - template - struct LambdaRetriveType - { - typedef R(FunctionType)(TArgs...); - typedef R ResultType; - typedef TypeTuple ParameterTypes; - }; - -#define LAMBDA vl::function_lambda::Lambda - } - - template - Func(C&&) -> Func::FunctionType>; - - template - Func(R(*)(TArgs...)) -> Func; - - template - Func(C*, R(C::*)(TArgs...)) -> Func; -} -#endif - -/*********************************************************************** -.\COLLECTIONS\OPERATIONSELECT.H -***********************************************************************/ -/*********************************************************************** -Author: Zihan Chen (vczh) -Licensed under https://github.com/vczh-libraries/License -***********************************************************************/ - -#ifndef VCZH_COLLECTIONS_OPERATIONSELECT -#define VCZH_COLLECTIONS_OPERATIONSELECT - - -namespace vl -{ - namespace collections - { - -/*********************************************************************** -Select -***********************************************************************/ - - template - class SelectEnumerator : public virtual IEnumerator - { - protected: - IEnumerator* enumerator; - Func selector; - Nullable current; - public: - SelectEnumerator(IEnumerator* _enumerator, const Func& _selector, Nullable _current = {}) - :enumerator(_enumerator) - ,selector(_selector) - ,current(_current) - { - } - - ~SelectEnumerator() - { - delete enumerator; - } - - IEnumerator* Clone()const override - { - return new SelectEnumerator(enumerator->Clone(), selector, current); - } - - const K& Current()const override - { - return current.Value(); - } - - vint Index()const override - { - return enumerator->Index(); - } - - bool Next()override - { - if (enumerator->Next()) - { - current = selector(enumerator->Current()); - return true; - } - else - { - return false; - } - } - - void Reset()override - { - enumerator->Reset(); - } - }; - } -} - -#endif - -/*********************************************************************** -.\COLLECTIONS\OPERATIONWHERE.H -***********************************************************************/ -/*********************************************************************** -Author: Zihan Chen (vczh) -Licensed under https://github.com/vczh-libraries/License -***********************************************************************/ - -#ifndef VCZH_COLLECTIONS_OPERATIONWHERE -#define VCZH_COLLECTIONS_OPERATIONWHERE - - -namespace vl -{ - namespace collections - { -/*********************************************************************** -Where -***********************************************************************/ - - template - class WhereEnumerator : public virtual IEnumerator - { - protected: - IEnumerator* enumerator; - Func selector; - vint index; - - public: - WhereEnumerator(IEnumerator* _enumerator, const Func& _selector, vint _index=-1) - :enumerator(_enumerator) - ,selector(_selector) - ,index(_index) - { - } - - ~WhereEnumerator() - { - delete enumerator; - } - - IEnumerator* Clone()const override - { - return new WhereEnumerator(enumerator->Clone(), selector, index); - } - - const T& Current()const override - { - return enumerator->Current(); - } - - vint Index()const override - { - return index; - } - - bool Next()override - { - while(enumerator->Next()) - { - if(selector(enumerator->Current())) - { - index++; - return true; - } - } - return false; - } - - void Reset()override - { - enumerator->Reset(); - index=-1; - } - }; - } -} - -#endif - /*********************************************************************** .\PRIMITIVES\EVENT.H ***********************************************************************/ @@ -5716,465 +5860,6 @@ namespace vl #endif -/*********************************************************************** -.\PRIMITIVES\LAZY.H -***********************************************************************/ -/*********************************************************************** -Author: Zihan Chen (vczh) -Licensed under https://github.com/vczh-libraries/License -***********************************************************************/ - -#ifndef VCZH_LAZY -#define VCZH_LAZY - - -namespace vl -{ - /// A type representing a lazy evaluation. - /// The type of the evaluation result. - template - class Lazy : public Object - { - protected: - class Internal - { - public: - Func evaluator; - T value; - bool evaluated; - }; - - Ptr internalValue; - public: - /// Create an empty evaluation. - Lazy() = default; - - /// Create an evaluation using a function, which produces the evaluation result. - /// The function. - Lazy(const Func& evaluator) - { - internalValue = Ptr(new Internal); - internalValue->evaluated=false; - internalValue->evaluator=evaluator; - } - - /// Create an evaluation with the immediate result. - /// The result.0 - Lazy(const T& value) - { - internalValue = Ptr(new Internal); - internalValue->evaluated=true; - internalValue->value=value; - } - - /// Create an evaluation by copying another one. - /// The evaluation to copy. - Lazy(const Lazy& lazy) = default; - - /// Create an evaluation by moving another one. - /// The evaluation to move. - Lazy(Lazy&& lazy) = default; - - Lazy& operator=(const Func& evaluator) - { - internalValue = Ptr(new Internal); - internalValue->evaluated=false; - internalValue->evaluator=evaluator; - return *this; - } - - Lazy& operator=(const T& value) - { - internalValue = Ptr(new Internal); - internalValue->evaluated=true; - internalValue->value=value; - return *this; - } - - Lazy& operator=(const Lazy& lazy) - { - internalValue=lazy.internalValue; - return *this; - } - - /// Get the evaluation result. If the evaluation has not been performed, it will run the evaluation function and cache the result. - /// The evaluation result. - const T& Value()const - { - if(!internalValue->evaluated) - { - internalValue->evaluated=true; - internalValue->value=internalValue->evaluator(); - internalValue->evaluator=Func(); - } - return internalValue->value; - } - - /// Test if it has already been evaluated or not. - /// Returns true if it has already been evaluated. - bool IsEvaluated()const - { - return internalValue->evaluated; - } - - /// Test if it is an empty evaluation or not. - /// Returns true if it is not empty. - operator bool()const - { - return internalValue; - } - }; -} - -#endif - - -/*********************************************************************** -.\PRIMITIVES\TUPLE.H -***********************************************************************/ -/*********************************************************************** -Author: Zihan Chen (vczh) -Licensed under https://github.com/vczh-libraries/License - -This file is generated by: Vczh Functional Macro -***********************************************************************/ -#ifndef VCZH_TUPLE -#define VCZH_TUPLE - - -namespace vl -{ - class TupleNullItem - { - }; - template - class Tuple - { - }; - -/*********************************************************************** -vl::Tuple -***********************************************************************/ - template - class Tuple : public Object - { - public: - T0 f0; - - Tuple() - { - } - - Tuple(T0 p0) - :f0(p0) - { - } - - static int Compare(const Tuple& a, const Tuple& b) - { - if (a.f0 < b.f0) return -1; else if (a.f0 > b.f0) return 1; - return 0; - } - - bool operator==(const Tuple& value)const{ return Compare(*this, value) == 0; } - bool operator!=(const Tuple& value)const{ return Compare(*this, value) != 0; } - bool operator< (const Tuple& value)const{ return Compare(*this, value) < 0; } - bool operator<=(const Tuple& value)const{ return Compare(*this, value) <= 0; } - bool operator> (const Tuple& value)const{ return Compare(*this, value) > 0; } - bool operator>=(const Tuple& value)const{ return Compare(*this, value) >= 0; } - }; - -/*********************************************************************** -vl::Tuple -***********************************************************************/ - template - class Tuple : public Object - { - public: - T0 f0;T1 f1; - - Tuple() - { - } - - Tuple(T0 p0,T1 p1) - :f0(p0),f1(p1) - { - } - - static int Compare(const Tuple& a, const Tuple& b) - { - if (a.f0 < b.f0) return -1; else if (a.f0 > b.f0) return 1;if (a.f1 < b.f1) return -1; else if (a.f1 > b.f1) return 1; - return 0; - } - - bool operator==(const Tuple& value)const{ return Compare(*this, value) == 0; } - bool operator!=(const Tuple& value)const{ return Compare(*this, value) != 0; } - bool operator< (const Tuple& value)const{ return Compare(*this, value) < 0; } - bool operator<=(const Tuple& value)const{ return Compare(*this, value) <= 0; } - bool operator> (const Tuple& value)const{ return Compare(*this, value) > 0; } - bool operator>=(const Tuple& value)const{ return Compare(*this, value) >= 0; } - }; - -/*********************************************************************** -vl::Tuple -***********************************************************************/ - template - class Tuple : public Object - { - public: - T0 f0;T1 f1;T2 f2; - - Tuple() - { - } - - Tuple(T0 p0,T1 p1,T2 p2) - :f0(p0),f1(p1),f2(p2) - { - } - - static int Compare(const Tuple& a, const Tuple& b) - { - if (a.f0 < b.f0) return -1; else if (a.f0 > b.f0) return 1;if (a.f1 < b.f1) return -1; else if (a.f1 > b.f1) return 1;if (a.f2 < b.f2) return -1; else if (a.f2 > b.f2) return 1; - return 0; - } - - bool operator==(const Tuple& value)const{ return Compare(*this, value) == 0; } - bool operator!=(const Tuple& value)const{ return Compare(*this, value) != 0; } - bool operator< (const Tuple& value)const{ return Compare(*this, value) < 0; } - bool operator<=(const Tuple& value)const{ return Compare(*this, value) <= 0; } - bool operator> (const Tuple& value)const{ return Compare(*this, value) > 0; } - bool operator>=(const Tuple& value)const{ return Compare(*this, value) >= 0; } - }; - -/*********************************************************************** -vl::Tuple -***********************************************************************/ - template - class Tuple : public Object - { - public: - T0 f0;T1 f1;T2 f2;T3 f3; - - Tuple() - { - } - - Tuple(T0 p0,T1 p1,T2 p2,T3 p3) - :f0(p0),f1(p1),f2(p2),f3(p3) - { - } - - static int Compare(const Tuple& a, const Tuple& b) - { - if (a.f0 < b.f0) return -1; else if (a.f0 > b.f0) return 1;if (a.f1 < b.f1) return -1; else if (a.f1 > b.f1) return 1;if (a.f2 < b.f2) return -1; else if (a.f2 > b.f2) return 1;if (a.f3 < b.f3) return -1; else if (a.f3 > b.f3) return 1; - return 0; - } - - bool operator==(const Tuple& value)const{ return Compare(*this, value) == 0; } - bool operator!=(const Tuple& value)const{ return Compare(*this, value) != 0; } - bool operator< (const Tuple& value)const{ return Compare(*this, value) < 0; } - bool operator<=(const Tuple& value)const{ return Compare(*this, value) <= 0; } - bool operator> (const Tuple& value)const{ return Compare(*this, value) > 0; } - bool operator>=(const Tuple& value)const{ return Compare(*this, value) >= 0; } - }; - -/*********************************************************************** -vl::Tuple -***********************************************************************/ - template - class Tuple : public Object - { - public: - T0 f0;T1 f1;T2 f2;T3 f3;T4 f4; - - Tuple() - { - } - - Tuple(T0 p0,T1 p1,T2 p2,T3 p3,T4 p4) - :f0(p0),f1(p1),f2(p2),f3(p3),f4(p4) - { - } - - static int Compare(const Tuple& a, const Tuple& b) - { - if (a.f0 < b.f0) return -1; else if (a.f0 > b.f0) return 1;if (a.f1 < b.f1) return -1; else if (a.f1 > b.f1) return 1;if (a.f2 < b.f2) return -1; else if (a.f2 > b.f2) return 1;if (a.f3 < b.f3) return -1; else if (a.f3 > b.f3) return 1;if (a.f4 < b.f4) return -1; else if (a.f4 > b.f4) return 1; - return 0; - } - - bool operator==(const Tuple& value)const{ return Compare(*this, value) == 0; } - bool operator!=(const Tuple& value)const{ return Compare(*this, value) != 0; } - bool operator< (const Tuple& value)const{ return Compare(*this, value) < 0; } - bool operator<=(const Tuple& value)const{ return Compare(*this, value) <= 0; } - bool operator> (const Tuple& value)const{ return Compare(*this, value) > 0; } - bool operator>=(const Tuple& value)const{ return Compare(*this, value) >= 0; } - }; - -/*********************************************************************** -vl::Tuple -***********************************************************************/ - template - class Tuple : public Object - { - public: - T0 f0;T1 f1;T2 f2;T3 f3;T4 f4;T5 f5; - - Tuple() - { - } - - Tuple(T0 p0,T1 p1,T2 p2,T3 p3,T4 p4,T5 p5) - :f0(p0),f1(p1),f2(p2),f3(p3),f4(p4),f5(p5) - { - } - - static int Compare(const Tuple& a, const Tuple& b) - { - if (a.f0 < b.f0) return -1; else if (a.f0 > b.f0) return 1;if (a.f1 < b.f1) return -1; else if (a.f1 > b.f1) return 1;if (a.f2 < b.f2) return -1; else if (a.f2 > b.f2) return 1;if (a.f3 < b.f3) return -1; else if (a.f3 > b.f3) return 1;if (a.f4 < b.f4) return -1; else if (a.f4 > b.f4) return 1;if (a.f5 < b.f5) return -1; else if (a.f5 > b.f5) return 1; - return 0; - } - - bool operator==(const Tuple& value)const{ return Compare(*this, value) == 0; } - bool operator!=(const Tuple& value)const{ return Compare(*this, value) != 0; } - bool operator< (const Tuple& value)const{ return Compare(*this, value) < 0; } - bool operator<=(const Tuple& value)const{ return Compare(*this, value) <= 0; } - bool operator> (const Tuple& value)const{ return Compare(*this, value) > 0; } - bool operator>=(const Tuple& value)const{ return Compare(*this, value) >= 0; } - }; - -/*********************************************************************** -vl::Tuple -***********************************************************************/ - template - class Tuple : public Object - { - public: - T0 f0;T1 f1;T2 f2;T3 f3;T4 f4;T5 f5;T6 f6; - - Tuple() - { - } - - Tuple(T0 p0,T1 p1,T2 p2,T3 p3,T4 p4,T5 p5,T6 p6) - :f0(p0),f1(p1),f2(p2),f3(p3),f4(p4),f5(p5),f6(p6) - { - } - - static int Compare(const Tuple& a, const Tuple& b) - { - if (a.f0 < b.f0) return -1; else if (a.f0 > b.f0) return 1;if (a.f1 < b.f1) return -1; else if (a.f1 > b.f1) return 1;if (a.f2 < b.f2) return -1; else if (a.f2 > b.f2) return 1;if (a.f3 < b.f3) return -1; else if (a.f3 > b.f3) return 1;if (a.f4 < b.f4) return -1; else if (a.f4 > b.f4) return 1;if (a.f5 < b.f5) return -1; else if (a.f5 > b.f5) return 1;if (a.f6 < b.f6) return -1; else if (a.f6 > b.f6) return 1; - return 0; - } - - bool operator==(const Tuple& value)const{ return Compare(*this, value) == 0; } - bool operator!=(const Tuple& value)const{ return Compare(*this, value) != 0; } - bool operator< (const Tuple& value)const{ return Compare(*this, value) < 0; } - bool operator<=(const Tuple& value)const{ return Compare(*this, value) <= 0; } - bool operator> (const Tuple& value)const{ return Compare(*this, value) > 0; } - bool operator>=(const Tuple& value)const{ return Compare(*this, value) >= 0; } - }; - -/*********************************************************************** -vl::Tuple -***********************************************************************/ - template - class Tuple : public Object - { - public: - T0 f0;T1 f1;T2 f2;T3 f3;T4 f4;T5 f5;T6 f6;T7 f7; - - Tuple() - { - } - - Tuple(T0 p0,T1 p1,T2 p2,T3 p3,T4 p4,T5 p5,T6 p6,T7 p7) - :f0(p0),f1(p1),f2(p2),f3(p3),f4(p4),f5(p5),f6(p6),f7(p7) - { - } - - static int Compare(const Tuple& a, const Tuple& b) - { - if (a.f0 < b.f0) return -1; else if (a.f0 > b.f0) return 1;if (a.f1 < b.f1) return -1; else if (a.f1 > b.f1) return 1;if (a.f2 < b.f2) return -1; else if (a.f2 > b.f2) return 1;if (a.f3 < b.f3) return -1; else if (a.f3 > b.f3) return 1;if (a.f4 < b.f4) return -1; else if (a.f4 > b.f4) return 1;if (a.f5 < b.f5) return -1; else if (a.f5 > b.f5) return 1;if (a.f6 < b.f6) return -1; else if (a.f6 > b.f6) return 1;if (a.f7 < b.f7) return -1; else if (a.f7 > b.f7) return 1; - return 0; - } - - bool operator==(const Tuple& value)const{ return Compare(*this, value) == 0; } - bool operator!=(const Tuple& value)const{ return Compare(*this, value) != 0; } - bool operator< (const Tuple& value)const{ return Compare(*this, value) < 0; } - bool operator<=(const Tuple& value)const{ return Compare(*this, value) <= 0; } - bool operator> (const Tuple& value)const{ return Compare(*this, value) > 0; } - bool operator>=(const Tuple& value)const{ return Compare(*this, value) >= 0; } - }; - -/*********************************************************************** -vl::Tuple -***********************************************************************/ - template - class Tuple : public Object - { - public: - T0 f0;T1 f1;T2 f2;T3 f3;T4 f4;T5 f5;T6 f6;T7 f7;T8 f8; - - Tuple() - { - } - - Tuple(T0 p0,T1 p1,T2 p2,T3 p3,T4 p4,T5 p5,T6 p6,T7 p7,T8 p8) - :f0(p0),f1(p1),f2(p2),f3(p3),f4(p4),f5(p5),f6(p6),f7(p7),f8(p8) - { - } - - static int Compare(const Tuple& a, const Tuple& b) - { - if (a.f0 < b.f0) return -1; else if (a.f0 > b.f0) return 1;if (a.f1 < b.f1) return -1; else if (a.f1 > b.f1) return 1;if (a.f2 < b.f2) return -1; else if (a.f2 > b.f2) return 1;if (a.f3 < b.f3) return -1; else if (a.f3 > b.f3) return 1;if (a.f4 < b.f4) return -1; else if (a.f4 > b.f4) return 1;if (a.f5 < b.f5) return -1; else if (a.f5 > b.f5) return 1;if (a.f6 < b.f6) return -1; else if (a.f6 > b.f6) return 1;if (a.f7 < b.f7) return -1; else if (a.f7 > b.f7) return 1;if (a.f8 < b.f8) return -1; else if (a.f8 > b.f8) return 1; - return 0; - } - - bool operator==(const Tuple& value)const{ return Compare(*this, value) == 0; } - bool operator!=(const Tuple& value)const{ return Compare(*this, value) != 0; } - bool operator< (const Tuple& value)const{ return Compare(*this, value) < 0; } - bool operator<=(const Tuple& value)const{ return Compare(*this, value) <= 0; } - bool operator> (const Tuple& value)const{ return Compare(*this, value) > 0; } - bool operator>=(const Tuple& value)const{ return Compare(*this, value) >= 0; } - }; - -/*********************************************************************** -vl::Tuple -***********************************************************************/ - template - class Tuple : public Object - { - public: - T0 f0;T1 f1;T2 f2;T3 f3;T4 f4;T5 f5;T6 f6;T7 f7;T8 f8;T9 f9; - - Tuple() - { - } - - Tuple(T0 p0,T1 p1,T2 p2,T3 p3,T4 p4,T5 p5,T6 p6,T7 p7,T8 p8,T9 p9) - :f0(p0),f1(p1),f2(p2),f3(p3),f4(p4),f5(p5),f6(p6),f7(p7),f8(p8),f9(p9) - { - } - - static int Compare(const Tuple& a, const Tuple& b) - { - if (a.f0 < b.f0) return -1; else if (a.f0 > b.f0) return 1;if (a.f1 < b.f1) return -1; else if (a.f1 > b.f1) return 1;if (a.f2 < b.f2) return -1; else if (a.f2 > b.f2) return 1;if (a.f3 < b.f3) return -1; else if (a.f3 > b.f3) return 1;if (a.f4 < b.f4) return -1; else if (a.f4 > b.f4) return 1;if (a.f5 < b.f5) return -1; else if (a.f5 > b.f5) return 1;if (a.f6 < b.f6) return -1; else if (a.f6 > b.f6) return 1;if (a.f7 < b.f7) return -1; else if (a.f7 > b.f7) return 1;if (a.f8 < b.f8) return -1; else if (a.f8 > b.f8) return 1;if (a.f9 < b.f9) return -1; else if (a.f9 > b.f9) return 1; - return 0; - } - - bool operator==(const Tuple& value)const{ return Compare(*this, value) == 0; } - bool operator!=(const Tuple& value)const{ return Compare(*this, value) != 0; } - bool operator< (const Tuple& value)const{ return Compare(*this, value) < 0; } - bool operator<=(const Tuple& value)const{ return Compare(*this, value) <= 0; } - bool operator> (const Tuple& value)const{ return Compare(*this, value) > 0; } - bool operator>=(const Tuple& value)const{ return Compare(*this, value) >= 0; } - }; - -} -#endif - /*********************************************************************** .\STRINGS\STRING.H ***********************************************************************/ @@ -6215,53 +5900,46 @@ namespace vl return result; } - static vint64_t Compare(const T* bufA, const ObjectString& strB) + public: + std::strong_ordering operator<=>(const ObjectString& str)const { - const T* bufB = strB.buffer + strB.start; - const T* bufAOld = bufA; - vint length = strB.length; - while (true) + const T* bufA = buffer + start; + const T* bufB = str.buffer + str.start; + if (bufA != bufB) { - if (*bufA && length) + vint minLength = length < str.length ? length : str.length; + while (minLength--) { - length--; - vint64_t diff = (vint64_t)(*bufA++) - (vint64_t)(*bufB++); - if (diff != 0) - { - return diff; - } - } - else if (*bufA) - { - return CalculateLength(bufA); - } - else if (length) - { - return -length; - } - else - { - return 0; - } - }; + auto diff = *bufA++ <=> *bufB++; + if (diff != 0) return diff; + }; + } + return length <=> str.length; } - public: - - static vint64_t Compare(const ObjectString& strA, const ObjectString& strB) + std::strong_ordering operator<=>(const T* str)const { - const T* bufA = strA.buffer + strA.start; - const T* bufB = strB.buffer + strB.start; - vint length = strA.length < strB.length ? strA.length : strB.length; - while (length--) - { - vint64_t diff = (vint64_t)(*bufA++) - (vint64_t)(*bufB++); - if (diff != 0) - { - return diff; - } - }; - return strA.length - strB.length; + return operator<=>(ObjectString::Unmanaged(str)); + } + + friend std::strong_ordering operator<=>(const T* left, const ObjectString& right) + { + return ObjectString::Unmanaged(left) <=> right; + } + + bool operator==(const ObjectString& str)const + { + return operator<=>(str) == 0; + } + + bool operator==(T* str)const + { + return operator<=>(str) == 0; + } + + friend bool operator==(const T* left, const ObjectString& right) + { + return (left <=> right) == 0; } private: @@ -6317,7 +5995,7 @@ namespace vl return std::move(str); } public: - static ObjectString Empty; + static const ObjectString Empty; /// Create an empty string. ObjectString() = default; @@ -6536,64 +6214,9 @@ namespace vl return ReplaceUnsafe(string, length, 0); } - bool operator==(const ObjectString& string)const + friend ObjectString operator+(const T* left, const ObjectString& right) { - return Compare(*this, string)==0; - } - - bool operator!=(const ObjectString& string)const - { - return Compare(*this, string)!=0; - } - - bool operator>(const ObjectString& string)const - { - return Compare(*this, string)>0; - } - - bool operator>=(const ObjectString& string)const - { - return Compare(*this, string)>=0; - } - - bool operator<(const ObjectString& string)const - { - return Compare(*this, string)<0; - } - - bool operator<=(const ObjectString& string)const - { - return Compare(*this, string)<=0; - } - - bool operator==(const T* buffer)const - { - return Compare(buffer, *this)==0; - } - - bool operator!=(const T* buffer)const - { - return Compare(buffer, *this)!=0; - } - - bool operator>(const T* buffer)const - { - return Compare(buffer, *this)<0; - } - - bool operator>=(const T* buffer)const - { - return Compare(buffer, *this)<=0; - } - - bool operator<(const T* buffer)const - { - return Compare(buffer, *this)>0; - } - - bool operator<=(const T* buffer)const - { - return Compare(buffer, *this)>=0; + return ObjectString::Unmanaged(left) + right; } /// Get a code point in the specified position. @@ -6710,45 +6333,10 @@ namespace vl CHECK_ERROR(index>=0 && index<=length, L"ObjectString::Insert(vint)#Argument count not in range."); return ReplaceUnsafe(string, index, 0); } - - friend bool operator<(const T* left, const ObjectString& right) - { - return Compare(left, right)<0; - } - - friend bool operator<=(const T* left, const ObjectString& right) - { - return Compare(left, right)<=0; - } - - friend bool operator>(const T* left, const ObjectString& right) - { - return Compare(left, right)>0; - } - - friend bool operator>=(const T* left, const ObjectString& right) - { - return Compare(left, right)>=0; - } - - friend bool operator==(const T* left, const ObjectString& right) - { - return Compare(left, right)==0; - } - - friend bool operator!=(const T* left, const ObjectString& right) - { - return Compare(left, right)!=0; - } - - friend ObjectString operator+(const T* left, const ObjectString& right) - { - return ObjectString::Unmanaged(left)+right; - } }; template - ObjectString ObjectString::Empty=ObjectString(); + const ObjectString ObjectString::Empty = ObjectString(); template const T ObjectString::zero=0; @@ -7011,7 +6599,9 @@ Functions: [T] .Where(T->bool) => [T] [Ptr] .Cast() => [Ptr] [Ptr] .FindType() => [Ptr] - [T] .OrderBy(T->T->int) => [T] + [T] .OrderBy(T->T->std::strong_order) => [T] + [T] .OrderByKey(T->U) => [T] + [T] .OrderBySelf() => [T] [T] .Aggregate(T->T->T) => T [T] .Aggregate(T->T->T, T) => T @@ -7071,14 +6661,10 @@ Quick Sort /// Pointer to element array to sort. /// The number of elements to sort. /// - /// The comparar for two elements. - /// Both arguments are elements to compare. - /// Returns a positive number when the first argument is greater. - /// Returns a negative number when the second argument is greater. - /// Returns zero when two arguments equal. + /// The comparar for two elements returning std::string_ordering. /// template - void SortLambda(T* items, vint length, F orderer) + void SortLambda(T* items, vint length, F&& orderer) { while (true) { @@ -7096,7 +6682,10 @@ Quick Sort vint candidate = (flag ? left : length - right - 1); vint factor = (flag ? -1 : 1); - if (orderer(items[pivot], items[candidate]) * factor <= 0) + if ( + std::strong_ordering ordering = orderer(items[pivot], items[candidate]); + (factor == 1 && ordering <= 0) || (factor == -1 && ordering >= 0) + ) { mine++; } @@ -7117,7 +6706,10 @@ Quick Sort vint writing = reading; while (reading >= 0) { - if (orderer(items[pivot], items[reading]) == 0) + if ( + std::strong_ordering ordering = orderer(items[pivot], items[reading]); + ordering == 0 + ) { if (reading != writing) { @@ -7171,16 +6763,22 @@ Quick Sort /// Pointer to element array to sort. /// The number of elements to sort. /// - /// The comparar for two elements. - /// Both arguments are elements to compare. - /// Returns a positive number when the first argument is greater. - /// Returns a negative number when the second argument is greater. - /// Returns zero when two arguments equal. + /// The comparar for two elements returning std::string_ordering. /// - template - void Sort(T* items, vint length, const Func& orderer) + template + void Sort(T* items, vint length, F&& orderer) { - SortLambda>(items, length, orderer); + SortLambda(items, length, orderer); + } + + /// Quick sort. + /// Type of elements. + /// Pointer to element array to sort. + /// The number of elements to sort. + template + void Sort(T* items, vint length) + { + SortLambda(items, length, [](const T& a, const T& b) { return a <=> b; }); } /*********************************************************************** @@ -7297,7 +6895,7 @@ LazyList /// } /// ]]> template - auto Select(F f) const -> LazyList()))> + auto Select(F&& f) const -> LazyList()))> { return new SelectEnumerator()))>(xs(), f); } @@ -7315,7 +6913,7 @@ LazyList /// } /// ]]> template - LazyList Where(F f)const + LazyList Where(F&& f)const { return new WhereEnumerator(xs(), f); } @@ -7353,28 +6951,79 @@ LazyList /// Type of the comparer. /// The created lazy list. /// - /// The comparar for two elements. - /// Both arguments are elements to compare. - /// Returns a positive number when the first argument is greater. - /// Returns a negative number when the second argument is greater. - /// Returns zero when two arguments equal. + /// The comparar for two elements returning std::string_ordering. /// /// y; }); /// for (auto y : ys) Console::Write(itow(y) + L" "); /// } /// ]]> template - LazyList OrderBy(F f)const + LazyList OrderBy(F&& f)const { auto sorted = Ptr(new List); CopyFrom(*sorted.Obj(), *this); if (sorted->Count() > 0) { - SortLambda(&sorted->operator[](0), sorted->Count(), f); + SortLambda( + &sorted->operator[](0), sorted->Count(), + f + ); + } + return sorted; + } + + /// Create a new lazy list with all elements sorted. + /// The created lazy list. + /// + /// The key retriver function. Comparing of two element a and b are defined as f(a)<=>f(b). + /// + /// + template + LazyList OrderByKey(F&& f)const + { + auto sorted = Ptr(new List); + CopyFrom(*sorted.Obj(), *this); + if (sorted->Count() > 0) + { + SortLambda( + &sorted->operator[](0), sorted->Count(), + [f](const T& a, const T& b) { return f(a) <=> f(b); } + ); + } + return sorted; + } + + /// Create a new lazy list with all elements sorted. + /// The created lazy list. + /// + LazyList OrderBySelf()const + { + auto sorted = Ptr(new List); + CopyFrom(*sorted.Obj(), *this); + if (sorted->Count() > 0) + { + SortLambda( + &sorted->operator[](0), sorted->Count(), + [](const T& a, const T& b) { return a <=> b; } + ); } return sorted; } @@ -7400,7 +7049,7 @@ LazyList /// } /// ]]> template - T Aggregate(F f)const + T Aggregate(F&& f)const { auto enumerator = Ptr(CreateEnumerator()); if (!enumerator->Next()) @@ -7435,7 +7084,7 @@ LazyList /// } /// ]]> template - I Aggregate(I init, F f)const + I Aggregate(I init, F&& f)const { for (auto& t : *this) { @@ -7457,7 +7106,7 @@ LazyList /// } /// ]]> template - bool All(F f)const + bool All(F&& f)const { return Select(f).Aggregate(true, [](bool a, bool b) { return a && b; }); } @@ -7475,7 +7124,7 @@ LazyList /// } /// ]]> template - bool Any(F f)const + bool Any(F&& f)const { return Select(f).Aggregate(false, [](bool a, bool b) { return a || b; }); } @@ -7813,7 +7462,7 @@ LazyList /// } /// ]]> template - auto SelectMany(F f)const -> LazyList()))::ElementType> + auto SelectMany(F&& f)const -> LazyList()))::ElementType> { using U = typename decltype(f(std::declval()))::ElementType; return Select(f).Aggregate(LazyList(), [](const LazyList& a, const IEnumerable& b)->LazyList {return a.Concat(b); }); @@ -7843,7 +7492,7 @@ LazyList /// } /// ]]> template - auto GroupBy(F f)const -> LazyList())), LazyList>> + auto GroupBy(F&& f)const -> LazyList())), LazyList>> { using K = decltype(f(std::declval())); auto self = *this; diff --git a/Import/VlppGlrParser.cpp b/Import/VlppGlrParser.cpp index 7e8edee3..a043375c 100644 --- a/Import/VlppGlrParser.cpp +++ b/Import/VlppGlrParser.cpp @@ -1427,170 +1427,158 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::json { - namespace glr - { - namespace json - { /*********************************************************************** Visitor Pattern Implementation ***********************************************************************/ - void JsonLiteral::Accept(JsonNode::IVisitor* visitor) - { - visitor->Visit(this); - } + void JsonLiteral::Accept(JsonNode::IVisitor* visitor) + { + visitor->Visit(this); + } - void JsonString::Accept(JsonNode::IVisitor* visitor) - { - visitor->Visit(this); - } + void JsonString::Accept(JsonNode::IVisitor* visitor) + { + visitor->Visit(this); + } - void JsonNumber::Accept(JsonNode::IVisitor* visitor) - { - visitor->Visit(this); - } + void JsonNumber::Accept(JsonNode::IVisitor* visitor) + { + visitor->Visit(this); + } - void JsonArray::Accept(JsonNode::IVisitor* visitor) - { - visitor->Visit(this); - } + void JsonArray::Accept(JsonNode::IVisitor* visitor) + { + visitor->Visit(this); + } - void JsonObject::Accept(JsonNode::IVisitor* visitor) - { - visitor->Visit(this); - } - } + void JsonObject::Accept(JsonNode::IVisitor* visitor) + { + visitor->Visit(this); } } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonNode, system::JsonNode) - IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonNode::IVisitor, system::JsonNode::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonLiteralValue, system::JsonLiteralValue) - IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonLiteral, system::JsonLiteral) - IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonString, system::JsonString) - IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonNumber, system::JsonNumber) - IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonArray, system::JsonArray) - IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonObjectField, system::JsonObjectField) - IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonObject, system::JsonObject) + IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonNode, system::JsonNode) + IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonNode::IVisitor, system::JsonNode::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonLiteralValue, system::JsonLiteralValue) + IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonLiteral, system::JsonLiteral) + IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonString, system::JsonString) + IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonNumber, system::JsonNumber) + IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonArray, system::JsonArray) + IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonObjectField, system::JsonObjectField) + IMPL_TYPE_INFO_RENAME(vl::glr::json::JsonObject, system::JsonObject) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_CLASS_MEMBER(vl::glr::json::JsonNode) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::json::JsonNode) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - END_CLASS_MEMBER(vl::glr::json::JsonNode) + END_CLASS_MEMBER(vl::glr::json::JsonNode) - BEGIN_ENUM_ITEM(vl::glr::json::JsonLiteralValue) - ENUM_ITEM_NAMESPACE(vl::glr::json::JsonLiteralValue) - ENUM_NAMESPACE_ITEM(True) - ENUM_NAMESPACE_ITEM(False) - ENUM_NAMESPACE_ITEM(Null) - END_ENUM_ITEM(vl::glr::json::JsonLiteralValue) + BEGIN_ENUM_ITEM(vl::glr::json::JsonLiteralValue) + ENUM_ITEM_NAMESPACE(vl::glr::json::JsonLiteralValue) + ENUM_NAMESPACE_ITEM(True) + ENUM_NAMESPACE_ITEM(False) + ENUM_NAMESPACE_ITEM(Null) + END_ENUM_ITEM(vl::glr::json::JsonLiteralValue) - BEGIN_CLASS_MEMBER(vl::glr::json::JsonLiteral) - CLASS_MEMBER_BASE(vl::glr::json::JsonNode) + BEGIN_CLASS_MEMBER(vl::glr::json::JsonLiteral) + CLASS_MEMBER_BASE(vl::glr::json::JsonNode) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::glr::json::JsonLiteral) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::glr::json::JsonLiteral) - BEGIN_CLASS_MEMBER(vl::glr::json::JsonString) - CLASS_MEMBER_BASE(vl::glr::json::JsonNode) + BEGIN_CLASS_MEMBER(vl::glr::json::JsonString) + CLASS_MEMBER_BASE(vl::glr::json::JsonNode) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(content) - END_CLASS_MEMBER(vl::glr::json::JsonString) + CLASS_MEMBER_FIELD(content) + END_CLASS_MEMBER(vl::glr::json::JsonString) - BEGIN_CLASS_MEMBER(vl::glr::json::JsonNumber) - CLASS_MEMBER_BASE(vl::glr::json::JsonNode) + BEGIN_CLASS_MEMBER(vl::glr::json::JsonNumber) + CLASS_MEMBER_BASE(vl::glr::json::JsonNode) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(content) - END_CLASS_MEMBER(vl::glr::json::JsonNumber) + CLASS_MEMBER_FIELD(content) + END_CLASS_MEMBER(vl::glr::json::JsonNumber) - BEGIN_CLASS_MEMBER(vl::glr::json::JsonArray) - CLASS_MEMBER_BASE(vl::glr::json::JsonNode) + BEGIN_CLASS_MEMBER(vl::glr::json::JsonArray) + CLASS_MEMBER_BASE(vl::glr::json::JsonNode) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(items) - END_CLASS_MEMBER(vl::glr::json::JsonArray) + CLASS_MEMBER_FIELD(items) + END_CLASS_MEMBER(vl::glr::json::JsonArray) - BEGIN_CLASS_MEMBER(vl::glr::json::JsonObjectField) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::json::JsonObjectField) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::glr::json::JsonObjectField) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::glr::json::JsonObjectField) - BEGIN_CLASS_MEMBER(vl::glr::json::JsonObject) - CLASS_MEMBER_BASE(vl::glr::json::JsonNode) + BEGIN_CLASS_MEMBER(vl::glr::json::JsonObject) + CLASS_MEMBER_BASE(vl::glr::json::JsonNode) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(fields) - END_CLASS_MEMBER(vl::glr::json::JsonObject) + CLASS_MEMBER_FIELD(fields) + END_CLASS_MEMBER(vl::glr::json::JsonObject) - BEGIN_INTERFACE_MEMBER(vl::glr::json::JsonNode::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::json::JsonNode::IVisitor::*)(vl::glr::json::JsonLiteral* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::json::JsonNode::IVisitor::*)(vl::glr::json::JsonString* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::json::JsonNode::IVisitor::*)(vl::glr::json::JsonNumber* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::json::JsonNode::IVisitor::*)(vl::glr::json::JsonArray* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::json::JsonNode::IVisitor::*)(vl::glr::json::JsonObject* node)) - END_INTERFACE_MEMBER(vl::glr::json::JsonNode) + BEGIN_INTERFACE_MEMBER(vl::glr::json::JsonNode::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::json::JsonNode::IVisitor::*)(vl::glr::json::JsonLiteral* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::json::JsonNode::IVisitor::*)(vl::glr::json::JsonString* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::json::JsonNode::IVisitor::*)(vl::glr::json::JsonNumber* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::json::JsonNode::IVisitor::*)(vl::glr::json::JsonArray* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::json::JsonNode::IVisitor::*)(vl::glr::json::JsonObject* node)) + END_INTERFACE_MEMBER(vl::glr::json::JsonNode) #endif #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - class JsonAstTypeLoader : public vl::Object, public ITypeLoader - { - public: - void Load(ITypeManager* manager) - { - ADD_TYPE_INFO(vl::glr::json::JsonNode) - ADD_TYPE_INFO(vl::glr::json::JsonNode::IVisitor) - ADD_TYPE_INFO(vl::glr::json::JsonLiteralValue) - ADD_TYPE_INFO(vl::glr::json::JsonLiteral) - ADD_TYPE_INFO(vl::glr::json::JsonString) - ADD_TYPE_INFO(vl::glr::json::JsonNumber) - ADD_TYPE_INFO(vl::glr::json::JsonArray) - ADD_TYPE_INFO(vl::glr::json::JsonObjectField) - ADD_TYPE_INFO(vl::glr::json::JsonObject) - } - - void Unload(ITypeManager* manager) - { - } - }; -#endif -#endif - - bool JsonAstLoadTypes() - { -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - if (auto manager = GetGlobalTypeManager()) - { - auto loader = Ptr(new JsonAstTypeLoader); - return manager->AddTypeLoader(loader); - } -#endif - return false; - } + class JsonAstTypeLoader : public vl::Object, public ITypeLoader + { + public: + void Load(ITypeManager* manager) + { + ADD_TYPE_INFO(vl::glr::json::JsonNode) + ADD_TYPE_INFO(vl::glr::json::JsonNode::IVisitor) + ADD_TYPE_INFO(vl::glr::json::JsonLiteralValue) + ADD_TYPE_INFO(vl::glr::json::JsonLiteral) + ADD_TYPE_INFO(vl::glr::json::JsonString) + ADD_TYPE_INFO(vl::glr::json::JsonNumber) + ADD_TYPE_INFO(vl::glr::json::JsonArray) + ADD_TYPE_INFO(vl::glr::json::JsonObjectField) + ADD_TYPE_INFO(vl::glr::json::JsonObject) } + + void Unload(ITypeManager* manager) + { + } + }; +#endif +#endif + + bool JsonAstLoadTypes() + { +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + if (auto manager = GetGlobalTypeManager()) + { + auto loader = Ptr(new JsonAstTypeLoader); + return manager->AddTypeLoader(loader); + } +#endif + return false; } } @@ -1605,82 +1593,73 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::json::builder { - namespace glr - { - namespace json - { - namespace builder - { /*********************************************************************** MakeArray ***********************************************************************/ - MakeArray& MakeArray::items(const vl::Ptr& value) - { - node->items.Add(value); - return *this; - } + MakeArray& MakeArray::items(const vl::Ptr& value) + { + node->items.Add(value); + return *this; + } /*********************************************************************** MakeLiteral ***********************************************************************/ - MakeLiteral& MakeLiteral::value(JsonLiteralValue value) - { - node->value = value; - return *this; - } + MakeLiteral& MakeLiteral::value(JsonLiteralValue value) + { + node->value = value; + return *this; + } /*********************************************************************** MakeNumber ***********************************************************************/ - MakeNumber& MakeNumber::content(const vl::WString& value) - { - node->content.value = value; - return *this; - } + MakeNumber& MakeNumber::content(const vl::WString& value) + { + node->content.value = value; + return *this; + } /*********************************************************************** MakeObject ***********************************************************************/ - MakeObject& MakeObject::fields(const vl::Ptr& value) - { - node->fields.Add(value); - return *this; - } + MakeObject& MakeObject::fields(const vl::Ptr& value) + { + node->fields.Add(value); + return *this; + } /*********************************************************************** MakeObjectField ***********************************************************************/ - MakeObjectField& MakeObjectField::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeObjectField& MakeObjectField::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeObjectField& MakeObjectField::value(const vl::Ptr& value) - { - node->value = value; - return *this; - } + MakeObjectField& MakeObjectField::value(const vl::Ptr& value) + { + node->value = value; + return *this; + } /*********************************************************************** MakeString ***********************************************************************/ - MakeString& MakeString::content(const vl::WString& value) - { - node->content.value = value; - return *this; - } - } - } + MakeString& MakeString::content(const vl::WString& value) + { + node->content.value = value; + return *this; } } @@ -1695,151 +1674,142 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::json::copy_visitor { - namespace glr + void AstVisitor::CopyFields(JsonArray* from, JsonArray* to) { - namespace json + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->items) { - namespace copy_visitor - { - void AstVisitor::CopyFields(JsonArray* from, JsonArray* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->items) - { - to->items.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(JsonLiteral* from, JsonLiteral* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->value = from->value; - } - - void AstVisitor::CopyFields(JsonNode* from, JsonNode* to) - { - } - - void AstVisitor::CopyFields(JsonNumber* from, JsonNumber* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->content = from->content; - } - - void AstVisitor::CopyFields(JsonObject* from, JsonObject* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->fields) - { - to->fields.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(JsonObjectField* from, JsonObjectField* to) - { - to->name = from->name; - to->value = CopyNode(from->value.Obj()); - } - - void AstVisitor::CopyFields(JsonString* from, JsonString* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->content = from->content; - } - - void AstVisitor::Visit(JsonObjectField* node) - { - auto newNode = vl::Ptr(new JsonObjectField); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(JsonLiteral* node) - { - auto newNode = vl::Ptr(new JsonLiteral); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(JsonString* node) - { - auto newNode = vl::Ptr(new JsonString); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(JsonNumber* node) - { - auto newNode = vl::Ptr(new JsonNumber); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(JsonArray* node) - { - auto newNode = vl::Ptr(new JsonArray); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(JsonObject* node) - { - auto newNode = vl::Ptr(new JsonObject); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - vl::Ptr AstVisitor::CopyNode(JsonNode* node) - { - if (!node) return nullptr; - node->Accept(static_cast(this)); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(JsonObjectField* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(JsonArray* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(JsonLiteral* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(JsonNumber* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(JsonObject* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(JsonString* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - } + to->items.Add(CopyNode(listItem.Obj())); } } + + void AstVisitor::CopyFields(JsonLiteral* from, JsonLiteral* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->value = from->value; + } + + void AstVisitor::CopyFields(JsonNode* from, JsonNode* to) + { + } + + void AstVisitor::CopyFields(JsonNumber* from, JsonNumber* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->content = from->content; + } + + void AstVisitor::CopyFields(JsonObject* from, JsonObject* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->fields) + { + to->fields.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(JsonObjectField* from, JsonObjectField* to) + { + to->name = from->name; + to->value = CopyNode(from->value.Obj()); + } + + void AstVisitor::CopyFields(JsonString* from, JsonString* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->content = from->content; + } + + void AstVisitor::Visit(JsonObjectField* node) + { + auto newNode = vl::Ptr(new JsonObjectField); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(JsonLiteral* node) + { + auto newNode = vl::Ptr(new JsonLiteral); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(JsonString* node) + { + auto newNode = vl::Ptr(new JsonString); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(JsonNumber* node) + { + auto newNode = vl::Ptr(new JsonNumber); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(JsonArray* node) + { + auto newNode = vl::Ptr(new JsonArray); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(JsonObject* node) + { + auto newNode = vl::Ptr(new JsonObject); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + vl::Ptr AstVisitor::CopyNode(JsonNode* node) + { + if (!node) return nullptr; + node->Accept(static_cast(this)); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(JsonObjectField* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(JsonArray* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(JsonLiteral* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(JsonNumber* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(JsonObject* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(JsonString* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + } @@ -1853,42 +1823,33 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::json::empty_visitor { - namespace glr - { - namespace json - { - namespace empty_visitor - { /*********************************************************************** NodeVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void NodeVisitor::Visit(JsonLiteral* node) - { - } + void NodeVisitor::Visit(JsonLiteral* node) + { + } - void NodeVisitor::Visit(JsonString* node) - { - } + void NodeVisitor::Visit(JsonString* node) + { + } - void NodeVisitor::Visit(JsonNumber* node) - { - } + void NodeVisitor::Visit(JsonNumber* node) + { + } - void NodeVisitor::Visit(JsonArray* node) - { - } + void NodeVisitor::Visit(JsonArray* node) + { + } - void NodeVisitor::Visit(JsonObject* node) - { - } - } - } + void NodeVisitor::Visit(JsonObject* node) + { } } @@ -1903,185 +1864,176 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::json::json_visitor { - namespace glr + void AstVisitor::PrintFields(JsonArray* node) { - namespace json + BeginField(L"items"); + BeginArray(); + for (auto&& listItem : node->items) { - namespace json_visitor - { - void AstVisitor::PrintFields(JsonArray* node) - { - BeginField(L"items"); - BeginArray(); - for (auto&& listItem : node->items) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(JsonLiteral* node) - { - BeginField(L"value"); - switch (node->value) - { - case vl::glr::json::JsonLiteralValue::False: - WriteString(L"False"); - break; - case vl::glr::json::JsonLiteralValue::Null: - WriteString(L"Null"); - break; - case vl::glr::json::JsonLiteralValue::True: - WriteString(L"True"); - break; - default: - WriteNull(); - } - EndField(); - } - void AstVisitor::PrintFields(JsonNode* node) - { - } - void AstVisitor::PrintFields(JsonNumber* node) - { - BeginField(L"content"); - WriteToken(node->content); - EndField(); - } - void AstVisitor::PrintFields(JsonObject* node) - { - BeginField(L"fields"); - BeginArray(); - for (auto&& listItem : node->fields) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(JsonObjectField* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"value"); - Print(node->value.Obj()); - EndField(); - } - void AstVisitor::PrintFields(JsonString* node) - { - BeginField(L"content"); - WriteToken(node->content); - EndField(); - } - - void AstVisitor::Visit(JsonLiteral* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Literal", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(JsonString* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"String", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(JsonNumber* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Number", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(JsonArray* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Array", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(JsonObject* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Object", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - AstVisitor::AstVisitor(vl::stream::StreamWriter& _writer) - : vl::glr::JsonVisitorBase(_writer) - { - } - - void AstVisitor::Print(JsonNode* node) - { - if (!node) - { - WriteNull(); - return; - } - node->Accept(static_cast(this)); - } - - void AstVisitor::Print(JsonObjectField* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ObjectField", node); - PrintFields(static_cast(node)); - EndObject(); - } - - } + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); } + EndArray(); + EndField(); } + void AstVisitor::PrintFields(JsonLiteral* node) + { + BeginField(L"value"); + switch (node->value) + { + case vl::glr::json::JsonLiteralValue::False: + WriteString(L"False"); + break; + case vl::glr::json::JsonLiteralValue::Null: + WriteString(L"Null"); + break; + case vl::glr::json::JsonLiteralValue::True: + WriteString(L"True"); + break; + default: + WriteNull(); + } + EndField(); + } + void AstVisitor::PrintFields(JsonNode* node) + { + } + void AstVisitor::PrintFields(JsonNumber* node) + { + BeginField(L"content"); + WriteToken(node->content); + EndField(); + } + void AstVisitor::PrintFields(JsonObject* node) + { + BeginField(L"fields"); + BeginArray(); + for (auto&& listItem : node->fields) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(JsonObjectField* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"value"); + Print(node->value.Obj()); + EndField(); + } + void AstVisitor::PrintFields(JsonString* node) + { + BeginField(L"content"); + WriteToken(node->content); + EndField(); + } + + void AstVisitor::Visit(JsonLiteral* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Literal", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(JsonString* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"String", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(JsonNumber* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Number", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(JsonArray* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Array", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(JsonObject* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Object", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + AstVisitor::AstVisitor(vl::stream::StreamWriter& _writer) + : vl::glr::JsonVisitorBase(_writer) + { + } + + void AstVisitor::Print(JsonNode* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + + void AstVisitor::Print(JsonObjectField* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ObjectField", node); + PrintFields(static_cast(node)); + EndObject(); + } + } @@ -2095,118 +2047,109 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::json::traverse_visitor { - namespace glr + void AstVisitor::Traverse(vl::glr::ParsingToken& token) {} + void AstVisitor::Traverse(vl::glr::ParsingAstBase* node) {} + void AstVisitor::Traverse(JsonArray* node) {} + void AstVisitor::Traverse(JsonLiteral* node) {} + void AstVisitor::Traverse(JsonNode* node) {} + void AstVisitor::Traverse(JsonNumber* node) {} + void AstVisitor::Traverse(JsonObject* node) {} + void AstVisitor::Traverse(JsonObjectField* node) {} + void AstVisitor::Traverse(JsonString* node) {} + + void AstVisitor::Finishing(vl::glr::ParsingAstBase* node) {} + void AstVisitor::Finishing(JsonArray* node) {} + void AstVisitor::Finishing(JsonLiteral* node) {} + void AstVisitor::Finishing(JsonNode* node) {} + void AstVisitor::Finishing(JsonNumber* node) {} + void AstVisitor::Finishing(JsonObject* node) {} + void AstVisitor::Finishing(JsonObjectField* node) {} + void AstVisitor::Finishing(JsonString* node) {} + + void AstVisitor::Visit(JsonLiteral* node) { - namespace json - { - namespace traverse_visitor - { - void AstVisitor::Traverse(vl::glr::ParsingToken& token) {} - void AstVisitor::Traverse(vl::glr::ParsingAstBase* node) {} - void AstVisitor::Traverse(JsonArray* node) {} - void AstVisitor::Traverse(JsonLiteral* node) {} - void AstVisitor::Traverse(JsonNode* node) {} - void AstVisitor::Traverse(JsonNumber* node) {} - void AstVisitor::Traverse(JsonObject* node) {} - void AstVisitor::Traverse(JsonObjectField* node) {} - void AstVisitor::Traverse(JsonString* node) {} - - void AstVisitor::Finishing(vl::glr::ParsingAstBase* node) {} - void AstVisitor::Finishing(JsonArray* node) {} - void AstVisitor::Finishing(JsonLiteral* node) {} - void AstVisitor::Finishing(JsonNode* node) {} - void AstVisitor::Finishing(JsonNumber* node) {} - void AstVisitor::Finishing(JsonObject* node) {} - void AstVisitor::Finishing(JsonObjectField* node) {} - void AstVisitor::Finishing(JsonString* node) {} - - void AstVisitor::Visit(JsonLiteral* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(JsonString* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->content); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(JsonNumber* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->content); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(JsonArray* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->items) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(JsonObject* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->fields) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(JsonNode* node) - { - if (!node) return; - node->Accept(static_cast(this)); - } - - void AstVisitor::InspectInto(JsonObjectField* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - InspectInto(node->value.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - } - } + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); } + + void AstVisitor::Visit(JsonString* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->content); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(JsonNumber* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->content); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(JsonArray* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->items) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(JsonObject* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->fields) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(JsonNode* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void AstVisitor::InspectInto(JsonObjectField* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + InspectInto(node->value.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + } @@ -2220,105 +2163,104 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::json { - namespace glr + void JsonParserData(vl::stream::IStream& outputStream) { - namespace json - { - void JsonParserData(vl::stream::IStream& outputStream) - { - static const vl::vint dataLength = 1933; // 17265 bytes before compressing - static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 141; - static const vl::vint dataSolidRows = 7; - static const vl::vint dataRows = 8; - static const char* compressed[] = { - "\x71\x43\x00\x00\x85\x07\x00\x00\x0C\x00\x01\x82\x80\x06\x03\x82\x81\x82\x06\x89\x82\x87\x0A\x80\x81\x84\x09\x0A\x98\x0A\x9D\x0A\x86\x65\x01\x84\xFF\x19\x9A\x99\x8A\x80\x03\x8D\x8D\x1D\x9D\x97\x89\x83\x96\x81\x93\x81\x02\x0A\xA7\x82\x8F\x8A\x8D\x8F\x96\x1C\x8A\xB0\x9F\x7F\x90\x99\x9B\x96\x37\x9F\x9D\x83\x0A\x92\x84\x03\x9E\x18\xB6\xB2\x82\xA1\xA0\x9F\xA0\xA3\x45\xBA\x87\xAA\xA9\xA0\x93\xA4\xA7\x4D\xAE\x8F\xB2\xA1\xA9\x99\xAA\x9A\x53\xD6\x86\x93\x99\x98\xAA\x83\x02\x40\xDB\x84\xA2\xB8\xA4\xB0\xA6\xB3\x5E\x83\x9C\xB9\xA8\xAF\xA9\xAE\xAA\x68\xF0\xAA\xA3\xB3\xBD\xB1\xBB\xB3\x77\xE9\x87\x81\xB9\xBA\xB8\x96\xBA\x7F\xF6\x81\xD8\xB3\xC2\xBD\x81\xB5\x6E\xEC\xAF\xBA\xAD\xBC\xC5\xC2\xBF\x87\x80\xD1\xC2\xC1\x84\x84\x92\xC5\x98\x89\xDA\xD1\xBE\xC3\xC8\xC2\xCF\x86\x9E\x92\xC2\xD4\xCC\xD3\xCE\xD3\xA1\x88\xDC\xCD\xB6\x80\x04\xBF\xC7\x9D\xA8\xD0\xD2\xD1\xDA\xD5\xC6\xD6\xB7\x8B\xF8\xD0\xDB\xD8\xD3\xD8\xDB\xBC\xBA\xC2\xEA\x89\x07\xD6\xDF\xDA\xA3\xC0\xC7\xFD\xD4\xDC\xE6\xE5\xE6\xC3\x9B\xF9\xD9\xCB\xD1\xE9\xEA\xEA\xD3\xD2\xC1\xF8", - "\xEB\xEA\xEF\xE4\xEB\xD9\xD7\xC9\x8A\x06\xE0\xE8\xEF\xEF\xE7\xE6\xDE\xEA\xF2\xF5\xF5\xF1\xF7\xDD\xEE\xF1\xF0\xF8\xF3\xF7\x05\xF2\x0E\xA6\x8A\x8D\x05\xF6\x05\xF3\xE7\x0F\x3F\x79\x73\x80\xA5\x50\x05\x79\x04\x02\xA5\x60\x47\x65\xEB\x4F\x7E\x80\x81\xA7\x4F\x85\x6A\x84\x11\x90\x89\x6A\x85\xBF\x58\x88\x73\x84\x1A\x8E\x7D\x84\x78\xF3\x61\x81\x43\x04\x09\x95\x8C\x87\x89\x26\xA9\x87\x84\x8A\xA1\x54\x05\x8B\x8A\x2A\x99\x8C\x8A\x8C\x31\x9B\x85\x8E\x87\x33\xB6\x80\x8F\x8E\x34\xBC\x8A\x8D\x8F\x40\xBF\x82\x90\x8E\x37\xA0\x85\x7E\x7C\x47\xB4\x70\x01\x05\x2F\x81\x94\x92\x8F\x4F\xB3\x66\x05\x93\x43\x86\x9C\x7A\x92\x14\x90\x96\x95\x96\x4E\x96\x97\x04\x95\xCC\x52\x4C\x80\x92\x57\xA2\x85\x99\x92\x66\x9C\x95\x95\x7A\x6A\x91\x9B\x99\x83\x1F\xAC\x93\x69\x06\x60\x96\x9A\x05\x9D\x72\xB9\x8E\x9B\x9E\x5B\xB1\x90\x9D\x69\x1B\x38\x9F\x9D\x91\x79\x84\xA3\xA2\x96\x85\x88\xA7\xA1\x97\x89\x8C\xAB\xA3\x9B\x06\x5C\x05\x78\x45\x63\x83\x4E\x05\x79\x1F\x02\xA6\x40\x08\xE5\x61\x0A\xA6\x92\x22\x25\x73\x0B\xA7\x69\xA3\x64\x09\x79\x25\x25\x76\x09\x79", - "\x27\x24\xA1\x40\x0A\xAE\xA7\x92\xAD\x0A\xE5\x6A\x01\xAF\x0A\xB1\xAD\x9D\x9E\x9E\xBB\x86\xA4\x9A\xAE\x8D\x90\xA8\x96\x9F\xBF\x84\xB3\x40\x0B\xE5\x6D\x09\xAE\xB1\xA5\xBC\xAA\x42\x0B\xE5\x6F\x05\x78\x0C\xE5\x71\x01\xAE\x0C\xCB\x8E\xB9\x43\x0C\xE5\x74\x09\xB6\xAF\xC3\x9A\xB5\xB2\xB8\xE1\xA0\xBD\xB2\xB9\x01\x75\x0F\xB6\xA2\xE3\xA8\xB2\xAC\xB0\x8F\xBC\x99\x7A\x0D\xEB\x8E\xAD\xB8\xBB\xE5\xB8\xB7\xBA\xBE\x68\x81\x47\x0D\xBD\xC2\xBB\xB6\xBD\xBE\x03\xC2\xC1\xC1\xBF\xEF\x8C\xB8\xC3\x73\x38\x31\xA9\x0C\xC0\xF2\xB1\xBD\xAC\xBF\x09\xE4\xB6\xC1\xC4\xF7\x85\xCB\xC2\xC2\x00\x3A\x00\xC7\xC4\x1A\xD5\xCE\xB8\xBC\x19\xC7\xC0\x03\x0E\x1F\xC1\xB8\xC4\xC1\x26\xE4\xCC\xCB\xCA\x02\x7D\x1A\x41\x4A\x95\xBC\x64\xCE\x7E\x57\x77\xC3\x43\x4A\xCB\x7A\xC2\x40\x4F\xF1\xB3\x45\x71\x42\x3E\xFD\xCA\x40\x42\x25\xF3\x4F\x3F\xD0\x06\x48\xD7\x6C\xCF\x00\x10\xD2\xD0\x98\x60\x57\x53\x4C\xD4\x45\xCD\x7C\xD3\xCE\x6C\x55\xDB\x6B\xD5\x21\x57\x5B\xD6\x40\x52\xF0\x4E\xD7\x6D\x33\x67\xDC\x6D\xDA\x6C\x73\x49\xD6\xDA\x1B\xCA\xDF\x47\xD8\x01\x7F\x47\x54\xD0\x5F", - "\xF0\x49\xD5\xD9\x2D\x78\xD8\xDA\xDE\x60\xBE\xDB\xD8\xE0\x35\xCB\x72\xE3\x72\x6E\xFE\x4C\x5B\xE1\xCD\x49\xE1\xDB\x6D\x8C\xF2\xDD\x49\xD6\x91\xDD\x83\xD4\xD1\x8B\xED\xD4\xE1\xD3\x2A\xD7\xEC\xE7\x55\x70\xCD\xEB\xE7\x40\x76\xEB\x6F\xD9\xE7\x30\x74\xD0\x01\xE9\xB7\x67\xE1\xD1\xEA\x8A\xE0\xEA\xE7\xE4\x8F\xD0\xE3\xEF\x47\x7B\xD9\xE6\xD7\xE8\x64\xFA\xE9\xDC\xED\x85\xCD\x75\xE6\xE4\x1A\x59\xDC\xE8\x6F\xC3\xC4\xFF\x3D\xD6\xBA\x49\xF4\xF0\xE5\xA8\xED\x4A\xE9\xD6\x33\x4E\xF2\xE5\xD6\x4E\xD7\xCE\xE7\x40\xD9\xC6\xE7\xEF\x46\xB9\xF7\xDF\xF5\xF1\x81\xE3\xF9\x45\xF8\xAB\x56\xF2\xDE\xF1\xBE\xFF\xD0\xF1\xED\xC2\xE6\xFB\xF2\x42\xEA\xFB\x9B\xF6\x40\xD4\xF0\x45\xFE\xE3\x9F\xC9\xD7\xFD\x40\xDD\x6D\x39\xE8\x4A\x7A\x23\xFD\x7C\x71\x20\x7C\x7F\x22\x01\xEF\x7C\x6A\xF1\x7B\x74\x81\xBD\x6E\x83\xEF\x38\x71\x77\xF4\x72\x7C\x79\xED\x63\x70\x04\x81\x25\x7E\xDD\x3F\x78\x00\xF9\x7D\x6F\x05\xC7\x61\x7B\xB9\x64\x87\x2A\xC7\x68\x72\xD9\x72\x79\x84\xD1\x6D\x23\x80\x04\x9F\x1D\x0B\xB1\x8F\x1E\x18\x84\x83\x81\x14\x89\x23\x0C\xFA\x73\x84\xF8\x4D\x3B", - "\x87\x04\x96\x86\xF2\x40\x8A\x78\x21\x84\x7A\x75\x46\x9A\x22\xEA\x75\x7B\x88\xB6\x2A\x72\x37\x4F\x8C\x2E\xBA\x3E\x80\x6A\x91\x3E\x81\x6A\x57\x98\x81\x42\x0C\x76\x8A\x2A\x95\x83\x20\xA1\x61\x80\xD4\x62\x87\x84\x9C\x7D\x78\x25\x65\x83\x20\xE3\x64\x89\x20\x36\x86\x26\x32\x66\x83\x20\x1C\x8D\x8F\x8D\xF2\x33\x88\x7F\x0A\x37\x8C\x07\xF9\x86\x8F\xF2\x10\x6F\x8F\x33\x74\x7E\x1F\x8A\x2E\x35\x84\x2A\x74\x3C\x3A\x8A\x20\x22\xD7\x89\x20\x3C\x25\x3D\x23\x81\x5E\x85\x07\x81\x99\x20\x49\x52\x91\x3D\x8C\x77\x4F\x25\xEB\x30\x6A\x04\x4C\x91\x21\x79\x03\x91\x42\x1E\x9F\x93\x81\x3A\x0D\x3C\x2D\x9F\x49\x29\x83\x2B\x0E\x54\x8A\x22\x95\xAB\x81\x20\x1F\x65\x39\x6A\x4E\x5B\x94\x4C\x8C\x79\x53\x2D\xCA\x4C\x07\x2B\x84\x89\x34\x8C\x89\x80\xC5\x1D\x21\x85\xD3\x1D\x89\x8E\x17\x6C\x93\x24\xBE\x88\x7D\x97\x4C\x91\x89\xB1\x3B\x26\x2B\x98\x7B\x3D\x8E\x01\x87\x39\xD6\x9D\x8C\x35\xE4\x4D\x98\x33\x5D\x25\x89\x12\x62\x91\xF0\x58\x9D\x20\x71\x89\x6D\x23\x2D\x82\x9B\x6C\x1D\x21\x41\x2D\xAA\x65\x23\xA1\x6A\x9D\x34\x8A\x2B\x40\x64\xB1\x6F\x34\x6E\x8A", - "\x49\x47\x24\x43\x9C\x8E\x7A\x88\x00\xF7\x35\x9A\x42\x2E\x41\x78\x26\x5B\x9A\x49\xAA\x7F\x97\x3A\xAF\x94\x92\x32\x44\x9C\x38\x0D\xBA\x9E\x42\x74\x47\xA0\x33\x59\x69\x6B\xE0\x8E\xA2\x42\x11\x96\x21\x62\xA1\x35\x85\x18\xAA\x22\x7F\x02\xA9\x20\x4A\x5D\xA1\x3D\x01\x81\xA5\x42\x04\xAA\xA3\x84\x3A\x97\xA4\xEB\x25\x90\x4C\x86\x28\x89\xF4\x1D\x26\x53\x15\xA1\x23\xA8\x39\xA0\x01\x45\xA8\x8E\x90\x69\x9E\x9A\x42\x29\x5C\xA7\x56\x7C\xA1\x3F\x3F\xA6\x22\x4F\x82\x22\xA6\x89\x89\x24\x56\xFD\x96\x61\x40\x01\xA4\xA6\x9B\xAF\x99\x3D\x48\xA2\x23\x48\xAD\xA6\x20\x5B\x51\xAE\x5D\x5B\xA3\x22\x81\x24\xA7\x9D\xF4\x21\xAA\x20\x54\xAE\xAA\x41\x38\x51\x78\x64\x7C\xA7\xAC\x08\x8A\x21\x3B\x86\x29\xAC\xA1\x89\x20\x5A\xC1\x72\x58\x4F\xF3\xA4\x8E\xB1\xBB\x3E\xAA\x09\x36\x5B\x57\x94\x64\x94\xBF\xA4\xAE\x99\xE9\x25\xB2\x40\x7C\xA6\xAF\xB2\xAB\x3D\x9E\x03\x2C\xA6\x5A\x83\x28\x5B\xC1\xA1\x62\xB2\x02\x2A\xA3\x3C\xDB\x51\xA2\x33\x63\xAB\xA6\x91\xBD\xB0\xC2\x1D\x23\x8A\xD0\xA6\x48\xB2\x78\x8B\xA6\x39\x93\xB2\x21\x7F\x7C\xA7\x39\x98\xA1\x21\xD6\x31", - "\xB0\x00\xB8\xB2\x55\x23\x0F\x6F\xB7\x68\x53\x4C\xA6\xDA\xB4\xB4\x9C\x09\x28\x66\x6E\xA5\x32\x4C\xD3\x81\x24\xB6\xBC\xBC\xA8\x62\xEB\x34\xB6\x68\x8C\x3D\x23\x3D\x02\xB4\x00\x3F\x02\xBA\x4D\x86\xB8\x00\xB4\xB7\x9B\x68\x1D\x21\x08\xE9\x83\x0A\xBA\x96\x97\xBA\x41\x86\x2A\xB3\xE7\x8A\x25\x08\xD2\xAF\x3B\xA5\x3C\xA3\xBD\xA4\xAC\xB1\x20\x47\x09\xBF\x68\x36\x92\xBD\xD5\x8D\xB3\x20\x49\x12\xBD\x69\x21\x5C\xBC\x91\x80\xB6\x20\x4B\x1A\xBF\x69\x27\x5D\xBE\xD5\x87\xB2\x20\x4D\x02\xC1\x68\x2B\x55\xC1\xAF\x3F\xBB\x20\x4F\x12\xB9\x14\x52\xB0\x57\x06\xDC\x7F\xC1\x02\x33\x0A\x74\xD5\x02\xBA\xAF\x97\xB9\xB9\x03\x3C\x9E\x72\x82\x27\x0B\x94\x49\x20\x96\x03\x20\xC7\x7D\xC9\x99\x3C\x14\xC2\x25\xBD\x2B\xD7\x9C\xC5\x45\xB4\x74\x0C\xC1\x20\x0B\x0A\xD3\x36\x5B\xF6\x90\x00\x1A\xE9\xB3\xC4\x01\x3A\x09\x8E\xB1\x3A\x59\xE0\x7E\xC3\x8F\x07\xC1\x20\x17\x43\xCC\x38\xBC\xBC\xC7\xC8\xB5\xB6\xC4\x00\x5E\x0C\xC9\x8E\x3A\xAF\xC9\x03\xB2\xC8\x18\x55\xCA\x20\x6A\x46\xCA\x21\xCE\xAC\x92\x18\x52\xB4\x0C\xE9\x82\xB0\xCB\x6D\x92\xCA\x19\x52\xB8\x0C\xE9", - "\x95\xB4\xC7\xD6\xA3\x20\x45\xC0\xC0\x00\x35\x1C\xCB\x3D\x1C\xB2\xCE\x94\xEC\x07\xCE\x32\x61\xBA\xCF\x49\xC0\x02\x1B\x7D\xCA\x48\x93\x83\x26\xB6\xC0\xA6\x20\x1C\x04\xD2\x20\x6E\x41\x7E\xD0\x02\x3F\xB7\x76\x8A\x22\x0E\x46\xC1\x26\x5B\xC1\x6F\xA6\xA5\x52\xC4\x0E\x4B\xF2\x54\xBE\x9B\xC1\xD2\x1D\x1E\xDF\x38\x9C\xB0\x78\x9B\x4A\x72\x9A\x2F\x8C\x9A\x8B\xE0\x65\x92\x9E\x34\x30\xD7\x3F\x55\x87\x98\xF8\x74\xD5\xCA\x1E\xA0\x7C\xAB\xBB\xD9\x8A\x65\x8A\x33\x7F\x5C\x8A\xD7\x2E\xB5\x71\xD9\x2F\x81\x3D\xBC\x32\x92\xBB\xEA\x0C\x99\x9C\x78\x8A\x36\xB9\x35\x8F\x91\xE8\x1F\x90", - }; - vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); - } + static const vl::vint dataLength = 1933; // 17265 bytes before compressing + static const vl::vint dataBlock = 256; + static const vl::vint dataRemain = 141; + static const vl::vint dataSolidRows = 7; + static const vl::vint dataRows = 8; + static const char* compressed[] = { + "\x71\x43\x00\x00\x85\x07\x00\x00\x0C\x00\x01\x82\x80\x06\x03\x82\x81\x82\x06\x89\x82\x87\x0A\x80\x81\x84\x09\x0A\x98\x0A\x9D\x0A\x86\x65\x01\x84\xFF\x19\x9A\x99\x8A\x80\x03\x8D\x8D\x1D\x9D\x97\x89\x83\x96\x81\x93\x81\x02\x0A\xA7\x82\x8F\x8A\x8D\x8F\x96\x1C\x8A\xB0\x9F\x7F\x90\x99\x9B\x96\x37\x9F\x9D\x83\x0A\x92\x84\x03\x9E\x18\xB6\xB2\x82\xA1\xA0\x9F\xA0\xA3\x45\xBA\x87\xAA\xA9\xA0\x93\xA4\xA7\x4D\xAE\x8F\xB2\xA1\xA9\x99\xAA\x9A\x53\xD6\x86\x93\x99\x98\xAA\x83\x02\x40\xDB\x84\xA2\xB8\xA4\xB0\xA6\xB3\x5E\x83\x9C\xB9\xA8\xAF\xA9\xAE\xAA\x68\xF0\xAA\xA3\xB3\xBD\xB1\xBB\xB3\x77\xE9\x87\x81\xB9\xBA\xB8\x96\xBA\x7F\xF6\x81\xD8\xB3\xC2\xBD\x81\xB5\x6E\xEC\xAF\xBA\xAD\xBC\xC5\xC2\xBF\x87\x80\xD1\xC2\xC1\x84\x84\x92\xC5\x98\x89\xDA\xD1\xBE\xC3\xC8\xC2\xCF\x86\x9E\x92\xC2\xD4\xCC\xD3\xCE\xD3\xA1\x88\xDC\xCD\xB6\x80\x04\xBF\xC7\x9D\xA8\xD0\xD2\xD1\xDA\xD5\xC6\xD6\xB7\x8B\xF8\xD0\xDB\xD8\xD3\xD8\xDB\xBC\xBA\xC2\xEA\x89\x07\xD6\xDF\xDA\xA3\xC0\xC7\xFD\xD4\xDC\xE6\xE5\xE6\xC3\x9B\xF9\xD9\xCB\xD1\xE9\xEA\xEA\xD3\xD2\xC1\xF8", + "\xEB\xEA\xEF\xE4\xEB\xD9\xD7\xC9\x8A\x06\xE0\xE8\xEF\xEF\xE7\xE6\xDE\xEA\xF2\xF5\xF5\xF1\xF7\xDD\xEE\xF1\xF0\xF8\xF3\xF7\x05\xF2\x0E\xA6\x8A\x8D\x05\xF6\x05\xF3\xE7\x0F\x3F\x79\x73\x80\xA5\x50\x05\x79\x04\x02\xA5\x60\x47\x65\xEB\x4F\x7E\x80\x81\xA7\x4F\x85\x6A\x84\x11\x90\x89\x6A\x85\xBF\x58\x88\x73\x84\x1A\x8E\x7D\x84\x78\xF3\x61\x81\x43\x04\x09\x95\x8C\x87\x89\x26\xA9\x87\x84\x8A\xA1\x54\x05\x8B\x8A\x2A\x99\x8C\x8A\x8C\x31\x9B\x85\x8E\x87\x33\xB6\x80\x8F\x8E\x34\xBC\x8A\x8D\x8F\x40\xBF\x82\x90\x8E\x37\xA0\x85\x7E\x7C\x47\xB4\x70\x01\x05\x2F\x81\x94\x92\x8F\x4F\xB3\x66\x05\x93\x43\x86\x9C\x7A\x92\x14\x90\x96\x95\x96\x4E\x96\x97\x04\x95\xCC\x52\x4C\x80\x92\x57\xA2\x85\x99\x92\x66\x9C\x95\x95\x7A\x6A\x91\x9B\x99\x83\x1F\xAC\x93\x69\x06\x60\x96\x9A\x05\x9D\x72\xB9\x8E\x9B\x9E\x5B\xB1\x90\x9D\x69\x1B\x38\x9F\x9D\x91\x79\x84\xA3\xA2\x96\x85\x88\xA7\xA1\x97\x89\x8C\xAB\xA3\x9B\x06\x5C\x05\x78\x45\x63\x83\x4E\x05\x79\x1F\x02\xA6\x40\x08\xE5\x61\x0A\xA6\x92\x22\x25\x73\x0B\xA7\x69\xA3\x64\x09\x79\x25\x25\x76\x09\x79", + "\x27\x24\xA1\x40\x0A\xAE\xA7\x92\xAD\x0A\xE5\x6A\x01\xAF\x0A\xB1\xAD\x9D\x9E\x9E\xBB\x86\xA4\x9A\xAE\x8D\x90\xA8\x96\x9F\xBF\x84\xB3\x40\x0B\xE5\x6D\x09\xAE\xB1\xA5\xBC\xAA\x42\x0B\xE5\x6F\x05\x78\x0C\xE5\x71\x01\xAE\x0C\xCB\x8E\xB9\x43\x0C\xE5\x74\x09\xB6\xAF\xC3\x9A\xB5\xB2\xB8\xE1\xA0\xBD\xB2\xB9\x01\x75\x0F\xB6\xA2\xE3\xA8\xB2\xAC\xB0\x8F\xBC\x99\x7A\x0D\xEB\x8E\xAD\xB8\xBB\xE5\xB8\xB7\xBA\xBE\x68\x81\x47\x0D\xBD\xC2\xBB\xB6\xBD\xBE\x03\xC2\xC1\xC1\xBF\xEF\x8C\xB8\xC3\x73\x38\x31\xA9\x0C\xC0\xF2\xB1\xBD\xAC\xBF\x09\xE4\xB6\xC1\xC4\xF7\x85\xCB\xC2\xC2\x00\x3A\x00\xC7\xC4\x1A\xD5\xCE\xB8\xBC\x19\xC7\xC0\x03\x0E\x1F\xC1\xB8\xC4\xC1\x26\xE4\xCC\xCB\xCA\x02\x7D\x1A\x41\x4A\x95\xBC\x64\xCE\x7E\x57\x77\xC3\x43\x4A\xCB\x7A\xC2\x40\x4F\xF1\xB3\x45\x71\x42\x3E\xFD\xCA\x40\x42\x25\xF3\x4F\x3F\xD0\x06\x48\xD7\x6C\xCF\x00\x10\xD2\xD0\x98\x60\x57\x53\x4C\xD4\x45\xCD\x7C\xD3\xCE\x6C\x55\xDB\x6B\xD5\x21\x57\x5B\xD6\x40\x52\xF0\x4E\xD7\x6D\x33\x67\xDC\x6D\xDA\x6C\x73\x49\xD6\xDA\x1B\xCA\xDF\x47\xD8\x01\x7F\x47\x54\xD0\x5F", + "\xF0\x49\xD5\xD9\x2D\x78\xD8\xDA\xDE\x60\xBE\xDB\xD8\xE0\x35\xCB\x72\xE3\x72\x6E\xFE\x4C\x5B\xE1\xCD\x49\xE1\xDB\x6D\x8C\xF2\xDD\x49\xD6\x91\xDD\x83\xD4\xD1\x8B\xED\xD4\xE1\xD3\x2A\xD7\xEC\xE7\x55\x70\xCD\xEB\xE7\x40\x76\xEB\x6F\xD9\xE7\x30\x74\xD0\x01\xE9\xB7\x67\xE1\xD1\xEA\x8A\xE0\xEA\xE7\xE4\x8F\xD0\xE3\xEF\x47\x7B\xD9\xE6\xD7\xE8\x64\xFA\xE9\xDC\xED\x85\xCD\x75\xE6\xE4\x1A\x59\xDC\xE8\x6F\xC3\xC4\xFF\x3D\xD6\xBA\x49\xF4\xF0\xE5\xA8\xED\x4A\xE9\xD6\x33\x4E\xF2\xE5\xD6\x4E\xD7\xCE\xE7\x40\xD9\xC6\xE7\xEF\x46\xB9\xF7\xDF\xF5\xF1\x81\xE3\xF9\x45\xF8\xAB\x56\xF2\xDE\xF1\xBE\xFF\xD0\xF1\xED\xC2\xE6\xFB\xF2\x42\xEA\xFB\x9B\xF6\x40\xD4\xF0\x45\xFE\xE3\x9F\xC9\xD7\xFD\x40\xDD\x6D\x39\xE8\x4A\x7A\x23\xFD\x7C\x71\x20\x7C\x7F\x22\x01\xEF\x7C\x6A\xF1\x7B\x74\x81\xBD\x6E\x83\xEF\x38\x71\x77\xF4\x72\x7C\x79\xED\x63\x70\x04\x81\x25\x7E\xDD\x3F\x78\x00\xF9\x7D\x6F\x05\xC7\x61\x7B\xB9\x64\x87\x2A\xC7\x68\x72\xD9\x72\x79\x84\xD1\x6D\x23\x80\x04\x9F\x1D\x0B\xB1\x8F\x1E\x18\x84\x83\x81\x14\x89\x23\x0C\xFA\x73\x84\xF8\x4D\x3B", + "\x87\x04\x96\x86\xF2\x40\x8A\x78\x21\x84\x7A\x75\x46\x9A\x22\xEA\x75\x7B\x88\xB6\x2A\x72\x37\x4F\x8C\x2E\xBA\x3E\x80\x6A\x91\x3E\x81\x6A\x57\x98\x81\x42\x0C\x76\x8A\x2A\x95\x83\x20\xA1\x61\x80\xD4\x62\x87\x84\x9C\x7D\x78\x25\x65\x83\x20\xE3\x64\x89\x20\x36\x86\x26\x32\x66\x83\x20\x1C\x8D\x8F\x8D\xF2\x33\x88\x7F\x0A\x37\x8C\x07\xF9\x86\x8F\xF2\x10\x6F\x8F\x33\x74\x7E\x1F\x8A\x2E\x35\x84\x2A\x74\x3C\x3A\x8A\x20\x22\xD7\x89\x20\x3C\x25\x3D\x23\x81\x5E\x85\x07\x81\x99\x20\x49\x52\x91\x3D\x8C\x77\x4F\x25\xEB\x30\x6A\x04\x4C\x91\x21\x79\x03\x91\x42\x1E\x9F\x93\x81\x3A\x0D\x3C\x2D\x9F\x49\x29\x83\x2B\x0E\x54\x8A\x22\x95\xAB\x81\x20\x1F\x65\x39\x6A\x4E\x5B\x94\x4C\x8C\x79\x53\x2D\xCA\x4C\x07\x2B\x84\x89\x34\x8C\x89\x80\xC5\x1D\x21\x85\xD3\x1D\x89\x8E\x17\x6C\x93\x24\xBE\x88\x7D\x97\x4C\x91\x89\xB1\x3B\x26\x2B\x98\x7B\x3D\x8E\x01\x87\x39\xD6\x9D\x8C\x35\xE4\x4D\x98\x33\x5D\x25\x89\x12\x62\x91\xF0\x58\x9D\x20\x71\x89\x6D\x23\x2D\x82\x9B\x6C\x1D\x21\x41\x2D\xAA\x65\x23\xA1\x6A\x9D\x34\x8A\x2B\x40\x64\xB1\x6F\x34\x6E\x8A", + "\x49\x47\x24\x43\x9C\x8E\x7A\x88\x00\xF7\x35\x9A\x42\x2E\x41\x78\x26\x5B\x9A\x49\xAA\x7F\x97\x3A\xAF\x94\x92\x32\x44\x9C\x38\x0D\xBA\x9E\x42\x74\x47\xA0\x33\x59\x69\x6B\xE0\x8E\xA2\x42\x11\x96\x21\x62\xA1\x35\x85\x18\xAA\x22\x7F\x02\xA9\x20\x4A\x5D\xA1\x3D\x01\x81\xA5\x42\x04\xAA\xA3\x84\x3A\x97\xA4\xEB\x25\x90\x4C\x86\x28\x89\xF4\x1D\x26\x53\x15\xA1\x23\xA8\x39\xA0\x01\x45\xA8\x8E\x90\x69\x9E\x9A\x42\x29\x5C\xA7\x56\x7C\xA1\x3F\x3F\xA6\x22\x4F\x82\x22\xA6\x89\x89\x24\x56\xFD\x96\x61\x40\x01\xA4\xA6\x9B\xAF\x99\x3D\x48\xA2\x23\x48\xAD\xA6\x20\x5B\x51\xAE\x5D\x5B\xA3\x22\x81\x24\xA7\x9D\xF4\x21\xAA\x20\x54\xAE\xAA\x41\x38\x51\x78\x64\x7C\xA7\xAC\x08\x8A\x21\x3B\x86\x29\xAC\xA1\x89\x20\x5A\xC1\x72\x58\x4F\xF3\xA4\x8E\xB1\xBB\x3E\xAA\x09\x36\x5B\x57\x94\x64\x94\xBF\xA4\xAE\x99\xE9\x25\xB2\x40\x7C\xA6\xAF\xB2\xAB\x3D\x9E\x03\x2C\xA6\x5A\x83\x28\x5B\xC1\xA1\x62\xB2\x02\x2A\xA3\x3C\xDB\x51\xA2\x33\x63\xAB\xA6\x91\xBD\xB0\xC2\x1D\x23\x8A\xD0\xA6\x48\xB2\x78\x8B\xA6\x39\x93\xB2\x21\x7F\x7C\xA7\x39\x98\xA1\x21\xD6\x31", + "\xB0\x00\xB8\xB2\x55\x23\x0F\x6F\xB7\x68\x53\x4C\xA6\xDA\xB4\xB4\x9C\x09\x28\x66\x6E\xA5\x32\x4C\xD3\x81\x24\xB6\xBC\xBC\xA8\x62\xEB\x34\xB6\x68\x8C\x3D\x23\x3D\x02\xB4\x00\x3F\x02\xBA\x4D\x86\xB8\x00\xB4\xB7\x9B\x68\x1D\x21\x08\xE9\x83\x0A\xBA\x96\x97\xBA\x41\x86\x2A\xB3\xE7\x8A\x25\x08\xD2\xAF\x3B\xA5\x3C\xA3\xBD\xA4\xAC\xB1\x20\x47\x09\xBF\x68\x36\x92\xBD\xD5\x8D\xB3\x20\x49\x12\xBD\x69\x21\x5C\xBC\x91\x80\xB6\x20\x4B\x1A\xBF\x69\x27\x5D\xBE\xD5\x87\xB2\x20\x4D\x02\xC1\x68\x2B\x55\xC1\xAF\x3F\xBB\x20\x4F\x12\xB9\x14\x52\xB0\x57\x06\xDC\x7F\xC1\x02\x33\x0A\x74\xD5\x02\xBA\xAF\x97\xB9\xB9\x03\x3C\x9E\x72\x82\x27\x0B\x94\x49\x20\x96\x03\x20\xC7\x7D\xC9\x99\x3C\x14\xC2\x25\xBD\x2B\xD7\x9C\xC5\x45\xB4\x74\x0C\xC1\x20\x0B\x0A\xD3\x36\x5B\xF6\x90\x00\x1A\xE9\xB3\xC4\x01\x3A\x09\x8E\xB1\x3A\x59\xE0\x7E\xC3\x8F\x07\xC1\x20\x17\x43\xCC\x38\xBC\xBC\xC7\xC8\xB5\xB6\xC4\x00\x5E\x0C\xC9\x8E\x3A\xAF\xC9\x03\xB2\xC8\x18\x55\xCA\x20\x6A\x46\xCA\x21\xCE\xAC\x92\x18\x52\xB4\x0C\xE9\x82\xB0\xCB\x6D\x92\xCA\x19\x52\xB8\x0C\xE9", + "\x95\xB4\xC7\xD6\xA3\x20\x45\xC0\xC0\x00\x35\x1C\xCB\x3D\x1C\xB2\xCE\x94\xEC\x07\xCE\x32\x61\xBA\xCF\x49\xC0\x02\x1B\x7D\xCA\x48\x93\x83\x26\xB6\xC0\xA6\x20\x1C\x04\xD2\x20\x6E\x41\x7E\xD0\x02\x3F\xB7\x76\x8A\x22\x0E\x46\xC1\x26\x5B\xC1\x6F\xA6\xA5\x52\xC4\x0E\x4B\xF2\x54\xBE\x9B\xC1\xD2\x1D\x1E\xDF\x38\x9C\xB0\x78\x9B\x4A\x72\x9A\x2F\x8C\x9A\x8B\xE0\x65\x92\x9E\x34\x30\xD7\x3F\x55\x87\x98\xF8\x74\xD5\xCA\x1E\xA0\x7C\xAB\xBB\xD9\x8A\x65\x8A\x33\x7F\x5C\x8A\xD7\x2E\xB5\x71\xD9\x2F\x81\x3D\xBC\x32\x92\xBB\xEA\x0C\x99\x9C\x78\x8A\x36\xB9\x35\x8F\x91\xE8\x1F\x90", + }; + vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); + } - const wchar_t* ParserRuleName(vl::vint index) - { - static const wchar_t* results[] = { - L"JLiteral", - L"JField", - L"JObject", - L"JArray", - L"JValue", - L"JRoot", - }; - return results[index]; - } + const wchar_t* ParserRuleName(vl::vint index) + { + static const wchar_t* results[] = { + L"JLiteral", + L"JField", + L"JObject", + L"JArray", + L"JValue", + L"JRoot", + }; + return results[index]; + } - const wchar_t* ParserStateLabel(vl::vint index) - { - static const wchar_t* results[] = { - L"[0][JLiteral] BEGIN ", - L"[1][JLiteral] END [ENDING]", - L"[2][JLiteral]< \"false\" @ >", - L"[3][JLiteral]< \"null\" @ >", - L"[4][JLiteral]< \"true\" @ >", - L"[5][JLiteral]< NUMBER @ >", - L"[6][JLiteral]< STRING @ >", - L"[7][JField] BEGIN ", - L"[8][JField] END [ENDING]", - L"[9][JField]< STRING \":\" @ JValue >", - L"[10][JField]< STRING \":\" JValue @ >", - L"[11][JField]< STRING @ \":\" JValue >", - L"[12][JObject] BEGIN ", - L"[13][JObject] END [ENDING]", - L"[14][JObject]< \"{\" @ { JField ; \",\" } \"}\" >", - L"[15][JObject]< \"{\" { JField ; \",\" @ } \"}\" >", - L"[16][JObject]< \"{\" { JField ; \",\" } \"}\" @ >", - L"[17][JObject]< \"{\" { JField @ ; \",\" } \"}\" >", - L"[18][JArray] BEGIN ", - L"[19][JArray] END [ENDING]", - L"[20][JArray]< \"[\" @ { JValue ; \",\" } \"]\" >", - L"[21][JArray]< \"[\" { JValue ; \",\" @ } \"]\" >", - L"[22][JArray]< \"[\" { JValue ; \",\" } \"]\" @ >", - L"[23][JArray]< \"[\" { JValue @ ; \",\" } \"]\" >", - L"[24][JValue] BEGIN ", - L"[25][JValue] END [ENDING]", - L"[26][JValue]<< !JArray @ >>", - L"[27][JValue]<< !JLiteral @ >>", - L"[28][JValue]<< !JObject @ >>", - L"[29][JRoot] BEGIN ", - L"[30][JRoot] END [ENDING]", - L"[31][JRoot]<< !JArray @ >>", - L"[32][JRoot]<< !JObject @ >>", - }; - return results[index]; - } + const wchar_t* ParserStateLabel(vl::vint index) + { + static const wchar_t* results[] = { + L"[0][JLiteral] BEGIN ", + L"[1][JLiteral] END [ENDING]", + L"[2][JLiteral]< \"false\" @ >", + L"[3][JLiteral]< \"null\" @ >", + L"[4][JLiteral]< \"true\" @ >", + L"[5][JLiteral]< NUMBER @ >", + L"[6][JLiteral]< STRING @ >", + L"[7][JField] BEGIN ", + L"[8][JField] END [ENDING]", + L"[9][JField]< STRING \":\" @ JValue >", + L"[10][JField]< STRING \":\" JValue @ >", + L"[11][JField]< STRING @ \":\" JValue >", + L"[12][JObject] BEGIN ", + L"[13][JObject] END [ENDING]", + L"[14][JObject]< \"{\" @ { JField ; \",\" } \"}\" >", + L"[15][JObject]< \"{\" { JField ; \",\" @ } \"}\" >", + L"[16][JObject]< \"{\" { JField ; \",\" } \"}\" @ >", + L"[17][JObject]< \"{\" { JField @ ; \",\" } \"}\" >", + L"[18][JArray] BEGIN ", + L"[19][JArray] END [ENDING]", + L"[20][JArray]< \"[\" @ { JValue ; \",\" } \"]\" >", + L"[21][JArray]< \"[\" { JValue ; \",\" @ } \"]\" >", + L"[22][JArray]< \"[\" { JValue ; \",\" } \"]\" @ >", + L"[23][JArray]< \"[\" { JValue @ ; \",\" } \"]\" >", + L"[24][JValue] BEGIN ", + L"[25][JValue] END [ENDING]", + L"[26][JValue]<< !JArray @ >>", + L"[27][JValue]<< !JLiteral @ >>", + L"[28][JValue]<< !JObject @ >>", + L"[29][JRoot] BEGIN ", + L"[30][JRoot] END [ENDING]", + L"[31][JRoot]<< !JArray @ >>", + L"[32][JRoot]<< !JObject @ >>", + }; + return results[index]; + } - Parser::Parser() - : vl::glr::ParserBase(&JsonTokenDeleter, &JsonLexerData, &JsonParserData) - { - }; + Parser::Parser() + : vl::glr::ParserBase(&JsonTokenDeleter, &JsonLexerData, &JsonParserData) + { + } - vl::vint32_t Parser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const - { - return -1; - }; + vl::WString Parser::GetClassName(vl::vint32_t classIndex) const + { + return vl::WString::Unmanaged(JsonTypeName((JsonClasses)classIndex)); + } - vl::Ptr Parser::ParseJRoot(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); - }; + vl::vint32_t Parser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const + { + return -1; + } - vl::Ptr Parser::ParseJRoot(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; - } + vl::Ptr Parser::ParseJRoot(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } + + vl::Ptr Parser::ParseJRoot(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); } } @@ -2333,150 +2275,144 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::json { - namespace glr - { - namespace json - { /*********************************************************************** JsonAstInsReceiver : public vl::glr::AstInsReceiverBase ***********************************************************************/ - vl::Ptr JsonAstInsReceiver::CreateAstNode(vl::vint32_t type) - { - auto cppTypeName = JsonCppTypeName((JsonClasses)type); - switch((JsonClasses)type) - { - case JsonClasses::Array: - return vl::Ptr(new vl::glr::json::JsonArray); - case JsonClasses::Literal: - return vl::Ptr(new vl::glr::json::JsonLiteral); - case JsonClasses::Number: - return vl::Ptr(new vl::glr::json::JsonNumber); - case JsonClasses::Object: - return vl::Ptr(new vl::glr::json::JsonObject); - case JsonClasses::ObjectField: - return vl::Ptr(new vl::glr::json::JsonObjectField); - case JsonClasses::String: - return vl::Ptr(new vl::glr::json::JsonString); - default: - return vl::glr::AssemblyThrowCannotCreateAbstractType(type, cppTypeName); - } - } - - void JsonAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) - { - auto cppFieldName = JsonCppFieldName((JsonFields)field); - switch((JsonFields)field) - { - case JsonFields::Array_items: - return vl::glr::AssemblerSetObjectField(&vl::glr::json::JsonArray::items, object, field, value, cppFieldName); - case JsonFields::Object_fields: - return vl::glr::AssemblerSetObjectField(&vl::glr::json::JsonObject::fields, object, field, value, cppFieldName); - case JsonFields::ObjectField_value: - return vl::glr::AssemblerSetObjectField(&vl::glr::json::JsonObjectField::value, object, field, value, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotObject(field, cppFieldName); - } - } - - void JsonAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) - { - auto cppFieldName = JsonCppFieldName((JsonFields)field); - switch((JsonFields)field) - { - case JsonFields::Number_content: - return vl::glr::AssemblerSetTokenField(&vl::glr::json::JsonNumber::content, object, field, token, tokenIndex, cppFieldName); - case JsonFields::ObjectField_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::json::JsonObjectField::name, object, field, token, tokenIndex, cppFieldName); - case JsonFields::String_content: - return vl::glr::AssemblerSetTokenField(&vl::glr::json::JsonString::content, object, field, token, tokenIndex, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotToken(field, cppFieldName); - } - } - - void JsonAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) - { - auto cppFieldName = JsonCppFieldName((JsonFields)field); - switch((JsonFields)field) - { - case JsonFields::Literal_value: - return vl::glr::AssemblerSetEnumField(&vl::glr::json::JsonLiteral::value, object, field, enumItem, weakAssignment, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); - } - } - - const wchar_t* JsonTypeName(JsonClasses type) - { - const wchar_t* results[] = { - L"Array", - L"Literal", - L"Node", - L"Number", - L"Object", - L"ObjectField", - L"String", - }; - vl::vint index = (vl::vint)type; - return 0 <= index && index < 7 ? results[index] : nullptr; - } - - const wchar_t* JsonCppTypeName(JsonClasses type) - { - const wchar_t* results[] = { - L"vl::glr::json::JsonArray", - L"vl::glr::json::JsonLiteral", - L"vl::glr::json::JsonNode", - L"vl::glr::json::JsonNumber", - L"vl::glr::json::JsonObject", - L"vl::glr::json::JsonObjectField", - L"vl::glr::json::JsonString", - }; - vl::vint index = (vl::vint)type; - return 0 <= index && index < 7 ? results[index] : nullptr; - } - - const wchar_t* JsonFieldName(JsonFields field) - { - const wchar_t* results[] = { - L"Array::items", - L"Literal::value", - L"Number::content", - L"Object::fields", - L"ObjectField::name", - L"ObjectField::value", - L"String::content", - }; - vl::vint index = (vl::vint)field; - return 0 <= index && index < 7 ? results[index] : nullptr; - } - - const wchar_t* JsonCppFieldName(JsonFields field) - { - const wchar_t* results[] = { - L"vl::glr::json::JsonArray::items", - L"vl::glr::json::JsonLiteral::value", - L"vl::glr::json::JsonNumber::content", - L"vl::glr::json::JsonObject::fields", - L"vl::glr::json::JsonObjectField::name", - L"vl::glr::json::JsonObjectField::value", - L"vl::glr::json::JsonString::content", - }; - vl::vint index = (vl::vint)field; - return 0 <= index && index < 7 ? results[index] : nullptr; - } - - vl::Ptr JsonAstInsReceiver::ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) - { - auto cppTypeName = JsonCppTypeName((JsonClasses)type); - return vl::glr::AssemblyThrowTypeNotAllowAmbiguity(type, cppTypeName); - } + vl::Ptr JsonAstInsReceiver::CreateAstNode(vl::vint32_t type) + { + auto cppTypeName = JsonCppTypeName((JsonClasses)type); + switch((JsonClasses)type) + { + case JsonClasses::Array: + return vl::Ptr(new vl::glr::json::JsonArray); + case JsonClasses::Literal: + return vl::Ptr(new vl::glr::json::JsonLiteral); + case JsonClasses::Number: + return vl::Ptr(new vl::glr::json::JsonNumber); + case JsonClasses::Object: + return vl::Ptr(new vl::glr::json::JsonObject); + case JsonClasses::ObjectField: + return vl::Ptr(new vl::glr::json::JsonObjectField); + case JsonClasses::String: + return vl::Ptr(new vl::glr::json::JsonString); + default: + return vl::glr::AssemblyThrowCannotCreateAbstractType(type, cppTypeName); } } + + void JsonAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) + { + auto cppFieldName = JsonCppFieldName((JsonFields)field); + switch((JsonFields)field) + { + case JsonFields::Array_items: + return vl::glr::AssemblerSetObjectField(&vl::glr::json::JsonArray::items, object, field, value, cppFieldName); + case JsonFields::Object_fields: + return vl::glr::AssemblerSetObjectField(&vl::glr::json::JsonObject::fields, object, field, value, cppFieldName); + case JsonFields::ObjectField_value: + return vl::glr::AssemblerSetObjectField(&vl::glr::json::JsonObjectField::value, object, field, value, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotObject(field, cppFieldName); + } + } + + void JsonAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) + { + auto cppFieldName = JsonCppFieldName((JsonFields)field); + switch((JsonFields)field) + { + case JsonFields::Number_content: + return vl::glr::AssemblerSetTokenField(&vl::glr::json::JsonNumber::content, object, field, token, tokenIndex, cppFieldName); + case JsonFields::ObjectField_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::json::JsonObjectField::name, object, field, token, tokenIndex, cppFieldName); + case JsonFields::String_content: + return vl::glr::AssemblerSetTokenField(&vl::glr::json::JsonString::content, object, field, token, tokenIndex, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotToken(field, cppFieldName); + } + } + + void JsonAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) + { + auto cppFieldName = JsonCppFieldName((JsonFields)field); + switch((JsonFields)field) + { + case JsonFields::Literal_value: + return vl::glr::AssemblerSetEnumField(&vl::glr::json::JsonLiteral::value, object, field, enumItem, weakAssignment, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); + } + } + + const wchar_t* JsonTypeName(JsonClasses type) + { + const wchar_t* results[] = { + L"Array", + L"Literal", + L"Node", + L"Number", + L"Object", + L"ObjectField", + L"String", + }; + vl::vint index = (vl::vint)type; + return 0 <= index && index < 7 ? results[index] : nullptr; + } + + const wchar_t* JsonCppTypeName(JsonClasses type) + { + const wchar_t* results[] = { + L"vl::glr::json::JsonArray", + L"vl::glr::json::JsonLiteral", + L"vl::glr::json::JsonNode", + L"vl::glr::json::JsonNumber", + L"vl::glr::json::JsonObject", + L"vl::glr::json::JsonObjectField", + L"vl::glr::json::JsonString", + }; + vl::vint index = (vl::vint)type; + return 0 <= index && index < 7 ? results[index] : nullptr; + } + + const wchar_t* JsonFieldName(JsonFields field) + { + const wchar_t* results[] = { + L"Array::items", + L"Literal::value", + L"Number::content", + L"Object::fields", + L"ObjectField::name", + L"ObjectField::value", + L"String::content", + }; + vl::vint index = (vl::vint)field; + return 0 <= index && index < 7 ? results[index] : nullptr; + } + + const wchar_t* JsonCppFieldName(JsonFields field) + { + const wchar_t* results[] = { + L"vl::glr::json::JsonArray::items", + L"vl::glr::json::JsonLiteral::value", + L"vl::glr::json::JsonNumber::content", + L"vl::glr::json::JsonObject::fields", + L"vl::glr::json::JsonObjectField::name", + L"vl::glr::json::JsonObjectField::value", + L"vl::glr::json::JsonString::content", + }; + vl::vint index = (vl::vint)field; + return 0 <= index && index < 7 ? results[index] : nullptr; + } + + vl::Ptr JsonAstInsReceiver::ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) + { + auto cppTypeName = JsonCppTypeName((JsonClasses)type); + return vl::glr::AssemblyThrowTypeNotAllowAmbiguity(type, cppTypeName); + } } @@ -2490,99 +2426,93 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::json { - namespace glr + bool JsonTokenDeleter(vl::vint token) { - namespace json + switch((JsonTokens)token) { - bool JsonTokenDeleter(vl::vint token) - { - switch((JsonTokens)token) - { - case JsonTokens::SPACE: - return true; - default: - return false; - } - } - - const wchar_t* JsonTokenId(JsonTokens token) - { - static const wchar_t* results[] = { - L"TRUE_VALUE", - L"FALSE_VALUE", - L"NULL_VALUE", - L"OBJOPEN", - L"OBJCLOSE", - L"ARROPEN", - L"ARRCLOSE", - L"COMMA", - L"COLON", - L"NUMBER", - L"STRING", - L"SPACE", - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < JsonTokenCount ? results[index] : nullptr; - } - - const wchar_t* JsonTokenDisplayText(JsonTokens token) - { - static const wchar_t* results[] = { - L"true", - L"false", - L"null", - L"{", - L"}", - L"[", - L"]", - L",", - L":", - nullptr, - nullptr, - nullptr, - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < JsonTokenCount ? results[index] : nullptr; - } - - const wchar_t* JsonTokenRegex(JsonTokens token) - { - static const wchar_t* results[] = { - L"true", - L"false", - L"null", - L"\\{", - L"\\}", - L"\\[", - L"\\]", - L",", - L":", - L"[\\-]?\\d+(.\\d+)?([eE][+\\-]?\\d+)?", - L"\"([^\\\\\"]|\\\\[^u]|\\\\u\\d{4})*\"", - L"\\s+", - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < JsonTokenCount ? results[index] : nullptr; - } - - void JsonLexerData(vl::stream::IStream& outputStream) - { - static const vl::vint dataLength = 690; // 7754 bytes before compressing - static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 178; - static const vl::vint dataSolidRows = 2; - static const vl::vint dataRows = 3; - static const char* compressed[] = { - "\x4A\x1E\x00\x00\xAA\x02\x00\x00\x2A\x00\x01\xAB\x01\x84\x81\x80\x81\x80\x01\x04\x88\x04\x89\x04\x84\x82\x05\x0F\x84\x8B\x04\x8C\x04\x81\x06\x8B\x04\x8E\x04\x9F\x04\x80\x11\x8E\x82\x21\x20\x84\x82\x13\x94\x83\x10\x82\x07\x80\x03\x82\x84\x84\x15\x96\x82\x2D\x30\x84\x8E\x13\x9C\x83\x16\x9B\x04\xB0\x04\x99\x14\x82\x1D\x9E\x82\x3B\x04\x84\x24\x85\x24\xA0\x82\x23\x04\xDA\x04\x9B\x2B\xA4\x80\x2E\xA7\x04\xDD\x11\xA4\x8E\x2C\x80\x30\x82\x61\x58\x84\x82\x34\x84\x30\x83\x32\x5F\x84\xA6\x22\xB4\x87\x30\x83\x35\x04\xEC\x29\xA4\x8D\x34\xB4\x82\x37\x6F\x84\xAF\x24\x81\x3C\x82\x38\xBB\x04\xF3\x39\xA4\x84\x3C\xBC\x83\x3A\x7F\x84\xB6\x24\x8A\x3C\x83\x3C\xC3\x04\xFC\x09\xC4\x8D\x3C\xC4\x82\x3F\x04\xFF\x7F\x70\x00\x02\xCA\xC9\x8B\x01\x98\xD5\xD6\xCA\xCE\xCB\x7F\xCE\x96\x95\x81\x9E\xCE\xCB\x85\x80\x88\xA3\xA4\xD2\xD3\x81\x85\x85\xD4\xD5\x9E\x86\x11\xD6\xC7\x03\xD8\xD8\xD8\x02\x36\xF7\xDF\x73\x02\xDF\xDB\x84\xAF\xA4\xC4\x1A\xD5\x06\xDF\xDD\xE3\xC8\xC9\xCA\xEB\xEC\xE5\xE6\xE7\xE7\x1A\xC1\xCF\xF3\xE4\xED\xEA\xEB\xEB\xA4\x8F\x06\xF8", - "\xEC\xED\xEE\xEF\xEF\xE0\xE1\xD5\xF4\xC2\xEA\xF2\xF3\xF3\xE8\xE9\xEA\xEB\xFC\xF5\xF6\xF7\xF7\xF0\xF1\xF2\xF3\xF4\xFD\xFA\xFB\xFB\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xF4\xD6\x9B\x7E\x72\x83\x7C\x12\x3A\x61\x07\x76\xFF\x13\x08\x80\x75\x0A\xA5\x73\x80\x05\x04\x50\x81\x42\x84\x00\x14\x86\x85\x84\x18\x81\x46\x05\x86\x15\x9C\x87\x87\x84\x1E\xA1\x80\x8B\x88\x00\x15\x02\x89\x87\x24\x9F\x88\x8B\x8A\x2A\xAD\x87\x8A\x8B\x29\x88\x87\x04\x41\x33\x81\x75\x8D\x80\xFF\x37\x83\x83\x8E\x3C\xBD\x88\x7C\x06\x0B\xBE\x82\x92\x6A\x19\x01\x93\x93\x91\xE0\x5A\x06\x90\x92\xDE\x45\x81\x73\x81\x0E\x89\x8B\x91\x73\x0D\xB8\x8C\x93\x7E\x1B\x13\x97\x94\x93\x1C\x3A\x6D\x95\x94\x1D\x1A\x9B\x94\x77\x30\xAC\x8F\x88\x41\x1B\xB1\x8A\x9A\x99\x6B\xA5\x94\x86\x89\x6D\xA7\x91\x9F\x9C\x6C\xB5\x9E\x9A\x6E\x1E\x04\x49\x9D\x40\x7B\x80\x0D\x9F\x9F\x7A\x81\xAC\x9E\xA0\x7E\x84\xA0\xA3\xA0\x88\x85\xA9\xA3\xA1\x8A\x8D\xAC\xA3\xA3\x86\x91\xAB\xA2\xA4\x8D\x9C\x43\xA7\xA5\x8D\xA3\x9A\xA5\x7B\x37\xBA\x86\x66\xA7\x92\x60\xAB\xA7\xA8\xA4\x9D\x7E\x45\x94\xA5\xA9\xAF\x79\x48", - "\xA8\xAA\xAE\x8C\x49\xAD\xAE\xA8\x77\x49\x51\x95\x9F\x76\xAD\xB2\xB2\x71\x99\xAC\xB9\xAA\xA4\x0A\x98\xBD\x89\x77\x9C\x9D\x14\xA9\x96\x9E\x9C\xC7\xB4\x90\x9D\xB2\xCC\x83\xBD\xB0\xB2\x65\x83\x95\x08\xB0\xC1\x95\xB6\xB7\xB5\xE8\x66\x04\xB4\xB6\xDC\x9D\xBF\x70\xAD\x56\x96\x68\xAD\x77\xE3\x9E\xB6\x7B\xAF\xBC\xA6\xB8\x93\x09\xDB\xAA\xBE\xBB\xBB\xF4\x68\x0D\xB8\xBC\xFD\x69\x03\xBD\xB7\xCE\x8E\xB6\xB1\xBE\xD0\x88\xBB\xB0\xBF\xC4\xBD\xB1\xC0\x9D\x9E\x70\x3B\x0A\x30\x28\x12\x59\x49\x41\xA2\x40\x0D\xC1\xC3\xBD\x41\x43\x71\x40\xC5\x41\x42\x6D\x40\xB5\x41\x46\x6A\xC3\x0E\x41\x4D\xC0\x80\x0F\xD4\x4D\xC4\xC7\x1E\xE2\xC5\xCB\x69\x12\x66\xC4\xCB\xCA\xAE\x6C\xCA\xC9\xC3\x0C\xC4\x49\x6D\x6B\x23\xCD\xC0\x73\xCA\x21\xC1\x40", - }; - vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); - } + case JsonTokens::SPACE: + return true; + default: + return false; } } + + const wchar_t* JsonTokenId(JsonTokens token) + { + static const wchar_t* results[] = { + L"TRUE_VALUE", + L"FALSE_VALUE", + L"NULL_VALUE", + L"OBJOPEN", + L"OBJCLOSE", + L"ARROPEN", + L"ARRCLOSE", + L"COMMA", + L"COLON", + L"NUMBER", + L"STRING", + L"SPACE", + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < JsonTokenCount ? results[index] : nullptr; + } + + const wchar_t* JsonTokenDisplayText(JsonTokens token) + { + static const wchar_t* results[] = { + L"true", + L"false", + L"null", + L"{", + L"}", + L"[", + L"]", + L",", + L":", + nullptr, + nullptr, + nullptr, + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < JsonTokenCount ? results[index] : nullptr; + } + + const wchar_t* JsonTokenRegex(JsonTokens token) + { + static const wchar_t* results[] = { + L"true", + L"false", + L"null", + L"\\{", + L"\\}", + L"\\[", + L"\\]", + L",", + L":", + L"[\\-]?\\d+(.\\d+)?([eE][+\\-]?\\d+)?", + L"\"([^\\\\\"]|\\\\[^u]|\\\\u\\d{4})*\"", + L"\\s+", + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < JsonTokenCount ? results[index] : nullptr; + } + + void JsonLexerData(vl::stream::IStream& outputStream) + { + static const vl::vint dataLength = 690; // 7754 bytes before compressing + static const vl::vint dataBlock = 256; + static const vl::vint dataRemain = 178; + static const vl::vint dataSolidRows = 2; + static const vl::vint dataRows = 3; + static const char* compressed[] = { + "\x4A\x1E\x00\x00\xAA\x02\x00\x00\x2A\x00\x01\xAB\x01\x84\x81\x80\x81\x80\x01\x04\x88\x04\x89\x04\x84\x82\x05\x0F\x84\x8B\x04\x8C\x04\x81\x06\x8B\x04\x8E\x04\x9F\x04\x80\x11\x8E\x82\x21\x20\x84\x82\x13\x94\x83\x10\x82\x07\x80\x03\x82\x84\x84\x15\x96\x82\x2D\x30\x84\x8E\x13\x9C\x83\x16\x9B\x04\xB0\x04\x99\x14\x82\x1D\x9E\x82\x3B\x04\x84\x24\x85\x24\xA0\x82\x23\x04\xDA\x04\x9B\x2B\xA4\x80\x2E\xA7\x04\xDD\x11\xA4\x8E\x2C\x80\x30\x82\x61\x58\x84\x82\x34\x84\x30\x83\x32\x5F\x84\xA6\x22\xB4\x87\x30\x83\x35\x04\xEC\x29\xA4\x8D\x34\xB4\x82\x37\x6F\x84\xAF\x24\x81\x3C\x82\x38\xBB\x04\xF3\x39\xA4\x84\x3C\xBC\x83\x3A\x7F\x84\xB6\x24\x8A\x3C\x83\x3C\xC3\x04\xFC\x09\xC4\x8D\x3C\xC4\x82\x3F\x04\xFF\x7F\x70\x00\x02\xCA\xC9\x8B\x01\x98\xD5\xD6\xCA\xCE\xCB\x7F\xCE\x96\x95\x81\x9E\xCE\xCB\x85\x80\x88\xA3\xA4\xD2\xD3\x81\x85\x85\xD4\xD5\x9E\x86\x11\xD6\xC7\x03\xD8\xD8\xD8\x02\x36\xF7\xDF\x73\x02\xDF\xDB\x84\xAF\xA4\xC4\x1A\xD5\x06\xDF\xDD\xE3\xC8\xC9\xCA\xEB\xEC\xE5\xE6\xE7\xE7\x1A\xC1\xCF\xF3\xE4\xED\xEA\xEB\xEB\xA4\x8F\x06\xF8", + "\xEC\xED\xEE\xEF\xEF\xE0\xE1\xD5\xF4\xC2\xEA\xF2\xF3\xF3\xE8\xE9\xEA\xEB\xFC\xF5\xF6\xF7\xF7\xF0\xF1\xF2\xF3\xF4\xFD\xFA\xFB\xFB\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xF4\xD6\x9B\x7E\x72\x83\x7C\x12\x3A\x61\x07\x76\xFF\x13\x08\x80\x75\x0A\xA5\x73\x80\x05\x04\x50\x81\x42\x84\x00\x14\x86\x85\x84\x18\x81\x46\x05\x86\x15\x9C\x87\x87\x84\x1E\xA1\x80\x8B\x88\x00\x15\x02\x89\x87\x24\x9F\x88\x8B\x8A\x2A\xAD\x87\x8A\x8B\x29\x88\x87\x04\x41\x33\x81\x75\x8D\x80\xFF\x37\x83\x83\x8E\x3C\xBD\x88\x7C\x06\x0B\xBE\x82\x92\x6A\x19\x01\x93\x93\x91\xE0\x5A\x06\x90\x92\xDE\x45\x81\x73\x81\x0E\x89\x8B\x91\x73\x0D\xB8\x8C\x93\x7E\x1B\x13\x97\x94\x93\x1C\x3A\x6D\x95\x94\x1D\x1A\x9B\x94\x77\x30\xAC\x8F\x88\x41\x1B\xB1\x8A\x9A\x99\x6B\xA5\x94\x86\x89\x6D\xA7\x91\x9F\x9C\x6C\xB5\x9E\x9A\x6E\x1E\x04\x49\x9D\x40\x7B\x80\x0D\x9F\x9F\x7A\x81\xAC\x9E\xA0\x7E\x84\xA0\xA3\xA0\x88\x85\xA9\xA3\xA1\x8A\x8D\xAC\xA3\xA3\x86\x91\xAB\xA2\xA4\x8D\x9C\x43\xA7\xA5\x8D\xA3\x9A\xA5\x7B\x37\xBA\x86\x66\xA7\x92\x60\xAB\xA7\xA8\xA4\x9D\x7E\x45\x94\xA5\xA9\xAF\x79\x48", + "\xA8\xAA\xAE\x8C\x49\xAD\xAE\xA8\x77\x49\x51\x95\x9F\x76\xAD\xB2\xB2\x71\x99\xAC\xB9\xAA\xA4\x0A\x98\xBD\x89\x77\x9C\x9D\x14\xA9\x96\x9E\x9C\xC7\xB4\x90\x9D\xB2\xCC\x83\xBD\xB0\xB2\x65\x83\x95\x08\xB0\xC1\x95\xB6\xB7\xB5\xE8\x66\x04\xB4\xB6\xDC\x9D\xBF\x70\xAD\x56\x96\x68\xAD\x77\xE3\x9E\xB6\x7B\xAF\xBC\xA6\xB8\x93\x09\xDB\xAA\xBE\xBB\xBB\xF4\x68\x0D\xB8\xBC\xFD\x69\x03\xBD\xB7\xCE\x8E\xB6\xB1\xBE\xD0\x88\xBB\xB0\xBF\xC4\xBD\xB1\xC0\x9D\x9E\x70\x3B\x0A\x30\x28\x12\x59\x49\x41\xA2\x40\x0D\xC1\xC3\xBD\x41\x43\x71\x40\xC5\x41\x42\x6D\x40\xB5\x41\x46\x6A\xC3\x0E\x41\x4D\xC0\x80\x0F\xD4\x4D\xC4\xC7\x1E\xE2\xC5\xCB\x69\x12\x66\xC4\xCB\xCA\xAE\x6C\xCA\xC9\xC3\x0C\xC4\x49\x6D\x6B\x23\xCD\xC0\x73\xCA\x21\xC1\x40", + }; + vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); + } } @@ -3765,8 +3695,8 @@ PrepareTraceRoute state = TraceManagerState::PreparedTraceRoute; AllocateExecutionData(); - PartialExecuteTraces(); BuildAmbiguityStructures(); + PartialExecuteTraces(); #ifdef VCZH_DO_DEBUG_CHECK DebugCheckTraceExecData(); #endif @@ -3922,18 +3852,19 @@ BuildAmbiguityStructures { // find the latest forwardTrace of its commonForwardBranch and the forwardTrace of the predecessor NEW_MERGE_STACK_MAGIC_COUNTER; + auto magicCommonForward = MergeStack_MagicCounter; auto currentTrace = GetTrace(traceExec->branchData.commonForwardBranch); while (currentTrace) { - GetTraceExec(currentTrace->traceExecRef)->branchData.mergeCounter = MergeStack_MagicCounter; + GetTraceExec(currentTrace->traceExecRef)->branchData.mergeCounter = magicCommonForward; currentTrace = StepForward(currentTrace); } currentTrace = GetTrace(GetTraceExec(predecessor->traceExecRef)->branchData.forwardTrace); while (currentTrace) { - if (GetTraceExec(currentTrace->traceExecRef)->branchData.mergeCounter == MergeStack_MagicCounter) + if (GetTraceExec(currentTrace->traceExecRef)->branchData.mergeCounter == magicCommonForward) { break; } @@ -3993,6 +3924,7 @@ PartialExecuteTraces ); CalculateObjectFirstInstruction(); + CalculateObjectLastInstruction(); #undef ERROR_MESSAGE_PREFIX } } @@ -4003,6 +3935,10 @@ PartialExecuteTraces .\TRACEMANAGER\TMPTR_PARTIALEXECUTETRACES_CALCULATEOBJECTFIRSTINSTRUCTION.CPP ***********************************************************************/ +#if defined VCZH_MSVC && defined _DEBUG +#define VCZH_DO_DEBUG_CHECK +#endif + namespace vl { namespace glr @@ -4017,16 +3953,15 @@ namespace vl CalculateObjectFirstInstruction ***********************************************************************/ - bool TraceManager::UpdateTopTrace(Ref& topTrace, vint32_t& topIns, Ref newTrace, vint32_t newIns) + bool TraceManager::UpdateTopTrace(InsRef& topInsRef, InsRef newInsRef) { if ( - topTrace == nullref || - topTrace > newTrace || - (topTrace == newTrace && topIns > newIns) + topInsRef.trace == nullref || + topInsRef.trace > newInsRef.trace || + (topInsRef.trace == newInsRef.trace && topInsRef.ins > newInsRef.ins) ) { - topTrace = newTrace; - topIns = newIns; + topInsRef = newInsRef; return true; } else @@ -4035,7 +3970,7 @@ CalculateObjectFirstInstruction } } - void TraceManager::InjectFirstInstruction(Ref trace, vint32_t ins, Ref injectTargets, vuint64_t magicInjection) + void TraceManager::InjectFirstInstruction(InsRef insRef, Ref injectTargets, vuint64_t magicInjection) { auto objLinkRef = injectTargets; while (objLinkRef != nullref) @@ -4050,15 +3985,16 @@ CalculateObjectFirstInstruction // there will be only one top create instruction per object // even when object relationship is partial ordered // TODO: prove it - if (UpdateTopTrace(ieObject->topTrace, ieObject->topIns, trace, ins)) + if (UpdateTopTrace(ieObject->topInsRef, insRef)) { - InjectFirstInstruction(trace, ins, ieObject->injectObjectIds, magicInjection); + InjectFirstInstruction(insRef, ieObject->assignedToObjectIds, magicInjection); } } } void TraceManager::CalculateObjectFirstInstruction() { +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::CalculateObjectFirstInstruction()#" // check all individual objects { auto objRef = firstObject; @@ -4068,7 +4004,7 @@ CalculateObjectFirstInstruction objRef = ieObject->previous; // set the top local trace to its create trace - UpdateTopTrace(ieObject->topLocalTrace, ieObject->topLocalIns, ieObject->createTrace, ieObject->createIns); + UpdateTopTrace(ieObject->topLocalInsRef, ieObject->createInsRef); // check all DFA instructions auto insRefLinkId = ieObject->dfaInsRefs; @@ -4080,15 +4016,15 @@ CalculateObjectFirstInstruction // there will be only one top local create instruction per object // even when object relationship is partial ordered // TODO: prove it - UpdateTopTrace(ieObject->topLocalTrace, ieObject->topLocalIns, insRefLink->trace, insRefLink->ins); + UpdateTopTrace(ieObject->topLocalInsRef, insRefLink->insRef); } // set the top trace to its top local trace - UpdateTopTrace(ieObject->topTrace, ieObject->topIns, ieObject->topLocalTrace, ieObject->topLocalIns); + UpdateTopTrace(ieObject->topInsRef, ieObject->topLocalInsRef); } } - // check all inject into targets + // check all assigned to targets { auto objRef = firstObject; while (objRef != nullref) @@ -4099,9 +4035,179 @@ CalculateObjectFirstInstruction NEW_MERGE_STACK_MAGIC_COUNTER; auto magicInjection = MergeStack_MagicCounter; ieObject->mergeCounter = magicInjection; - InjectFirstInstruction(ieObject->topTrace, ieObject->topIns, ieObject->injectObjectIds, magicInjection); + InjectFirstInstruction(ieObject->topInsRef, ieObject->assignedToObjectIds, magicInjection); + +#ifdef VCZH_DO_DEBUG_CHECK + { + auto createTrace = GetTrace(ieObject->topInsRef.trace); + auto traceExec = GetTraceExec(createTrace->traceExecRef); + auto&& ins = ReadInstruction(ieObject->topInsRef.ins, traceExec->insLists); + CHECK_ERROR(ins.type == AstInsType::BeginObject || ins.type == AstInsType::DelayFieldAssignment, ERROR_MESSAGE_PREFIX L"The found instruction is not a BeginObject or DelayFieldAssignment instruction."); + } +#endif } } +#undef ERROR_MESSAGE_PREFIX + } + +#undef NEW_MERGE_STACK_MAGIC_COUNTER + } + } +} + +/*********************************************************************** +.\TRACEMANAGER\TMPTR_PARTIALEXECUTETRACES_CALCULATEOBJECTLASTINSTRUCTION.CPP +***********************************************************************/ + +#if defined VCZH_MSVC && defined _DEBUG +#define VCZH_DO_DEBUG_CHECK +#endif + +namespace vl +{ + namespace glr + { + namespace automaton + { + using namespace collections; + +#define NEW_MERGE_STACK_MAGIC_COUNTER (void)(MergeStack_MagicCounter++) + +/*********************************************************************** +CalculateObjectLastInstruction +***********************************************************************/ + + bool TraceManager::IsInTheSameBranch(Trace* forward, Trace* targetForwardAtFront) + { + while (true) + { + // if two forwards are the same + if (forward == targetForwardAtFront) + { + // then they are in the same branch + return true; + } + else if (forward->traceExecRef > targetForwardAtFront->traceExecRef) + { + // otherwise + auto forwardExec = GetTraceExec(forward->traceExecRef); + if (forwardExec->branchData.commonForwardBranch != nullref) + { + // if commonForwardBranch exists, this is a merge trace + auto commonForward = GetTrace(forwardExec->branchData.commonForwardBranch); + if (commonForward->traceExecRef < targetForwardAtFront->traceExecRef) + { + // is the merge trace is in front of the targetForwardAtFront + // check each branch + auto predecessorId = forward->predecessors.first; + while (predecessorId != nullref) + { + auto predecessor = GetTrace(predecessorId); + predecessorId = predecessor->predecessors.siblingNext; + + auto predecessorExec = GetTraceExec(predecessor->traceExecRef); + if (IsInTheSameBranch(GetTrace(predecessorExec->branchData.forwardTrace), targetForwardAtFront)) + { + return true; + } + } + + // targetForwardAtFront could be among them, but could not be in front of them + return false; + } + } + + // if commonForwardBranch doesn't contribute, look forward again + auto nextForward = GetTrace(forwardExec->branchData.forwardTrace); + if (nextForward == forward) + { + if (forward->predecessors.first == nullptr) + { + break; + } + else + { + forward = GetTrace(GetTraceExec(GetTrace(forward->predecessors.first)->traceExecRef)->branchData.forwardTrace); + } + } + else + { + forward = nextForward; + } + } + else + { + break; + } + } + return false; + } + + void TraceManager::CalculateObjectLastInstruction() + { +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::CalculateObjectLastInstruction()#" + // check all individual objects + { + auto objRef = firstObject; + while (objRef != nullref) + { + auto ieObject = GetInsExec_Object(objRef); + objRef = ieObject->previous; + + // all EndObject ending a BO/DFA are considered + // there is no "bottom EndObject" + // each EndObject should be in different branches + auto topLocalTrace = GetTrace(ieObject->topLocalInsRef.trace); + auto topLocalTraceExec = GetTraceExec(topLocalTrace->traceExecRef); + auto insExec = GetInsExec(topLocalTraceExec->insExecRefs.start + ieObject->topLocalInsRef.ins); + auto insRefLinkId = insExec->eoInsRefs; + + // get the branch where BO stays + auto createTrace = GetTrace(ieObject->createInsRef.trace); + auto createTraceExec = GetTraceExec(createTrace->traceExecRef); + auto createTraceForward = GetTrace(createTraceExec->branchData.forwardTrace); + + NEW_MERGE_STACK_MAGIC_COUNTER; + auto magicInsRef = MergeStack_MagicCounter; + + while (insRefLinkId != nullref) + { + auto insRefLink = GetInsExec_InsRefLink(insRefLinkId); + insRefLinkId = insRefLink->previous; + + auto bottomInsRef = insRefLink->insRef; + auto bottomTrace = GetTrace(bottomInsRef.trace); + auto bottomTraceExec = GetTraceExec(bottomTrace->traceExecRef); + auto bottomInsExec = GetInsExec(bottomTraceExec->insExecRefs.start + bottomInsRef.ins); + if (bottomInsExec->mergeCounter != magicInsRef) + { + bottomInsExec->mergeCounter = magicInsRef; + + // filter out any result that does not happen after ieObject->createTrace + // topLocalTrace could be a DFA created object, and multiple objects could share the same DFA object + // in some cases its eoInsRefs could pointing to EndObject of completely unrelated objects + // TODO: make it accurate + + if (IsInTheSameBranch(GetTrace(bottomTraceExec->branchData.forwardTrace), createTraceForward)) + { + PushInsRefLink(ieObject->bottomInsRefs, bottomInsRef); + } + } + +#ifdef VCZH_DO_DEBUG_CHECK + { + auto eoTrace = GetTrace(bottomInsRef.trace); + auto traceExec = GetTraceExec(eoTrace->traceExecRef); + auto&& ins = ReadInstruction(bottomInsRef.ins, traceExec->insLists); + CHECK_ERROR(ins.type == AstInsType::EndObject, ERROR_MESSAGE_PREFIX L"The found instruction is not a EndObject instruction."); + } +#endif + } + + CHECK_ERROR(ieObject->bottomInsRefs != nullref, ERROR_MESSAGE_PREFIX L"Cannot found bottom instructions for an object."); + } + } +#undef ERROR_MESSAGE_PREFIX } #undef NEW_MERGE_STACK_MAGIC_COUNTER @@ -4187,32 +4293,34 @@ MergeInsExecContext void TraceManager::PushInsRefLinkWithCounter(Ref& link, Ref comming) { + auto magicPush = MergeStack_MagicCounter; while (comming != nullref) { auto commingStack = GetInsExec_InsRefLink(comming); comming = commingStack->previous; - auto insTrace = GetTrace(commingStack->trace); + auto insTrace = GetTrace(commingStack->insRef.trace); auto insTraceExec = GetTraceExec(insTrace->traceExecRef); - auto insExec = GetInsExec(insTraceExec->insExecRefs.start + commingStack->ins); - if (insExec->mergeCounter == MergeStack_MagicCounter) continue; + auto insExec = GetInsExec(insTraceExec->insExecRefs.start + commingStack->insRef.ins); + if (insExec->mergeCounter == magicPush) continue; - insExec->mergeCounter = MergeStack_MagicCounter; - PushInsRefLink(link, commingStack->trace, commingStack->ins); + insExec->mergeCounter = magicPush; + PushInsRefLink(link, commingStack->insRef); } } void TraceManager::PushObjRefLinkWithCounter(Ref& link, Ref comming) { + auto magicPush = MergeStack_MagicCounter; while (comming != nullref) { auto commingStack = GetInsExec_ObjRefLink(comming); comming = commingStack->previous; auto ieObject = GetInsExec_Object(commingStack->id); - if (ieObject->mergeCounter == MergeStack_MagicCounter) continue; + if (ieObject->mergeCounter == magicPush) continue; - ieObject->mergeCounter = MergeStack_MagicCounter; + ieObject->mergeCounter = magicPush; PushObjRefLink(link, ieObject); } } @@ -4264,17 +4372,20 @@ MergeInsExecContext *pStackPrevious = newStack; pStackPrevious = &(newStack->previous); - // call this macro to create a one-time set for InsExec* - NEW_MERGE_STACK_MAGIC_COUNTER; - for (vint index = 0; index < stacks.Count(); index++) { - // do not visit the same stack object repeatly - if (stacks[index]->mergeCounter == MergeStack_MagicCounter) continue; - stacks[index]->mergeCounter = MergeStack_MagicCounter; - merge(newStack, stacks[index]); + // call this macro to create a one-time set for InsExec* + NEW_MERGE_STACK_MAGIC_COUNTER; + auto magicPush = MergeStack_MagicCounter; + for (vint index = 0; index < stacks.Count(); index++) + { + // do not visit the same stack object repeatly + if (stacks[index]->mergeCounter == magicPush) continue; + stacks[index]->mergeCounter = magicPush; + merge(newStack, stacks[index]); - // do not visit the same object repeatly - PushObjRefLinkWithCounter(newStack->objectIds, stacks[index]->objectIds); + // do not visit the same object repeatly + PushObjRefLinkWithCounter(newStack->objectIds, stacks[index]->objectIds); + } } // move to next level of stack objects @@ -4385,12 +4496,11 @@ PartialExecuteOrdinaryTrace } } - void TraceManager::PushInsRefLink(Ref& link, Ref trace, vint32_t ins) + void TraceManager::PushInsRefLink(Ref& link, InsRef insRef) { auto newLink = GetInsExec_InsRefLink(insExec_InsRefLinks.Allocate()); newLink->previous = link; - newLink->trace = trace; - newLink->ins = ins; + newLink->insRef = insRef; link = newLink; } @@ -4413,14 +4523,14 @@ PartialExecuteOrdinaryTrace { auto stack = GetInsExec_InsRefLink(first); first = stack->previous; - PushInsRefLink(newStack, stack->trace, stack->ins); + PushInsRefLink(newStack, stack->insRef); } while (second != nullref) { auto stack = GetInsExec_InsRefLink(second); second = stack->previous; - PushInsRefLink(newStack, stack->trace, stack->ins); + PushInsRefLink(newStack, stack->insRef); } return newStack; @@ -4450,40 +4560,44 @@ PartialExecuteOrdinaryTrace return newStack; } - void TraceManager::PushInjectObjectIdsSingleWithMagic(Ref container, Ref element) + void TraceManager::PushAssignedToObjectIdsSingleWithMagic(Ref fieldObjectIds, Ref assignedToTarget) { NEW_MERGE_STACK_MAGIC_COUNTER; - auto magicContainer = MergeStack_MagicCounter; + auto magicFieldObject = MergeStack_MagicCounter; - auto linkRef = container; + auto linkRef = fieldObjectIds; while (linkRef != nullref) { auto link = GetInsExec_ObjRefLink(linkRef); linkRef = link->previous; - auto ieContainerObject = GetInsExec_Object(link->id); - if (ieContainerObject->mergeCounter == magicContainer) continue; - ieContainerObject->mergeCounter = magicContainer; - PushObjRefLink(ieContainerObject->injectObjectIds, element); + if (link->id.handle == InsExec_Object::TokenOrEnumItemObjectId) + { + continue; + } + auto ieFieldObject = GetInsExec_Object(link->id); + if (ieFieldObject->mergeCounter == magicFieldObject) continue; + ieFieldObject->mergeCounter = magicFieldObject; + PushObjRefLink(ieFieldObject->assignedToObjectIds, assignedToTarget); } } - void TraceManager::PushInjectObjectIdsMultipleWithMagic(Ref container, Ref elements) + void TraceManager::PushAssignedToObjectIdsMultipleWithMagic(Ref fieldObjectIds, Ref assignedToTarget) { NEW_MERGE_STACK_MAGIC_COUNTER; auto magicElement = MergeStack_MagicCounter; - auto linkRef = elements; + auto linkRef = assignedToTarget; while (linkRef != nullref) { auto link = GetInsExec_ObjRefLink(linkRef); linkRef = link->previous; - auto ieElementObject = GetInsExec_Object(link->id); - if (ieElementObject->mergeCounter == magicElement) return; - ieElementObject->mergeCounter = magicElement; + auto ieAssignedToObject = GetInsExec_Object(link->id); + if (ieAssignedToObject->mergeCounter == magicElement) return; + ieAssignedToObject->mergeCounter = magicElement; - PushInjectObjectIdsSingleWithMagic(container, link->id); + PushAssignedToObjectIdsSingleWithMagic(fieldObjectIds, link->id); } } @@ -4539,12 +4653,11 @@ PartialExecuteOrdinaryTrace { // new object auto ieObject = NewObject(); - ieObject->createTrace = trace; - ieObject->createIns = insRef; + ieObject->createInsRef = { trace,insRef }; // new create stack auto ieCSTop = PushCreateStack(context); - PushInsRefLink(ieCSTop->createInsRefs, trace, insRef); + PushInsRefLink(ieCSTop->createInsRefs, ieObject->createInsRef); ieCSTop->stackBase = GetStackTop(context); PushObjRefLink(ieCSTop->objectIds, ieObject); @@ -4556,7 +4669,7 @@ PartialExecuteOrdinaryTrace { // new create stack auto ieCSTop = PushCreateStack(context); - PushInsRefLink(ieCSTop->createInsRefs, trace, insRef); + PushInsRefLink(ieCSTop->createInsRefs, { trace, insRef }); ieCSTop->stackBase = GetStackTop(context); } break; @@ -4571,8 +4684,8 @@ PartialExecuteOrdinaryTrace auto ieCSTop = GetInsExec_CreateStack(context.createStack); - // InsExec_Object::injectObjectIds - PushInjectObjectIdsMultipleWithMagic(ieCSTop->reverseInjectObjectIds, ieCSTop->objectIds); + // InsExec_Object::assignedToObjectIds + PushAssignedToObjectIdsMultipleWithMagic(ieCSTop->reverseAssignedToObjectIds, ieCSTop->objectIds); // reopen an object // ReopenObject in different branches could write to the same InsExec_CreateStack @@ -4585,27 +4698,30 @@ PartialExecuteOrdinaryTrace // the successor trace will be a merge trace taking all of the information NEW_MERGE_STACK_MAGIC_COUNTER; { - auto ref = ieCSTop->objectIds; - while (ref != nullref) + auto magicReopen = MergeStack_MagicCounter; { - auto link = GetInsExec_ObjRefLink(ref); - auto ieObject = GetInsExec_Object(link->id); - ieObject->mergeCounter = MergeStack_MagicCounter; - ref = link->previous; - } - } - { - auto ref = ieOSTop->objectIds; - while (ref != nullref) - { - auto link = GetInsExec_ObjRefLink(ref); - auto ieObject = GetInsExec_Object(link->id); - if (ieObject->mergeCounter != MergeStack_MagicCounter) + auto ref = ieCSTop->objectIds; + while (ref != nullref) { - ieObject->mergeCounter = MergeStack_MagicCounter; - PushObjRefLink(ieCSTop->objectIds, link->id); + auto link = GetInsExec_ObjRefLink(ref); + auto ieObject = GetInsExec_Object(link->id); + ieObject->mergeCounter = magicReopen; + ref = link->previous; + } + } + { + auto ref = ieOSTop->objectIds; + while (ref != nullref) + { + auto link = GetInsExec_ObjRefLink(ref); + auto ieObject = GetInsExec_Object(link->id); + if (ieObject->mergeCounter != magicReopen) + { + ieObject->mergeCounter = magicReopen; + PushObjRefLink(ieCSTop->objectIds, link->id); + } + ref = link->previous; } - ref = link->previous; } } @@ -4616,18 +4732,18 @@ PartialExecuteOrdinaryTrace insRefLinkId = insRefLink->previous; // check if the top create stack is from DFA - auto traceCSTop = GetTrace(insRefLink->trace); + auto traceCSTop = GetTrace(insRefLink->insRef.trace); auto traceExecCSTop = GetTraceExec(traceCSTop->traceExecRef); - CHECK_ERROR(ReadInstruction(insRefLink->ins, traceExecCSTop->insLists).type == AstInsType::DelayFieldAssignment, ERROR_MESSAGE_PREFIX L"DelayFieldAssignment is not submitted before ReopenObject."); + CHECK_ERROR(ReadInstruction(insRefLink->insRef.ins, traceExecCSTop->insLists).type == AstInsType::DelayFieldAssignment, ERROR_MESSAGE_PREFIX L"DelayFieldAssignment is not submitted before ReopenObject."); - auto insExecDfa = GetInsExec(traceExecCSTop->insExecRefs.start + insRefLink->ins); + auto insExecDfa = GetInsExec(traceExecCSTop->insExecRefs.start + insRefLink->insRef.ins); auto ref = ieOSTop->objectIds; while (ref != nullref) { auto link = GetInsExec_ObjRefLink(ref); auto ieObject = GetInsExec_Object(link->id); // InsExec_Object::dfaInsRefs - PushInsRefLink(ieObject->dfaInsRefs, insRefLink->trace, insRefLink->ins); + PushInsRefLink(ieObject->dfaInsRefs, insRefLink->insRef); // InsExec::objRefs PushObjRefLink(insExecDfa->objRefs, ieObject); ref = link->previous; @@ -4657,10 +4773,10 @@ PartialExecuteOrdinaryTrace auto insRefLink = GetInsExec_InsRefLink(insRefLinkId); insRefLinkId = insRefLink->previous; - auto traceCSTop = GetTrace(insRefLink->trace); + auto traceCSTop = GetTrace(insRefLink->insRef.trace); auto traceExecCSTop = GetTraceExec(traceCSTop->traceExecRef); - auto insExecCreate = GetInsExec(traceExecCSTop->insExecRefs.start + insRefLink->ins); - PushInsRefLink(insExecCreate->eoInsRefs, trace, insRef); + auto insExecCreate = GetInsExec(traceExecCSTop->insExecRefs.start + insRefLink->insRef.ins); + PushInsRefLink(insExecCreate->eoInsRefs, { trace, insRef }); } } break; @@ -4672,6 +4788,20 @@ PartialExecuteOrdinaryTrace auto ieObjTop = GetInsExec_ObjectStack(context.objectStack); context.objectStack = ieObjTop->previous; + + // InsExec_Object::assignedToObjectIds + if (context.createStack != nullref) + { + auto ieCSTop = GetInsExec_CreateStack(context.createStack); + if (ieCSTop->objectIds == nullref) + { + ieCSTop->reverseAssignedToObjectIds = JoinObjRefLink(ieCSTop->reverseAssignedToObjectIds, ieObjTop->objectIds); + } + else + { + PushAssignedToObjectIdsMultipleWithMagic(ieObjTop->objectIds, ieCSTop->objectIds); + } + } } break; case AstInsType::LriStore: @@ -4687,21 +4817,6 @@ PartialExecuteOrdinaryTrace case AstInsType::LriFetch: { CHECK_ERROR(context.lriStoredObjects != nullref, ERROR_MESSAGE_PREFIX L"LriStore is not executed before the next LriFetch."); - - // InsExec_Object::injectObjectIds - if (context.createStack != nullref) - { - auto ieCSTop = GetInsExec_CreateStack(context.createStack); - if (ieCSTop->objectIds == nullref) - { - ieCSTop->reverseInjectObjectIds = JoinObjRefLink(ieCSTop->reverseInjectObjectIds, context.lriStoredObjects); - } - else - { - PushInjectObjectIdsMultipleWithMagic(context.lriStoredObjects, ieCSTop->objectIds); - } - } - PushObjectStackMultiple(context, context.lriStoredObjects); context.lriStoredObjects = nullref; } @@ -4709,7 +4824,7 @@ PartialExecuteOrdinaryTrace case AstInsType::Token: case AstInsType::EnumItem: { - PushObjectStackSingle(context, Ref(-2)); + PushObjectStackSingle(context, Ref(InsExec_Object::TokenOrEnumItemObjectId)); } break; case AstInsType::ResolveAmbiguity: @@ -5233,7 +5348,7 @@ BuildAmbiguousStepLink void TraceManager::BuildAmbiguousStepLink(TraceAmbiguity* ta, bool checkCoveredMark, ExecutionStep*& first, ExecutionStep*& last) { -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::CheckMergeTraces()#" +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::BuildAmbiguousStepLink()#" auto taFirst = GetTrace(ta->firstTrace); auto taFirstExec = GetTraceExec(taFirst->traceExecRef); auto taLast = GetTrace(ta->lastTrace); @@ -5323,18 +5438,32 @@ BuildAmbiguousStepLink linkRef = link->previous; auto ieObject = GetInsExec_Object(link->id); - auto ieTrace = GetTrace(ieObject->createTrace); + auto ieTrace = GetTrace(ieObject->createInsRef.trace); auto ieTraceExec = GetTraceExec(ieTrace->traceExecRef); - auto&& ins = ReadInstruction(ieObject->createIns, ieTraceExec->insLists); + auto&& ins = ReadInstruction(ieObject->createInsRef.ins, ieTraceExec->insLists); if (stepRA->et_ra.type == -1) { stepRA->et_ra.type = ins.param; } else if (stepRA->et_ra.type != ins.param) { - stepRA->et_ra.type = typeCallback->FindCommonBaseClass(stepRA->et_ra.type, ins.param); - CHECK_ERROR(stepRA->et_ra.type != -1, ERROR_MESSAGE_PREFIX L"Unable to resolve the type from multiple objects."); + vint32_t baseClass = typeCallback->FindCommonBaseClass(stepRA->et_ra.type, ins.param); + if (baseClass == -1) + { + throw UnableToResolveAmbiguityException( + WString::Unmanaged(L"Unable to resolve ambiguity from ") + + typeCallback->GetClassName(stepRA->et_ra.type) + + WString::Unmanaged(L" and ") + + typeCallback->GetClassName(ins.param) + + WString::Unmanaged(L"."), + stepRA->et_ra.type, + ins.param, + EnsureTraceWithValidStates(taFirst)->currentTokenIndex, + EnsureTraceWithValidStates(taLast)->currentTokenIndex + ); + } + stepRA->et_ra.type = baseClass; } } } @@ -5362,7 +5491,7 @@ BuildExecutionOrder void TraceManager::BuildExecutionOrder() { -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::CheckMergeTraces()#" +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::BuildExecutionOrder()#" // get the instruction range auto startTrace = initialTrace; vint32_t startIns = 0; @@ -5416,9 +5545,10 @@ CheckMergeTrace ***********************************************************************/ template - bool TraceManager::SearchForObjects(Ref objRefLinkStartSet, bool withCounter, TCallback&& callback) + bool TraceManager::EnumerateObjects(Ref objRefLinkStartSet, bool withCounter, TCallback&& callback) { // check every object in the link + auto magicIterating = MergeStack_MagicCounter; auto linkId = objRefLinkStartSet; while (linkId != nullref) { @@ -5429,8 +5559,8 @@ CheckMergeTrace if (withCounter) { // skip if it has been searched - if (ieObject->mergeCounter == MergeStack_MagicCounter) goto CHECK_NEXT_OBJECT; - ieObject->mergeCounter = MergeStack_MagicCounter; + if (ieObject->mergeCounter == magicIterating) goto CHECK_NEXT_OBJECT; + ieObject->mergeCounter = magicIterating; } if (!callback(ieObject)) return false; @@ -5440,19 +5570,14 @@ CheckMergeTrace } template - bool TraceManager::SearchForEndObjectInstructions(Trace* createTrace, vint32_t createIns, TCallback&& callback) + bool TraceManager::EnumerateBottomInstructions(InsExec_Object* ieObject, TCallback&& callback) { - // all EndObject ending a BO/DFA are considered - // there is no "bottom EndObject" - // each EndObject should be in different branches - auto traceExec = GetTraceExec(createTrace->traceExecRef); - auto insExec = GetInsExec(traceExec->insExecRefs.start + createIns); - auto insRefLinkId = insExec->eoInsRefs; + auto insRefLinkId = ieObject->bottomInsRefs; while (insRefLinkId != nullref) { auto insRefLink = GetInsExec_InsRefLink(insRefLinkId); insRefLinkId = insRefLink->previous; - if (!callback(GetTrace(insRefLink->trace), insRefLink->ins)) return false; + if (!callback(GetTrace(insRefLink->insRef.trace), insRefLink->insRef.ins)) return false; } return true; } @@ -5515,28 +5640,20 @@ CheckMergeTrace // iterate all top objects succeeded = callback([&](Ref objRefLink) { - return SearchForObjects(objRefLink, false, [&](InsExec_Object* ieObject) + return EnumerateObjects(objRefLink, false, [&](InsExec_Object* ieObject) { - auto createTrace = GetTrace(ieObject->topTrace); -#ifdef VCZH_DO_DEBUG_CHECK - { - auto traceExec = GetTraceExec(createTrace->traceExecRef); - auto&& ins = ReadInstruction(ieObject->topIns, traceExec->insLists); - CHECK_ERROR(ins.type == AstInsType::BeginObject || ins.type == AstInsType::DelayFieldAssignment, ERROR_MESSAGE_PREFIX L"The found instruction is not a BeginObject or DelayFieldAssignment instruction."); - } -#endif - + auto createTrace = GetTrace(ieObject->topInsRef.trace); if (!first) { first = createTrace; firstTraceExec = GetTraceExec(first->traceExecRef); ta->firstTrace = createTrace; - ta->prefix = ieObject->topIns; + ta->prefix = ieObject->topInsRef.ins; } else if (first == createTrace) { // check if two instruction is the same - if (ta->prefix != ieObject->topIns) return false; + if (ta->prefix != ieObject->topInsRef.ins) return false; foundBeginSame = true; } else @@ -5553,51 +5670,121 @@ CheckMergeTrace }); if (!succeeded) return false; - // iterate all bottom objects - NEW_MERGE_STACK_MAGIC_COUNTER; - succeeded = callback([&](Ref objRefLink) + // iterate all bottom instructions { - return SearchForObjects(objRefLink, true, [&](InsExec_Object* ieObject) + // bottomInsRefs need to be filtered again + // because the object from the first branch could be a field in the object from the second branch + // in this case, that object could have multiple incompatible bottomInsRefs + // so we try eoTrace and the unique and existing eoTrace->successors.first + // see which wins + Group postfixesAtSelf, postfixesAtSuccessor; + + NEW_MERGE_STACK_MAGIC_COUNTER; + callback([&](Ref objRefLink) { - PushObjRefLink(ta->bottomObjectIds, ieObject); - - // check if EO satisfies the condition - return SearchForEndObjectInstructions(GetTrace(ieObject->topLocalTrace), ieObject->topLocalIns, [&](Trace* eoTrace, vint32_t eoIns) + return EnumerateObjects(objRefLink, true, [&](InsExec_Object* ieObject) { -#ifdef VCZH_DO_DEBUG_CHECK - { - auto traceExec = GetTraceExec(eoTrace->traceExecRef); - auto&& ins = ReadInstruction(eoIns, traceExec->insLists); - CHECK_ERROR(ins.type == AstInsType::EndObject, ERROR_MESSAGE_PREFIX L"The found instruction is not a EndObject instruction."); - } -#endif + PushObjRefLink(ta->bottomObjectIds, ieObject); - if (!last) + // check if EO satisfies the condition + return EnumerateBottomInstructions(ieObject, [&](Trace* eoTrace, vint32_t eoIns) { - last = eoTrace; - lastTraceExec = GetTraceExec(last->traceExecRef); - ta->lastTrace = eoTrace; - ta->postfix = lastTraceExec->insLists.c3 - eoIns - 1; - } - else if (last == eoTrace) - { - // check if two instruction is the same auto eoTraceExec = GetTraceExec(eoTrace->traceExecRef); - if (ta->postfix != eoTraceExec->insLists.c3 - eoIns - 1) return false; - foundEndSame = true; + InsRef insRef{ eoTrace,eoTraceExec->insLists.c3 - eoIns - 1 }; + postfixesAtSelf.Add(eoTrace, insRef); + + Trace* successorTrace = nullptr; + if (eoTrace->successorCount == 1) + { + successorTrace = GetTrace(eoTrace->successors.first); + } + postfixesAtSuccessor.Add(successorTrace, insRef); + return true; + }); + }); + }); + + // find the most possible answer from postfixesAtSelf and postfixesAtSuccessor + // bottom bottomInsRefs are splitted into multiple group + // find the unique one that has the maximum capacity + vint maxOccurences = -1; + for (vint i = 0; i < postfixesAtSelf.Count(); i++) + { + vint count = postfixesAtSelf.GetByIndex(i).Count(); + if (count > maxOccurences) + { + maxOccurences = count; + } + } + for (vint i = 0; i < postfixesAtSuccessor.Count(); i++) + { + vint count = postfixesAtSuccessor.GetByIndex(i).Count(); + if (count > maxOccurences) + { + maxOccurences = count; + } + } + + vint uniqueAtSelf = -1; + for (vint i = 0; i < postfixesAtSelf.Count(); i++) + { + vint count = postfixesAtSelf.GetByIndex(i).Count(); + if (count == maxOccurences) + { + if (uniqueAtSelf == -1) + { + uniqueAtSelf = i; } else { - // check if two instruction shares the same postfix - if (last->successors.first != eoTrace->successors.first) return false; - auto eoTraceExec = GetTraceExec(eoTrace->traceExecRef); - if (!ComparePostfix(lastTraceExec, eoTraceExec, ta->postfix + 1)) return false; - foundEndPostfix = true; + uniqueAtSelf = -2; + break; } - return true; - }); - }); - }); + } + } + + vint uniqueAtSuccessor = -1; + for (vint i = 0; i < postfixesAtSuccessor.Count(); i++) + { + vint count = postfixesAtSuccessor.GetByIndex(i).Count(); + if (count == maxOccurences) + { + if (uniqueAtSuccessor == -1) + { + uniqueAtSuccessor = i; + } + else + { + uniqueAtSuccessor = -2; + break; + } + } + } + + InsRef lastPostfix; + if (uniqueAtSelf >= 0) + { + // if all bottom traces are the same, their first successors are also the same + lastPostfix = postfixesAtSelf.GetByIndex(uniqueAtSelf)[0]; + } + else if (uniqueAtSuccessor >= 0) + { + lastPostfix = postfixesAtSuccessor.GetByIndex(uniqueAtSuccessor)[0]; + foundEndPostfix = true; + } + + if (lastPostfix.trace == nullref) + { + succeeded = false; + } + else + { + last = GetTrace(lastPostfix.trace); + ta->lastTrace = last; + ta->postfix = lastPostfix.ins; + succeeded = true; + } + } if (!succeeded) return false; // ensure the statistics result is compatible @@ -5625,7 +5812,43 @@ CheckMergeTrace ta->lastTrace = last; } - return true; + // ensure firstTrace and lastTrace are in the same branch + auto firstForward = GetTrace(GetTraceExec(GetTrace(ta->firstTrace)->traceExecRef)->branchData.forwardTrace); + auto lastForward = GetTrace(GetTraceExec(GetTrace(ta->lastTrace)->traceExecRef)->branchData.forwardTrace); + auto currentForward = lastForward; + while (true) + { + if (currentForward->traceExecRef < firstForward->traceExecRef) + { + return false; + } + if (currentForward == firstForward) + { + return true; + } + + auto currentExec = GetTraceExec(currentForward->traceExecRef); + auto nextForwardRef = currentExec->branchData.commonForwardBranch; + if (nextForwardRef == nullptr) + { + nextForwardRef = currentExec->branchData.forwardTrace; + } + + auto nextForward = GetTrace(currentExec->branchData.forwardTrace); + if (currentForward != nextForward) + { + currentForward = nextForward; + } + else if (currentForward->predecessorCount > 0) + { + currentForward = GetTrace(GetTraceExec(GetTrace(currentForward->predecessors.first)->traceExecRef)->branchData.forwardTrace); + } + else + { + break; + } + } + return false; #undef ERROR_MESSAGE_PREFIX } @@ -5722,7 +5945,6 @@ CheckMergeTrace }); if (succeeded) return true; } - } CHECK_OBJECTS_IN_TOP_CREATE_STACK: auto ieCSTop = GetInsExec_CreateStack(traceExec->context.createStack); @@ -7129,182 +7351,170 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::xml { - namespace glr - { - namespace xml - { /*********************************************************************** Visitor Pattern Implementation ***********************************************************************/ - void XmlText::Accept(XmlNode::IVisitor* visitor) - { - visitor->Visit(this); - } + void XmlText::Accept(XmlNode::IVisitor* visitor) + { + visitor->Visit(this); + } - void XmlCData::Accept(XmlNode::IVisitor* visitor) - { - visitor->Visit(this); - } + void XmlCData::Accept(XmlNode::IVisitor* visitor) + { + visitor->Visit(this); + } - void XmlComment::Accept(XmlNode::IVisitor* visitor) - { - visitor->Visit(this); - } + void XmlComment::Accept(XmlNode::IVisitor* visitor) + { + visitor->Visit(this); + } - void XmlElement::Accept(XmlNode::IVisitor* visitor) - { - visitor->Visit(this); - } + void XmlElement::Accept(XmlNode::IVisitor* visitor) + { + visitor->Visit(this); + } - void XmlInstruction::Accept(XmlNode::IVisitor* visitor) - { - visitor->Visit(this); - } + void XmlInstruction::Accept(XmlNode::IVisitor* visitor) + { + visitor->Visit(this); + } - void XmlDocument::Accept(XmlNode::IVisitor* visitor) - { - visitor->Visit(this); - } - } + void XmlDocument::Accept(XmlNode::IVisitor* visitor) + { + visitor->Visit(this); } } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlNode, system::XmlNode) - IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlNode::IVisitor, system::XmlNode::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlText, system::XmlText) - IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlCData, system::XmlCData) - IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlAttribute, system::XmlAttribute) - IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlComment, system::XmlComment) - IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlElement, system::XmlElement) - IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlInstruction, system::XmlInstruction) - IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlDocument, system::XmlDocument) + IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlNode, system::XmlNode) + IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlNode::IVisitor, system::XmlNode::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlText, system::XmlText) + IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlCData, system::XmlCData) + IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlAttribute, system::XmlAttribute) + IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlComment, system::XmlComment) + IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlElement, system::XmlElement) + IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlInstruction, system::XmlInstruction) + IMPL_TYPE_INFO_RENAME(vl::glr::xml::XmlDocument, system::XmlDocument) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_CLASS_MEMBER(vl::glr::xml::XmlNode) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::xml::XmlNode) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - END_CLASS_MEMBER(vl::glr::xml::XmlNode) + END_CLASS_MEMBER(vl::glr::xml::XmlNode) - BEGIN_CLASS_MEMBER(vl::glr::xml::XmlText) - CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) + BEGIN_CLASS_MEMBER(vl::glr::xml::XmlText) + CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(content) - END_CLASS_MEMBER(vl::glr::xml::XmlText) + CLASS_MEMBER_FIELD(content) + END_CLASS_MEMBER(vl::glr::xml::XmlText) - BEGIN_CLASS_MEMBER(vl::glr::xml::XmlCData) - CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) + BEGIN_CLASS_MEMBER(vl::glr::xml::XmlCData) + CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(content) - END_CLASS_MEMBER(vl::glr::xml::XmlCData) + CLASS_MEMBER_FIELD(content) + END_CLASS_MEMBER(vl::glr::xml::XmlCData) - BEGIN_CLASS_MEMBER(vl::glr::xml::XmlAttribute) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::xml::XmlAttribute) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::glr::xml::XmlAttribute) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::glr::xml::XmlAttribute) - BEGIN_CLASS_MEMBER(vl::glr::xml::XmlComment) - CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) + BEGIN_CLASS_MEMBER(vl::glr::xml::XmlComment) + CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(content) - END_CLASS_MEMBER(vl::glr::xml::XmlComment) + CLASS_MEMBER_FIELD(content) + END_CLASS_MEMBER(vl::glr::xml::XmlComment) - BEGIN_CLASS_MEMBER(vl::glr::xml::XmlElement) - CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) + BEGIN_CLASS_MEMBER(vl::glr::xml::XmlElement) + CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(closingName) - CLASS_MEMBER_FIELD(attributes) - CLASS_MEMBER_FIELD(subNodes) - END_CLASS_MEMBER(vl::glr::xml::XmlElement) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(closingName) + CLASS_MEMBER_FIELD(attributes) + CLASS_MEMBER_FIELD(subNodes) + END_CLASS_MEMBER(vl::glr::xml::XmlElement) - BEGIN_CLASS_MEMBER(vl::glr::xml::XmlInstruction) - CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) + BEGIN_CLASS_MEMBER(vl::glr::xml::XmlInstruction) + CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(attributes) - END_CLASS_MEMBER(vl::glr::xml::XmlInstruction) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(attributes) + END_CLASS_MEMBER(vl::glr::xml::XmlInstruction) - BEGIN_CLASS_MEMBER(vl::glr::xml::XmlDocument) - CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) + BEGIN_CLASS_MEMBER(vl::glr::xml::XmlDocument) + CLASS_MEMBER_BASE(vl::glr::xml::XmlNode) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(prologs) - CLASS_MEMBER_FIELD(rootElement) - END_CLASS_MEMBER(vl::glr::xml::XmlDocument) + CLASS_MEMBER_FIELD(prologs) + CLASS_MEMBER_FIELD(rootElement) + END_CLASS_MEMBER(vl::glr::xml::XmlDocument) - BEGIN_INTERFACE_MEMBER(vl::glr::xml::XmlNode::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlText* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlCData* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlComment* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlElement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlInstruction* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlDocument* node)) - END_INTERFACE_MEMBER(vl::glr::xml::XmlNode) + BEGIN_INTERFACE_MEMBER(vl::glr::xml::XmlNode::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlText* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlCData* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlComment* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlElement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlInstruction* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::xml::XmlNode::IVisitor::*)(vl::glr::xml::XmlDocument* node)) + END_INTERFACE_MEMBER(vl::glr::xml::XmlNode) #endif #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - class XmlAstTypeLoader : public vl::Object, public ITypeLoader - { - public: - void Load(ITypeManager* manager) - { - ADD_TYPE_INFO(vl::glr::xml::XmlNode) - ADD_TYPE_INFO(vl::glr::xml::XmlNode::IVisitor) - ADD_TYPE_INFO(vl::glr::xml::XmlText) - ADD_TYPE_INFO(vl::glr::xml::XmlCData) - ADD_TYPE_INFO(vl::glr::xml::XmlAttribute) - ADD_TYPE_INFO(vl::glr::xml::XmlComment) - ADD_TYPE_INFO(vl::glr::xml::XmlElement) - ADD_TYPE_INFO(vl::glr::xml::XmlInstruction) - ADD_TYPE_INFO(vl::glr::xml::XmlDocument) - } - - void Unload(ITypeManager* manager) - { - } - }; -#endif -#endif - - bool XmlAstLoadTypes() - { -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - if (auto manager = GetGlobalTypeManager()) - { - auto loader = Ptr(new XmlAstTypeLoader); - return manager->AddTypeLoader(loader); - } -#endif - return false; - } + class XmlAstTypeLoader : public vl::Object, public ITypeLoader + { + public: + void Load(ITypeManager* manager) + { + ADD_TYPE_INFO(vl::glr::xml::XmlNode) + ADD_TYPE_INFO(vl::glr::xml::XmlNode::IVisitor) + ADD_TYPE_INFO(vl::glr::xml::XmlText) + ADD_TYPE_INFO(vl::glr::xml::XmlCData) + ADD_TYPE_INFO(vl::glr::xml::XmlAttribute) + ADD_TYPE_INFO(vl::glr::xml::XmlComment) + ADD_TYPE_INFO(vl::glr::xml::XmlElement) + ADD_TYPE_INFO(vl::glr::xml::XmlInstruction) + ADD_TYPE_INFO(vl::glr::xml::XmlDocument) } + + void Unload(ITypeManager* manager) + { + } + }; +#endif +#endif + + bool XmlAstLoadTypes() + { +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + if (auto manager = GetGlobalTypeManager()) + { + auto loader = Ptr(new XmlAstTypeLoader); + return manager->AddTypeLoader(loader); + } +#endif + return false; } } @@ -7319,122 +7529,113 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::xml::builder { - namespace glr - { - namespace xml - { - namespace builder - { /*********************************************************************** MakeAttribute ***********************************************************************/ - MakeAttribute& MakeAttribute::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeAttribute& MakeAttribute::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeAttribute& MakeAttribute::value(const vl::WString& value) - { - node->value.value = value; - return *this; - } + MakeAttribute& MakeAttribute::value(const vl::WString& value) + { + node->value.value = value; + return *this; + } /*********************************************************************** MakeCData ***********************************************************************/ - MakeCData& MakeCData::content(const vl::WString& value) - { - node->content.value = value; - return *this; - } + MakeCData& MakeCData::content(const vl::WString& value) + { + node->content.value = value; + return *this; + } /*********************************************************************** MakeComment ***********************************************************************/ - MakeComment& MakeComment::content(const vl::WString& value) - { - node->content.value = value; - return *this; - } + MakeComment& MakeComment::content(const vl::WString& value) + { + node->content.value = value; + return *this; + } /*********************************************************************** MakeDocument ***********************************************************************/ - MakeDocument& MakeDocument::prologs(const vl::Ptr& value) - { - node->prologs.Add(value); - return *this; - } + MakeDocument& MakeDocument::prologs(const vl::Ptr& value) + { + node->prologs.Add(value); + return *this; + } - MakeDocument& MakeDocument::rootElement(const vl::Ptr& value) - { - node->rootElement = value; - return *this; - } + MakeDocument& MakeDocument::rootElement(const vl::Ptr& value) + { + node->rootElement = value; + return *this; + } /*********************************************************************** MakeElement ***********************************************************************/ - MakeElement& MakeElement::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeElement& MakeElement::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeElement& MakeElement::closingName(const vl::WString& value) - { - node->closingName.value = value; - return *this; - } + MakeElement& MakeElement::closingName(const vl::WString& value) + { + node->closingName.value = value; + return *this; + } - MakeElement& MakeElement::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeElement& MakeElement::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeElement& MakeElement::subNodes(const vl::Ptr& value) - { - node->subNodes.Add(value); - return *this; - } + MakeElement& MakeElement::subNodes(const vl::Ptr& value) + { + node->subNodes.Add(value); + return *this; + } /*********************************************************************** MakeInstruction ***********************************************************************/ - MakeInstruction& MakeInstruction::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeInstruction& MakeInstruction::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeInstruction& MakeInstruction::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeInstruction& MakeInstruction::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeText ***********************************************************************/ - MakeText& MakeText::content(const vl::WString& value) - { - node->content.value = value; - return *this; - } - } - } + MakeText& MakeText::content(const vl::WString& value) + { + node->content.value = value; + return *this; } } @@ -7449,181 +7650,172 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::xml::copy_visitor { - namespace glr + void AstVisitor::CopyFields(XmlAttribute* from, XmlAttribute* to) { - namespace xml + to->name = from->name; + to->value = from->value; + } + + void AstVisitor::CopyFields(XmlCData* from, XmlCData* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->content = from->content; + } + + void AstVisitor::CopyFields(XmlComment* from, XmlComment* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->content = from->content; + } + + void AstVisitor::CopyFields(XmlDocument* from, XmlDocument* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->prologs) { - namespace copy_visitor - { - void AstVisitor::CopyFields(XmlAttribute* from, XmlAttribute* to) - { - to->name = from->name; - to->value = from->value; - } + to->prologs.Add(CopyNode(listItem.Obj())); + } + to->rootElement = CopyNode(from->rootElement.Obj()); + } - void AstVisitor::CopyFields(XmlCData* from, XmlCData* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->content = from->content; - } - - void AstVisitor::CopyFields(XmlComment* from, XmlComment* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->content = from->content; - } - - void AstVisitor::CopyFields(XmlDocument* from, XmlDocument* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->prologs) - { - to->prologs.Add(CopyNode(listItem.Obj())); - } - to->rootElement = CopyNode(from->rootElement.Obj()); - } - - void AstVisitor::CopyFields(XmlElement* from, XmlElement* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->attributes) - { - to->attributes.Add(CopyNode(listItem.Obj())); - } - to->closingName = from->closingName; - to->name = from->name; - for (auto&& listItem : from->subNodes) - { - to->subNodes.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(XmlInstruction* from, XmlInstruction* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->attributes) - { - to->attributes.Add(CopyNode(listItem.Obj())); - } - to->name = from->name; - } - - void AstVisitor::CopyFields(XmlNode* from, XmlNode* to) - { - } - - void AstVisitor::CopyFields(XmlText* from, XmlText* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->content = from->content; - } - - void AstVisitor::Visit(XmlAttribute* node) - { - auto newNode = vl::Ptr(new XmlAttribute); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(XmlText* node) - { - auto newNode = vl::Ptr(new XmlText); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(XmlCData* node) - { - auto newNode = vl::Ptr(new XmlCData); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(XmlComment* node) - { - auto newNode = vl::Ptr(new XmlComment); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(XmlElement* node) - { - auto newNode = vl::Ptr(new XmlElement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(XmlInstruction* node) - { - auto newNode = vl::Ptr(new XmlInstruction); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(XmlDocument* node) - { - auto newNode = vl::Ptr(new XmlDocument); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - vl::Ptr AstVisitor::CopyNode(XmlNode* node) - { - if (!node) return nullptr; - node->Accept(static_cast(this)); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(XmlAttribute* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(XmlCData* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(XmlComment* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(XmlDocument* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(XmlElement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(XmlInstruction* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(XmlText* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - } + void AstVisitor::CopyFields(XmlElement* from, XmlElement* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->attributes) + { + to->attributes.Add(CopyNode(listItem.Obj())); + } + to->closingName = from->closingName; + to->name = from->name; + for (auto&& listItem : from->subNodes) + { + to->subNodes.Add(CopyNode(listItem.Obj())); } } + + void AstVisitor::CopyFields(XmlInstruction* from, XmlInstruction* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->attributes) + { + to->attributes.Add(CopyNode(listItem.Obj())); + } + to->name = from->name; + } + + void AstVisitor::CopyFields(XmlNode* from, XmlNode* to) + { + } + + void AstVisitor::CopyFields(XmlText* from, XmlText* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->content = from->content; + } + + void AstVisitor::Visit(XmlAttribute* node) + { + auto newNode = vl::Ptr(new XmlAttribute); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(XmlText* node) + { + auto newNode = vl::Ptr(new XmlText); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(XmlCData* node) + { + auto newNode = vl::Ptr(new XmlCData); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(XmlComment* node) + { + auto newNode = vl::Ptr(new XmlComment); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(XmlElement* node) + { + auto newNode = vl::Ptr(new XmlElement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(XmlInstruction* node) + { + auto newNode = vl::Ptr(new XmlInstruction); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(XmlDocument* node) + { + auto newNode = vl::Ptr(new XmlDocument); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + vl::Ptr AstVisitor::CopyNode(XmlNode* node) + { + if (!node) return nullptr; + node->Accept(static_cast(this)); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(XmlAttribute* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(XmlCData* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(XmlComment* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(XmlDocument* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(XmlElement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(XmlInstruction* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(XmlText* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + } @@ -7637,46 +7829,37 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::xml::empty_visitor { - namespace glr - { - namespace xml - { - namespace empty_visitor - { /*********************************************************************** NodeVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void NodeVisitor::Visit(XmlText* node) - { - } + void NodeVisitor::Visit(XmlText* node) + { + } - void NodeVisitor::Visit(XmlCData* node) - { - } + void NodeVisitor::Visit(XmlCData* node) + { + } - void NodeVisitor::Visit(XmlComment* node) - { - } + void NodeVisitor::Visit(XmlComment* node) + { + } - void NodeVisitor::Visit(XmlElement* node) - { - } + void NodeVisitor::Visit(XmlElement* node) + { + } - void NodeVisitor::Visit(XmlInstruction* node) - { - } + void NodeVisitor::Visit(XmlInstruction* node) + { + } - void NodeVisitor::Visit(XmlDocument* node) - { - } - } - } + void NodeVisitor::Visit(XmlDocument* node) + { } } @@ -7691,221 +7874,212 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::xml::json_visitor { - namespace glr + void AstVisitor::PrintFields(XmlAttribute* node) { - namespace xml - { - namespace json_visitor - { - void AstVisitor::PrintFields(XmlAttribute* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"value"); - WriteToken(node->value); - EndField(); - } - void AstVisitor::PrintFields(XmlCData* node) - { - BeginField(L"content"); - WriteToken(node->content); - EndField(); - } - void AstVisitor::PrintFields(XmlComment* node) - { - BeginField(L"content"); - WriteToken(node->content); - EndField(); - } - void AstVisitor::PrintFields(XmlDocument* node) - { - BeginField(L"prologs"); - BeginArray(); - for (auto&& listItem : node->prologs) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"rootElement"); - Print(node->rootElement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(XmlElement* node) - { - BeginField(L"attributes"); - BeginArray(); - for (auto&& listItem : node->attributes) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"closingName"); - WriteToken(node->closingName); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"subNodes"); - BeginArray(); - for (auto&& listItem : node->subNodes) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(XmlInstruction* node) - { - BeginField(L"attributes"); - BeginArray(); - for (auto&& listItem : node->attributes) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(XmlNode* node) - { - } - void AstVisitor::PrintFields(XmlText* node) - { - BeginField(L"content"); - WriteToken(node->content); - EndField(); - } - - void AstVisitor::Visit(XmlText* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Text", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(XmlCData* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"CData", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(XmlComment* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Comment", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(XmlElement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Element", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(XmlInstruction* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Instruction", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(XmlDocument* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Document", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - AstVisitor::AstVisitor(vl::stream::StreamWriter& _writer) - : vl::glr::JsonVisitorBase(_writer) - { - } - - void AstVisitor::Print(XmlNode* node) - { - if (!node) - { - WriteNull(); - return; - } - node->Accept(static_cast(this)); - } - - void AstVisitor::Print(XmlAttribute* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Attribute", node); - PrintFields(static_cast(node)); - EndObject(); - } - - } - } + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"value"); + WriteToken(node->value); + EndField(); } + void AstVisitor::PrintFields(XmlCData* node) + { + BeginField(L"content"); + WriteToken(node->content); + EndField(); + } + void AstVisitor::PrintFields(XmlComment* node) + { + BeginField(L"content"); + WriteToken(node->content); + EndField(); + } + void AstVisitor::PrintFields(XmlDocument* node) + { + BeginField(L"prologs"); + BeginArray(); + for (auto&& listItem : node->prologs) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"rootElement"); + Print(node->rootElement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(XmlElement* node) + { + BeginField(L"attributes"); + BeginArray(); + for (auto&& listItem : node->attributes) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"closingName"); + WriteToken(node->closingName); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"subNodes"); + BeginArray(); + for (auto&& listItem : node->subNodes) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(XmlInstruction* node) + { + BeginField(L"attributes"); + BeginArray(); + for (auto&& listItem : node->attributes) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(XmlNode* node) + { + } + void AstVisitor::PrintFields(XmlText* node) + { + BeginField(L"content"); + WriteToken(node->content); + EndField(); + } + + void AstVisitor::Visit(XmlText* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Text", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(XmlCData* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"CData", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(XmlComment* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Comment", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(XmlElement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Element", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(XmlInstruction* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Instruction", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(XmlDocument* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Document", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + AstVisitor::AstVisitor(vl::stream::StreamWriter& _writer) + : vl::glr::JsonVisitorBase(_writer) + { + } + + void AstVisitor::Print(XmlNode* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + + void AstVisitor::Print(XmlAttribute* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Attribute", node); + PrintFields(static_cast(node)); + EndObject(); + } + } @@ -7919,144 +8093,135 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::xml::traverse_visitor { - namespace glr + void AstVisitor::Traverse(vl::glr::ParsingToken& token) {} + void AstVisitor::Traverse(vl::glr::ParsingAstBase* node) {} + void AstVisitor::Traverse(XmlAttribute* node) {} + void AstVisitor::Traverse(XmlCData* node) {} + void AstVisitor::Traverse(XmlComment* node) {} + void AstVisitor::Traverse(XmlDocument* node) {} + void AstVisitor::Traverse(XmlElement* node) {} + void AstVisitor::Traverse(XmlInstruction* node) {} + void AstVisitor::Traverse(XmlNode* node) {} + void AstVisitor::Traverse(XmlText* node) {} + + void AstVisitor::Finishing(vl::glr::ParsingAstBase* node) {} + void AstVisitor::Finishing(XmlAttribute* node) {} + void AstVisitor::Finishing(XmlCData* node) {} + void AstVisitor::Finishing(XmlComment* node) {} + void AstVisitor::Finishing(XmlDocument* node) {} + void AstVisitor::Finishing(XmlElement* node) {} + void AstVisitor::Finishing(XmlInstruction* node) {} + void AstVisitor::Finishing(XmlNode* node) {} + void AstVisitor::Finishing(XmlText* node) {} + + void AstVisitor::Visit(XmlText* node) { - namespace xml - { - namespace traverse_visitor - { - void AstVisitor::Traverse(vl::glr::ParsingToken& token) {} - void AstVisitor::Traverse(vl::glr::ParsingAstBase* node) {} - void AstVisitor::Traverse(XmlAttribute* node) {} - void AstVisitor::Traverse(XmlCData* node) {} - void AstVisitor::Traverse(XmlComment* node) {} - void AstVisitor::Traverse(XmlDocument* node) {} - void AstVisitor::Traverse(XmlElement* node) {} - void AstVisitor::Traverse(XmlInstruction* node) {} - void AstVisitor::Traverse(XmlNode* node) {} - void AstVisitor::Traverse(XmlText* node) {} - - void AstVisitor::Finishing(vl::glr::ParsingAstBase* node) {} - void AstVisitor::Finishing(XmlAttribute* node) {} - void AstVisitor::Finishing(XmlCData* node) {} - void AstVisitor::Finishing(XmlComment* node) {} - void AstVisitor::Finishing(XmlDocument* node) {} - void AstVisitor::Finishing(XmlElement* node) {} - void AstVisitor::Finishing(XmlInstruction* node) {} - void AstVisitor::Finishing(XmlNode* node) {} - void AstVisitor::Finishing(XmlText* node) {} - - void AstVisitor::Visit(XmlText* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->content); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(XmlCData* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->content); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(XmlComment* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->content); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(XmlElement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->closingName); - Traverse(node->name); - for (auto&& listItem : node->subNodes) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(XmlInstruction* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(XmlDocument* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->prologs) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->rootElement.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(XmlNode* node) - { - if (!node) return; - node->Accept(static_cast(this)); - } - - void AstVisitor::InspectInto(XmlAttribute* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Traverse(node->value); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - } - } + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->content); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); } + + void AstVisitor::Visit(XmlCData* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->content); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(XmlComment* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->content); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(XmlElement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->closingName); + Traverse(node->name); + for (auto&& listItem : node->subNodes) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(XmlInstruction* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(XmlDocument* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->prologs) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->rootElement.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(XmlNode* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void AstVisitor::InspectInto(XmlAttribute* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Traverse(node->value); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + } @@ -8070,131 +8235,130 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::xml { - namespace glr + void XmlParserData(vl::stream::IStream& outputStream) { - namespace xml - { - void XmlParserData(vl::stream::IStream& outputStream) - { - static const vl::vint dataLength = 2539; // 23493 bytes before compressing - static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 235; - static const vl::vint dataSolidRows = 9; - static const vl::vint dataRows = 10; - static const char* compressed[] = { - "\xC5\x5B\x00\x00\xE3\x09\x00\x00\x0D\x00\x01\x82\x80\x08\x03\x82\x81\x82\x06\x89\x82\x85\x0A\x83\x06\x84\x07\x0A\x91\x0A\x9C\x0A\x82\x12\x84\x14\x0A\xA3\x42\x09\x8F\x7D\x8E\x8F\x8E\x0A\x80\x1F\x9F\x81\x93\x92\x8F\x92\x26\xFF\x68\x86\x9B\x93\x91\x96\x92\x0A\xA9\xAA\x91\x99\x91\x91\x91\x00\x34\xAC\xB9\x8E\x9B\x98\x98\x8F\x9A\x3D\xA7\x81\xA0\x93\xA3\x9B\x9E\x9D\x47\xBC\x89\xBE\x96\x82\x9B\x96\xA1\x4B\xD0\x8D\xA0\xA1\xAC\xA1\xAA\xA3\x53\xC8\x99\xAA\xAB\xAC\xA7\x80\xA7\x45\xCF\x96\xBD\xA2\xAF\xAC\xAA\xB2\x63\xE6\x9A\xAA\xBC\xAC\xB6\xAE\x81\x60\xD7\xB7\x8A\x88\x9A\xB9\xB1\xBB\x76\x89\x9B\x89\x85\xB8\xB4\xAC\xB7\x65\xF0\xA7\xA0\xC9\xB2\xC3\xB4\xC3\x6D\x88\xEF\xA1\x81\xBE\xBE\xB1\xBF\x8A\x81\xCC\xC3\xC1\xCD\xC3\xC9\xC3\x97\x89\xD9\xCB\xC2\x94\xCB\xCC\xC9\x9D\x98\xE1\xDA\xC3\xD4\xCD\xC7\x81\x03\x74\xB8\xAE\xCB\xD4\xC0\xC9\xCF\x96\xA5\xE0\xC7\xD5\xCF\xD6\xD9\xD8\xB4\xB0\xF6\xD9\xD7\xDB\xDE\xCE\x00\x04\x2A\xC9\x8C\x8C\xBA\x86\x02\xE1\xAC\xF9\x86\x87\x08\xE6\xD7\xC7\xE7\xAD\xB5\xD0\xEA\xEE\xE1\xEA\xDD\xE9\xC9\xD9\xD5\xF4", - "\xE2\xEA\x84\x84\x83\x7D\xDB\xDA\xFD\xEC\xEF\xEA\xEB\xDE\xD8\xE2\xEA\xE4\xF3\xF6\xF1\xF2\x00\x09\x4D\xEC\xEB\xFE\xF5\xF4\xF5\xF3\xBC\xF9\xFF\xDA\xF2\xD4\xFC\xD2\xDE\x0A\x32\x75\x7C\x7D\xF7\x6F\x7E\x7E\x69\xFB\x49\x8D\x7E\x82\xFF\x4C\x88\x82\x68\x0E\x45\x76\x82\x83\xB3\x54\x88\x6E\x85\xBE\x4B\x8A\x85\x83\x1B\x8F\x8C\x87\x87\x1E\xA1\x85\x85\x87\x23\xA0\x85\x8A\x88\x17\xA4\x89\x88\x69\x0C\x02\x85\x82\x7D\x07\xA7\x82\x8F\x8A\x28\x99\x86\x88\x8D\x33\xB6\x85\x8D\x7A\xF3\x7D\x81\x40\x40\x12\xB0\x88\x84\x8F\x03\xBE\x8F\x88\x81\x31\xB8\x8A\x92\x8E\x39\x84\x97\x92\x91\x49\x8C\x9B\x92\x93\x51\x8E\x90\x45\x90\x48\x83\x98\x7E\x96\x13\xAA\x82\x97\x97\x54\x9C\x92\x92\x97\x4E\x8F\x0E\x89\x95\x5B\xA4\x99\x9B\x8D\x60\xAB\x9B\x8E\x9B\x4D\xB0\x93\x96\x9C\xB6\x50\x07\x9A\x98\x59\xAA\x9D\x94\x9B\x61\xBA\x93\x98\x9F\x74\xBD\x90\xA3\x9E\x6F\x84\xA1\x9E\xA1\x73\x88\xAD\x9B\x7B\x12\x58\x90\x94\x9E\x8F\xBE\x99\x9F\xA0\xF6\x52\x07\x9E\x68\x13\x17\xA4\x68\x05\x9A\x85\xAF\x9E\xA7\x93\xA0\xA1\xA4\x69\x15\x1D\xA0\x6A\x05\xA6\xB1\x67\x05\xAA", - "\x8B\x9F\xA7\xA2\x41\x18\x2C\xA2\xA2\xA8\x45\xB5\xAF\x92\xAD\x68\x8A\xA3\xAF\xAB\xA1\xBC\xA2\x41\x06\xB2\x8A\x4A\x05\xB0\x09\x5B\x0E\x88\x45\x8E\x81\x4D\x06\x8B\x1E\x2E\x8F\x06\x8B\x20\x04\xBE\xA9\xA2\xF6\x61\x02\xB7\x40\x16\x49\xB7\xAC\x00\x23\x2E\x84\x0A\x8B\x25\x2E\x86\x0A\x8B\x27\x2E\x88\x46\xB6\xB9\x93\xBD\xA9\xAF\xD4\xAC\xB6\x6D\x0A\xD7\xA3\xA4\xAF\xB6\x2A\x31\xB8\xAC\xA4\xF7\x92\xA2\xBE\xAF\xF9\x94\xAE\xBB\xAE\xED\xBB\xB1\xC1\x40\x2B\x36\xBB\xB5\xBA\xFF\x81\xAA\xC2\xAE\xE7\x6C\x06\xC1\x0B\x2E\xAE\x0E\x8B\x0B\x2E\xB0\x0E\x89\x0C\x2E\xB2\x06\xC0\xC2\x02\xEB\xBD\xC4\xC0\x1E\xFD\xB3\xBC\xC7\x01\x73\x0B\xC4\xBE\x07\xE8\xC4\xC9\xCA\xFA\xA2\xCC\xBC\x00\x34\x27\xCD\xC8\xCB\xFE\x9F\xCB\xC2\xBA\x20\xE1\x45\x0E\xCC\x35\xEE\xC3\xC0\xCD\x23\xEA\xC2\xD2\x68\x36\x3C\xC1\xD3\xCC\x2B\xC9\xD3\xD1\xCF\x40\xEF\xC7\x0E\xD1\x2F\xCA\xD8\xD3\xD2\x47\xCC\xD2\xD6\xD5\x54\xD1\xD9\xD7\xCF\x57\xD5\xDE\xD6\xD6\x53\xE2\x68\x0C\xD4\x5C\xDB\xD1\xCB\xB6\x39\x24\xD7\xDB\xCA\x3A\x2A\xD9\xCF\xCD\x09\xC9\x4B\x0E\xDB\x70\xC6\x9C\x0C\xDD\x0C", - "\xEF\x7D\x0C\xDE\x38\xF5\xDE\xCF\xDA\x66\xEF\xD9\xDE\x41\x3E\x3C\xD4\x83\x0F\x86\xF6\xC9\x40\x10\x89\xFF\xD2\xE1\xDF\x83\xF1\xD0\xE7\xE4\x92\xD5\xE2\x41\x10\x8D\xDB\xB2\x11\xE6\x2B\xC3\x1C\xE7\x6F\x44\x1F\xE1\xD8\xD6\xA3\xDF\xD5\xD9\xE9\x2F\xC5\x12\xE8\x69\x46\x2B\xE3\xBF\x11\xAE\xE0\x6D\x2A\x42\x7B\x76\x4E\xBA\x4C\xF1\x76\xE7\xED\x4A\xB9\xE0\x75\x50\x71\x7E\x72\x45\xEF\x40\xCC\x4A\xA8\xEE\x42\x2D\x97\x53\xF2\x40\xC5\xEA\xB7\xF1\x42\xC9\xFE\x5B\xF1\x40\xCD\xFB\xE6\x49\xEF\x03\x51\xFE\x6B\xF4\x00\x15\xFD\xC7\xF3\x06\x5A\xF5\x6C\xF0\xAE\x72\x44\xF9\x6D\xE6\xC5\x59\xFB\x55\xC2\xEA\xD0\xFB\x40\xDC\xEB\xF1\xF1\x4A\xDC\xF1\xF8\x87\xFB\x02\x69\x67\x57\xF9\xBA\x6D\xF9\x41\x70\xC6\x7C\x76\x77\x45\x2C\x7A\x90\x78\x7E\x76\xFE\x7A\x77\xDF\x07\x86\x26\xF9\x65\x79\x25\xFA\x73\x7E\x49\x5C\x70\x80\xBF\x11\x87\x81\x13\x8A\x22\xF7\x0B\x82\x80\xE8\x45\x2F\x82\xE8\x74\x7E\x06\xF4\x4C\x80\xF1\x7A\x30\x84\xFD\x62\x85\x42\x1B\x8D\x68\x99\x1D\x20\x7B\x02\x26\x85\x6F\x28\x8D\x37\x04\xB0\x7C\x84\x1D\x86\x20\x0D\xB2\x2B\x86\x17\x99\x80", - "\x5D\xF7\x79\x87\x0D\xD7\x2D\x86\x1F\x9F\x24\x7B\x2C\x91\x49\x09\x9F\x8A\x7C\x15\x86\x25\x82\xAE\x25\x8A\x11\x9D\x28\x88\x1C\x97\x78\x79\x4C\x8C\x7E\x13\xC4\x76\x8B\x91\x30\x81\x20\x32\x9C\x85\x13\xBF\x8B\x39\x2E\x9F\x27\x8B\x00\x01\x8C\x04\xE3\x83\x25\xFA\x66\x8E\x23\x68\x92\x8B\x47\x72\x86\x88\xEE\x61\x3F\x7B\x42\x82\x22\xFD\x26\x24\x8E\x1F\x95\x89\x80\x57\x9E\x80\x20\xDE\x83\x85\xFD\x6C\x8B\x8E\x87\x9E\x20\x05\xD9\x82\x83\x36\x85\x96\x79\x79\x80\x8C\x23\x98\x8E\x91\x15\xAF\x8F\x85\x58\x84\x89\x22\xD4\x8F\x90\xEB\x44\x92\x90\x16\x9B\x93\x3F\x6E\x83\x91\x33\x8A\x25\x8F\xFF\x08\x96\x0D\x82\x27\x8E\x0E\x81\x96\x20\x7B\x83\x26\x2A\xDB\x8C\x79\x4B\xBF\x18\x8D\x6A\x86\x24\x14\xA1\x86\x24\xFE\x75\x81\x25\xBB\x89\x85\x2F\xA2\x91\x99\x5F\x83\x9A\x8B\xBA\x82\x96\x2F\xD3\x87\x88\x85\x0B\x99\x88\xAF\x83\x21\x84\x52\x7A\x80\x3C\x91\x9A\x77\xAB\x88\x80\x34\x9F\x95\x9A\x07\xBC\x95\x92\x3A\x84\x82\x33\xE2\x99\x20\x54\x8B\x92\x79\xA7\x84\x9C\x2C\xB6\x91\x8E\x75\x83\x27\x99\x64\x83\x21\x31\xD9\x90\x01\x58\xB5\x44\x81\xA8\x90", - "\x9C\x33\xDC\x7A\x9F\x66\xBF\x7E\x9D\x7A\x8C\x9D\x3A\xD7\x28\x8D\xE3\x04\xA6\x38\x45\x28\x8C\x1A\x8C\x8B\xA1\x48\x80\x01\x40\x07\xA9\x20\x44\xFE\x28\x8D\x79\x8E\xA5\x9F\x70\x8A\x22\x45\xD7\x91\x21\x8D\x9C\x9F\x9D\x09\xBA\xA1\x48\xFF\x91\xA2\x83\x18\xA0\x93\x24\xBE\x2E\xC5\x55\x90\x01\x56\xB5\x9B\xA0\xEB\x89\xA7\x10\xCF\x84\x76\x91\xBA\x2B\x9C\x37\xA9\x22\x41\xB1\xA4\xA6\x4B\xA5\x9D\x93\x02\x25\x98\x0B\xC2\xA6\xA7\x32\x83\x38\xA8\x01\x3B\xA4\x17\xB2\xA9\x7F\xA2\xB2\x9E\xA9\x0B\x28\xA0\x53\x81\x2F\x3B\x81\x28\x8B\xA2\xD2\x99\x92\x41\x40\x46\x21\x2B\x46\x26\x4C\x09\x36\x4D\x42\x0D\x56\x20\x4B\x49\x21\x53\x2C\xA5\x54\x4B\xA1\x2E\x12\x17\x61\x22\xAD\x6B\xA9\x23\x27\x2E\x4E\x97\x58\x71\xA9\x21\xA0\x0E\x45\x31\xD6\x5C\xA4\x54\xB3\x29\x21\xCD\x5D\xAF\x79\x34\x81\x5A\xC1\xAF\x3C\x7B\xCF\x46\xB2\x7D\x75\xA7\xAF\x84\x21\x16\xAD\x0A\x23\x5D\x63\x83\x22\x14\xC8\x89\x22\xB2\x93\xA1\x23\x28\x2E\x4A\xA8\x81\x35\x59\xB3\x01\x24\x16\x5E\x8A\x25\x60\xD0\x80\x05\x14\x2E\x54\x86\xC3\x26\xB6\x14\xCE\x8A\x27\xB3\xA0\xA7\x17\x68\x89", - "\x25\xB4\xD0\xA8\x11\xB5\x0A\x2B\xB4\x68\xA9\x1E\xB5\x84\x30\xB1\xB3\xAA\x13\xB6\x41\x35\xB9\xB3\x55\x38\xB1\x21\xBA\xB9\xB0\x2B\x2E\x48\x09\xB5\x9E\xA4\x33\x71\xAE\xA6\x4B\xF6\x90\x34\xEE\x7E\xAB\xAD\xBC\x34\x84\x75\xB1\x34\x86\x97\xBC\x31\x24\xBE\x9E\xB8\xCA\x45\x9B\xBA\xDB\x0F\x74\x40\xBE\x89\x8B\x6F\x21\x2D\xB3\x80\x2E\xA4\x85\xE5\xA0\xBE\x42\x0D\xA2\x35\x90\x28\x8E\xA5\x58\xA1\xA3\x7B\x3E\x95\xAA\x23\x61\x22\x86\x2E\xBC\xAB\x4C\xE8\xBA\x21\xFC\xB6\x51\x24\x60\xBE\x75\x58\xB5\xAF\x3C\x16\xAD\xBB\x5B\x21\x26\xAE\x82\x94\x77\x20\xA9\xB6\x39\x24\x68\xB3\xC2\xE5\x01\x25\xA1\xF3\x21\x24\x53\x40\x93\x66\x81\x80\x0F\xC1\xEF\x8A\x20\xAE\x03\x22\xBF\xCC\x53\x93\x20\x01\xFE\xBA\x21\xA8\x5A\x5B\xAA\x39\xA6\x3E\x17\xD2\x97\x3D\x21\x20\x59\x88\xCC\x6E\xAB\x81\x22\xAF\xC2\xC2\x4E\x46\xB1\x34\xC4\x41\x1F\xC3\x21\xC1\x04\x41\x27\xB2\x3B\xC3\x5E\xB2\x83\x21\xC3\x49\xCA\x21\x60\x9A\xCA\x70\x83\x10\xCA\x20\x20\xC0\xCB\x7B\x09\xBC\xA6\x02\x59\xCB\x20\x31\xDA\xC8\x85\xB6\x5F\xCA\x81\x33\xC2\xCC\x1B\xDB\x59\x99\x9D\xAE\xC2\x85", - "\x3C\xAC\xCA\x01\x39\x59\x97\xBA\x7E\xA4\x14\xC2\x21\xCC\x51\xD1\x72\x91\x76\xC1\x21\x33\xF9\xCB\xCC\xDB\x5C\xCC\x70\x6D\xC9\x21\x6F\x5A\x59\x5C\x44\xCC\x96\x8B\x78\xC2\x20\x09\xFF\xCB\x20\xE5\x4C\xCB\xCB\x7E\xCF\x56\x42\xC0\xD4\x37\x94\xC1\x23\x95\x87\xC7\x22\x06\xF6\x3C\x94\x06\x39\xD1\xF7\x16\xD3\x21\xDF\xBA\xBE\x20\xC9\xA7\xD7\x53\x89\xDD\xCF\xF9\xA4\xD2\x20\x12\x6C\xD4\x00\x2B\xA3\xCF\xA4\x9E\xD3\x20\xA2\xDD\xBC\xA7\x89\x2A\x62\x59\xF1\x62\xD6\xBA\xCF\xA5\x42\x22\xD6\xC9\x17\xC9\x25\x68\xB2\xC3\x6E\xAC\xA3\xCC\x7A\x51\xF6\xC0\xC2\x0A\x2D\x6E\xAC\xF7\x62\xD6\x19\x8D\xDD\xC0\xAF\xC1\x21\xE1\x32\xDC\x70\x59\xFD\xC2\xD5\x02\x36\xAE\x41\x3A\xC8\xCD\x2A\xC4\x42\xDC\x4F\xD9\xD8\x00\x1B\x72\xD6\xDE\x05\xD9\x20\xDC\x68\xDD\x2D\xB8\xCA\x21\xD0\x72\xD5\x75\xB2\xCE\xD0\xB8\x81\x22\xDE\x0E\xEA\xDD\xB9\xB2\xCA\x0B\xAD\xD8\xC3\xE0\x7E\xC3\x84\xDE\x09\x2C\x09\xC1\x80\x0E\x09\x85\xCC\xD0\xDE\x0A\x3D\xDC\x00\x6F\xD0\xDB\x84\x10\x0B\xE1\x52\x0B\xE2\xC4\xF1\xDA\x21\x67\xE6\xC1\x21\x54\x0B\xE2\x15\x0B\xE3\x58\x59\xD2\xE3\xC4", - "\x1F\xE6\x20\x16\x0B\xEA\x0B\x85\xC8\x5D\xD6\x00\x04\xDF\x40\x43\xC5\xDC\x5B\x5C\x0B\xE1\xBC\x25\xE5\x59\xEA\xDE\x0B\xCC\x74\xE3\x20\x3A\xEF\xD2\xB9\xC6\x4F\xE5\x74\xC8\xE6\x20\x5F\x18\xE7\x6F\x53\xC9\xC5\x89\x08\xAD\xE2\x06\x21\x0F\xC2\xE3\x0B\xE0\x2E\xCD\xE9\x21\x45\xE2\x20\x7D\xA4\x31\x25\x32\x0B\xE7\x0C\x0B\xE5\xB0\x9C\x80\x09\xEA\xAA\xAA\xD9\x0D\x0B\xEB\x0F\xC2\xEF\xC7\xEA\x83\x25\xEB\xE2\xEA\xCD\x0F\xC2\xEF\x0B\xE0\x39\xED\xEB\x20\x6F\xFE\xE3\x7A\x8A\x21\x0F\x85\xF3\x0B\xE1\xDD\x5A\x5B\xDB\xA8\xEB\xEF\x84\x35\x0B\xE1\x77\x0B\xE2\xA1\xE3\xEC\xE8\x81\x0B\xCD\xE6\x00\x19\x0E\xD2\xB3\x66\xEA\xC7\xEA\xDB\x0F\x93\xEC\x6A\xD8\x83\x2F\xF0\xA1\xC1\x25\x0F\x99\xF3\x5C\xDB\x96\xF7\xE9\x81\x3F\x09\xF4\x2F\x76\xEE\x40\x0B\xFE\xF2\x00\x01\x11\x73\xAC\xE2\x20\xA2\x90\xFC\x36\x41\x28\xF1\x36\xB3\xF0\xD2\xBA\xDD\x60\x35\xDC\xC1\xAA\xDD\x84\x0E\x45\x21\x0B\xEE\xF6\xF7\x91\xB2\x21\x91\xD4\xF5\xE0\x47\xF3\xAA\xA8\xC3\x27\x10\x2E\x48\x13\xC2\x98\xB7\xEE\x81\x09\xFB\x20\x81\xF0\xF2\x22\x19\x77\x5C\x83\x31\xF3\xD7\x06\x2B\x13", - "\xED\xB6\x37\xFA\x45\xC9\x25\xFB\x46\xF0\xF1\x23\x63\xF1\x24\xF4\xE6\xFE\x20\xEE\xE1\x20\xC5\xA9\xE3\x21\x47\x0B\xE1\x12\x0B\xF0\x5E\xB6\x26\xD1\x21\xEF\xCE\xFA\x20\x93\x06\x30\xFC\x7D\x52\xAF\x5A\x10\x9B\x6F\x7F\x01\x14\x09\x06\x34\x5C\xEF\x75\x6A\x0A\x13\x7F\x85\x76\x10\x95\x0E\x22\x96\x0B\x70\xA9\x66\x7C\xB4\x5A\x10\xFA\x70\x79\x98\x09\x39\x17\x80\x00\xFE\x74\x7F\x02\x19\x09\x0F\x3E\x22\x1F\x87\x80\x22\x81\x10\x9A\x06\x30\xB1\x63\x76\x1F\x80\x81\xF5\x5A\x10\x9B\x0E\x22\x9C\x0B\x70\x14\x3A\x2D\x10\x3C\x52\xDF\x5E\x42\xA6\x5D\x83\x92\x60\x12\x2A\x66\x12\xD2\x5F\x57\x30\x74\x80\x6B\x5E\x52\x34\x42\x6C\x8E\x15\x5E\xA3\x41\x57\x7E\x5A\x4A\x49\x81\x12\xCF\x57\x12\x53\x8E\x11\xC5\x46\x13\x57\x82\x85\x71\x59\x85\x50\x5A\x3B\x5C\x8D\x7C\x58\x8B\x85\x71\x57\x52\x2A\x14\x86\xFF\x0E\x4B\x36\x18\x86\xF2\x5B\x56\x6A\x86\x61\xCE\x15\x62\x32\x1F\x60\x36\x12\x87\xEC\x51\x57\x74\x8F\x74\x4E\x1A\x5E\x29\x1C\x42\x36\x1C\x87\x21\x1E\x87\x6B\x50", - }; - vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); - } + static const vl::vint dataLength = 2539; // 23493 bytes before compressing + static const vl::vint dataBlock = 256; + static const vl::vint dataRemain = 235; + static const vl::vint dataSolidRows = 9; + static const vl::vint dataRows = 10; + static const char* compressed[] = { + "\xC5\x5B\x00\x00\xE3\x09\x00\x00\x0D\x00\x01\x82\x80\x08\x03\x82\x81\x82\x06\x89\x82\x85\x0A\x83\x06\x84\x07\x0A\x91\x0A\x9C\x0A\x82\x12\x84\x14\x0A\xA3\x42\x09\x8F\x7D\x8E\x8F\x8E\x0A\x80\x1F\x9F\x81\x93\x92\x8F\x92\x26\xFF\x68\x86\x9B\x93\x91\x96\x92\x0A\xA9\xAA\x91\x99\x91\x91\x91\x00\x34\xAC\xB9\x8E\x9B\x98\x98\x8F\x9A\x3D\xA7\x81\xA0\x93\xA3\x9B\x9E\x9D\x47\xBC\x89\xBE\x96\x82\x9B\x96\xA1\x4B\xD0\x8D\xA0\xA1\xAC\xA1\xAA\xA3\x53\xC8\x99\xAA\xAB\xAC\xA7\x80\xA7\x45\xCF\x96\xBD\xA2\xAF\xAC\xAA\xB2\x63\xE6\x9A\xAA\xBC\xAC\xB6\xAE\x81\x60\xD7\xB7\x8A\x88\x9A\xB9\xB1\xBB\x76\x89\x9B\x89\x85\xB8\xB4\xAC\xB7\x65\xF0\xA7\xA0\xC9\xB2\xC3\xB4\xC3\x6D\x88\xEF\xA1\x81\xBE\xBE\xB1\xBF\x8A\x81\xCC\xC3\xC1\xCD\xC3\xC9\xC3\x97\x89\xD9\xCB\xC2\x94\xCB\xCC\xC9\x9D\x98\xE1\xDA\xC3\xD4\xCD\xC7\x81\x03\x74\xB8\xAE\xCB\xD4\xC0\xC9\xCF\x96\xA5\xE0\xC7\xD5\xCF\xD6\xD9\xD8\xB4\xB0\xF6\xD9\xD7\xDB\xDE\xCE\x00\x04\x2A\xC9\x8C\x8C\xBA\x86\x02\xE1\xAC\xF9\x86\x87\x08\xE6\xD7\xC7\xE7\xAD\xB5\xD0\xEA\xEE\xE1\xEA\xDD\xE9\xC9\xD9\xD5\xF4", + "\xE2\xEA\x84\x84\x83\x7D\xDB\xDA\xFD\xEC\xEF\xEA\xEB\xDE\xD8\xE2\xEA\xE4\xF3\xF6\xF1\xF2\x00\x09\x4D\xEC\xEB\xFE\xF5\xF4\xF5\xF3\xBC\xF9\xFF\xDA\xF2\xD4\xFC\xD2\xDE\x0A\x32\x75\x7C\x7D\xF7\x6F\x7E\x7E\x69\xFB\x49\x8D\x7E\x82\xFF\x4C\x88\x82\x68\x0E\x45\x76\x82\x83\xB3\x54\x88\x6E\x85\xBE\x4B\x8A\x85\x83\x1B\x8F\x8C\x87\x87\x1E\xA1\x85\x85\x87\x23\xA0\x85\x8A\x88\x17\xA4\x89\x88\x69\x0C\x02\x85\x82\x7D\x07\xA7\x82\x8F\x8A\x28\x99\x86\x88\x8D\x33\xB6\x85\x8D\x7A\xF3\x7D\x81\x40\x40\x12\xB0\x88\x84\x8F\x03\xBE\x8F\x88\x81\x31\xB8\x8A\x92\x8E\x39\x84\x97\x92\x91\x49\x8C\x9B\x92\x93\x51\x8E\x90\x45\x90\x48\x83\x98\x7E\x96\x13\xAA\x82\x97\x97\x54\x9C\x92\x92\x97\x4E\x8F\x0E\x89\x95\x5B\xA4\x99\x9B\x8D\x60\xAB\x9B\x8E\x9B\x4D\xB0\x93\x96\x9C\xB6\x50\x07\x9A\x98\x59\xAA\x9D\x94\x9B\x61\xBA\x93\x98\x9F\x74\xBD\x90\xA3\x9E\x6F\x84\xA1\x9E\xA1\x73\x88\xAD\x9B\x7B\x12\x58\x90\x94\x9E\x8F\xBE\x99\x9F\xA0\xF6\x52\x07\x9E\x68\x13\x17\xA4\x68\x05\x9A\x85\xAF\x9E\xA7\x93\xA0\xA1\xA4\x69\x15\x1D\xA0\x6A\x05\xA6\xB1\x67\x05\xAA", + "\x8B\x9F\xA7\xA2\x41\x18\x2C\xA2\xA2\xA8\x45\xB5\xAF\x92\xAD\x68\x8A\xA3\xAF\xAB\xA1\xBC\xA2\x41\x06\xB2\x8A\x4A\x05\xB0\x09\x5B\x0E\x88\x45\x8E\x81\x4D\x06\x8B\x1E\x2E\x8F\x06\x8B\x20\x04\xBE\xA9\xA2\xF6\x61\x02\xB7\x40\x16\x49\xB7\xAC\x00\x23\x2E\x84\x0A\x8B\x25\x2E\x86\x0A\x8B\x27\x2E\x88\x46\xB6\xB9\x93\xBD\xA9\xAF\xD4\xAC\xB6\x6D\x0A\xD7\xA3\xA4\xAF\xB6\x2A\x31\xB8\xAC\xA4\xF7\x92\xA2\xBE\xAF\xF9\x94\xAE\xBB\xAE\xED\xBB\xB1\xC1\x40\x2B\x36\xBB\xB5\xBA\xFF\x81\xAA\xC2\xAE\xE7\x6C\x06\xC1\x0B\x2E\xAE\x0E\x8B\x0B\x2E\xB0\x0E\x89\x0C\x2E\xB2\x06\xC0\xC2\x02\xEB\xBD\xC4\xC0\x1E\xFD\xB3\xBC\xC7\x01\x73\x0B\xC4\xBE\x07\xE8\xC4\xC9\xCA\xFA\xA2\xCC\xBC\x00\x34\x27\xCD\xC8\xCB\xFE\x9F\xCB\xC2\xBA\x20\xE1\x45\x0E\xCC\x35\xEE\xC3\xC0\xCD\x23\xEA\xC2\xD2\x68\x36\x3C\xC1\xD3\xCC\x2B\xC9\xD3\xD1\xCF\x40\xEF\xC7\x0E\xD1\x2F\xCA\xD8\xD3\xD2\x47\xCC\xD2\xD6\xD5\x54\xD1\xD9\xD7\xCF\x57\xD5\xDE\xD6\xD6\x53\xE2\x68\x0C\xD4\x5C\xDB\xD1\xCB\xB6\x39\x24\xD7\xDB\xCA\x3A\x2A\xD9\xCF\xCD\x09\xC9\x4B\x0E\xDB\x70\xC6\x9C\x0C\xDD\x0C", + "\xEF\x7D\x0C\xDE\x38\xF5\xDE\xCF\xDA\x66\xEF\xD9\xDE\x41\x3E\x3C\xD4\x83\x0F\x86\xF6\xC9\x40\x10\x89\xFF\xD2\xE1\xDF\x83\xF1\xD0\xE7\xE4\x92\xD5\xE2\x41\x10\x8D\xDB\xB2\x11\xE6\x2B\xC3\x1C\xE7\x6F\x44\x1F\xE1\xD8\xD6\xA3\xDF\xD5\xD9\xE9\x2F\xC5\x12\xE8\x69\x46\x2B\xE3\xBF\x11\xAE\xE0\x6D\x2A\x42\x7B\x76\x4E\xBA\x4C\xF1\x76\xE7\xED\x4A\xB9\xE0\x75\x50\x71\x7E\x72\x45\xEF\x40\xCC\x4A\xA8\xEE\x42\x2D\x97\x53\xF2\x40\xC5\xEA\xB7\xF1\x42\xC9\xFE\x5B\xF1\x40\xCD\xFB\xE6\x49\xEF\x03\x51\xFE\x6B\xF4\x00\x15\xFD\xC7\xF3\x06\x5A\xF5\x6C\xF0\xAE\x72\x44\xF9\x6D\xE6\xC5\x59\xFB\x55\xC2\xEA\xD0\xFB\x40\xDC\xEB\xF1\xF1\x4A\xDC\xF1\xF8\x87\xFB\x02\x69\x67\x57\xF9\xBA\x6D\xF9\x41\x70\xC6\x7C\x76\x77\x45\x2C\x7A\x90\x78\x7E\x76\xFE\x7A\x77\xDF\x07\x86\x26\xF9\x65\x79\x25\xFA\x73\x7E\x49\x5C\x70\x80\xBF\x11\x87\x81\x13\x8A\x22\xF7\x0B\x82\x80\xE8\x45\x2F\x82\xE8\x74\x7E\x06\xF4\x4C\x80\xF1\x7A\x30\x84\xFD\x62\x85\x42\x1B\x8D\x68\x99\x1D\x20\x7B\x02\x26\x85\x6F\x28\x8D\x37\x04\xB0\x7C\x84\x1D\x86\x20\x0D\xB2\x2B\x86\x17\x99\x80", + "\x5D\xF7\x79\x87\x0D\xD7\x2D\x86\x1F\x9F\x24\x7B\x2C\x91\x49\x09\x9F\x8A\x7C\x15\x86\x25\x82\xAE\x25\x8A\x11\x9D\x28\x88\x1C\x97\x78\x79\x4C\x8C\x7E\x13\xC4\x76\x8B\x91\x30\x81\x20\x32\x9C\x85\x13\xBF\x8B\x39\x2E\x9F\x27\x8B\x00\x01\x8C\x04\xE3\x83\x25\xFA\x66\x8E\x23\x68\x92\x8B\x47\x72\x86\x88\xEE\x61\x3F\x7B\x42\x82\x22\xFD\x26\x24\x8E\x1F\x95\x89\x80\x57\x9E\x80\x20\xDE\x83\x85\xFD\x6C\x8B\x8E\x87\x9E\x20\x05\xD9\x82\x83\x36\x85\x96\x79\x79\x80\x8C\x23\x98\x8E\x91\x15\xAF\x8F\x85\x58\x84\x89\x22\xD4\x8F\x90\xEB\x44\x92\x90\x16\x9B\x93\x3F\x6E\x83\x91\x33\x8A\x25\x8F\xFF\x08\x96\x0D\x82\x27\x8E\x0E\x81\x96\x20\x7B\x83\x26\x2A\xDB\x8C\x79\x4B\xBF\x18\x8D\x6A\x86\x24\x14\xA1\x86\x24\xFE\x75\x81\x25\xBB\x89\x85\x2F\xA2\x91\x99\x5F\x83\x9A\x8B\xBA\x82\x96\x2F\xD3\x87\x88\x85\x0B\x99\x88\xAF\x83\x21\x84\x52\x7A\x80\x3C\x91\x9A\x77\xAB\x88\x80\x34\x9F\x95\x9A\x07\xBC\x95\x92\x3A\x84\x82\x33\xE2\x99\x20\x54\x8B\x92\x79\xA7\x84\x9C\x2C\xB6\x91\x8E\x75\x83\x27\x99\x64\x83\x21\x31\xD9\x90\x01\x58\xB5\x44\x81\xA8\x90", + "\x9C\x33\xDC\x7A\x9F\x66\xBF\x7E\x9D\x7A\x8C\x9D\x3A\xD7\x28\x8D\xE3\x04\xA6\x38\x45\x28\x8C\x1A\x8C\x8B\xA1\x48\x80\x01\x40\x07\xA9\x20\x44\xFE\x28\x8D\x79\x8E\xA5\x9F\x70\x8A\x22\x45\xD7\x91\x21\x8D\x9C\x9F\x9D\x09\xBA\xA1\x48\xFF\x91\xA2\x83\x18\xA0\x93\x24\xBE\x2E\xC5\x55\x90\x01\x56\xB5\x9B\xA0\xEB\x89\xA7\x10\xCF\x84\x76\x91\xBA\x2B\x9C\x37\xA9\x22\x41\xB1\xA4\xA6\x4B\xA5\x9D\x93\x02\x25\x98\x0B\xC2\xA6\xA7\x32\x83\x38\xA8\x01\x3B\xA4\x17\xB2\xA9\x7F\xA2\xB2\x9E\xA9\x0B\x28\xA0\x53\x81\x2F\x3B\x81\x28\x8B\xA2\xD2\x99\x92\x41\x40\x46\x21\x2B\x46\x26\x4C\x09\x36\x4D\x42\x0D\x56\x20\x4B\x49\x21\x53\x2C\xA5\x54\x4B\xA1\x2E\x12\x17\x61\x22\xAD\x6B\xA9\x23\x27\x2E\x4E\x97\x58\x71\xA9\x21\xA0\x0E\x45\x31\xD6\x5C\xA4\x54\xB3\x29\x21\xCD\x5D\xAF\x79\x34\x81\x5A\xC1\xAF\x3C\x7B\xCF\x46\xB2\x7D\x75\xA7\xAF\x84\x21\x16\xAD\x0A\x23\x5D\x63\x83\x22\x14\xC8\x89\x22\xB2\x93\xA1\x23\x28\x2E\x4A\xA8\x81\x35\x59\xB3\x01\x24\x16\x5E\x8A\x25\x60\xD0\x80\x05\x14\x2E\x54\x86\xC3\x26\xB6\x14\xCE\x8A\x27\xB3\xA0\xA7\x17\x68\x89", + "\x25\xB4\xD0\xA8\x11\xB5\x0A\x2B\xB4\x68\xA9\x1E\xB5\x84\x30\xB1\xB3\xAA\x13\xB6\x41\x35\xB9\xB3\x55\x38\xB1\x21\xBA\xB9\xB0\x2B\x2E\x48\x09\xB5\x9E\xA4\x33\x71\xAE\xA6\x4B\xF6\x90\x34\xEE\x7E\xAB\xAD\xBC\x34\x84\x75\xB1\x34\x86\x97\xBC\x31\x24\xBE\x9E\xB8\xCA\x45\x9B\xBA\xDB\x0F\x74\x40\xBE\x89\x8B\x6F\x21\x2D\xB3\x80\x2E\xA4\x85\xE5\xA0\xBE\x42\x0D\xA2\x35\x90\x28\x8E\xA5\x58\xA1\xA3\x7B\x3E\x95\xAA\x23\x61\x22\x86\x2E\xBC\xAB\x4C\xE8\xBA\x21\xFC\xB6\x51\x24\x60\xBE\x75\x58\xB5\xAF\x3C\x16\xAD\xBB\x5B\x21\x26\xAE\x82\x94\x77\x20\xA9\xB6\x39\x24\x68\xB3\xC2\xE5\x01\x25\xA1\xF3\x21\x24\x53\x40\x93\x66\x81\x80\x0F\xC1\xEF\x8A\x20\xAE\x03\x22\xBF\xCC\x53\x93\x20\x01\xFE\xBA\x21\xA8\x5A\x5B\xAA\x39\xA6\x3E\x17\xD2\x97\x3D\x21\x20\x59\x88\xCC\x6E\xAB\x81\x22\xAF\xC2\xC2\x4E\x46\xB1\x34\xC4\x41\x1F\xC3\x21\xC1\x04\x41\x27\xB2\x3B\xC3\x5E\xB2\x83\x21\xC3\x49\xCA\x21\x60\x9A\xCA\x70\x83\x10\xCA\x20\x20\xC0\xCB\x7B\x09\xBC\xA6\x02\x59\xCB\x20\x31\xDA\xC8\x85\xB6\x5F\xCA\x81\x33\xC2\xCC\x1B\xDB\x59\x99\x9D\xAE\xC2\x85", + "\x3C\xAC\xCA\x01\x39\x59\x97\xBA\x7E\xA4\x14\xC2\x21\xCC\x51\xD1\x72\x91\x76\xC1\x21\x33\xF9\xCB\xCC\xDB\x5C\xCC\x70\x6D\xC9\x21\x6F\x5A\x59\x5C\x44\xCC\x96\x8B\x78\xC2\x20\x09\xFF\xCB\x20\xE5\x4C\xCB\xCB\x7E\xCF\x56\x42\xC0\xD4\x37\x94\xC1\x23\x95\x87\xC7\x22\x06\xF6\x3C\x94\x06\x39\xD1\xF7\x16\xD3\x21\xDF\xBA\xBE\x20\xC9\xA7\xD7\x53\x89\xDD\xCF\xF9\xA4\xD2\x20\x12\x6C\xD4\x00\x2B\xA3\xCF\xA4\x9E\xD3\x20\xA2\xDD\xBC\xA7\x89\x2A\x62\x59\xF1\x62\xD6\xBA\xCF\xA5\x42\x22\xD6\xC9\x17\xC9\x25\x68\xB2\xC3\x6E\xAC\xA3\xCC\x7A\x51\xF6\xC0\xC2\x0A\x2D\x6E\xAC\xF7\x62\xD6\x19\x8D\xDD\xC0\xAF\xC1\x21\xE1\x32\xDC\x70\x59\xFD\xC2\xD5\x02\x36\xAE\x41\x3A\xC8\xCD\x2A\xC4\x42\xDC\x4F\xD9\xD8\x00\x1B\x72\xD6\xDE\x05\xD9\x20\xDC\x68\xDD\x2D\xB8\xCA\x21\xD0\x72\xD5\x75\xB2\xCE\xD0\xB8\x81\x22\xDE\x0E\xEA\xDD\xB9\xB2\xCA\x0B\xAD\xD8\xC3\xE0\x7E\xC3\x84\xDE\x09\x2C\x09\xC1\x80\x0E\x09\x85\xCC\xD0\xDE\x0A\x3D\xDC\x00\x6F\xD0\xDB\x84\x10\x0B\xE1\x52\x0B\xE2\xC4\xF1\xDA\x21\x67\xE6\xC1\x21\x54\x0B\xE2\x15\x0B\xE3\x58\x59\xD2\xE3\xC4", + "\x1F\xE6\x20\x16\x0B\xEA\x0B\x85\xC8\x5D\xD6\x00\x04\xDF\x40\x43\xC5\xDC\x5B\x5C\x0B\xE1\xBC\x25\xE5\x59\xEA\xDE\x0B\xCC\x74\xE3\x20\x3A\xEF\xD2\xB9\xC6\x4F\xE5\x74\xC8\xE6\x20\x5F\x18\xE7\x6F\x53\xC9\xC5\x89\x08\xAD\xE2\x06\x21\x0F\xC2\xE3\x0B\xE0\x2E\xCD\xE9\x21\x45\xE2\x20\x7D\xA4\x31\x25\x32\x0B\xE7\x0C\x0B\xE5\xB0\x9C\x80\x09\xEA\xAA\xAA\xD9\x0D\x0B\xEB\x0F\xC2\xEF\xC7\xEA\x83\x25\xEB\xE2\xEA\xCD\x0F\xC2\xEF\x0B\xE0\x39\xED\xEB\x20\x6F\xFE\xE3\x7A\x8A\x21\x0F\x85\xF3\x0B\xE1\xDD\x5A\x5B\xDB\xA8\xEB\xEF\x84\x35\x0B\xE1\x77\x0B\xE2\xA1\xE3\xEC\xE8\x81\x0B\xCD\xE6\x00\x19\x0E\xD2\xB3\x66\xEA\xC7\xEA\xDB\x0F\x93\xEC\x6A\xD8\x83\x2F\xF0\xA1\xC1\x25\x0F\x99\xF3\x5C\xDB\x96\xF7\xE9\x81\x3F\x09\xF4\x2F\x76\xEE\x40\x0B\xFE\xF2\x00\x01\x11\x73\xAC\xE2\x20\xA2\x90\xFC\x36\x41\x28\xF1\x36\xB3\xF0\xD2\xBA\xDD\x60\x35\xDC\xC1\xAA\xDD\x84\x0E\x45\x21\x0B\xEE\xF6\xF7\x91\xB2\x21\x91\xD4\xF5\xE0\x47\xF3\xAA\xA8\xC3\x27\x10\x2E\x48\x13\xC2\x98\xB7\xEE\x81\x09\xFB\x20\x81\xF0\xF2\x22\x19\x77\x5C\x83\x31\xF3\xD7\x06\x2B\x13", + "\xED\xB6\x37\xFA\x45\xC9\x25\xFB\x46\xF0\xF1\x23\x63\xF1\x24\xF4\xE6\xFE\x20\xEE\xE1\x20\xC5\xA9\xE3\x21\x47\x0B\xE1\x12\x0B\xF0\x5E\xB6\x26\xD1\x21\xEF\xCE\xFA\x20\x93\x06\x30\xFC\x7D\x52\xAF\x5A\x10\x9B\x6F\x7F\x01\x14\x09\x06\x34\x5C\xEF\x75\x6A\x0A\x13\x7F\x85\x76\x10\x95\x0E\x22\x96\x0B\x70\xA9\x66\x7C\xB4\x5A\x10\xFA\x70\x79\x98\x09\x39\x17\x80\x00\xFE\x74\x7F\x02\x19\x09\x0F\x3E\x22\x1F\x87\x80\x22\x81\x10\x9A\x06\x30\xB1\x63\x76\x1F\x80\x81\xF5\x5A\x10\x9B\x0E\x22\x9C\x0B\x70\x14\x3A\x2D\x10\x3C\x52\xDF\x5E\x42\xA6\x5D\x83\x92\x60\x12\x2A\x66\x12\xD2\x5F\x57\x30\x74\x80\x6B\x5E\x52\x34\x42\x6C\x8E\x15\x5E\xA3\x41\x57\x7E\x5A\x4A\x49\x81\x12\xCF\x57\x12\x53\x8E\x11\xC5\x46\x13\x57\x82\x85\x71\x59\x85\x50\x5A\x3B\x5C\x8D\x7C\x58\x8B\x85\x71\x57\x52\x2A\x14\x86\xFF\x0E\x4B\x36\x18\x86\xF2\x5B\x56\x6A\x86\x61\xCE\x15\x62\x32\x1F\x60\x36\x12\x87\xEC\x51\x57\x74\x8F\x74\x4E\x1A\x5E\x29\x1C\x42\x36\x1C\x87\x21\x1E\x87\x6B\x50", + }; + vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); + } - const wchar_t* ParserRuleName(vl::vint index) - { - static const wchar_t* results[] = { - L"XAttribute", - L"XText", - L"XCData", - L"XComment", - L"XElement", - L"XSubNode", - L"XInstruction", - L"XDocument", - }; - return results[index]; - } + const wchar_t* ParserRuleName(vl::vint index) + { + static const wchar_t* results[] = { + L"XAttribute", + L"XText", + L"XCData", + L"XComment", + L"XElement", + L"XSubNode", + L"XInstruction", + L"XDocument", + }; + return results[index]; + } - const wchar_t* ParserStateLabel(vl::vint index) - { - static const wchar_t* results[] = { - L"[0][XAttribute] BEGIN ", - L"[1][XAttribute] END [ENDING]", - L"[2][XAttribute]< NAME \"=\" @ ATTVALUE >", - L"[3][XAttribute]< NAME \"=\" ATTVALUE @ >", - L"[4][XAttribute]< NAME @ \"=\" ATTVALUE >", - L"[5][XText] BEGIN ", - L"[6][XText] END [ENDING]", - L"[7][XText]< \"=\" @ >", - L"[8][XText]< ATTVALUE @ >", - L"[9][XText]< NAME @ >", - L"[10][XText]< TEXT @ >", - L"[11][XCData] BEGIN ", - L"[12][XCData] END [ENDING]", - L"[13][XCData]< CDATA @ >", - L"[14][XComment] BEGIN ", - L"[15][XComment] END [ENDING]", - L"[16][XComment]< COMMENT @ >", - L"[17][XElement] BEGIN ", - L"[18][XElement] END [ENDING]", - L"[19][XElement]< \"<\" @ NAME { XAttribute } ( \"/>\" | \">\" { XSubNode } \"\" ) >", - L"[20][XElement]< \"<\" NAME @ { XAttribute } ( \"/>\" | \">\" { XSubNode } \"\" ) >", - L"[21][XElement]< \"<\" NAME { XAttribute @ } ( \"/>\" | \">\" { XSubNode } \"\" ) >", - L"[22][XElement]< \"<\" NAME { XAttribute } ( \"/>\" @ | \">\" { XSubNode } \"\" ) >", - L"[23][XElement]< \"<\" NAME { XAttribute } ( \"/>\" | \">\" @ { XSubNode } \"\" ) >", - L"[24][XElement]< \"<\" NAME { XAttribute } ( \"/>\" | \">\" { XSubNode @ } \"\" ) >", - L"[25][XElement]< \"<\" NAME { XAttribute } ( \"/>\" | \">\" { XSubNode } \"\" ) >", - L"[26][XElement]< \"<\" NAME { XAttribute } ( \"/>\" | \">\" { XSubNode } \"\" @ ) >", - L"[27][XElement]< \"<\" NAME { XAttribute } ( \"/>\" | \">\" { XSubNode } \"\" ) >", - L"[28][XSubNode] BEGIN ", - L"[29][XSubNode] END [ENDING]", - L"[30][XSubNode]<< ( !XText @ | !XCData | !XComment | !XElement ) >>", - L"[31][XSubNode]<< ( !XText | !XCData @ | !XComment | !XElement ) >>", - L"[32][XSubNode]<< ( !XText | !XCData | !XComment @ | !XElement ) >>", - L"[33][XSubNode]<< ( !XText | !XCData | !XComment | !XElement @ ) >>", - L"[34][XInstruction] BEGIN ", - L"[35][XInstruction] END [ENDING]", - L"[36][XInstruction]< \"\" >", - L"[37][XInstruction]< \"\" >", - L"[38][XInstruction]< \"\" >", - L"[39][XInstruction]< \"\" @ >", - L"[40][XDocument] BEGIN ", - L"[41][XDocument] END [ENDING]", - L"[42][XDocument]< { ( XInstruction @ | XComment ) } XElement >", - L"[43][XDocument]< { ( XInstruction | XComment ) } XElement @ >", - L"[44][XDocument]< { ( XInstruction | XComment @ ) } XElement >", - }; - return results[index]; - } + const wchar_t* ParserStateLabel(vl::vint index) + { + static const wchar_t* results[] = { + L"[0][XAttribute] BEGIN ", + L"[1][XAttribute] END [ENDING]", + L"[2][XAttribute]< NAME \"=\" @ ATTVALUE >", + L"[3][XAttribute]< NAME \"=\" ATTVALUE @ >", + L"[4][XAttribute]< NAME @ \"=\" ATTVALUE >", + L"[5][XText] BEGIN ", + L"[6][XText] END [ENDING]", + L"[7][XText]< \"=\" @ >", + L"[8][XText]< ATTVALUE @ >", + L"[9][XText]< NAME @ >", + L"[10][XText]< TEXT @ >", + L"[11][XCData] BEGIN ", + L"[12][XCData] END [ENDING]", + L"[13][XCData]< CDATA @ >", + L"[14][XComment] BEGIN ", + L"[15][XComment] END [ENDING]", + L"[16][XComment]< COMMENT @ >", + L"[17][XElement] BEGIN ", + L"[18][XElement] END [ENDING]", + L"[19][XElement]< \"<\" @ NAME { XAttribute } ( \"/>\" | \">\" { XSubNode } \"\" ) >", + L"[20][XElement]< \"<\" NAME @ { XAttribute } ( \"/>\" | \">\" { XSubNode } \"\" ) >", + L"[21][XElement]< \"<\" NAME { XAttribute @ } ( \"/>\" | \">\" { XSubNode } \"\" ) >", + L"[22][XElement]< \"<\" NAME { XAttribute } ( \"/>\" @ | \">\" { XSubNode } \"\" ) >", + L"[23][XElement]< \"<\" NAME { XAttribute } ( \"/>\" | \">\" @ { XSubNode } \"\" ) >", + L"[24][XElement]< \"<\" NAME { XAttribute } ( \"/>\" | \">\" { XSubNode @ } \"\" ) >", + L"[25][XElement]< \"<\" NAME { XAttribute } ( \"/>\" | \">\" { XSubNode } \"\" ) >", + L"[26][XElement]< \"<\" NAME { XAttribute } ( \"/>\" | \">\" { XSubNode } \"\" @ ) >", + L"[27][XElement]< \"<\" NAME { XAttribute } ( \"/>\" | \">\" { XSubNode } \"\" ) >", + L"[28][XSubNode] BEGIN ", + L"[29][XSubNode] END [ENDING]", + L"[30][XSubNode]<< ( !XText @ | !XCData | !XComment | !XElement ) >>", + L"[31][XSubNode]<< ( !XText | !XCData @ | !XComment | !XElement ) >>", + L"[32][XSubNode]<< ( !XText | !XCData | !XComment @ | !XElement ) >>", + L"[33][XSubNode]<< ( !XText | !XCData | !XComment | !XElement @ ) >>", + L"[34][XInstruction] BEGIN ", + L"[35][XInstruction] END [ENDING]", + L"[36][XInstruction]< \"\" >", + L"[37][XInstruction]< \"\" >", + L"[38][XInstruction]< \"\" >", + L"[39][XInstruction]< \"\" @ >", + L"[40][XDocument] BEGIN ", + L"[41][XDocument] END [ENDING]", + L"[42][XDocument]< { ( XInstruction @ | XComment ) } XElement >", + L"[43][XDocument]< { ( XInstruction | XComment ) } XElement @ >", + L"[44][XDocument]< { ( XInstruction | XComment @ ) } XElement >", + }; + return results[index]; + } - Parser::Parser() - : vl::glr::ParserBase(&XmlTokenDeleter, &XmlLexerData, &XmlParserData) - { - }; + Parser::Parser() + : vl::glr::ParserBase(&XmlTokenDeleter, &XmlLexerData, &XmlParserData) + { + } - vl::vint32_t Parser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const - { - return -1; - }; + vl::WString Parser::GetClassName(vl::vint32_t classIndex) const + { + return vl::WString::Unmanaged(XmlTypeName((XmlClasses)classIndex)); + } - vl::Ptr Parser::ParseXElement(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); - }; + vl::vint32_t Parser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const + { + return -1; + } - vl::Ptr Parser::ParseXElement(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; + vl::Ptr Parser::ParseXElement(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } - vl::Ptr Parser::ParseXDocument(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); - }; + vl::Ptr Parser::ParseXElement(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); + } - vl::Ptr Parser::ParseXDocument(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; - } + vl::Ptr Parser::ParseXDocument(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } + + vl::Ptr Parser::ParseXDocument(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); } } @@ -8209,174 +8373,168 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::xml { - namespace glr - { - namespace xml - { /*********************************************************************** XmlAstInsReceiver : public vl::glr::AstInsReceiverBase ***********************************************************************/ - vl::Ptr XmlAstInsReceiver::CreateAstNode(vl::vint32_t type) - { - auto cppTypeName = XmlCppTypeName((XmlClasses)type); - switch((XmlClasses)type) - { - case XmlClasses::Attribute: - return vl::Ptr(new vl::glr::xml::XmlAttribute); - case XmlClasses::CData: - return vl::Ptr(new vl::glr::xml::XmlCData); - case XmlClasses::Comment: - return vl::Ptr(new vl::glr::xml::XmlComment); - case XmlClasses::Document: - return vl::Ptr(new vl::glr::xml::XmlDocument); - case XmlClasses::Element: - return vl::Ptr(new vl::glr::xml::XmlElement); - case XmlClasses::Instruction: - return vl::Ptr(new vl::glr::xml::XmlInstruction); - case XmlClasses::Text: - return vl::Ptr(new vl::glr::xml::XmlText); - default: - return vl::glr::AssemblyThrowCannotCreateAbstractType(type, cppTypeName); - } - } - - void XmlAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) - { - auto cppFieldName = XmlCppFieldName((XmlFields)field); - switch((XmlFields)field) - { - case XmlFields::Document_prologs: - return vl::glr::AssemblerSetObjectField(&vl::glr::xml::XmlDocument::prologs, object, field, value, cppFieldName); - case XmlFields::Document_rootElement: - return vl::glr::AssemblerSetObjectField(&vl::glr::xml::XmlDocument::rootElement, object, field, value, cppFieldName); - case XmlFields::Element_attributes: - return vl::glr::AssemblerSetObjectField(&vl::glr::xml::XmlElement::attributes, object, field, value, cppFieldName); - case XmlFields::Element_subNodes: - return vl::glr::AssemblerSetObjectField(&vl::glr::xml::XmlElement::subNodes, object, field, value, cppFieldName); - case XmlFields::Instruction_attributes: - return vl::glr::AssemblerSetObjectField(&vl::glr::xml::XmlInstruction::attributes, object, field, value, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotObject(field, cppFieldName); - } - } - - void XmlAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) - { - auto cppFieldName = XmlCppFieldName((XmlFields)field); - switch((XmlFields)field) - { - case XmlFields::Attribute_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlAttribute::name, object, field, token, tokenIndex, cppFieldName); - case XmlFields::Attribute_value: - return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlAttribute::value, object, field, token, tokenIndex, cppFieldName); - case XmlFields::CData_content: - return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlCData::content, object, field, token, tokenIndex, cppFieldName); - case XmlFields::Comment_content: - return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlComment::content, object, field, token, tokenIndex, cppFieldName); - case XmlFields::Element_closingName: - return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlElement::closingName, object, field, token, tokenIndex, cppFieldName); - case XmlFields::Element_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlElement::name, object, field, token, tokenIndex, cppFieldName); - case XmlFields::Instruction_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlInstruction::name, object, field, token, tokenIndex, cppFieldName); - case XmlFields::Text_content: - return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlText::content, object, field, token, tokenIndex, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotToken(field, cppFieldName); - } - } - - void XmlAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) - { - auto cppFieldName = XmlCppFieldName((XmlFields)field); - return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); - } - - const wchar_t* XmlTypeName(XmlClasses type) - { - const wchar_t* results[] = { - L"Attribute", - L"CData", - L"Comment", - L"Document", - L"Element", - L"Instruction", - L"Node", - L"Text", - }; - vl::vint index = (vl::vint)type; - return 0 <= index && index < 8 ? results[index] : nullptr; - } - - const wchar_t* XmlCppTypeName(XmlClasses type) - { - const wchar_t* results[] = { - L"vl::glr::xml::XmlAttribute", - L"vl::glr::xml::XmlCData", - L"vl::glr::xml::XmlComment", - L"vl::glr::xml::XmlDocument", - L"vl::glr::xml::XmlElement", - L"vl::glr::xml::XmlInstruction", - L"vl::glr::xml::XmlNode", - L"vl::glr::xml::XmlText", - }; - vl::vint index = (vl::vint)type; - return 0 <= index && index < 8 ? results[index] : nullptr; - } - - const wchar_t* XmlFieldName(XmlFields field) - { - const wchar_t* results[] = { - L"Attribute::name", - L"Attribute::value", - L"CData::content", - L"Comment::content", - L"Document::prologs", - L"Document::rootElement", - L"Element::attributes", - L"Element::closingName", - L"Element::name", - L"Element::subNodes", - L"Instruction::attributes", - L"Instruction::name", - L"Text::content", - }; - vl::vint index = (vl::vint)field; - return 0 <= index && index < 13 ? results[index] : nullptr; - } - - const wchar_t* XmlCppFieldName(XmlFields field) - { - const wchar_t* results[] = { - L"vl::glr::xml::XmlAttribute::name", - L"vl::glr::xml::XmlAttribute::value", - L"vl::glr::xml::XmlCData::content", - L"vl::glr::xml::XmlComment::content", - L"vl::glr::xml::XmlDocument::prologs", - L"vl::glr::xml::XmlDocument::rootElement", - L"vl::glr::xml::XmlElement::attributes", - L"vl::glr::xml::XmlElement::closingName", - L"vl::glr::xml::XmlElement::name", - L"vl::glr::xml::XmlElement::subNodes", - L"vl::glr::xml::XmlInstruction::attributes", - L"vl::glr::xml::XmlInstruction::name", - L"vl::glr::xml::XmlText::content", - }; - vl::vint index = (vl::vint)field; - return 0 <= index && index < 13 ? results[index] : nullptr; - } - - vl::Ptr XmlAstInsReceiver::ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) - { - auto cppTypeName = XmlCppTypeName((XmlClasses)type); - return vl::glr::AssemblyThrowTypeNotAllowAmbiguity(type, cppTypeName); - } + vl::Ptr XmlAstInsReceiver::CreateAstNode(vl::vint32_t type) + { + auto cppTypeName = XmlCppTypeName((XmlClasses)type); + switch((XmlClasses)type) + { + case XmlClasses::Attribute: + return vl::Ptr(new vl::glr::xml::XmlAttribute); + case XmlClasses::CData: + return vl::Ptr(new vl::glr::xml::XmlCData); + case XmlClasses::Comment: + return vl::Ptr(new vl::glr::xml::XmlComment); + case XmlClasses::Document: + return vl::Ptr(new vl::glr::xml::XmlDocument); + case XmlClasses::Element: + return vl::Ptr(new vl::glr::xml::XmlElement); + case XmlClasses::Instruction: + return vl::Ptr(new vl::glr::xml::XmlInstruction); + case XmlClasses::Text: + return vl::Ptr(new vl::glr::xml::XmlText); + default: + return vl::glr::AssemblyThrowCannotCreateAbstractType(type, cppTypeName); } } + + void XmlAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) + { + auto cppFieldName = XmlCppFieldName((XmlFields)field); + switch((XmlFields)field) + { + case XmlFields::Document_prologs: + return vl::glr::AssemblerSetObjectField(&vl::glr::xml::XmlDocument::prologs, object, field, value, cppFieldName); + case XmlFields::Document_rootElement: + return vl::glr::AssemblerSetObjectField(&vl::glr::xml::XmlDocument::rootElement, object, field, value, cppFieldName); + case XmlFields::Element_attributes: + return vl::glr::AssemblerSetObjectField(&vl::glr::xml::XmlElement::attributes, object, field, value, cppFieldName); + case XmlFields::Element_subNodes: + return vl::glr::AssemblerSetObjectField(&vl::glr::xml::XmlElement::subNodes, object, field, value, cppFieldName); + case XmlFields::Instruction_attributes: + return vl::glr::AssemblerSetObjectField(&vl::glr::xml::XmlInstruction::attributes, object, field, value, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotObject(field, cppFieldName); + } + } + + void XmlAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) + { + auto cppFieldName = XmlCppFieldName((XmlFields)field); + switch((XmlFields)field) + { + case XmlFields::Attribute_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlAttribute::name, object, field, token, tokenIndex, cppFieldName); + case XmlFields::Attribute_value: + return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlAttribute::value, object, field, token, tokenIndex, cppFieldName); + case XmlFields::CData_content: + return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlCData::content, object, field, token, tokenIndex, cppFieldName); + case XmlFields::Comment_content: + return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlComment::content, object, field, token, tokenIndex, cppFieldName); + case XmlFields::Element_closingName: + return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlElement::closingName, object, field, token, tokenIndex, cppFieldName); + case XmlFields::Element_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlElement::name, object, field, token, tokenIndex, cppFieldName); + case XmlFields::Instruction_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlInstruction::name, object, field, token, tokenIndex, cppFieldName); + case XmlFields::Text_content: + return vl::glr::AssemblerSetTokenField(&vl::glr::xml::XmlText::content, object, field, token, tokenIndex, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotToken(field, cppFieldName); + } + } + + void XmlAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) + { + auto cppFieldName = XmlCppFieldName((XmlFields)field); + return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); + } + + const wchar_t* XmlTypeName(XmlClasses type) + { + const wchar_t* results[] = { + L"Attribute", + L"CData", + L"Comment", + L"Document", + L"Element", + L"Instruction", + L"Node", + L"Text", + }; + vl::vint index = (vl::vint)type; + return 0 <= index && index < 8 ? results[index] : nullptr; + } + + const wchar_t* XmlCppTypeName(XmlClasses type) + { + const wchar_t* results[] = { + L"vl::glr::xml::XmlAttribute", + L"vl::glr::xml::XmlCData", + L"vl::glr::xml::XmlComment", + L"vl::glr::xml::XmlDocument", + L"vl::glr::xml::XmlElement", + L"vl::glr::xml::XmlInstruction", + L"vl::glr::xml::XmlNode", + L"vl::glr::xml::XmlText", + }; + vl::vint index = (vl::vint)type; + return 0 <= index && index < 8 ? results[index] : nullptr; + } + + const wchar_t* XmlFieldName(XmlFields field) + { + const wchar_t* results[] = { + L"Attribute::name", + L"Attribute::value", + L"CData::content", + L"Comment::content", + L"Document::prologs", + L"Document::rootElement", + L"Element::attributes", + L"Element::closingName", + L"Element::name", + L"Element::subNodes", + L"Instruction::attributes", + L"Instruction::name", + L"Text::content", + }; + vl::vint index = (vl::vint)field; + return 0 <= index && index < 13 ? results[index] : nullptr; + } + + const wchar_t* XmlCppFieldName(XmlFields field) + { + const wchar_t* results[] = { + L"vl::glr::xml::XmlAttribute::name", + L"vl::glr::xml::XmlAttribute::value", + L"vl::glr::xml::XmlCData::content", + L"vl::glr::xml::XmlComment::content", + L"vl::glr::xml::XmlDocument::prologs", + L"vl::glr::xml::XmlDocument::rootElement", + L"vl::glr::xml::XmlElement::attributes", + L"vl::glr::xml::XmlElement::closingName", + L"vl::glr::xml::XmlElement::name", + L"vl::glr::xml::XmlElement::subNodes", + L"vl::glr::xml::XmlInstruction::attributes", + L"vl::glr::xml::XmlInstruction::name", + L"vl::glr::xml::XmlText::content", + }; + vl::vint index = (vl::vint)field; + return 0 <= index && index < 13 ? results[index] : nullptr; + } + + vl::Ptr XmlAstInsReceiver::ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) + { + auto cppTypeName = XmlCppTypeName((XmlClasses)type); + return vl::glr::AssemblyThrowTypeNotAllowAmbiguity(type, cppTypeName); + } } @@ -8390,103 +8548,97 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::xml { - namespace glr + bool XmlTokenDeleter(vl::vint token) { - namespace xml + switch((XmlTokens)token) { - bool XmlTokenDeleter(vl::vint token) - { - switch((XmlTokens)token) - { - case XmlTokens::SPACE: - return true; - default: - return false; - } - } - - const wchar_t* XmlTokenId(XmlTokens token) - { - static const wchar_t* results[] = { - L"INSTRUCTION_OPEN", - L"INSTRUCTION_CLOSE", - L"COMPLEX_ELEMENT_OPEN", - L"SINGLE_ELEMENT_CLOSE", - L"ELEMENT_OPEN", - L"ELEMENT_CLOSE", - L"EQUAL", - L"NAME", - L"ATTVALUE", - L"COMMENT", - L"CDATA", - L"TEXT", - L"SPACE", - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < XmlTokenCount ? results[index] : nullptr; - } - - const wchar_t* XmlTokenDisplayText(XmlTokens token) - { - static const wchar_t* results[] = { - L"", - L"", - L"<", - L">", - L"=", - nullptr, - nullptr, - nullptr, - nullptr, - nullptr, - nullptr, - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < XmlTokenCount ? results[index] : nullptr; - } - - const wchar_t* XmlTokenRegex(XmlTokens token) - { - static const wchar_t* results[] = { - L"/", - L"/", - L"/<", - L"/>", - L"/=", - L"[a-zA-Z0-9:._/-]+", - L"\"[^<>\"]*\"|\'[^<>\']*\'", - L"/])*--/>", - L"/])*/]/]+/>", - L"([^<>=\"\' /r/n/ta-zA-Z0-9:._/-])+|\"|\'", - L"/s+", - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < XmlTokenCount ? results[index] : nullptr; - } - - void XmlLexerData(vl::stream::IStream& outputStream) - { - static const vl::vint dataLength = 1105; // 7530 bytes before compressing - static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 81; - static const vl::vint dataSolidRows = 4; - static const vl::vint dataRows = 5; - static const char* compressed[] = { - "\x6A\x1D\x00\x00\x49\x04\x00\x00\x2D\x00\x01\xA7\x01\x84\x81\x82\x12\x82\x01\x04\x88\x04\x89\x04\x84\x82\x05\x0F\x84\x8B\x04\x8C\x04\x81\x06\x8B\x04\x8E\x04\x9F\x04\x80\x11\x8E\x82\x21\x20\x84\x82\x13\x94\x83\x10\x82\x07\x82\x84\x83\x81\x80\x14\x82\x16\x04\x80\x81\x92\x90\x06\x14\x82\x9B\x01\xAF\x04\x9A\x91\x80\x18\x83\x1C\x04\xBA\x01\xA4\x8B\x1C\xA0\x82\x1E\x47\x84\xBD\x0A\xA4\x86\x1D\xA6\x82\x3F\x50\x84\x80\x23\xAC\x81\x20\xAB\x04\xC2\x19\xA4\x83\x24\xAC\x82\x22\x5F\x84\x85\x24\x83\x2C\x80\x2A\xB3\x04\xD5\x04\x9A\x24\x83\x2D\xB6\x82\x5C\x70\x84\x9D\x23\xBC\x82\x2E\xBB\x04\xDF\x39\xA4\x80\x34\xBC\x83\x30\x04\xFA\x04\x9B\x34\x87\x7F\x7E\x08\x00\x0D\x81\x90\x8B\xC6\x85\xC7\x80\x8A\x80\x0C\xC9\xC4\x87\x02\xC6\x00\x0B\x90\xC4\x86\x0B\xCC\x83\x01\xCE\x01\x9C\xDA\xC1\x89\x81\x81\x02\x82\x04\x04\x82\x17\xC2\xD0\x01\xD7\xD7\xA0\xAE\xF1\xD1\xC4\xDC\xD6\xDB\xD1\x00\x06\xFA\xDB\xDC\xDD\xDE\xDE\xDE\x17\x81\xBF\xC3\xEE\xDD\x8A\xE0\xE2\xC8\x86\xD3\x87\xE9\xE5\xE6\xE7\xE7\xC9\x8F\x05\xDE\xD2\xEC\xE7\x7F\xEA\xB9\xBA\xD8\xFB", - "\xDB\xEA\xEF\xE9\xDE\xDD\xE0\xDF\xFC\xDA\x89\x80\xED\xF0\xD0\xC3\xE7\xE4\x8B\xF6\xE8\xF5\xF7\xE3\xDC\xE3\xF0\xFE\xF3\xF9\xF8\xEF\xD6\xF2\xF9\xFA\xD8\xC6\xF0\xF7\xFB\xE9\x7C\x6D\x78\x00\x03\xBA\x79\x76\x61\xE8\x41\x8A\x83\x82\x0C\x8D\x8E\x83\x83\x10\x91\x82\x87\x84\x14\x95\x86\x85\x7A\x11\x04\x49\x86\x75\x1B\x80\x0D\x87\x83\x1D\xA1\x8A\x87\x88\x01\x62\x8B\x7C\x71\x1F\xBA\x69\x89\x6F\x12\x04\x4D\x89\x40\x2F\x80\x01\x8F\x8C\x2E\xB5\x81\x43\x04\x36\xB2\x89\x8C\x8D\x30\xBB\x89\x8F\x6E\x31\x80\x9E\x8D\x8F\x44\xBA\x85\x90\x8F\x46\x89\x98\x93\x92\x3F\xBA\x64\x04\x41\x4F\x81\x41\x94\x00\x53\x95\x90\x97\x95\x52\x98\x90\x01\x05\x5A\x96\x99\x97\x97\x54\x9A\x9B\x6F\x94\x63\x9D\x96\x98\x98\x5E\xA1\x98\x9B\x99\x6A\xAD\x99\x9A\x81\xBF\x74\x77\x83\x75\xF6\x75\x77\x88\x9D\x77\x89\x84\x77\x7F\x77\x8B\x83\x81\x81\xF8\x73\x9A\x9E\x61\x16\x04\x45\xA2\x75\x87\xB3\x99\xA3\x85\x8C\x8D\xAE\xA3\xA3\x90\x91\xA2\xA7\xA4\x94\x95\xA6\xA5\xA4\x17\x00\x87\xA5\x7A\x18\x1A\xAB\xA7\xA7\xA0\x95\xA3\xA0\x9E\x82\xB5\x95\xAA\x9D\x73\xB0\x9B\x9D\x9F", - "\x81\xA3\xAE\x9C\x9F\x04\xB0\xAA\xA8\x82\x9E\xA1\xA6\xAF\xAD\xB8\xBF\x36\x8B\x9C\xBB\xA0\x84\x8A\x87\xBF\xBB\xAB\x89\x73\xC3\x83\xB2\x93\x91\x43\x8A\x99\x8C\x8E\xC8\x8D\xBA\xB2\xB3\x41\xBA\x61\xB6\x61\x4C\x90\xB9\xB1\xB5\xCF\x99\xB8\x91\xAE\xDC\x9D\xBF\x3D\x9A\xE0\xAC\x91\xB9\x40\x5C\xAB\x96\xBA\x9B\x62\x8E\x93\x7B\xB8\xE8\xA7\xBC\xBB\xBB\xE2\xB5\xAE\xB7\xBC\x96\x89\xAB\xA2\x6E\xF7\x84\xA2\xBC\xBD\xFC\xB7\xA9\x07\xBE\xFD\x81\xC2\xC1\x72\x1A\x00\xC2\xA7\x06\x04\x48\xC1\x42\xC2\x00\x0C\xCE\xC1\xC2\x10\xCB\xC1\xC5\xC3\x13\xDC\x03\xC7\xC3\x12\xD9\xC4\xC6\xC6\x18\xDB\xCE\xC5\xC7\x20\xD7\xC2\xC8\xC7\x23\xDE\xC3\xC3\xA7\x1D\x06\xCD\xA1\xC8\x24\xED\xCF\xC5\xC9\x0C\xD6\xCE\xC8\xCB\x2F\xF3\xC0\xCF\xCD\x36\xF9\xC5\xCE\xC9\xBA\x5E\x04\x42\xCF\x01\x40\xD0\x02\xD0\x44\xFF\xC6\xD1\xD0\x47\xC3\xD9\xD0\x47\x48\xCD\xDA\xD2\xD3\x45\xD0\xD9\xD1\xD4\x4F\xD5\xD4\xD7\xD5\x53\xD9\xD2\xD6\xD3\x27\xCC\xAE\x44\xAB\xB7\xB4\xC2\xD8\xCE\x3B\xF2\xCB\xCF\xD8\x3A\xE8\xD7\xD8\xD9\x6A\xDD\xCB\x6D\x48\x01\x70\xD0\x02\xDC\x74\xE2\x41\xDE\xDD\x73", - "\xF8\xD5\xDF\xDD\x7C\xF9\xDD\xDF\xDE\x7E\xC1\xE4\x4B\xDF\x7A\xC5\xE4\xE3\xE1\x81\xC0\xEA\xE0\xDE\x5D\xF9\xA7\x48\xD8\x14\xAD\xDC\xD8\xD9\x66\xD2\xE9\xDB\xE4\x97\xD9\xEB\xDA\xC6\x8D\xDD\xEE\xE5\xB7\x24\x2A\xCF\xE7\xE8\x13\xA5\x02\xE8\x74\x29\x40\x09\xEB\xEA\x28\x6D\xE6\x42\xEB\xAA\xF0\xEC\xEB\xEB\xB4\xF1\xE5\xEF\xEC\xB6\xF9\xE8\xEF\xEE\xB2\xFD\xE7\xEC\xEC\x2C\x7A\xEE\xED\xEE\xBB\x7C\xEF\xEF\xF1\xC2\xC8\xF6\xF1\xF2\xCC\xCB\xFE\xF3\xF0\xCF\xF5\xE1\xF1\xF4\xC4\xFA\x6E\x49\x4B\x04\x57\xF0\x02\xF6\xDC\xD9\xFE\xF4\xF6\xE0\xDB\xFF\xF6\xF8\xE1\xDD\xF5\xFB\xF8\xE6\xE4\xFA\xF9\xFA\xEC\xE8\xFE\xF9\x40\x29\x2F\xFB\xFB\xF8\xC5\xD0\xF6\xFE\xF2\xF7\xCD\xF9\xFC\xF5\xFC\xFB\xFB\x4A\xFF\xB5\x7B\x37\x0A\x04\x23\x81\x80\x05\x80\x00\x07\x89\x80\x01\x8B\x86\x80\x06\x88\x86\x81\x0A\x8D\x82\x04\x8F\x83\x83\x08\x80\x00\x26\x15\x90\x82\x06\x99\x8C\x82\x0A\x80\x02\x05\x1B\x9E\x82\x05\x82\x81\x84\x0B\xA6\x85\x84\x28\x9D\x83\x09\x93\x88\x82\x11\xA9\x86\x85\x2A\x8E\x80\x08\xB1\x8D\x83\xFA\x78\x7F\x86\xFA\x78\x85\xFF\x3A\x80\x81\x1C\xBE\x83", - "\x7A\x3D\x84\x76\x10\x8A\x4E\x1F\x6F\x2B\x08\x00\x04\x10\x00\x4D\x05\x29\x35\x80\x0B\x38\x00\x4F\x87\x35\x68\x15\x32\x23\x2A\x8E\x8C\x22\x05\x2A\x34\x46\x24\x36\x8A\x00\x1F\x31\x20\x96\x21\x21\x70\x18\x3B\x8A\x32\x81\x26\x38\x00\x03\x8E\x1A\xE5\x8B\x8C\x31\xAC\x8F\x8D\xB8\x2D\x8D\x1A\xF0\x83\x8E\x37\xB6\x8D\x8E\x92\x24\x20", - }; - vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); - } + case XmlTokens::SPACE: + return true; + default: + return false; } } + + const wchar_t* XmlTokenId(XmlTokens token) + { + static const wchar_t* results[] = { + L"INSTRUCTION_OPEN", + L"INSTRUCTION_CLOSE", + L"COMPLEX_ELEMENT_OPEN", + L"SINGLE_ELEMENT_CLOSE", + L"ELEMENT_OPEN", + L"ELEMENT_CLOSE", + L"EQUAL", + L"NAME", + L"ATTVALUE", + L"COMMENT", + L"CDATA", + L"TEXT", + L"SPACE", + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < XmlTokenCount ? results[index] : nullptr; + } + + const wchar_t* XmlTokenDisplayText(XmlTokens token) + { + static const wchar_t* results[] = { + L"", + L"", + L"<", + L">", + L"=", + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < XmlTokenCount ? results[index] : nullptr; + } + + const wchar_t* XmlTokenRegex(XmlTokens token) + { + static const wchar_t* results[] = { + L"/", + L"/", + L"/<", + L"/>", + L"/=", + L"[a-zA-Z0-9:._/-]+", + L"\"[^<>\"]*\"|\'[^<>\']*\'", + L"/])*--/>", + L"/])*/]/]+/>", + L"([^<>=\"\' /r/n/ta-zA-Z0-9:._/-])+|\"|\'", + L"/s+", + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < XmlTokenCount ? results[index] : nullptr; + } + + void XmlLexerData(vl::stream::IStream& outputStream) + { + static const vl::vint dataLength = 1105; // 7530 bytes before compressing + static const vl::vint dataBlock = 256; + static const vl::vint dataRemain = 81; + static const vl::vint dataSolidRows = 4; + static const vl::vint dataRows = 5; + static const char* compressed[] = { + "\x6A\x1D\x00\x00\x49\x04\x00\x00\x2D\x00\x01\xA7\x01\x84\x81\x82\x12\x82\x01\x04\x88\x04\x89\x04\x84\x82\x05\x0F\x84\x8B\x04\x8C\x04\x81\x06\x8B\x04\x8E\x04\x9F\x04\x80\x11\x8E\x82\x21\x20\x84\x82\x13\x94\x83\x10\x82\x07\x82\x84\x83\x81\x80\x14\x82\x16\x04\x80\x81\x92\x90\x06\x14\x82\x9B\x01\xAF\x04\x9A\x91\x80\x18\x83\x1C\x04\xBA\x01\xA4\x8B\x1C\xA0\x82\x1E\x47\x84\xBD\x0A\xA4\x86\x1D\xA6\x82\x3F\x50\x84\x80\x23\xAC\x81\x20\xAB\x04\xC2\x19\xA4\x83\x24\xAC\x82\x22\x5F\x84\x85\x24\x83\x2C\x80\x2A\xB3\x04\xD5\x04\x9A\x24\x83\x2D\xB6\x82\x5C\x70\x84\x9D\x23\xBC\x82\x2E\xBB\x04\xDF\x39\xA4\x80\x34\xBC\x83\x30\x04\xFA\x04\x9B\x34\x87\x7F\x7E\x08\x00\x0D\x81\x90\x8B\xC6\x85\xC7\x80\x8A\x80\x0C\xC9\xC4\x87\x02\xC6\x00\x0B\x90\xC4\x86\x0B\xCC\x83\x01\xCE\x01\x9C\xDA\xC1\x89\x81\x81\x02\x82\x04\x04\x82\x17\xC2\xD0\x01\xD7\xD7\xA0\xAE\xF1\xD1\xC4\xDC\xD6\xDB\xD1\x00\x06\xFA\xDB\xDC\xDD\xDE\xDE\xDE\x17\x81\xBF\xC3\xEE\xDD\x8A\xE0\xE2\xC8\x86\xD3\x87\xE9\xE5\xE6\xE7\xE7\xC9\x8F\x05\xDE\xD2\xEC\xE7\x7F\xEA\xB9\xBA\xD8\xFB", + "\xDB\xEA\xEF\xE9\xDE\xDD\xE0\xDF\xFC\xDA\x89\x80\xED\xF0\xD0\xC3\xE7\xE4\x8B\xF6\xE8\xF5\xF7\xE3\xDC\xE3\xF0\xFE\xF3\xF9\xF8\xEF\xD6\xF2\xF9\xFA\xD8\xC6\xF0\xF7\xFB\xE9\x7C\x6D\x78\x00\x03\xBA\x79\x76\x61\xE8\x41\x8A\x83\x82\x0C\x8D\x8E\x83\x83\x10\x91\x82\x87\x84\x14\x95\x86\x85\x7A\x11\x04\x49\x86\x75\x1B\x80\x0D\x87\x83\x1D\xA1\x8A\x87\x88\x01\x62\x8B\x7C\x71\x1F\xBA\x69\x89\x6F\x12\x04\x4D\x89\x40\x2F\x80\x01\x8F\x8C\x2E\xB5\x81\x43\x04\x36\xB2\x89\x8C\x8D\x30\xBB\x89\x8F\x6E\x31\x80\x9E\x8D\x8F\x44\xBA\x85\x90\x8F\x46\x89\x98\x93\x92\x3F\xBA\x64\x04\x41\x4F\x81\x41\x94\x00\x53\x95\x90\x97\x95\x52\x98\x90\x01\x05\x5A\x96\x99\x97\x97\x54\x9A\x9B\x6F\x94\x63\x9D\x96\x98\x98\x5E\xA1\x98\x9B\x99\x6A\xAD\x99\x9A\x81\xBF\x74\x77\x83\x75\xF6\x75\x77\x88\x9D\x77\x89\x84\x77\x7F\x77\x8B\x83\x81\x81\xF8\x73\x9A\x9E\x61\x16\x04\x45\xA2\x75\x87\xB3\x99\xA3\x85\x8C\x8D\xAE\xA3\xA3\x90\x91\xA2\xA7\xA4\x94\x95\xA6\xA5\xA4\x17\x00\x87\xA5\x7A\x18\x1A\xAB\xA7\xA7\xA0\x95\xA3\xA0\x9E\x82\xB5\x95\xAA\x9D\x73\xB0\x9B\x9D\x9F", + "\x81\xA3\xAE\x9C\x9F\x04\xB0\xAA\xA8\x82\x9E\xA1\xA6\xAF\xAD\xB8\xBF\x36\x8B\x9C\xBB\xA0\x84\x8A\x87\xBF\xBB\xAB\x89\x73\xC3\x83\xB2\x93\x91\x43\x8A\x99\x8C\x8E\xC8\x8D\xBA\xB2\xB3\x41\xBA\x61\xB6\x61\x4C\x90\xB9\xB1\xB5\xCF\x99\xB8\x91\xAE\xDC\x9D\xBF\x3D\x9A\xE0\xAC\x91\xB9\x40\x5C\xAB\x96\xBA\x9B\x62\x8E\x93\x7B\xB8\xE8\xA7\xBC\xBB\xBB\xE2\xB5\xAE\xB7\xBC\x96\x89\xAB\xA2\x6E\xF7\x84\xA2\xBC\xBD\xFC\xB7\xA9\x07\xBE\xFD\x81\xC2\xC1\x72\x1A\x00\xC2\xA7\x06\x04\x48\xC1\x42\xC2\x00\x0C\xCE\xC1\xC2\x10\xCB\xC1\xC5\xC3\x13\xDC\x03\xC7\xC3\x12\xD9\xC4\xC6\xC6\x18\xDB\xCE\xC5\xC7\x20\xD7\xC2\xC8\xC7\x23\xDE\xC3\xC3\xA7\x1D\x06\xCD\xA1\xC8\x24\xED\xCF\xC5\xC9\x0C\xD6\xCE\xC8\xCB\x2F\xF3\xC0\xCF\xCD\x36\xF9\xC5\xCE\xC9\xBA\x5E\x04\x42\xCF\x01\x40\xD0\x02\xD0\x44\xFF\xC6\xD1\xD0\x47\xC3\xD9\xD0\x47\x48\xCD\xDA\xD2\xD3\x45\xD0\xD9\xD1\xD4\x4F\xD5\xD4\xD7\xD5\x53\xD9\xD2\xD6\xD3\x27\xCC\xAE\x44\xAB\xB7\xB4\xC2\xD8\xCE\x3B\xF2\xCB\xCF\xD8\x3A\xE8\xD7\xD8\xD9\x6A\xDD\xCB\x6D\x48\x01\x70\xD0\x02\xDC\x74\xE2\x41\xDE\xDD\x73", + "\xF8\xD5\xDF\xDD\x7C\xF9\xDD\xDF\xDE\x7E\xC1\xE4\x4B\xDF\x7A\xC5\xE4\xE3\xE1\x81\xC0\xEA\xE0\xDE\x5D\xF9\xA7\x48\xD8\x14\xAD\xDC\xD8\xD9\x66\xD2\xE9\xDB\xE4\x97\xD9\xEB\xDA\xC6\x8D\xDD\xEE\xE5\xB7\x24\x2A\xCF\xE7\xE8\x13\xA5\x02\xE8\x74\x29\x40\x09\xEB\xEA\x28\x6D\xE6\x42\xEB\xAA\xF0\xEC\xEB\xEB\xB4\xF1\xE5\xEF\xEC\xB6\xF9\xE8\xEF\xEE\xB2\xFD\xE7\xEC\xEC\x2C\x7A\xEE\xED\xEE\xBB\x7C\xEF\xEF\xF1\xC2\xC8\xF6\xF1\xF2\xCC\xCB\xFE\xF3\xF0\xCF\xF5\xE1\xF1\xF4\xC4\xFA\x6E\x49\x4B\x04\x57\xF0\x02\xF6\xDC\xD9\xFE\xF4\xF6\xE0\xDB\xFF\xF6\xF8\xE1\xDD\xF5\xFB\xF8\xE6\xE4\xFA\xF9\xFA\xEC\xE8\xFE\xF9\x40\x29\x2F\xFB\xFB\xF8\xC5\xD0\xF6\xFE\xF2\xF7\xCD\xF9\xFC\xF5\xFC\xFB\xFB\x4A\xFF\xB5\x7B\x37\x0A\x04\x23\x81\x80\x05\x80\x00\x07\x89\x80\x01\x8B\x86\x80\x06\x88\x86\x81\x0A\x8D\x82\x04\x8F\x83\x83\x08\x80\x00\x26\x15\x90\x82\x06\x99\x8C\x82\x0A\x80\x02\x05\x1B\x9E\x82\x05\x82\x81\x84\x0B\xA6\x85\x84\x28\x9D\x83\x09\x93\x88\x82\x11\xA9\x86\x85\x2A\x8E\x80\x08\xB1\x8D\x83\xFA\x78\x7F\x86\xFA\x78\x85\xFF\x3A\x80\x81\x1C\xBE\x83", + "\x7A\x3D\x84\x76\x10\x8A\x4E\x1F\x6F\x2B\x08\x00\x04\x10\x00\x4D\x05\x29\x35\x80\x0B\x38\x00\x4F\x87\x35\x68\x15\x32\x23\x2A\x8E\x8C\x22\x05\x2A\x34\x46\x24\x36\x8A\x00\x1F\x31\x20\x96\x21\x21\x70\x18\x3B\x8A\x32\x81\x26\x38\x00\x03\x8E\x1A\xE5\x8B\x8C\x31\xAC\x8F\x8D\xB8\x2D\x8D\x1A\xF0\x83\x8E\x37\xB6\x8D\x8E\x92\x24\x20", + }; + vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); + } } diff --git a/Import/VlppGlrParser.h b/Import/VlppGlrParser.h index 440052d0..5766d69c 100644 --- a/Import/VlppGlrParser.h +++ b/Import/VlppGlrParser.h @@ -83,47 +83,45 @@ ParsingTextPos return { token->start + token->length - 1,token->rowEnd,token->columnEnd }; } - static vint Compare(const ParsingTextPos& a, const ParsingTextPos& b) + friend std::strong_ordering operator<=>(const ParsingTextPos& a, const ParsingTextPos& b) { if (a.IsInvalid() && b.IsInvalid()) { - return 0; + return std::strong_ordering::equal; } else if (a.IsInvalid()) { - return -1; + return std::strong_ordering::less; } else if (b.IsInvalid()) { - return 1; + return std::strong_ordering::greater; } else if (a.index >= 0 && b.index >= 0) { - return a.index - b.index; + return a.index <=> b.index; } else if (a.row >= 0 && a.column >= 0 && b.row >= 0 && b.column >= 0) { if (a.row == b.row) { - return a.column - b.column; + return a.column <=> b.column; } else { - return a.row - b.row; + return a.row <=> b.row; } } else { - return 0; + return std::strong_ordering::equal; } } - bool operator==(const ParsingTextPos& pos)const { return Compare(*this, pos) == 0; } - bool operator!=(const ParsingTextPos& pos)const { return Compare(*this, pos) != 0; } - bool operator<(const ParsingTextPos& pos)const { return Compare(*this, pos) < 0; } - bool operator<=(const ParsingTextPos& pos)const { return Compare(*this, pos) <= 0; } - bool operator>(const ParsingTextPos& pos)const { return Compare(*this, pos) > 0; } - bool operator>=(const ParsingTextPos& pos)const { return Compare(*this, pos) >= 0; } + friend bool operator==(const ParsingTextPos& a, const ParsingTextPos& b) + { + return(a <=> b) == 0; + } }; /*********************************************************************** @@ -295,21 +293,19 @@ Instructions vint32_t param = -1; vint count = -1; - vint Compare(const AstIns& ins) const + std::strong_ordering operator<=>(const AstIns& ins) const { - auto result = (vint)type - (vint)ins.type; - if (result != 0) return result; - result = (vint)param - (vint)ins.param; - if (result != 0) return result; - return count - ins.count; + std::strong_ordering + result = type <=> ins.type; if (result != 0) return result; + result = param <=> ins.param; if (result != 0) return result; + result = count <=> ins.count; if (result != 0) return result; + return result; } - bool operator==(const AstIns& ins) const { return Compare(ins) == 0; } - bool operator!=(const AstIns& ins) const { return Compare(ins) != 0; } - bool operator< (const AstIns& ins) const { return Compare(ins) < 0; } - bool operator<=(const AstIns& ins) const { return Compare(ins) <= 0; } - bool operator> (const AstIns& ins) const { return Compare(ins) > 0; } - bool operator>=(const AstIns& ins) const { return Compare(ins) >= 0; } + bool operator==(const AstIns& ins) const + { + return (*this <=> ins) == 0; + } }; enum class AstInsErrorType @@ -865,10 +861,29 @@ Executable collections::Array ruleNames; collections::Array stateLabels; }; + /*********************************************************************** IExecutor ***********************************************************************/ + class UnableToResolveAmbiguityException : public Exception + { + public: + vint32_t class1 = -1; + vint32_t class2 = -1; + vint32_t tokenIndex1 = -1; + vint32_t tokenIndex2 = -1; + + UnableToResolveAmbiguityException(const WString& message, vint32_t _class1, vint32_t _class2, vint32_t _tokenIndex1, vint32_t _tokenIndex2) + : Exception(message) + , class1(_class1) + , class2(_class2) + , tokenIndex1(_tokenIndex1) + , tokenIndex2(_tokenIndex2) + { + } + }; + struct Trace; class IExecutor : public virtual Interface @@ -877,6 +892,7 @@ IExecutor class ITypeCallback : public virtual Interface { public: + virtual WString GetClassName(vint32_t classIndex) const = 0; virtual vint32_t FindCommonBaseClass(vint32_t class1, vint32_t class2) const = 0; }; @@ -1162,148 +1178,136 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_JSON_AST_AST -namespace vl +namespace vl::glr::json { - namespace glr + class JsonArray; + class JsonLiteral; + class JsonNode; + class JsonNumber; + class JsonObject; + class JsonObjectField; + class JsonString; + + enum class JsonLiteralValue { - namespace json + UNDEFINED_ENUM_ITEM_VALUE = -1, + True = 0, + False = 1, + Null = 2, + }; + + class JsonNode abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description { - class JsonArray; - class JsonLiteral; - class JsonNode; - class JsonNumber; - class JsonObject; - class JsonObjectField; - class JsonString; + public: + virtual void Visit(JsonLiteral* node) = 0; + virtual void Visit(JsonString* node) = 0; + virtual void Visit(JsonNumber* node) = 0; + virtual void Visit(JsonArray* node) = 0; + virtual void Visit(JsonObject* node) = 0; + }; - enum class JsonLiteralValue - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - True = 0, - False = 1, - Null = 2, - }; + virtual void Accept(JsonNode::IVisitor* visitor) = 0; - class JsonNode abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(JsonLiteral* node) = 0; - virtual void Visit(JsonString* node) = 0; - virtual void Visit(JsonNumber* node) = 0; - virtual void Visit(JsonArray* node) = 0; - virtual void Visit(JsonObject* node) = 0; - }; + }; - virtual void Accept(JsonNode::IVisitor* visitor) = 0; + class JsonLiteral : public JsonNode, vl::reflection::Description + { + public: + JsonLiteralValue value = JsonLiteralValue::UNDEFINED_ENUM_ITEM_VALUE; - }; + void Accept(JsonNode::IVisitor* visitor) override; + }; - class JsonLiteral : public JsonNode, vl::reflection::Description - { - public: - JsonLiteralValue value = JsonLiteralValue::UNDEFINED_ENUM_ITEM_VALUE; + class JsonString : public JsonNode, vl::reflection::Description + { + public: + vl::glr::ParsingToken content; - void Accept(JsonNode::IVisitor* visitor) override; - }; + void Accept(JsonNode::IVisitor* visitor) override; + }; - class JsonString : public JsonNode, vl::reflection::Description - { - public: - vl::glr::ParsingToken content; + class JsonNumber : public JsonNode, vl::reflection::Description + { + public: + vl::glr::ParsingToken content; - void Accept(JsonNode::IVisitor* visitor) override; - }; + void Accept(JsonNode::IVisitor* visitor) override; + }; - class JsonNumber : public JsonNode, vl::reflection::Description - { - public: - vl::glr::ParsingToken content; + class JsonArray : public JsonNode, vl::reflection::Description + { + public: + vl::collections::List> items; - void Accept(JsonNode::IVisitor* visitor) override; - }; + void Accept(JsonNode::IVisitor* visitor) override; + }; - class JsonArray : public JsonNode, vl::reflection::Description - { - public: - vl::collections::List> items; + class JsonObjectField : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + vl::Ptr value; + }; - void Accept(JsonNode::IVisitor* visitor) override; - }; + class JsonObject : public JsonNode, vl::reflection::Description + { + public: + vl::collections::List> fields; - class JsonObjectField : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - vl::Ptr value; - }; - - class JsonObject : public JsonNode, vl::reflection::Description - { - public: - vl::collections::List> fields; - - void Accept(JsonNode::IVisitor* visitor) override; - }; - } - } + void Accept(JsonNode::IVisitor* visitor) override; + }; } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - DECL_TYPE_INFO(vl::glr::json::JsonNode) - DECL_TYPE_INFO(vl::glr::json::JsonNode::IVisitor) - DECL_TYPE_INFO(vl::glr::json::JsonLiteralValue) - DECL_TYPE_INFO(vl::glr::json::JsonLiteral) - DECL_TYPE_INFO(vl::glr::json::JsonString) - DECL_TYPE_INFO(vl::glr::json::JsonNumber) - DECL_TYPE_INFO(vl::glr::json::JsonArray) - DECL_TYPE_INFO(vl::glr::json::JsonObjectField) - DECL_TYPE_INFO(vl::glr::json::JsonObject) + DECL_TYPE_INFO(vl::glr::json::JsonNode) + DECL_TYPE_INFO(vl::glr::json::JsonNode::IVisitor) + DECL_TYPE_INFO(vl::glr::json::JsonLiteralValue) + DECL_TYPE_INFO(vl::glr::json::JsonLiteral) + DECL_TYPE_INFO(vl::glr::json::JsonString) + DECL_TYPE_INFO(vl::glr::json::JsonNumber) + DECL_TYPE_INFO(vl::glr::json::JsonArray) + DECL_TYPE_INFO(vl::glr::json::JsonObjectField) + DECL_TYPE_INFO(vl::glr::json::JsonObject) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::json::JsonNode::IVisitor) - void Visit(vl::glr::json::JsonLiteral* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::json::JsonString* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::json::JsonNumber* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::json::JsonArray* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::json::JsonObject* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::glr::json::JsonNode::IVisitor) - -#endif -#endif - /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. - /// Returns true if this operation succeeded. - extern bool JsonAstLoadTypes(); + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::json::JsonNode::IVisitor) + void Visit(vl::glr::json::JsonLiteral* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); } - } + + void Visit(vl::glr::json::JsonString* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::json::JsonNumber* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::json::JsonArray* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::json::JsonObject* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::glr::json::JsonNode::IVisitor) + +#endif +#endif + /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. + /// Returns true if this operation succeeded. + extern bool JsonAstLoadTypes(); } #endif @@ -1320,54 +1324,45 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_JSON_AST_AST_BUILDER -namespace vl +namespace vl::glr::json::builder { - namespace glr + class MakeArray : public vl::glr::ParsingAstBuilder { - namespace json - { - namespace builder - { - class MakeArray : public vl::glr::ParsingAstBuilder - { - public: - MakeArray& items(const vl::Ptr& value); - }; + public: + MakeArray& items(const vl::Ptr& value); + }; - class MakeLiteral : public vl::glr::ParsingAstBuilder - { - public: - MakeLiteral& value(JsonLiteralValue value); - }; + class MakeLiteral : public vl::glr::ParsingAstBuilder + { + public: + MakeLiteral& value(JsonLiteralValue value); + }; - class MakeNumber : public vl::glr::ParsingAstBuilder - { - public: - MakeNumber& content(const vl::WString& value); - }; + class MakeNumber : public vl::glr::ParsingAstBuilder + { + public: + MakeNumber& content(const vl::WString& value); + }; - class MakeObject : public vl::glr::ParsingAstBuilder - { - public: - MakeObject& fields(const vl::Ptr& value); - }; + class MakeObject : public vl::glr::ParsingAstBuilder + { + public: + MakeObject& fields(const vl::Ptr& value); + }; - class MakeObjectField : public vl::glr::ParsingAstBuilder - { - public: - MakeObjectField& name(const vl::WString& value); - MakeObjectField& value(const vl::Ptr& value); - }; + class MakeObjectField : public vl::glr::ParsingAstBuilder + { + public: + MakeObjectField& name(const vl::WString& value); + MakeObjectField& value(const vl::Ptr& value); + }; - class MakeString : public vl::glr::ParsingAstBuilder - { - public: - MakeString& content(const vl::WString& value); - }; + class MakeString : public vl::glr::ParsingAstBuilder + { + public: + MakeString& content(const vl::WString& value); + }; - } - } - } } #endif @@ -1384,50 +1379,41 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_JSON_AST_AST_COPY_VISITOR -namespace vl +namespace vl::glr::json::copy_visitor { - namespace glr + /// A copy visitor, overriding all abstract methods with AST copying code. + class AstVisitor + : public virtual vl::glr::CopyVisitorBase + , protected virtual JsonNode::IVisitor { - namespace json - { - namespace copy_visitor - { - /// A copy visitor, overriding all abstract methods with AST copying code. - class AstVisitor - : public virtual vl::glr::CopyVisitorBase - , protected virtual JsonNode::IVisitor - { - protected: - void CopyFields(JsonArray* from, JsonArray* to); - void CopyFields(JsonLiteral* from, JsonLiteral* to); - void CopyFields(JsonNode* from, JsonNode* to); - void CopyFields(JsonNumber* from, JsonNumber* to); - void CopyFields(JsonObject* from, JsonObject* to); - void CopyFields(JsonObjectField* from, JsonObjectField* to); - void CopyFields(JsonString* from, JsonString* to); + protected: + void CopyFields(JsonArray* from, JsonArray* to); + void CopyFields(JsonLiteral* from, JsonLiteral* to); + void CopyFields(JsonNode* from, JsonNode* to); + void CopyFields(JsonNumber* from, JsonNumber* to); + void CopyFields(JsonObject* from, JsonObject* to); + void CopyFields(JsonObjectField* from, JsonObjectField* to); + void CopyFields(JsonString* from, JsonString* to); - protected: - virtual void Visit(JsonObjectField* node); + protected: + virtual void Visit(JsonObjectField* node); - void Visit(JsonLiteral* node) override; - void Visit(JsonString* node) override; - void Visit(JsonNumber* node) override; - void Visit(JsonArray* node) override; - void Visit(JsonObject* node) override; + void Visit(JsonLiteral* node) override; + void Visit(JsonString* node) override; + void Visit(JsonNumber* node) override; + void Visit(JsonArray* node) override; + void Visit(JsonObject* node) override; - public: - virtual vl::Ptr CopyNode(JsonNode* node); - virtual vl::Ptr CopyNode(JsonObjectField* node); + public: + virtual vl::Ptr CopyNode(JsonNode* node); + virtual vl::Ptr CopyNode(JsonObjectField* node); - vl::Ptr CopyNode(JsonArray* node); - vl::Ptr CopyNode(JsonLiteral* node); - vl::Ptr CopyNode(JsonNumber* node); - vl::Ptr CopyNode(JsonObject* node); - vl::Ptr CopyNode(JsonString* node); - }; - } - } - } + vl::Ptr CopyNode(JsonArray* node); + vl::Ptr CopyNode(JsonLiteral* node); + vl::Ptr CopyNode(JsonNumber* node); + vl::Ptr CopyNode(JsonObject* node); + vl::Ptr CopyNode(JsonString* node); + }; } #endif @@ -1444,32 +1430,23 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_JSON_AST_AST_EMPTY_VISITOR -namespace vl +namespace vl::glr::json::empty_visitor { - namespace glr + /// An empty visitor, overriding all abstract methods with empty implementations. + class NodeVisitor : public vl::Object, public JsonNode::IVisitor { - namespace json - { - namespace empty_visitor - { - /// An empty visitor, overriding all abstract methods with empty implementations. - class NodeVisitor : public vl::Object, public JsonNode::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(JsonLiteral* node) override; - void Visit(JsonString* node) override; - void Visit(JsonNumber* node) override; - void Visit(JsonArray* node) override; - void Visit(JsonObject* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(JsonLiteral* node) override; + void Visit(JsonString* node) override; + void Visit(JsonNumber* node) override; + void Visit(JsonArray* node) override; + void Visit(JsonObject* node) override; + }; - } - } - } } #endif @@ -1486,44 +1463,35 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_JSON_AST_AST_JSON_VISITOR -namespace vl +namespace vl::glr::json::json_visitor { - namespace glr + /// A JSON visitor, overriding all abstract methods with AST to JSON serialization code. + class AstVisitor + : public vl::glr::JsonVisitorBase + , protected virtual JsonNode::IVisitor { - namespace json - { - namespace json_visitor - { - /// A JSON visitor, overriding all abstract methods with AST to JSON serialization code. - class AstVisitor - : public vl::glr::JsonVisitorBase - , protected virtual JsonNode::IVisitor - { - protected: - virtual void PrintFields(JsonArray* node); - virtual void PrintFields(JsonLiteral* node); - virtual void PrintFields(JsonNode* node); - virtual void PrintFields(JsonNumber* node); - virtual void PrintFields(JsonObject* node); - virtual void PrintFields(JsonObjectField* node); - virtual void PrintFields(JsonString* node); + protected: + virtual void PrintFields(JsonArray* node); + virtual void PrintFields(JsonLiteral* node); + virtual void PrintFields(JsonNode* node); + virtual void PrintFields(JsonNumber* node); + virtual void PrintFields(JsonObject* node); + virtual void PrintFields(JsonObjectField* node); + virtual void PrintFields(JsonString* node); - protected: - void Visit(JsonLiteral* node) override; - void Visit(JsonString* node) override; - void Visit(JsonNumber* node) override; - void Visit(JsonArray* node) override; - void Visit(JsonObject* node) override; + protected: + void Visit(JsonLiteral* node) override; + void Visit(JsonString* node) override; + void Visit(JsonNumber* node) override; + void Visit(JsonArray* node) override; + void Visit(JsonObject* node) override; - public: - AstVisitor(vl::stream::StreamWriter& _writer); + public: + AstVisitor(vl::stream::StreamWriter& _writer); - void Print(JsonNode* node); - void Print(JsonObjectField* node); - }; - } - } - } + void Print(JsonNode* node); + void Print(JsonObjectField* node); + }; } #endif @@ -1540,54 +1508,45 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_JSON_AST_AST_TRAVERSE_VISITOR -namespace vl +namespace vl::glr::json::traverse_visitor { - namespace glr + /// A traverse visitor, overriding all abstract methods with AST visiting code. + class AstVisitor + : public vl::Object + , protected virtual JsonNode::IVisitor { - namespace json - { - namespace traverse_visitor - { - /// A traverse visitor, overriding all abstract methods with AST visiting code. - class AstVisitor - : public vl::Object - , protected virtual JsonNode::IVisitor - { - protected: - virtual void Traverse(vl::glr::ParsingToken& token); - virtual void Traverse(vl::glr::ParsingAstBase* node); - virtual void Traverse(JsonArray* node); - virtual void Traverse(JsonLiteral* node); - virtual void Traverse(JsonNode* node); - virtual void Traverse(JsonNumber* node); - virtual void Traverse(JsonObject* node); - virtual void Traverse(JsonObjectField* node); - virtual void Traverse(JsonString* node); + protected: + virtual void Traverse(vl::glr::ParsingToken& token); + virtual void Traverse(vl::glr::ParsingAstBase* node); + virtual void Traverse(JsonArray* node); + virtual void Traverse(JsonLiteral* node); + virtual void Traverse(JsonNode* node); + virtual void Traverse(JsonNumber* node); + virtual void Traverse(JsonObject* node); + virtual void Traverse(JsonObjectField* node); + virtual void Traverse(JsonString* node); - protected: - virtual void Finishing(vl::glr::ParsingAstBase* node); - virtual void Finishing(JsonArray* node); - virtual void Finishing(JsonLiteral* node); - virtual void Finishing(JsonNode* node); - virtual void Finishing(JsonNumber* node); - virtual void Finishing(JsonObject* node); - virtual void Finishing(JsonObjectField* node); - virtual void Finishing(JsonString* node); + protected: + virtual void Finishing(vl::glr::ParsingAstBase* node); + virtual void Finishing(JsonArray* node); + virtual void Finishing(JsonLiteral* node); + virtual void Finishing(JsonNode* node); + virtual void Finishing(JsonNumber* node); + virtual void Finishing(JsonObject* node); + virtual void Finishing(JsonObjectField* node); + virtual void Finishing(JsonString* node); - protected: - void Visit(JsonLiteral* node) override; - void Visit(JsonString* node) override; - void Visit(JsonNumber* node) override; - void Visit(JsonArray* node) override; - void Visit(JsonObject* node) override; + protected: + void Visit(JsonLiteral* node) override; + void Visit(JsonString* node) override; + void Visit(JsonNumber* node) override; + void Visit(JsonArray* node) override; + void Visit(JsonObject* node) override; - public: - void InspectInto(JsonNode* node); - void InspectInto(JsonObjectField* node); - }; - } - } - } + public: + void InspectInto(JsonNode* node); + void InspectInto(JsonObjectField* node); + }; } #endif @@ -1604,50 +1563,44 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_JSON_AST_ASSEMBLER -namespace vl +namespace vl::glr::json { - namespace glr + enum class JsonClasses : vl::vint32_t { - namespace json - { - enum class JsonClasses : vl::vint32_t - { - Array = 0, - Literal = 1, - Node = 2, - Number = 3, - Object = 4, - ObjectField = 5, - String = 6, - }; + Array = 0, + Literal = 1, + Node = 2, + Number = 3, + Object = 4, + ObjectField = 5, + String = 6, + }; - enum class JsonFields : vl::vint32_t - { - Array_items = 0, - Literal_value = 1, - Number_content = 2, - Object_fields = 3, - ObjectField_name = 4, - ObjectField_value = 5, - String_content = 6, - }; + enum class JsonFields : vl::vint32_t + { + Array_items = 0, + Literal_value = 1, + Number_content = 2, + Object_fields = 3, + ObjectField_name = 4, + ObjectField_value = 5, + String_content = 6, + }; - extern const wchar_t* JsonTypeName(JsonClasses type); - extern const wchar_t* JsonCppTypeName(JsonClasses type); - extern const wchar_t* JsonFieldName(JsonFields field); - extern const wchar_t* JsonCppFieldName(JsonFields field); + extern const wchar_t* JsonTypeName(JsonClasses type); + extern const wchar_t* JsonCppTypeName(JsonClasses type); + extern const wchar_t* JsonFieldName(JsonFields field); + extern const wchar_t* JsonCppFieldName(JsonFields field); - class JsonAstInsReceiver : public vl::glr::AstInsReceiverBase - { - protected: - vl::Ptr CreateAstNode(vl::vint32_t type) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; - vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; - }; - } - } + class JsonAstInsReceiver : public vl::glr::AstInsReceiverBase + { + protected: + vl::Ptr CreateAstNode(vl::vint32_t type) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; + vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; + }; } #endif @@ -1664,36 +1617,30 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_JSON_LEXER -namespace vl +namespace vl::glr::json { - namespace glr + enum class JsonTokens : vl::vint32_t { - namespace json - { - enum class JsonTokens : vl::vint32_t - { - TRUE_VALUE = 0, - FALSE_VALUE = 1, - NULL_VALUE = 2, - OBJOPEN = 3, - OBJCLOSE = 4, - ARROPEN = 5, - ARRCLOSE = 6, - COMMA = 7, - COLON = 8, - NUMBER = 9, - STRING = 10, - SPACE = 11, - }; + TRUE_VALUE = 0, + FALSE_VALUE = 1, + NULL_VALUE = 2, + OBJOPEN = 3, + OBJCLOSE = 4, + ARROPEN = 5, + ARRCLOSE = 6, + COMMA = 7, + COLON = 8, + NUMBER = 9, + STRING = 10, + SPACE = 11, + }; - constexpr vl::vint JsonTokenCount = 12; - extern bool JsonTokenDeleter(vl::vint token); - extern const wchar_t* JsonTokenId(JsonTokens token); - extern const wchar_t* JsonTokenDisplayText(JsonTokens token); - extern const wchar_t* JsonTokenRegex(JsonTokens token); - extern void JsonLexerData(vl::stream::IStream& outputStream); - } - } + constexpr vl::vint JsonTokenCount = 12; + extern bool JsonTokenDeleter(vl::vint token); + extern const wchar_t* JsonTokenId(JsonTokens token); + extern const wchar_t* JsonTokenDisplayText(JsonTokens token); + extern const wchar_t* JsonTokenRegex(JsonTokens token); + extern void JsonLexerData(vl::stream::IStream& outputStream); } #endif @@ -1710,40 +1657,35 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_JSON_PARSER_SYNTAX -namespace vl +namespace vl::glr::json { - namespace glr + enum class ParserStates { - namespace json - { - enum class ParserStates - { - JLiteral = 0, - JField = 7, - JObject = 12, - JArray = 18, - JValue = 24, - JRoot = 29, - }; + JLiteral = 0, + JField = 7, + JObject = 12, + JArray = 18, + JValue = 24, + JRoot = 29, + }; - const wchar_t* ParserRuleName(vl::vint index); - const wchar_t* ParserStateLabel(vl::vint index); - extern void JsonParserData(vl::stream::IStream& outputStream); + const wchar_t* ParserRuleName(vl::vint index); + const wchar_t* ParserStateLabel(vl::vint index); + extern void JsonParserData(vl::stream::IStream& outputStream); - class Parser - : public vl::glr::ParserBase - , protected vl::glr::automaton::IExecutor::ITypeCallback - { - protected: - vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; - public: - Parser(); + class Parser + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback + { + protected: + vl::WString GetClassName(vl::vint32_t classIndex) const override; + vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; + public: + Parser(); - vl::Ptr ParseJRoot(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr ParseJRoot(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - }; - } - } + vl::Ptr ParseJRoot(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr ParseJRoot(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + }; } #endif @@ -1830,24 +1772,16 @@ AllocateOnly explicit Ref(vint32_t _handle) :handle(_handle) {} __forceinline bool operator==(NullRef) const { return handle == -1; } - __forceinline bool operator!=(NullRef) const { return handle != -1; } + + __forceinline std::strong_ordering operator<=>(const Ref& ref) const { return handle <=> ref.handle; } __forceinline bool operator==(const Ref& ref) const { return handle == ref.handle; } - __forceinline bool operator!=(const Ref& ref) const { return handle != ref.handle; } - __forceinline bool operator> (const Ref& ref) const { return handle > ref.handle; } - __forceinline bool operator>=(const Ref& ref) const { return handle >= ref.handle; } - __forceinline bool operator< (const Ref& ref) const { return handle < ref.handle; } - __forceinline bool operator<=(const Ref& ref) const { return handle <= ref.handle; } __forceinline Ref& operator=(const Ref& ref) { handle = ref.handle; return *this; } __forceinline Ref& operator=(T* obj) { handle = obj == nullptr ? -1 : obj->allocatedIndex; return *this; } __forceinline Ref& operator=(NullRef) { handle = -1; return *this; } + __forceinline std::strong_ordering operator<=>(vint32_t) = delete; __forceinline bool operator==(vint32_t) = delete; - __forceinline bool operator!=(vint32_t) = delete; - __forceinline bool operator> (vint32_t) = delete; - __forceinline bool operator>=(vint32_t) = delete; - __forceinline bool operator< (vint32_t) = delete; - __forceinline bool operator<=(vint32_t) = delete; __forceinline Ref& operator=(vint32_t) = delete; }; @@ -2041,11 +1975,16 @@ TraceManager (Data Structures -- Input/EndOfInput) TraceManager (Data Structures -- PrepareTraceRoute/ResolveAmbiguity) ***********************************************************************/ + struct InsRef + { + Ref trace; + vint32_t ins = -1; + }; + struct InsExec_InsRefLink : Allocatable { Ref previous; - Ref trace; - vint32_t ins = -1; + InsRef insRef; }; struct InsExec_ObjRefLink : Allocatable @@ -2056,26 +1995,31 @@ TraceManager (Data Structures -- PrepareTraceRoute/ResolveAmbiguity) struct InsExec_Object : Allocatable, WithMagicCounter { + static const vint32_t TokenOrEnumItemObjectId = -2; + // previous allocated object Ref previous; - // injectObjectIds are objects it injects into by LriFetch - Ref injectObjectIds; + // fieldObjectIds are object fields of this object + Ref fieldObjectIds; + + // assignedToObjectIds are objects who has at least one field that is this object + Ref assignedToObjectIds; // instruction that creates this object - Ref createTrace; - vint32_t createIns = -1; + InsRef createInsRef; // DelayFieldAssignment instructions that associates to the current object Ref dfaInsRefs; // first instruction that creates this object - Ref topLocalTrace; - vint32_t topLocalIns = -1; + InsRef topLocalInsRef; // first instruction that creates this object or its fields - Ref topTrace; - vint32_t topIns = -1; + InsRef topInsRef; + + // last instructions that closes this object + Ref bottomInsRefs; }; struct InsExec_ObjectStack : Allocatable, WithMagicCounter @@ -2096,8 +2040,9 @@ TraceManager (Data Structures -- PrepareTraceRoute/ResolveAmbiguity) // InsExec_ObjRefLink assigned by BO/BOLA/RO Ref objectIds; - // objectIds will be added to reverseInjectObjectIds::injectObjectIds - Ref reverseInjectObjectIds; + // objectIds will be added to reverseAssignedToObjectIds::assignedToObjectIds when ReopenObject happens + // it happens when a field is assigned to a DFA created object, the objectIds are unknown yet + Ref reverseAssignedToObjectIds; }; struct InsExec_Context @@ -2380,12 +2325,12 @@ TraceManager InsExec_Object* NewObject(); vint32_t GetStackBase(InsExec_Context& context); vint32_t GetStackTop(InsExec_Context& context); - void PushInsRefLink(Ref& link, Ref trace, vint32_t ins); + void PushInsRefLink(Ref& link, InsRef insRef); void PushObjRefLink(Ref& link, Ref id); Ref JoinInsRefLink(Ref first, Ref second); Ref JoinObjRefLink(Ref first, Ref second); - void PushInjectObjectIdsSingleWithMagic(Ref container, Ref element); - void PushInjectObjectIdsMultipleWithMagic(Ref container, Ref elements); + void PushAssignedToObjectIdsSingleWithMagic(Ref fieldObjectIds, Ref assignedToTarget); + void PushAssignedToObjectIdsMultipleWithMagic(Ref fieldObjectIds, Ref assignedToTargets); InsExec_ObjectStack* PushObjectStackSingle(InsExec_Context& context, Ref objectId); InsExec_ObjectStack* PushObjectStackMultiple(InsExec_Context& context, Ref linkId); InsExec_CreateStack* PushCreateStack(InsExec_Context& context); @@ -2402,10 +2347,14 @@ TraceManager void MergeInsExecContext(Trace* mergeTrace); // phase: PartialExecuteTraces - CalculateObjectFirstInstruction - bool UpdateTopTrace(Ref& topTrace, vint32_t& topIns, Ref newTrace, vint32_t newIns); - void InjectFirstInstruction(Ref trace, vint32_t ins, Ref injectTargets, vuint64_t magicInjection); + bool UpdateTopTrace(InsRef& topInsRef, InsRef newInsRef); + void InjectFirstInstruction(InsRef insRef, Ref injectTargets, vuint64_t magicInjection); void CalculateObjectFirstInstruction(); + // phase: PartialExecuteTraces - CalculateObjectLastInstruction + bool IsInTheSameBranch(Trace* forward, Trace* targetForwardAtFront); + void CalculateObjectLastInstruction(); + // phase: PartialExecuteTraces void PartialExecuteTraces(); @@ -2430,9 +2379,9 @@ TraceManager // phase: CheckMergeTraces template - bool SearchForObjects(Ref objRefLinkStartSet, bool withCounter, TCallback&& callback); + bool EnumerateObjects(Ref objRefLinkStartSet, bool withCounter, TCallback&& callback); template - bool SearchForEndObjectInstructions(Trace* createTrace, vint32_t createIns, TCallback&& callback); + bool EnumerateBottomInstructions(InsExec_Object* ieObject, TCallback&& callback); bool ComparePrefix(TraceExec* baselineTraceExec, TraceExec* commingTraceExec, vint32_t prefix); bool ComparePostfix(TraceExec* baselineTraceExec, TraceExec* commingTraceExec, vint32_t postfix); template @@ -2591,160 +2540,148 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_XML_AST_AST -namespace vl +namespace vl::glr::xml { - namespace glr + class XmlAttribute; + class XmlCData; + class XmlComment; + class XmlDocument; + class XmlElement; + class XmlInstruction; + class XmlNode; + class XmlText; + + class XmlNode abstract : public vl::glr::ParsingAstBase, vl::reflection::Description { - namespace xml + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description { - class XmlAttribute; - class XmlCData; - class XmlComment; - class XmlDocument; - class XmlElement; - class XmlInstruction; - class XmlNode; - class XmlText; + public: + virtual void Visit(XmlText* node) = 0; + virtual void Visit(XmlCData* node) = 0; + virtual void Visit(XmlComment* node) = 0; + virtual void Visit(XmlElement* node) = 0; + virtual void Visit(XmlInstruction* node) = 0; + virtual void Visit(XmlDocument* node) = 0; + }; - class XmlNode abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(XmlText* node) = 0; - virtual void Visit(XmlCData* node) = 0; - virtual void Visit(XmlComment* node) = 0; - virtual void Visit(XmlElement* node) = 0; - virtual void Visit(XmlInstruction* node) = 0; - virtual void Visit(XmlDocument* node) = 0; - }; + virtual void Accept(XmlNode::IVisitor* visitor) = 0; - virtual void Accept(XmlNode::IVisitor* visitor) = 0; + }; - }; + class XmlText : public XmlNode, vl::reflection::Description + { + public: + vl::glr::ParsingToken content; - class XmlText : public XmlNode, vl::reflection::Description - { - public: - vl::glr::ParsingToken content; + void Accept(XmlNode::IVisitor* visitor) override; + }; - void Accept(XmlNode::IVisitor* visitor) override; - }; + class XmlCData : public XmlNode, vl::reflection::Description + { + public: + vl::glr::ParsingToken content; - class XmlCData : public XmlNode, vl::reflection::Description - { - public: - vl::glr::ParsingToken content; + void Accept(XmlNode::IVisitor* visitor) override; + }; - void Accept(XmlNode::IVisitor* visitor) override; - }; + class XmlAttribute : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + vl::glr::ParsingToken value; + }; - class XmlAttribute : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - vl::glr::ParsingToken value; - }; + class XmlComment : public XmlNode, vl::reflection::Description + { + public: + vl::glr::ParsingToken content; - class XmlComment : public XmlNode, vl::reflection::Description - { - public: - vl::glr::ParsingToken content; + void Accept(XmlNode::IVisitor* visitor) override; + }; - void Accept(XmlNode::IVisitor* visitor) override; - }; + class XmlElement : public XmlNode, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + vl::glr::ParsingToken closingName; + vl::collections::List> attributes; + vl::collections::List> subNodes; - class XmlElement : public XmlNode, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - vl::glr::ParsingToken closingName; - vl::collections::List> attributes; - vl::collections::List> subNodes; + void Accept(XmlNode::IVisitor* visitor) override; + }; - void Accept(XmlNode::IVisitor* visitor) override; - }; + class XmlInstruction : public XmlNode, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + vl::collections::List> attributes; - class XmlInstruction : public XmlNode, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - vl::collections::List> attributes; + void Accept(XmlNode::IVisitor* visitor) override; + }; - void Accept(XmlNode::IVisitor* visitor) override; - }; + class XmlDocument : public XmlNode, vl::reflection::Description + { + public: + vl::collections::List> prologs; + vl::Ptr rootElement; - class XmlDocument : public XmlNode, vl::reflection::Description - { - public: - vl::collections::List> prologs; - vl::Ptr rootElement; - - void Accept(XmlNode::IVisitor* visitor) override; - }; - } - } + void Accept(XmlNode::IVisitor* visitor) override; + }; } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - DECL_TYPE_INFO(vl::glr::xml::XmlNode) - DECL_TYPE_INFO(vl::glr::xml::XmlNode::IVisitor) - DECL_TYPE_INFO(vl::glr::xml::XmlText) - DECL_TYPE_INFO(vl::glr::xml::XmlCData) - DECL_TYPE_INFO(vl::glr::xml::XmlAttribute) - DECL_TYPE_INFO(vl::glr::xml::XmlComment) - DECL_TYPE_INFO(vl::glr::xml::XmlElement) - DECL_TYPE_INFO(vl::glr::xml::XmlInstruction) - DECL_TYPE_INFO(vl::glr::xml::XmlDocument) + DECL_TYPE_INFO(vl::glr::xml::XmlNode) + DECL_TYPE_INFO(vl::glr::xml::XmlNode::IVisitor) + DECL_TYPE_INFO(vl::glr::xml::XmlText) + DECL_TYPE_INFO(vl::glr::xml::XmlCData) + DECL_TYPE_INFO(vl::glr::xml::XmlAttribute) + DECL_TYPE_INFO(vl::glr::xml::XmlComment) + DECL_TYPE_INFO(vl::glr::xml::XmlElement) + DECL_TYPE_INFO(vl::glr::xml::XmlInstruction) + DECL_TYPE_INFO(vl::glr::xml::XmlDocument) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::xml::XmlNode::IVisitor) - void Visit(vl::glr::xml::XmlText* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::xml::XmlCData* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::xml::XmlComment* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::xml::XmlElement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::xml::XmlInstruction* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::xml::XmlDocument* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::glr::xml::XmlNode::IVisitor) - -#endif -#endif - /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. - /// Returns true if this operation succeeded. - extern bool XmlAstLoadTypes(); + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::xml::XmlNode::IVisitor) + void Visit(vl::glr::xml::XmlText* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); } - } + + void Visit(vl::glr::xml::XmlCData* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::xml::XmlComment* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::xml::XmlElement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::xml::XmlInstruction* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::xml::XmlDocument* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::glr::xml::XmlNode::IVisitor) + +#endif +#endif + /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. + /// Returns true if this operation succeeded. + extern bool XmlAstLoadTypes(); } #endif @@ -2761,65 +2698,56 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_XML_AST_AST_BUILDER -namespace vl +namespace vl::glr::xml::builder { - namespace glr + class MakeAttribute : public vl::glr::ParsingAstBuilder { - namespace xml - { - namespace builder - { - class MakeAttribute : public vl::glr::ParsingAstBuilder - { - public: - MakeAttribute& name(const vl::WString& value); - MakeAttribute& value(const vl::WString& value); - }; + public: + MakeAttribute& name(const vl::WString& value); + MakeAttribute& value(const vl::WString& value); + }; - class MakeCData : public vl::glr::ParsingAstBuilder - { - public: - MakeCData& content(const vl::WString& value); - }; + class MakeCData : public vl::glr::ParsingAstBuilder + { + public: + MakeCData& content(const vl::WString& value); + }; - class MakeComment : public vl::glr::ParsingAstBuilder - { - public: - MakeComment& content(const vl::WString& value); - }; + class MakeComment : public vl::glr::ParsingAstBuilder + { + public: + MakeComment& content(const vl::WString& value); + }; - class MakeDocument : public vl::glr::ParsingAstBuilder - { - public: - MakeDocument& prologs(const vl::Ptr& value); - MakeDocument& rootElement(const vl::Ptr& value); - }; + class MakeDocument : public vl::glr::ParsingAstBuilder + { + public: + MakeDocument& prologs(const vl::Ptr& value); + MakeDocument& rootElement(const vl::Ptr& value); + }; - class MakeElement : public vl::glr::ParsingAstBuilder - { - public: - MakeElement& attributes(const vl::Ptr& value); - MakeElement& closingName(const vl::WString& value); - MakeElement& name(const vl::WString& value); - MakeElement& subNodes(const vl::Ptr& value); - }; + class MakeElement : public vl::glr::ParsingAstBuilder + { + public: + MakeElement& attributes(const vl::Ptr& value); + MakeElement& closingName(const vl::WString& value); + MakeElement& name(const vl::WString& value); + MakeElement& subNodes(const vl::Ptr& value); + }; - class MakeInstruction : public vl::glr::ParsingAstBuilder - { - public: - MakeInstruction& attributes(const vl::Ptr& value); - MakeInstruction& name(const vl::WString& value); - }; + class MakeInstruction : public vl::glr::ParsingAstBuilder + { + public: + MakeInstruction& attributes(const vl::Ptr& value); + MakeInstruction& name(const vl::WString& value); + }; - class MakeText : public vl::glr::ParsingAstBuilder - { - public: - MakeText& content(const vl::WString& value); - }; + class MakeText : public vl::glr::ParsingAstBuilder + { + public: + MakeText& content(const vl::WString& value); + }; - } - } - } } #endif @@ -2836,53 +2764,44 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_XML_AST_AST_COPY_VISITOR -namespace vl +namespace vl::glr::xml::copy_visitor { - namespace glr + /// A copy visitor, overriding all abstract methods with AST copying code. + class AstVisitor + : public virtual vl::glr::CopyVisitorBase + , protected virtual XmlNode::IVisitor { - namespace xml - { - namespace copy_visitor - { - /// A copy visitor, overriding all abstract methods with AST copying code. - class AstVisitor - : public virtual vl::glr::CopyVisitorBase - , protected virtual XmlNode::IVisitor - { - protected: - void CopyFields(XmlAttribute* from, XmlAttribute* to); - void CopyFields(XmlCData* from, XmlCData* to); - void CopyFields(XmlComment* from, XmlComment* to); - void CopyFields(XmlDocument* from, XmlDocument* to); - void CopyFields(XmlElement* from, XmlElement* to); - void CopyFields(XmlInstruction* from, XmlInstruction* to); - void CopyFields(XmlNode* from, XmlNode* to); - void CopyFields(XmlText* from, XmlText* to); + protected: + void CopyFields(XmlAttribute* from, XmlAttribute* to); + void CopyFields(XmlCData* from, XmlCData* to); + void CopyFields(XmlComment* from, XmlComment* to); + void CopyFields(XmlDocument* from, XmlDocument* to); + void CopyFields(XmlElement* from, XmlElement* to); + void CopyFields(XmlInstruction* from, XmlInstruction* to); + void CopyFields(XmlNode* from, XmlNode* to); + void CopyFields(XmlText* from, XmlText* to); - protected: - virtual void Visit(XmlAttribute* node); + protected: + virtual void Visit(XmlAttribute* node); - void Visit(XmlText* node) override; - void Visit(XmlCData* node) override; - void Visit(XmlComment* node) override; - void Visit(XmlElement* node) override; - void Visit(XmlInstruction* node) override; - void Visit(XmlDocument* node) override; + void Visit(XmlText* node) override; + void Visit(XmlCData* node) override; + void Visit(XmlComment* node) override; + void Visit(XmlElement* node) override; + void Visit(XmlInstruction* node) override; + void Visit(XmlDocument* node) override; - public: - virtual vl::Ptr CopyNode(XmlNode* node); - virtual vl::Ptr CopyNode(XmlAttribute* node); + public: + virtual vl::Ptr CopyNode(XmlNode* node); + virtual vl::Ptr CopyNode(XmlAttribute* node); - vl::Ptr CopyNode(XmlCData* node); - vl::Ptr CopyNode(XmlComment* node); - vl::Ptr CopyNode(XmlDocument* node); - vl::Ptr CopyNode(XmlElement* node); - vl::Ptr CopyNode(XmlInstruction* node); - vl::Ptr CopyNode(XmlText* node); - }; - } - } - } + vl::Ptr CopyNode(XmlCData* node); + vl::Ptr CopyNode(XmlComment* node); + vl::Ptr CopyNode(XmlDocument* node); + vl::Ptr CopyNode(XmlElement* node); + vl::Ptr CopyNode(XmlInstruction* node); + vl::Ptr CopyNode(XmlText* node); + }; } #endif @@ -2899,33 +2818,24 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_XML_AST_AST_EMPTY_VISITOR -namespace vl +namespace vl::glr::xml::empty_visitor { - namespace glr + /// An empty visitor, overriding all abstract methods with empty implementations. + class NodeVisitor : public vl::Object, public XmlNode::IVisitor { - namespace xml - { - namespace empty_visitor - { - /// An empty visitor, overriding all abstract methods with empty implementations. - class NodeVisitor : public vl::Object, public XmlNode::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(XmlText* node) override; - void Visit(XmlCData* node) override; - void Visit(XmlComment* node) override; - void Visit(XmlElement* node) override; - void Visit(XmlInstruction* node) override; - void Visit(XmlDocument* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(XmlText* node) override; + void Visit(XmlCData* node) override; + void Visit(XmlComment* node) override; + void Visit(XmlElement* node) override; + void Visit(XmlInstruction* node) override; + void Visit(XmlDocument* node) override; + }; - } - } - } } #endif @@ -2942,46 +2852,37 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_XML_AST_AST_JSON_VISITOR -namespace vl +namespace vl::glr::xml::json_visitor { - namespace glr + /// A JSON visitor, overriding all abstract methods with AST to JSON serialization code. + class AstVisitor + : public vl::glr::JsonVisitorBase + , protected virtual XmlNode::IVisitor { - namespace xml - { - namespace json_visitor - { - /// A JSON visitor, overriding all abstract methods with AST to JSON serialization code. - class AstVisitor - : public vl::glr::JsonVisitorBase - , protected virtual XmlNode::IVisitor - { - protected: - virtual void PrintFields(XmlAttribute* node); - virtual void PrintFields(XmlCData* node); - virtual void PrintFields(XmlComment* node); - virtual void PrintFields(XmlDocument* node); - virtual void PrintFields(XmlElement* node); - virtual void PrintFields(XmlInstruction* node); - virtual void PrintFields(XmlNode* node); - virtual void PrintFields(XmlText* node); + protected: + virtual void PrintFields(XmlAttribute* node); + virtual void PrintFields(XmlCData* node); + virtual void PrintFields(XmlComment* node); + virtual void PrintFields(XmlDocument* node); + virtual void PrintFields(XmlElement* node); + virtual void PrintFields(XmlInstruction* node); + virtual void PrintFields(XmlNode* node); + virtual void PrintFields(XmlText* node); - protected: - void Visit(XmlText* node) override; - void Visit(XmlCData* node) override; - void Visit(XmlComment* node) override; - void Visit(XmlElement* node) override; - void Visit(XmlInstruction* node) override; - void Visit(XmlDocument* node) override; + protected: + void Visit(XmlText* node) override; + void Visit(XmlCData* node) override; + void Visit(XmlComment* node) override; + void Visit(XmlElement* node) override; + void Visit(XmlInstruction* node) override; + void Visit(XmlDocument* node) override; - public: - AstVisitor(vl::stream::StreamWriter& _writer); + public: + AstVisitor(vl::stream::StreamWriter& _writer); - void Print(XmlNode* node); - void Print(XmlAttribute* node); - }; - } - } - } + void Print(XmlNode* node); + void Print(XmlAttribute* node); + }; } #endif @@ -2998,57 +2899,48 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_XML_AST_AST_TRAVERSE_VISITOR -namespace vl +namespace vl::glr::xml::traverse_visitor { - namespace glr + /// A traverse visitor, overriding all abstract methods with AST visiting code. + class AstVisitor + : public vl::Object + , protected virtual XmlNode::IVisitor { - namespace xml - { - namespace traverse_visitor - { - /// A traverse visitor, overriding all abstract methods with AST visiting code. - class AstVisitor - : public vl::Object - , protected virtual XmlNode::IVisitor - { - protected: - virtual void Traverse(vl::glr::ParsingToken& token); - virtual void Traverse(vl::glr::ParsingAstBase* node); - virtual void Traverse(XmlAttribute* node); - virtual void Traverse(XmlCData* node); - virtual void Traverse(XmlComment* node); - virtual void Traverse(XmlDocument* node); - virtual void Traverse(XmlElement* node); - virtual void Traverse(XmlInstruction* node); - virtual void Traverse(XmlNode* node); - virtual void Traverse(XmlText* node); + protected: + virtual void Traverse(vl::glr::ParsingToken& token); + virtual void Traverse(vl::glr::ParsingAstBase* node); + virtual void Traverse(XmlAttribute* node); + virtual void Traverse(XmlCData* node); + virtual void Traverse(XmlComment* node); + virtual void Traverse(XmlDocument* node); + virtual void Traverse(XmlElement* node); + virtual void Traverse(XmlInstruction* node); + virtual void Traverse(XmlNode* node); + virtual void Traverse(XmlText* node); - protected: - virtual void Finishing(vl::glr::ParsingAstBase* node); - virtual void Finishing(XmlAttribute* node); - virtual void Finishing(XmlCData* node); - virtual void Finishing(XmlComment* node); - virtual void Finishing(XmlDocument* node); - virtual void Finishing(XmlElement* node); - virtual void Finishing(XmlInstruction* node); - virtual void Finishing(XmlNode* node); - virtual void Finishing(XmlText* node); + protected: + virtual void Finishing(vl::glr::ParsingAstBase* node); + virtual void Finishing(XmlAttribute* node); + virtual void Finishing(XmlCData* node); + virtual void Finishing(XmlComment* node); + virtual void Finishing(XmlDocument* node); + virtual void Finishing(XmlElement* node); + virtual void Finishing(XmlInstruction* node); + virtual void Finishing(XmlNode* node); + virtual void Finishing(XmlText* node); - protected: - void Visit(XmlText* node) override; - void Visit(XmlCData* node) override; - void Visit(XmlComment* node) override; - void Visit(XmlElement* node) override; - void Visit(XmlInstruction* node) override; - void Visit(XmlDocument* node) override; + protected: + void Visit(XmlText* node) override; + void Visit(XmlCData* node) override; + void Visit(XmlComment* node) override; + void Visit(XmlElement* node) override; + void Visit(XmlInstruction* node) override; + void Visit(XmlDocument* node) override; - public: - void InspectInto(XmlNode* node); - void InspectInto(XmlAttribute* node); - }; - } - } - } + public: + void InspectInto(XmlNode* node); + void InspectInto(XmlAttribute* node); + }; } #endif @@ -3065,57 +2957,51 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_XML_AST_ASSEMBLER -namespace vl +namespace vl::glr::xml { - namespace glr + enum class XmlClasses : vl::vint32_t { - namespace xml - { - enum class XmlClasses : vl::vint32_t - { - Attribute = 0, - CData = 1, - Comment = 2, - Document = 3, - Element = 4, - Instruction = 5, - Node = 6, - Text = 7, - }; + Attribute = 0, + CData = 1, + Comment = 2, + Document = 3, + Element = 4, + Instruction = 5, + Node = 6, + Text = 7, + }; - enum class XmlFields : vl::vint32_t - { - Attribute_name = 0, - Attribute_value = 1, - CData_content = 2, - Comment_content = 3, - Document_prologs = 4, - Document_rootElement = 5, - Element_attributes = 6, - Element_closingName = 7, - Element_name = 8, - Element_subNodes = 9, - Instruction_attributes = 10, - Instruction_name = 11, - Text_content = 12, - }; + enum class XmlFields : vl::vint32_t + { + Attribute_name = 0, + Attribute_value = 1, + CData_content = 2, + Comment_content = 3, + Document_prologs = 4, + Document_rootElement = 5, + Element_attributes = 6, + Element_closingName = 7, + Element_name = 8, + Element_subNodes = 9, + Instruction_attributes = 10, + Instruction_name = 11, + Text_content = 12, + }; - extern const wchar_t* XmlTypeName(XmlClasses type); - extern const wchar_t* XmlCppTypeName(XmlClasses type); - extern const wchar_t* XmlFieldName(XmlFields field); - extern const wchar_t* XmlCppFieldName(XmlFields field); + extern const wchar_t* XmlTypeName(XmlClasses type); + extern const wchar_t* XmlCppTypeName(XmlClasses type); + extern const wchar_t* XmlFieldName(XmlFields field); + extern const wchar_t* XmlCppFieldName(XmlFields field); - class XmlAstInsReceiver : public vl::glr::AstInsReceiverBase - { - protected: - vl::Ptr CreateAstNode(vl::vint32_t type) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; - vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; - }; - } - } + class XmlAstInsReceiver : public vl::glr::AstInsReceiverBase + { + protected: + vl::Ptr CreateAstNode(vl::vint32_t type) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; + vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; + }; } #endif @@ -3132,37 +3018,31 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_XML_LEXER -namespace vl +namespace vl::glr::xml { - namespace glr + enum class XmlTokens : vl::vint32_t { - namespace xml - { - enum class XmlTokens : vl::vint32_t - { - INSTRUCTION_OPEN = 0, - INSTRUCTION_CLOSE = 1, - COMPLEX_ELEMENT_OPEN = 2, - SINGLE_ELEMENT_CLOSE = 3, - ELEMENT_OPEN = 4, - ELEMENT_CLOSE = 5, - EQUAL = 6, - NAME = 7, - ATTVALUE = 8, - COMMENT = 9, - CDATA = 10, - TEXT = 11, - SPACE = 12, - }; + INSTRUCTION_OPEN = 0, + INSTRUCTION_CLOSE = 1, + COMPLEX_ELEMENT_OPEN = 2, + SINGLE_ELEMENT_CLOSE = 3, + ELEMENT_OPEN = 4, + ELEMENT_CLOSE = 5, + EQUAL = 6, + NAME = 7, + ATTVALUE = 8, + COMMENT = 9, + CDATA = 10, + TEXT = 11, + SPACE = 12, + }; - constexpr vl::vint XmlTokenCount = 13; - extern bool XmlTokenDeleter(vl::vint token); - extern const wchar_t* XmlTokenId(XmlTokens token); - extern const wchar_t* XmlTokenDisplayText(XmlTokens token); - extern const wchar_t* XmlTokenRegex(XmlTokens token); - extern void XmlLexerData(vl::stream::IStream& outputStream); - } - } + constexpr vl::vint XmlTokenCount = 13; + extern bool XmlTokenDeleter(vl::vint token); + extern const wchar_t* XmlTokenId(XmlTokens token); + extern const wchar_t* XmlTokenDisplayText(XmlTokens token); + extern const wchar_t* XmlTokenRegex(XmlTokens token); + extern void XmlLexerData(vl::stream::IStream& outputStream); } #endif @@ -3179,44 +3059,39 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_BUILTIN_XML_PARSER_SYNTAX -namespace vl +namespace vl::glr::xml { - namespace glr + enum class ParserStates { - namespace xml - { - enum class ParserStates - { - XAttribute = 0, - XText = 5, - XCData = 11, - XComment = 14, - XElement = 17, - XSubNode = 28, - XInstruction = 34, - XDocument = 40, - }; + XAttribute = 0, + XText = 5, + XCData = 11, + XComment = 14, + XElement = 17, + XSubNode = 28, + XInstruction = 34, + XDocument = 40, + }; - const wchar_t* ParserRuleName(vl::vint index); - const wchar_t* ParserStateLabel(vl::vint index); - extern void XmlParserData(vl::stream::IStream& outputStream); + const wchar_t* ParserRuleName(vl::vint index); + const wchar_t* ParserStateLabel(vl::vint index); + extern void XmlParserData(vl::stream::IStream& outputStream); - class Parser - : public vl::glr::ParserBase - , protected vl::glr::automaton::IExecutor::ITypeCallback - { - protected: - vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; - public: - Parser(); + class Parser + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback + { + protected: + vl::WString GetClassName(vl::vint32_t classIndex) const override; + vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; + public: + Parser(); - vl::Ptr ParseXElement(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr ParseXElement(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - vl::Ptr ParseXDocument(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr ParseXDocument(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - }; - } - } + vl::Ptr ParseXElement(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr ParseXElement(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + vl::Ptr ParseXDocument(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr ParseXDocument(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + }; } #endif diff --git a/Import/VlppGlrParserCompiler.cpp b/Import/VlppGlrParserCompiler.cpp index 7c62d032..87ea5d77 100644 --- a/Import/VlppGlrParserCompiler.cpp +++ b/Import/VlppGlrParserCompiler.cpp @@ -3086,6 +3086,8 @@ CreateParserGenRuleAst /////////////////////////////////////////////////////////////////////////////////// auto _Rule = _ast->CreateClass(L"Rule"); + _Rule->CreateProp(L"attPublic")->SetPropType(AstPropType::Token); + _Rule->CreateProp(L"attParser")->SetPropType(AstPropType::Token); _Rule->CreateProp(L"name")->SetPropType(AstPropType::Token); _Rule->CreateProp(L"type")->SetPropType(AstPropType::Token); _Rule->CreateProp(L"clauses")->SetPropType(AstPropType::Array, L"Clause"); @@ -3128,6 +3130,7 @@ CreateParserGenTypeAst _ast->classPrefix = L"Glr"; auto _type = _ast->CreateClass(L"Type"); + _type->CreateProp(L"attPublic")->SetPropType(AstPropType::Token); _type->CreateProp(L"name")->SetPropType(AstPropType::Token); auto _enumItem = _ast->CreateClass(L"EnumItem"); @@ -3147,14 +3150,10 @@ CreateParserGenTypeAst _classProp->CreateProp(L"propType")->SetPropType(AstPropType::Type, L"PropType"); _classProp->CreateProp(L"propTypeName")->SetPropType(AstPropType::Token); - auto _classAmbiguity = _ast->CreateEnum(L"ClassAmbiguity"); - _classAmbiguity->CreateItem(L"No"); - _classAmbiguity->CreateItem(L"Yes"); - auto _class = _ast->CreateClass(L"Class"); _class->SetBaseClass(L"Type"); + _class->CreateProp(L"attAmbiguous")->SetPropType(AstPropType::Token); _class->CreateProp(L"baseClass")->SetPropType(AstPropType::Token); - _class->CreateProp(L"ambiguity")->SetPropType(AstPropType::Type, L"ClassAmbiguity"); _class->CreateProp(L"props")->SetPropType(AstPropType::Array, L"ClassProp"); auto _file = _ast->CreateClass(L"AstFile"); @@ -3524,7 +3523,10 @@ CreateParserGenAst void CreateParserGenLexer(LexerSymbolManager& manager) { - manager.CreateToken(L"AMBIGUOUS", L"ambiguous"); + manager.CreateToken(L"ATT_AMBIGUOUS", L"@ambiguous"); + manager.CreateToken(L"ATT_PUBLIC", L"@public"); + manager.CreateToken(L"ATT_PARSER", L"@parser"); + manager.CreateToken(L"CLASS", L"class"); manager.CreateToken(L"ENUM", L"enum"); manager.CreateToken(L"VAR", L"var"); @@ -3599,12 +3601,14 @@ CompileAst void Visit(GlrEnum* node) override { - astDefFile->CreateEnum(node->name.value, node->name.codeRange); + auto symbol = astDefFile->CreateEnum(node->name.value, node->name.codeRange); + symbol->isPublic = node->attPublic; } void Visit(GlrClass* node) override { - astDefFile->CreateClass(node->name.value, node->name.codeRange); + auto symbol = astDefFile->CreateClass(node->name.value, node->name.codeRange); + symbol->isPublic = node->attPublic; } }; @@ -3634,7 +3638,7 @@ CompileAst { classSymbol->SetBaseClass(node->baseClass.value, node->baseClass.codeRange); } - if (node->ambiguity == GlrClassAmbiguity::Yes) + if (node->attAmbiguous) { classSymbol->CreateAmbiguousDerivedClass(node->name.codeRange); } @@ -3884,6 +3888,8 @@ CompileSyntax else { auto ruleSymbol = syntaxManager.CreateRule(rule->name.value, rule->codeRange); + ruleSymbol->isPublic = rule->attPublic; + ruleSymbol->isParser = rule->attParser; } for (auto clause : rule->clauses) @@ -5631,6 +5637,8 @@ FillMissingPrefixMergeClauses // fix rule and clause symbols auto newRuleSymbol = syntaxManager.CreateRule(newRule->name.value, ruleRaw->name.codeRange); + newRuleSymbol->isPublic = ruleSymbol->isPublic; + newRuleSymbol->isParser = ruleSymbol->isParser; newRuleSymbol->isPartial = ruleSymbol->isPartial; newRuleSymbol->ruleType = vContext.clauseTypes[clause.Obj()]; vContext.astRules.Add(newRuleSymbol, newRule.Obj()); @@ -5774,15 +5782,18 @@ CreateRewrittenRules auto originRule = vContext.astRules[ruleSymbol]; auto&& prefixClauses = rContext.extractPrefixClauses.GetByIndex(index); for (auto [prefixRuleSymbol, prefixClause] : From(prefixClauses) - .OrderBy([](auto p1, auto p2) {return WString::Compare(p1.ruleSymbol->Name(), p2.ruleSymbol->Name()); })) + .OrderByKey([](auto&& p) {return p.ruleSymbol->Name(); })) { - auto ep = Ptr(new GlrRule); - rewritten->rules.Insert(rewritten->rules.IndexOf(originRule), ep); - rContext.extractedPrefixRules.Add({ ruleSymbol,prefixRuleSymbol }, ep.Obj()); + if (!rContext.extractedPrefixRules.Keys().Contains({ ruleSymbol,prefixRuleSymbol })) + { + auto ep = Ptr(new GlrRule); + rewritten->rules.Insert(rewritten->rules.IndexOf(originRule), ep); + rContext.extractedPrefixRules.Add({ ruleSymbol,prefixRuleSymbol }, ep.Obj()); - ep->codeRange = originRule->codeRange; - ep->name.codeRange = originRule->name.codeRange; - ep->name.value = ruleSymbol->Name() + L"_" + prefixRuleSymbol->Name() + L"_LRI_Prefix"; + ep->codeRange = originRule->codeRange; + ep->name.codeRange = originRule->name.codeRange; + ep->name.value = ruleSymbol->Name() + L"_" + prefixRuleSymbol->Name() + L"_LRI_Prefix"; + } } } } @@ -5800,6 +5811,8 @@ FixRuleTypes auto lriRule = rContext.lriRules[ruleSymbol]; auto originSymbol = syntaxManager.CreateRule(originRule->name.value, originRule->codeRange); + originSymbol->isPublic = ruleSymbol->isPublic; + originSymbol->isParser = ruleSymbol->isParser; originSymbol->isPartial = ruleSymbol->isPartial; originSymbol->ruleType = ruleSymbol->ruleType; rContext.fixedAstRules.Set(originSymbol, originRule); @@ -7505,7 +7518,7 @@ RewriteSyntax if (index != -1) { for (auto expandedRule : From(expandedRules.GetByIndex(index)) - .OrderBy([](auto a, auto b) { return WString::Compare(a->name.value, b->name.value); }) + .OrderByKey([](auto&& a) { return a->name.value; }) ) { rewritten->rules.Add(expandedRule); @@ -7516,7 +7529,7 @@ RewriteSyntax void CreateRuleSymbols(SyntaxSymbolManager& syntaxManager, Group>& expandedRules) { for (auto ruleSymbol : From(expandedRules.Keys()) - .OrderBy([](auto a, auto b) { return WString::Compare(a->Name(), b->Name()); }) + .OrderByKey([](auto&& a) { return a->Name(); }) ) { for (auto rule : expandedRules[ruleSymbol]) @@ -9954,27 +9967,36 @@ Utility writer.WriteLine(L""); } + void WriteNssName(const collections::List& cppNss, stream::StreamWriter& writer) + { + for (auto [ns, index] : indexed(cppNss)) + { + if (index != 0) writer.WriteString(L"::"); + writer.WriteString(ns); + } + } + WString WriteNssBegin(const collections::List& cppNss, stream::StreamWriter& writer) { - WString prefix; - for (auto ns : cppNss) + if (cppNss.Count() == 0) { - writer.WriteLine(prefix + L"namespace " + ns); - writer.WriteLine(prefix + L"{"); - prefix += L"\t"; + return WString::Empty; } - return prefix; + + writer.WriteString(L"namespace "); + WriteNssName(cppNss, writer); + writer.WriteLine(WString::Empty); + writer.WriteLine(L"{"); + return WString::Unmanaged(L"\t"); } void WriteNssEnd(const collections::List& cppNss, stream::StreamWriter& writer) { - vint counter = cppNss.Count(); - for (auto ns : cppNss) + if (cppNss.Count() == 0) { - counter--; - for (vint i = 0; i < counter; i++) writer.WriteChar(L'\t'); - writer.WriteLine(L"}"); + return; } + writer.WriteLine(L"}"); } extern void WriteLoadDataFunctionHeader(const WString& prefix, const WString& functionName, stream::StreamWriter& writer) @@ -10073,527 +10095,517 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen { - namespace glr - { - namespace parsergen - { /*********************************************************************** Visitor Pattern Implementation ***********************************************************************/ - void GlrRefCondition::Accept(GlrCondition::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrRefCondition::Accept(GlrCondition::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrNotCondition::Accept(GlrCondition::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrNotCondition::Accept(GlrCondition::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrAndCondition::Accept(GlrCondition::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrAndCondition::Accept(GlrCondition::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrOrCondition::Accept(GlrCondition::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrOrCondition::Accept(GlrCondition::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrRefSyntax::Accept(GlrSyntax::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrRefSyntax::Accept(GlrSyntax::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrUseSyntax::Accept(GlrSyntax::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrUseSyntax::Accept(GlrSyntax::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrLoopSyntax::Accept(GlrSyntax::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrLoopSyntax::Accept(GlrSyntax::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrOptionalSyntax::Accept(GlrSyntax::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrOptionalSyntax::Accept(GlrSyntax::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrSequenceSyntax::Accept(GlrSyntax::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrSequenceSyntax::Accept(GlrSyntax::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrAlternativeSyntax::Accept(GlrSyntax::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrAlternativeSyntax::Accept(GlrSyntax::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrPushConditionSyntax::Accept(GlrSyntax::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrPushConditionSyntax::Accept(GlrSyntax::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrTestConditionSyntax::Accept(GlrSyntax::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrTestConditionSyntax::Accept(GlrSyntax::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrCreateClause::Accept(GlrClause::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrCreateClause::Accept(GlrClause::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrPartialClause::Accept(GlrClause::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrPartialClause::Accept(GlrClause::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrReuseClause::Accept(GlrClause::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrReuseClause::Accept(GlrClause::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrLeftRecursionPlaceholderClause::Accept(GlrClause::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrLeftRecursionPlaceholderClause::Accept(GlrClause::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrLeftRecursionInjectClause::Accept(GlrClause::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrLeftRecursionInjectClause::Accept(GlrClause::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrPrefixMergeClause::Accept(GlrClause::IVisitor* visitor) - { - visitor->Visit(this); - } - } + void GlrPrefixMergeClause::Accept(GlrClause::IVisitor* visitor) + { + visitor->Visit(this); } } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrCondition, glr::parsergen::GlrCondition) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrCondition::IVisitor, glr::parsergen::GlrCondition::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRefCondition, glr::parsergen::GlrRefCondition) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrNotCondition, glr::parsergen::GlrNotCondition) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAndCondition, glr::parsergen::GlrAndCondition) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrOrCondition, glr::parsergen::GlrOrCondition) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSwitchValue, glr::parsergen::GlrSwitchValue) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSwitchItem, glr::parsergen::GlrSwitchItem) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSyntax, glr::parsergen::GlrSyntax) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSyntax::IVisitor, glr::parsergen::GlrSyntax::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRefType, glr::parsergen::GlrRefType) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRefSyntax, glr::parsergen::GlrRefSyntax) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrUseSyntax, glr::parsergen::GlrUseSyntax) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLoopSyntax, glr::parsergen::GlrLoopSyntax) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrOptionalPriority, glr::parsergen::GlrOptionalPriority) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrOptionalSyntax, glr::parsergen::GlrOptionalSyntax) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSequenceSyntax, glr::parsergen::GlrSequenceSyntax) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAlternativeSyntax, glr::parsergen::GlrAlternativeSyntax) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrPushConditionSyntax, glr::parsergen::GlrPushConditionSyntax) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrTestConditionBranch, glr::parsergen::GlrTestConditionBranch) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrTestConditionSyntax, glr::parsergen::GlrTestConditionSyntax) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrClause, glr::parsergen::GlrClause) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrClause::IVisitor, glr::parsergen::GlrClause::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAssignmentType, glr::parsergen::GlrAssignmentType) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAssignment, glr::parsergen::GlrAssignment) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrCreateClause, glr::parsergen::GlrCreateClause) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrPartialClause, glr::parsergen::GlrPartialClause) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrReuseClause, glr::parsergen::GlrReuseClause) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionPlaceholder, glr::parsergen::GlrLeftRecursionPlaceholder) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause, glr::parsergen::GlrLeftRecursionPlaceholderClause) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionConfiguration, glr::parsergen::GlrLeftRecursionConfiguration) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType, glr::parsergen::GlrLeftRecursionInjectContinuationType) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionInjectContinuation, glr::parsergen::GlrLeftRecursionInjectContinuation) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionInjectClause, glr::parsergen::GlrLeftRecursionInjectClause) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrPrefixMergeClause, glr::parsergen::GlrPrefixMergeClause) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRule, glr::parsergen::GlrRule) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSyntaxFile, glr::parsergen::GlrSyntaxFile) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrCondition, glr::parsergen::GlrCondition) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrCondition::IVisitor, glr::parsergen::GlrCondition::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRefCondition, glr::parsergen::GlrRefCondition) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrNotCondition, glr::parsergen::GlrNotCondition) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAndCondition, glr::parsergen::GlrAndCondition) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrOrCondition, glr::parsergen::GlrOrCondition) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSwitchValue, glr::parsergen::GlrSwitchValue) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSwitchItem, glr::parsergen::GlrSwitchItem) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSyntax, glr::parsergen::GlrSyntax) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSyntax::IVisitor, glr::parsergen::GlrSyntax::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRefType, glr::parsergen::GlrRefType) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRefSyntax, glr::parsergen::GlrRefSyntax) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrUseSyntax, glr::parsergen::GlrUseSyntax) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLoopSyntax, glr::parsergen::GlrLoopSyntax) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrOptionalPriority, glr::parsergen::GlrOptionalPriority) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrOptionalSyntax, glr::parsergen::GlrOptionalSyntax) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSequenceSyntax, glr::parsergen::GlrSequenceSyntax) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAlternativeSyntax, glr::parsergen::GlrAlternativeSyntax) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrPushConditionSyntax, glr::parsergen::GlrPushConditionSyntax) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrTestConditionBranch, glr::parsergen::GlrTestConditionBranch) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrTestConditionSyntax, glr::parsergen::GlrTestConditionSyntax) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrClause, glr::parsergen::GlrClause) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrClause::IVisitor, glr::parsergen::GlrClause::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAssignmentType, glr::parsergen::GlrAssignmentType) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAssignment, glr::parsergen::GlrAssignment) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrCreateClause, glr::parsergen::GlrCreateClause) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrPartialClause, glr::parsergen::GlrPartialClause) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrReuseClause, glr::parsergen::GlrReuseClause) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionPlaceholder, glr::parsergen::GlrLeftRecursionPlaceholder) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause, glr::parsergen::GlrLeftRecursionPlaceholderClause) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionConfiguration, glr::parsergen::GlrLeftRecursionConfiguration) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType, glr::parsergen::GlrLeftRecursionInjectContinuationType) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionInjectContinuation, glr::parsergen::GlrLeftRecursionInjectContinuation) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionInjectClause, glr::parsergen::GlrLeftRecursionInjectClause) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrPrefixMergeClause, glr::parsergen::GlrPrefixMergeClause) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRule, glr::parsergen::GlrRule) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSyntaxFile, glr::parsergen::GlrSyntaxFile) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrCondition) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrCondition) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - END_CLASS_MEMBER(vl::glr::parsergen::GlrCondition) + END_CLASS_MEMBER(vl::glr::parsergen::GlrCondition) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrRefCondition) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrRefCondition) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::glr::parsergen::GlrRefCondition) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::glr::parsergen::GlrRefCondition) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrNotCondition) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrNotCondition) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(condition) - END_CLASS_MEMBER(vl::glr::parsergen::GlrNotCondition) + CLASS_MEMBER_FIELD(condition) + END_CLASS_MEMBER(vl::glr::parsergen::GlrNotCondition) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrAndCondition) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrAndCondition) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(first) - CLASS_MEMBER_FIELD(second) - END_CLASS_MEMBER(vl::glr::parsergen::GlrAndCondition) + CLASS_MEMBER_FIELD(first) + CLASS_MEMBER_FIELD(second) + END_CLASS_MEMBER(vl::glr::parsergen::GlrAndCondition) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrOrCondition) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrOrCondition) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(first) - CLASS_MEMBER_FIELD(second) - END_CLASS_MEMBER(vl::glr::parsergen::GlrOrCondition) + CLASS_MEMBER_FIELD(first) + CLASS_MEMBER_FIELD(second) + END_CLASS_MEMBER(vl::glr::parsergen::GlrOrCondition) - BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrSwitchValue) - ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrSwitchValue) - ENUM_NAMESPACE_ITEM(False) - ENUM_NAMESPACE_ITEM(True) - END_ENUM_ITEM(vl::glr::parsergen::GlrSwitchValue) + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrSwitchValue) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrSwitchValue) + ENUM_NAMESPACE_ITEM(False) + ENUM_NAMESPACE_ITEM(True) + END_ENUM_ITEM(vl::glr::parsergen::GlrSwitchValue) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrSwitchItem) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrSwitchItem) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::glr::parsergen::GlrSwitchItem) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::glr::parsergen::GlrSwitchItem) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrSyntax) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrSyntax) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - END_CLASS_MEMBER(vl::glr::parsergen::GlrSyntax) + END_CLASS_MEMBER(vl::glr::parsergen::GlrSyntax) - BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrRefType) - ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrRefType) - ENUM_NAMESPACE_ITEM(Id) - ENUM_NAMESPACE_ITEM(Literal) - ENUM_NAMESPACE_ITEM(ConditionalLiteral) - END_ENUM_ITEM(vl::glr::parsergen::GlrRefType) + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrRefType) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrRefType) + ENUM_NAMESPACE_ITEM(Id) + ENUM_NAMESPACE_ITEM(Literal) + ENUM_NAMESPACE_ITEM(ConditionalLiteral) + END_ENUM_ITEM(vl::glr::parsergen::GlrRefType) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrRefSyntax) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrRefSyntax) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(refType) - CLASS_MEMBER_FIELD(literal) - CLASS_MEMBER_FIELD(field) - END_CLASS_MEMBER(vl::glr::parsergen::GlrRefSyntax) + CLASS_MEMBER_FIELD(refType) + CLASS_MEMBER_FIELD(literal) + CLASS_MEMBER_FIELD(field) + END_CLASS_MEMBER(vl::glr::parsergen::GlrRefSyntax) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrUseSyntax) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrUseSyntax) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::glr::parsergen::GlrUseSyntax) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::glr::parsergen::GlrUseSyntax) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLoopSyntax) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLoopSyntax) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(syntax) - CLASS_MEMBER_FIELD(delimiter) - END_CLASS_MEMBER(vl::glr::parsergen::GlrLoopSyntax) + CLASS_MEMBER_FIELD(syntax) + CLASS_MEMBER_FIELD(delimiter) + END_CLASS_MEMBER(vl::glr::parsergen::GlrLoopSyntax) - BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrOptionalPriority) - ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrOptionalPriority) - ENUM_NAMESPACE_ITEM(Equal) - ENUM_NAMESPACE_ITEM(PreferTake) - ENUM_NAMESPACE_ITEM(PreferSkip) - END_ENUM_ITEM(vl::glr::parsergen::GlrOptionalPriority) + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrOptionalPriority) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrOptionalPriority) + ENUM_NAMESPACE_ITEM(Equal) + ENUM_NAMESPACE_ITEM(PreferTake) + ENUM_NAMESPACE_ITEM(PreferSkip) + END_ENUM_ITEM(vl::glr::parsergen::GlrOptionalPriority) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrOptionalSyntax) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrOptionalSyntax) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(priority) - CLASS_MEMBER_FIELD(syntax) - END_CLASS_MEMBER(vl::glr::parsergen::GlrOptionalSyntax) + CLASS_MEMBER_FIELD(priority) + CLASS_MEMBER_FIELD(syntax) + END_CLASS_MEMBER(vl::glr::parsergen::GlrOptionalSyntax) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrSequenceSyntax) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrSequenceSyntax) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(first) - CLASS_MEMBER_FIELD(second) - END_CLASS_MEMBER(vl::glr::parsergen::GlrSequenceSyntax) + CLASS_MEMBER_FIELD(first) + CLASS_MEMBER_FIELD(second) + END_CLASS_MEMBER(vl::glr::parsergen::GlrSequenceSyntax) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrAlternativeSyntax) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrAlternativeSyntax) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(first) - CLASS_MEMBER_FIELD(second) - END_CLASS_MEMBER(vl::glr::parsergen::GlrAlternativeSyntax) + CLASS_MEMBER_FIELD(first) + CLASS_MEMBER_FIELD(second) + END_CLASS_MEMBER(vl::glr::parsergen::GlrAlternativeSyntax) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrPushConditionSyntax) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrPushConditionSyntax) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(switches) - CLASS_MEMBER_FIELD(syntax) - END_CLASS_MEMBER(vl::glr::parsergen::GlrPushConditionSyntax) + CLASS_MEMBER_FIELD(switches) + CLASS_MEMBER_FIELD(syntax) + END_CLASS_MEMBER(vl::glr::parsergen::GlrPushConditionSyntax) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionBranch) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionBranch) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(condition) - CLASS_MEMBER_FIELD(syntax) - END_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionBranch) + CLASS_MEMBER_FIELD(condition) + CLASS_MEMBER_FIELD(syntax) + END_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionBranch) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionSyntax) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionSyntax) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(branches) - END_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionSyntax) + CLASS_MEMBER_FIELD(branches) + END_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionSyntax) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrClause) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrClause) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - END_CLASS_MEMBER(vl::glr::parsergen::GlrClause) + END_CLASS_MEMBER(vl::glr::parsergen::GlrClause) - BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrAssignmentType) - ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrAssignmentType) - ENUM_NAMESPACE_ITEM(Strong) - ENUM_NAMESPACE_ITEM(Weak) - END_ENUM_ITEM(vl::glr::parsergen::GlrAssignmentType) + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrAssignmentType) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrAssignmentType) + ENUM_NAMESPACE_ITEM(Strong) + ENUM_NAMESPACE_ITEM(Weak) + END_ENUM_ITEM(vl::glr::parsergen::GlrAssignmentType) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrAssignment) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrAssignment) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(field) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::glr::parsergen::GlrAssignment) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(field) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::glr::parsergen::GlrAssignment) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrCreateClause) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrCreateClause) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(syntax) - CLASS_MEMBER_FIELD(assignments) - END_CLASS_MEMBER(vl::glr::parsergen::GlrCreateClause) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(syntax) + CLASS_MEMBER_FIELD(assignments) + END_CLASS_MEMBER(vl::glr::parsergen::GlrCreateClause) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrPartialClause) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrPartialClause) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(syntax) - CLASS_MEMBER_FIELD(assignments) - END_CLASS_MEMBER(vl::glr::parsergen::GlrPartialClause) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(syntax) + CLASS_MEMBER_FIELD(assignments) + END_CLASS_MEMBER(vl::glr::parsergen::GlrPartialClause) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrReuseClause) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrReuseClause) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(syntax) - CLASS_MEMBER_FIELD(assignments) - END_CLASS_MEMBER(vl::glr::parsergen::GlrReuseClause) + CLASS_MEMBER_FIELD(syntax) + CLASS_MEMBER_FIELD(assignments) + END_CLASS_MEMBER(vl::glr::parsergen::GlrReuseClause) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholder) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholder) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(flag) - END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholder) + CLASS_MEMBER_FIELD(flag) + END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholder) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(flags) - END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) + CLASS_MEMBER_FIELD(flags) + END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) - BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionConfiguration) - ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrLeftRecursionConfiguration) - ENUM_NAMESPACE_ITEM(Single) - ENUM_NAMESPACE_ITEM(Multiple) - END_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionConfiguration) + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionConfiguration) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrLeftRecursionConfiguration) + ENUM_NAMESPACE_ITEM(Single) + ENUM_NAMESPACE_ITEM(Multiple) + END_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionConfiguration) - BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) - ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) - ENUM_NAMESPACE_ITEM(Optional) - ENUM_NAMESPACE_ITEM(Required) - END_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) + ENUM_NAMESPACE_ITEM(Optional) + ENUM_NAMESPACE_ITEM(Required) + END_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(flags) - CLASS_MEMBER_FIELD(configuration) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(injectionTargets) - END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) + CLASS_MEMBER_FIELD(flags) + CLASS_MEMBER_FIELD(configuration) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(injectionTargets) + END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectClause) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectClause) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(rule) - CLASS_MEMBER_FIELD(continuation) - END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectClause) + CLASS_MEMBER_FIELD(rule) + CLASS_MEMBER_FIELD(continuation) + END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectClause) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrPrefixMergeClause) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrPrefixMergeClause) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(rule) - END_CLASS_MEMBER(vl::glr::parsergen::GlrPrefixMergeClause) + CLASS_MEMBER_FIELD(rule) + END_CLASS_MEMBER(vl::glr::parsergen::GlrPrefixMergeClause) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrRule) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrRule) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(clauses) - END_CLASS_MEMBER(vl::glr::parsergen::GlrRule) + CLASS_MEMBER_FIELD(attPublic) + CLASS_MEMBER_FIELD(attParser) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(clauses) + END_CLASS_MEMBER(vl::glr::parsergen::GlrRule) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrSyntaxFile) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrSyntaxFile) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(switches) - CLASS_MEMBER_FIELD(rules) - END_CLASS_MEMBER(vl::glr::parsergen::GlrSyntaxFile) + CLASS_MEMBER_FIELD(switches) + CLASS_MEMBER_FIELD(rules) + END_CLASS_MEMBER(vl::glr::parsergen::GlrSyntaxFile) - BEGIN_INTERFACE_MEMBER(vl::glr::parsergen::GlrCondition::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrRefCondition* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrNotCondition* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrAndCondition* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrOrCondition* node)) - END_INTERFACE_MEMBER(vl::glr::parsergen::GlrCondition) + BEGIN_INTERFACE_MEMBER(vl::glr::parsergen::GlrCondition::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrRefCondition* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrNotCondition* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrAndCondition* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrOrCondition* node)) + END_INTERFACE_MEMBER(vl::glr::parsergen::GlrCondition) - BEGIN_INTERFACE_MEMBER(vl::glr::parsergen::GlrSyntax::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrRefSyntax* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrUseSyntax* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrLoopSyntax* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrOptionalSyntax* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrSequenceSyntax* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrAlternativeSyntax* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrPushConditionSyntax* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrTestConditionSyntax* node)) - END_INTERFACE_MEMBER(vl::glr::parsergen::GlrSyntax) + BEGIN_INTERFACE_MEMBER(vl::glr::parsergen::GlrSyntax::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrRefSyntax* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrUseSyntax* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrLoopSyntax* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrOptionalSyntax* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrSequenceSyntax* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrAlternativeSyntax* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrPushConditionSyntax* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrTestConditionSyntax* node)) + END_INTERFACE_MEMBER(vl::glr::parsergen::GlrSyntax) - BEGIN_INTERFACE_MEMBER(vl::glr::parsergen::GlrClause::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrCreateClause* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrPartialClause* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrReuseClause* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrLeftRecursionInjectClause* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrPrefixMergeClause* node)) - END_INTERFACE_MEMBER(vl::glr::parsergen::GlrClause) + BEGIN_INTERFACE_MEMBER(vl::glr::parsergen::GlrClause::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrCreateClause* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrPartialClause* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrReuseClause* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrLeftRecursionInjectClause* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrPrefixMergeClause* node)) + END_INTERFACE_MEMBER(vl::glr::parsergen::GlrClause) #endif #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - class ParserGenRuleAstTypeLoader : public vl::Object, public ITypeLoader - { - public: - void Load(ITypeManager* manager) - { - ADD_TYPE_INFO(vl::glr::parsergen::GlrCondition) - ADD_TYPE_INFO(vl::glr::parsergen::GlrCondition::IVisitor) - ADD_TYPE_INFO(vl::glr::parsergen::GlrRefCondition) - ADD_TYPE_INFO(vl::glr::parsergen::GlrNotCondition) - ADD_TYPE_INFO(vl::glr::parsergen::GlrAndCondition) - ADD_TYPE_INFO(vl::glr::parsergen::GlrOrCondition) - ADD_TYPE_INFO(vl::glr::parsergen::GlrSwitchValue) - ADD_TYPE_INFO(vl::glr::parsergen::GlrSwitchItem) - ADD_TYPE_INFO(vl::glr::parsergen::GlrSyntax) - ADD_TYPE_INFO(vl::glr::parsergen::GlrSyntax::IVisitor) - ADD_TYPE_INFO(vl::glr::parsergen::GlrRefType) - ADD_TYPE_INFO(vl::glr::parsergen::GlrRefSyntax) - ADD_TYPE_INFO(vl::glr::parsergen::GlrUseSyntax) - ADD_TYPE_INFO(vl::glr::parsergen::GlrLoopSyntax) - ADD_TYPE_INFO(vl::glr::parsergen::GlrOptionalPriority) - ADD_TYPE_INFO(vl::glr::parsergen::GlrOptionalSyntax) - ADD_TYPE_INFO(vl::glr::parsergen::GlrSequenceSyntax) - ADD_TYPE_INFO(vl::glr::parsergen::GlrAlternativeSyntax) - ADD_TYPE_INFO(vl::glr::parsergen::GlrPushConditionSyntax) - ADD_TYPE_INFO(vl::glr::parsergen::GlrTestConditionBranch) - ADD_TYPE_INFO(vl::glr::parsergen::GlrTestConditionSyntax) - ADD_TYPE_INFO(vl::glr::parsergen::GlrClause) - ADD_TYPE_INFO(vl::glr::parsergen::GlrClause::IVisitor) - ADD_TYPE_INFO(vl::glr::parsergen::GlrAssignmentType) - ADD_TYPE_INFO(vl::glr::parsergen::GlrAssignment) - ADD_TYPE_INFO(vl::glr::parsergen::GlrCreateClause) - ADD_TYPE_INFO(vl::glr::parsergen::GlrPartialClause) - ADD_TYPE_INFO(vl::glr::parsergen::GlrReuseClause) - ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholder) - ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) - ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionConfiguration) - ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) - ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) - ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectClause) - ADD_TYPE_INFO(vl::glr::parsergen::GlrPrefixMergeClause) - ADD_TYPE_INFO(vl::glr::parsergen::GlrRule) - ADD_TYPE_INFO(vl::glr::parsergen::GlrSyntaxFile) - } - - void Unload(ITypeManager* manager) - { - } - }; -#endif -#endif - - bool ParserGenRuleAstLoadTypes() - { -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - if (auto manager = GetGlobalTypeManager()) - { - auto loader = Ptr(new ParserGenRuleAstTypeLoader); - return manager->AddTypeLoader(loader); - } -#endif - return false; - } + class ParserGenRuleAstTypeLoader : public vl::Object, public ITypeLoader + { + public: + void Load(ITypeManager* manager) + { + ADD_TYPE_INFO(vl::glr::parsergen::GlrCondition) + ADD_TYPE_INFO(vl::glr::parsergen::GlrCondition::IVisitor) + ADD_TYPE_INFO(vl::glr::parsergen::GlrRefCondition) + ADD_TYPE_INFO(vl::glr::parsergen::GlrNotCondition) + ADD_TYPE_INFO(vl::glr::parsergen::GlrAndCondition) + ADD_TYPE_INFO(vl::glr::parsergen::GlrOrCondition) + ADD_TYPE_INFO(vl::glr::parsergen::GlrSwitchValue) + ADD_TYPE_INFO(vl::glr::parsergen::GlrSwitchItem) + ADD_TYPE_INFO(vl::glr::parsergen::GlrSyntax) + ADD_TYPE_INFO(vl::glr::parsergen::GlrSyntax::IVisitor) + ADD_TYPE_INFO(vl::glr::parsergen::GlrRefType) + ADD_TYPE_INFO(vl::glr::parsergen::GlrRefSyntax) + ADD_TYPE_INFO(vl::glr::parsergen::GlrUseSyntax) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLoopSyntax) + ADD_TYPE_INFO(vl::glr::parsergen::GlrOptionalPriority) + ADD_TYPE_INFO(vl::glr::parsergen::GlrOptionalSyntax) + ADD_TYPE_INFO(vl::glr::parsergen::GlrSequenceSyntax) + ADD_TYPE_INFO(vl::glr::parsergen::GlrAlternativeSyntax) + ADD_TYPE_INFO(vl::glr::parsergen::GlrPushConditionSyntax) + ADD_TYPE_INFO(vl::glr::parsergen::GlrTestConditionBranch) + ADD_TYPE_INFO(vl::glr::parsergen::GlrTestConditionSyntax) + ADD_TYPE_INFO(vl::glr::parsergen::GlrClause) + ADD_TYPE_INFO(vl::glr::parsergen::GlrClause::IVisitor) + ADD_TYPE_INFO(vl::glr::parsergen::GlrAssignmentType) + ADD_TYPE_INFO(vl::glr::parsergen::GlrAssignment) + ADD_TYPE_INFO(vl::glr::parsergen::GlrCreateClause) + ADD_TYPE_INFO(vl::glr::parsergen::GlrPartialClause) + ADD_TYPE_INFO(vl::glr::parsergen::GlrReuseClause) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholder) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionConfiguration) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectClause) + ADD_TYPE_INFO(vl::glr::parsergen::GlrPrefixMergeClause) + ADD_TYPE_INFO(vl::glr::parsergen::GlrRule) + ADD_TYPE_INFO(vl::glr::parsergen::GlrSyntaxFile) } + + void Unload(ITypeManager* manager) + { + } + }; +#endif +#endif + + bool ParserGenRuleAstLoadTypes() + { +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + if (auto manager = GetGlobalTypeManager()) + { + auto loader = Ptr(new ParserGenRuleAstTypeLoader); + return manager->AddTypeLoader(loader); + } +#endif + return false; } } @@ -10608,416 +10620,419 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen::builder { - namespace glr - { - namespace parsergen - { - namespace builder - { /*********************************************************************** MakeAlternativeSyntax ***********************************************************************/ - MakeAlternativeSyntax& MakeAlternativeSyntax::first(const vl::Ptr& value) - { - node->first = value; - return *this; - } + MakeAlternativeSyntax& MakeAlternativeSyntax::first(const vl::Ptr& value) + { + node->first = value; + return *this; + } - MakeAlternativeSyntax& MakeAlternativeSyntax::second(const vl::Ptr& value) - { - node->second = value; - return *this; - } + MakeAlternativeSyntax& MakeAlternativeSyntax::second(const vl::Ptr& value) + { + node->second = value; + return *this; + } /*********************************************************************** MakeAndCondition ***********************************************************************/ - MakeAndCondition& MakeAndCondition::first(const vl::Ptr& value) - { - node->first = value; - return *this; - } + MakeAndCondition& MakeAndCondition::first(const vl::Ptr& value) + { + node->first = value; + return *this; + } - MakeAndCondition& MakeAndCondition::second(const vl::Ptr& value) - { - node->second = value; - return *this; - } + MakeAndCondition& MakeAndCondition::second(const vl::Ptr& value) + { + node->second = value; + return *this; + } /*********************************************************************** MakeAssignment ***********************************************************************/ - MakeAssignment& MakeAssignment::field(const vl::WString& value) - { - node->field.value = value; - return *this; - } + MakeAssignment& MakeAssignment::field(const vl::WString& value) + { + node->field.value = value; + return *this; + } - MakeAssignment& MakeAssignment::type(GlrAssignmentType value) - { - node->type = value; - return *this; - } + MakeAssignment& MakeAssignment::type(GlrAssignmentType value) + { + node->type = value; + return *this; + } - MakeAssignment& MakeAssignment::value(const vl::WString& value) - { - node->value.value = value; - return *this; - } + MakeAssignment& MakeAssignment::value(const vl::WString& value) + { + node->value.value = value; + return *this; + } /*********************************************************************** MakeCreateClause ***********************************************************************/ - MakeCreateClause& MakeCreateClause::assignments(const vl::Ptr& value) - { - node->assignments.Add(value); - return *this; - } + MakeCreateClause& MakeCreateClause::assignments(const vl::Ptr& value) + { + node->assignments.Add(value); + return *this; + } - MakeCreateClause& MakeCreateClause::syntax(const vl::Ptr& value) - { - node->syntax = value; - return *this; - } + MakeCreateClause& MakeCreateClause::syntax(const vl::Ptr& value) + { + node->syntax = value; + return *this; + } - MakeCreateClause& MakeCreateClause::type(const vl::WString& value) - { - node->type.value = value; - return *this; - } + MakeCreateClause& MakeCreateClause::type(const vl::WString& value) + { + node->type.value = value; + return *this; + } /*********************************************************************** MakeLeftRecursionInjectClause ***********************************************************************/ - MakeLeftRecursionInjectClause& MakeLeftRecursionInjectClause::continuation(const vl::Ptr& value) - { - node->continuation = value; - return *this; - } + MakeLeftRecursionInjectClause& MakeLeftRecursionInjectClause::continuation(const vl::Ptr& value) + { + node->continuation = value; + return *this; + } - MakeLeftRecursionInjectClause& MakeLeftRecursionInjectClause::rule(const vl::Ptr& value) - { - node->rule = value; - return *this; - } + MakeLeftRecursionInjectClause& MakeLeftRecursionInjectClause::rule(const vl::Ptr& value) + { + node->rule = value; + return *this; + } /*********************************************************************** MakeLeftRecursionInjectContinuation ***********************************************************************/ - MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::configuration(GlrLeftRecursionConfiguration value) - { - node->configuration = value; - return *this; - } + MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::configuration(GlrLeftRecursionConfiguration value) + { + node->configuration = value; + return *this; + } - MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::flags(const vl::Ptr& value) - { - node->flags.Add(value); - return *this; - } + MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::flags(const vl::Ptr& value) + { + node->flags.Add(value); + return *this; + } - MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::injectionTargets(const vl::Ptr& value) - { - node->injectionTargets.Add(value); - return *this; - } + MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::injectionTargets(const vl::Ptr& value) + { + node->injectionTargets.Add(value); + return *this; + } - MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::type(GlrLeftRecursionInjectContinuationType value) - { - node->type = value; - return *this; - } + MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::type(GlrLeftRecursionInjectContinuationType value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeLeftRecursionPlaceholder ***********************************************************************/ - MakeLeftRecursionPlaceholder& MakeLeftRecursionPlaceholder::flag(const vl::WString& value) - { - node->flag.value = value; - return *this; - } + MakeLeftRecursionPlaceholder& MakeLeftRecursionPlaceholder::flag(const vl::WString& value) + { + node->flag.value = value; + return *this; + } /*********************************************************************** MakeLeftRecursionPlaceholderClause ***********************************************************************/ - MakeLeftRecursionPlaceholderClause& MakeLeftRecursionPlaceholderClause::flags(const vl::Ptr& value) - { - node->flags.Add(value); - return *this; - } + MakeLeftRecursionPlaceholderClause& MakeLeftRecursionPlaceholderClause::flags(const vl::Ptr& value) + { + node->flags.Add(value); + return *this; + } /*********************************************************************** MakeLoopSyntax ***********************************************************************/ - MakeLoopSyntax& MakeLoopSyntax::delimiter(const vl::Ptr& value) - { - node->delimiter = value; - return *this; - } + MakeLoopSyntax& MakeLoopSyntax::delimiter(const vl::Ptr& value) + { + node->delimiter = value; + return *this; + } - MakeLoopSyntax& MakeLoopSyntax::syntax(const vl::Ptr& value) - { - node->syntax = value; - return *this; - } + MakeLoopSyntax& MakeLoopSyntax::syntax(const vl::Ptr& value) + { + node->syntax = value; + return *this; + } /*********************************************************************** MakeNotCondition ***********************************************************************/ - MakeNotCondition& MakeNotCondition::condition(const vl::Ptr& value) - { - node->condition = value; - return *this; - } + MakeNotCondition& MakeNotCondition::condition(const vl::Ptr& value) + { + node->condition = value; + return *this; + } /*********************************************************************** MakeOptionalSyntax ***********************************************************************/ - MakeOptionalSyntax& MakeOptionalSyntax::priority(GlrOptionalPriority value) - { - node->priority = value; - return *this; - } + MakeOptionalSyntax& MakeOptionalSyntax::priority(GlrOptionalPriority value) + { + node->priority = value; + return *this; + } - MakeOptionalSyntax& MakeOptionalSyntax::syntax(const vl::Ptr& value) - { - node->syntax = value; - return *this; - } + MakeOptionalSyntax& MakeOptionalSyntax::syntax(const vl::Ptr& value) + { + node->syntax = value; + return *this; + } /*********************************************************************** MakeOrCondition ***********************************************************************/ - MakeOrCondition& MakeOrCondition::first(const vl::Ptr& value) - { - node->first = value; - return *this; - } + MakeOrCondition& MakeOrCondition::first(const vl::Ptr& value) + { + node->first = value; + return *this; + } - MakeOrCondition& MakeOrCondition::second(const vl::Ptr& value) - { - node->second = value; - return *this; - } + MakeOrCondition& MakeOrCondition::second(const vl::Ptr& value) + { + node->second = value; + return *this; + } /*********************************************************************** MakePartialClause ***********************************************************************/ - MakePartialClause& MakePartialClause::assignments(const vl::Ptr& value) - { - node->assignments.Add(value); - return *this; - } + MakePartialClause& MakePartialClause::assignments(const vl::Ptr& value) + { + node->assignments.Add(value); + return *this; + } - MakePartialClause& MakePartialClause::syntax(const vl::Ptr& value) - { - node->syntax = value; - return *this; - } + MakePartialClause& MakePartialClause::syntax(const vl::Ptr& value) + { + node->syntax = value; + return *this; + } - MakePartialClause& MakePartialClause::type(const vl::WString& value) - { - node->type.value = value; - return *this; - } + MakePartialClause& MakePartialClause::type(const vl::WString& value) + { + node->type.value = value; + return *this; + } /*********************************************************************** MakePrefixMergeClause ***********************************************************************/ - MakePrefixMergeClause& MakePrefixMergeClause::rule(const vl::Ptr& value) - { - node->rule = value; - return *this; - } + MakePrefixMergeClause& MakePrefixMergeClause::rule(const vl::Ptr& value) + { + node->rule = value; + return *this; + } /*********************************************************************** MakePushConditionSyntax ***********************************************************************/ - MakePushConditionSyntax& MakePushConditionSyntax::switches(const vl::Ptr& value) - { - node->switches.Add(value); - return *this; - } + MakePushConditionSyntax& MakePushConditionSyntax::switches(const vl::Ptr& value) + { + node->switches.Add(value); + return *this; + } - MakePushConditionSyntax& MakePushConditionSyntax::syntax(const vl::Ptr& value) - { - node->syntax = value; - return *this; - } + MakePushConditionSyntax& MakePushConditionSyntax::syntax(const vl::Ptr& value) + { + node->syntax = value; + return *this; + } /*********************************************************************** MakeRefCondition ***********************************************************************/ - MakeRefCondition& MakeRefCondition::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeRefCondition& MakeRefCondition::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeRefSyntax ***********************************************************************/ - MakeRefSyntax& MakeRefSyntax::field(const vl::WString& value) - { - node->field.value = value; - return *this; - } + MakeRefSyntax& MakeRefSyntax::field(const vl::WString& value) + { + node->field.value = value; + return *this; + } - MakeRefSyntax& MakeRefSyntax::literal(const vl::WString& value) - { - node->literal.value = value; - return *this; - } + MakeRefSyntax& MakeRefSyntax::literal(const vl::WString& value) + { + node->literal.value = value; + return *this; + } - MakeRefSyntax& MakeRefSyntax::refType(GlrRefType value) - { - node->refType = value; - return *this; - } + MakeRefSyntax& MakeRefSyntax::refType(GlrRefType value) + { + node->refType = value; + return *this; + } /*********************************************************************** MakeReuseClause ***********************************************************************/ - MakeReuseClause& MakeReuseClause::assignments(const vl::Ptr& value) - { - node->assignments.Add(value); - return *this; - } + MakeReuseClause& MakeReuseClause::assignments(const vl::Ptr& value) + { + node->assignments.Add(value); + return *this; + } - MakeReuseClause& MakeReuseClause::syntax(const vl::Ptr& value) - { - node->syntax = value; - return *this; - } + MakeReuseClause& MakeReuseClause::syntax(const vl::Ptr& value) + { + node->syntax = value; + return *this; + } /*********************************************************************** MakeRule ***********************************************************************/ - MakeRule& MakeRule::clauses(const vl::Ptr& value) - { - node->clauses.Add(value); - return *this; - } + MakeRule& MakeRule::attParser(const vl::WString& value) + { + node->attParser.value = value; + return *this; + } - MakeRule& MakeRule::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeRule& MakeRule::attPublic(const vl::WString& value) + { + node->attPublic.value = value; + return *this; + } - MakeRule& MakeRule::type(const vl::WString& value) - { - node->type.value = value; - return *this; - } + MakeRule& MakeRule::clauses(const vl::Ptr& value) + { + node->clauses.Add(value); + return *this; + } + + MakeRule& MakeRule::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } + + MakeRule& MakeRule::type(const vl::WString& value) + { + node->type.value = value; + return *this; + } /*********************************************************************** MakeSequenceSyntax ***********************************************************************/ - MakeSequenceSyntax& MakeSequenceSyntax::first(const vl::Ptr& value) - { - node->first = value; - return *this; - } + MakeSequenceSyntax& MakeSequenceSyntax::first(const vl::Ptr& value) + { + node->first = value; + return *this; + } - MakeSequenceSyntax& MakeSequenceSyntax::second(const vl::Ptr& value) - { - node->second = value; - return *this; - } + MakeSequenceSyntax& MakeSequenceSyntax::second(const vl::Ptr& value) + { + node->second = value; + return *this; + } /*********************************************************************** MakeSwitchItem ***********************************************************************/ - MakeSwitchItem& MakeSwitchItem::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeSwitchItem& MakeSwitchItem::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeSwitchItem& MakeSwitchItem::value(GlrSwitchValue value) - { - node->value = value; - return *this; - } + MakeSwitchItem& MakeSwitchItem::value(GlrSwitchValue value) + { + node->value = value; + return *this; + } /*********************************************************************** MakeSyntaxFile ***********************************************************************/ - MakeSyntaxFile& MakeSyntaxFile::rules(const vl::Ptr& value) - { - node->rules.Add(value); - return *this; - } + MakeSyntaxFile& MakeSyntaxFile::rules(const vl::Ptr& value) + { + node->rules.Add(value); + return *this; + } - MakeSyntaxFile& MakeSyntaxFile::switches(const vl::Ptr& value) - { - node->switches.Add(value); - return *this; - } + MakeSyntaxFile& MakeSyntaxFile::switches(const vl::Ptr& value) + { + node->switches.Add(value); + return *this; + } /*********************************************************************** MakeTestConditionBranch ***********************************************************************/ - MakeTestConditionBranch& MakeTestConditionBranch::condition(const vl::Ptr& value) - { - node->condition = value; - return *this; - } + MakeTestConditionBranch& MakeTestConditionBranch::condition(const vl::Ptr& value) + { + node->condition = value; + return *this; + } - MakeTestConditionBranch& MakeTestConditionBranch::syntax(const vl::Ptr& value) - { - node->syntax = value; - return *this; - } + MakeTestConditionBranch& MakeTestConditionBranch::syntax(const vl::Ptr& value) + { + node->syntax = value; + return *this; + } /*********************************************************************** MakeTestConditionSyntax ***********************************************************************/ - MakeTestConditionSyntax& MakeTestConditionSyntax::branches(const vl::Ptr& value) - { - node->branches.Add(value); - return *this; - } + MakeTestConditionSyntax& MakeTestConditionSyntax::branches(const vl::Ptr& value) + { + node->branches.Add(value); + return *this; + } /*********************************************************************** MakeUseSyntax ***********************************************************************/ - MakeUseSyntax& MakeUseSyntax::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } - } - } + MakeUseSyntax& MakeUseSyntax::name(const vl::WString& value) + { + node->name.value = value; + return *this; } } @@ -11032,593 +11047,586 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen::copy_visitor { - namespace glr + void RuleAstVisitor::CopyFields(GlrAlternativeSyntax* from, GlrAlternativeSyntax* to) { - namespace parsergen + CopyFields(static_cast(from), static_cast(to)); + to->first = CopyNode(from->first.Obj()); + to->second = CopyNode(from->second.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrAndCondition* from, GlrAndCondition* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->first = CopyNode(from->first.Obj()); + to->second = CopyNode(from->second.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrAssignment* from, GlrAssignment* to) + { + to->field = from->field; + to->type = from->type; + to->value = from->value; + } + + void RuleAstVisitor::CopyFields(GlrClause* from, GlrClause* to) + { + } + + void RuleAstVisitor::CopyFields(GlrCondition* from, GlrCondition* to) + { + } + + void RuleAstVisitor::CopyFields(GlrCreateClause* from, GlrCreateClause* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->assignments) { - namespace copy_visitor - { - void RuleAstVisitor::CopyFields(GlrAlternativeSyntax* from, GlrAlternativeSyntax* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->first = CopyNode(from->first.Obj()); - to->second = CopyNode(from->second.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrAndCondition* from, GlrAndCondition* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->first = CopyNode(from->first.Obj()); - to->second = CopyNode(from->second.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrAssignment* from, GlrAssignment* to) - { - to->field = from->field; - to->type = from->type; - to->value = from->value; - } - - void RuleAstVisitor::CopyFields(GlrClause* from, GlrClause* to) - { - } - - void RuleAstVisitor::CopyFields(GlrCondition* from, GlrCondition* to) - { - } - - void RuleAstVisitor::CopyFields(GlrCreateClause* from, GlrCreateClause* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->assignments) - { - to->assignments.Add(CopyNode(listItem.Obj())); - } - to->syntax = CopyNode(from->syntax.Obj()); - to->type = from->type; - } - - void RuleAstVisitor::CopyFields(GlrLeftRecursionInjectClause* from, GlrLeftRecursionInjectClause* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->continuation = CopyNode(from->continuation.Obj()); - to->rule = CopyNode(from->rule.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrLeftRecursionInjectContinuation* from, GlrLeftRecursionInjectContinuation* to) - { - to->configuration = from->configuration; - for (auto&& listItem : from->flags) - { - to->flags.Add(CopyNode(listItem.Obj())); - } - for (auto&& listItem : from->injectionTargets) - { - to->injectionTargets.Add(CopyNode(listItem.Obj())); - } - to->type = from->type; - } - - void RuleAstVisitor::CopyFields(GlrLeftRecursionPlaceholder* from, GlrLeftRecursionPlaceholder* to) - { - to->flag = from->flag; - } - - void RuleAstVisitor::CopyFields(GlrLeftRecursionPlaceholderClause* from, GlrLeftRecursionPlaceholderClause* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->flags) - { - to->flags.Add(CopyNode(listItem.Obj())); - } - } - - void RuleAstVisitor::CopyFields(GlrLoopSyntax* from, GlrLoopSyntax* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->delimiter = CopyNode(from->delimiter.Obj()); - to->syntax = CopyNode(from->syntax.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrNotCondition* from, GlrNotCondition* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->condition = CopyNode(from->condition.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrOptionalSyntax* from, GlrOptionalSyntax* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->priority = from->priority; - to->syntax = CopyNode(from->syntax.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrOrCondition* from, GlrOrCondition* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->first = CopyNode(from->first.Obj()); - to->second = CopyNode(from->second.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrPartialClause* from, GlrPartialClause* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->assignments) - { - to->assignments.Add(CopyNode(listItem.Obj())); - } - to->syntax = CopyNode(from->syntax.Obj()); - to->type = from->type; - } - - void RuleAstVisitor::CopyFields(GlrPrefixMergeClause* from, GlrPrefixMergeClause* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->rule = CopyNode(from->rule.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrPushConditionSyntax* from, GlrPushConditionSyntax* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->switches) - { - to->switches.Add(CopyNode(listItem.Obj())); - } - to->syntax = CopyNode(from->syntax.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrRefCondition* from, GlrRefCondition* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - } - - void RuleAstVisitor::CopyFields(GlrRefSyntax* from, GlrRefSyntax* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->field = from->field; - to->literal = from->literal; - to->refType = from->refType; - } - - void RuleAstVisitor::CopyFields(GlrReuseClause* from, GlrReuseClause* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->assignments) - { - to->assignments.Add(CopyNode(listItem.Obj())); - } - to->syntax = CopyNode(from->syntax.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrRule* from, GlrRule* to) - { - for (auto&& listItem : from->clauses) - { - to->clauses.Add(CopyNode(listItem.Obj())); - } - to->name = from->name; - to->type = from->type; - } - - void RuleAstVisitor::CopyFields(GlrSequenceSyntax* from, GlrSequenceSyntax* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->first = CopyNode(from->first.Obj()); - to->second = CopyNode(from->second.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrSwitchItem* from, GlrSwitchItem* to) - { - to->name = from->name; - to->value = from->value; - } - - void RuleAstVisitor::CopyFields(GlrSyntax* from, GlrSyntax* to) - { - } - - void RuleAstVisitor::CopyFields(GlrSyntaxFile* from, GlrSyntaxFile* to) - { - for (auto&& listItem : from->rules) - { - to->rules.Add(CopyNode(listItem.Obj())); - } - for (auto&& listItem : from->switches) - { - to->switches.Add(CopyNode(listItem.Obj())); - } - } - - void RuleAstVisitor::CopyFields(GlrTestConditionBranch* from, GlrTestConditionBranch* to) - { - to->condition = CopyNode(from->condition.Obj()); - to->syntax = CopyNode(from->syntax.Obj()); - } - - void RuleAstVisitor::CopyFields(GlrTestConditionSyntax* from, GlrTestConditionSyntax* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->branches) - { - to->branches.Add(CopyNode(listItem.Obj())); - } - } - - void RuleAstVisitor::CopyFields(GlrUseSyntax* from, GlrUseSyntax* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - } - - void RuleAstVisitor::Visit(GlrSwitchItem* node) - { - auto newNode = vl::Ptr(new GlrSwitchItem); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrTestConditionBranch* node) - { - auto newNode = vl::Ptr(new GlrTestConditionBranch); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrAssignment* node) - { - auto newNode = vl::Ptr(new GlrAssignment); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholder* node) - { - auto newNode = vl::Ptr(new GlrLeftRecursionPlaceholder); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrLeftRecursionInjectContinuation* node) - { - auto newNode = vl::Ptr(new GlrLeftRecursionInjectContinuation); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrRule* node) - { - auto newNode = vl::Ptr(new GlrRule); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrSyntaxFile* node) - { - auto newNode = vl::Ptr(new GlrSyntaxFile); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrRefCondition* node) - { - auto newNode = vl::Ptr(new GlrRefCondition); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrNotCondition* node) - { - auto newNode = vl::Ptr(new GlrNotCondition); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrAndCondition* node) - { - auto newNode = vl::Ptr(new GlrAndCondition); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrOrCondition* node) - { - auto newNode = vl::Ptr(new GlrOrCondition); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrRefSyntax* node) - { - auto newNode = vl::Ptr(new GlrRefSyntax); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrUseSyntax* node) - { - auto newNode = vl::Ptr(new GlrUseSyntax); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrLoopSyntax* node) - { - auto newNode = vl::Ptr(new GlrLoopSyntax); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrOptionalSyntax* node) - { - auto newNode = vl::Ptr(new GlrOptionalSyntax); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrSequenceSyntax* node) - { - auto newNode = vl::Ptr(new GlrSequenceSyntax); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrAlternativeSyntax* node) - { - auto newNode = vl::Ptr(new GlrAlternativeSyntax); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrPushConditionSyntax* node) - { - auto newNode = vl::Ptr(new GlrPushConditionSyntax); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrTestConditionSyntax* node) - { - auto newNode = vl::Ptr(new GlrTestConditionSyntax); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrCreateClause* node) - { - auto newNode = vl::Ptr(new GlrCreateClause); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrPartialClause* node) - { - auto newNode = vl::Ptr(new GlrPartialClause); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrReuseClause* node) - { - auto newNode = vl::Ptr(new GlrReuseClause); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) - { - auto newNode = vl::Ptr(new GlrLeftRecursionPlaceholderClause); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrLeftRecursionInjectClause* node) - { - auto newNode = vl::Ptr(new GlrLeftRecursionInjectClause); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void RuleAstVisitor::Visit(GlrPrefixMergeClause* node) - { - auto newNode = vl::Ptr(new GlrPrefixMergeClause); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrCondition* node) - { - if (!node) return nullptr; - node->Accept(static_cast(this)); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrSyntax* node) - { - if (!node) return nullptr; - node->Accept(static_cast(this)); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrClause* node) - { - if (!node) return nullptr; - node->Accept(static_cast(this)); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrSwitchItem* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrTestConditionBranch* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrAssignment* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionPlaceholder* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionInjectContinuation* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrRule* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrSyntaxFile* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrAlternativeSyntax* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrAndCondition* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrCreateClause* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionInjectClause* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionPlaceholderClause* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrLoopSyntax* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrNotCondition* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrOptionalSyntax* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrOrCondition* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrPartialClause* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrPrefixMergeClause* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrPushConditionSyntax* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrRefCondition* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrRefSyntax* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrReuseClause* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrSequenceSyntax* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrTestConditionSyntax* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr RuleAstVisitor::CopyNode(GlrUseSyntax* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - } + to->assignments.Add(CopyNode(listItem.Obj())); + } + to->syntax = CopyNode(from->syntax.Obj()); + to->type = from->type; + } + + void RuleAstVisitor::CopyFields(GlrLeftRecursionInjectClause* from, GlrLeftRecursionInjectClause* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->continuation = CopyNode(from->continuation.Obj()); + to->rule = CopyNode(from->rule.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrLeftRecursionInjectContinuation* from, GlrLeftRecursionInjectContinuation* to) + { + to->configuration = from->configuration; + for (auto&& listItem : from->flags) + { + to->flags.Add(CopyNode(listItem.Obj())); + } + for (auto&& listItem : from->injectionTargets) + { + to->injectionTargets.Add(CopyNode(listItem.Obj())); + } + to->type = from->type; + } + + void RuleAstVisitor::CopyFields(GlrLeftRecursionPlaceholder* from, GlrLeftRecursionPlaceholder* to) + { + to->flag = from->flag; + } + + void RuleAstVisitor::CopyFields(GlrLeftRecursionPlaceholderClause* from, GlrLeftRecursionPlaceholderClause* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->flags) + { + to->flags.Add(CopyNode(listItem.Obj())); } } + + void RuleAstVisitor::CopyFields(GlrLoopSyntax* from, GlrLoopSyntax* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->delimiter = CopyNode(from->delimiter.Obj()); + to->syntax = CopyNode(from->syntax.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrNotCondition* from, GlrNotCondition* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->condition = CopyNode(from->condition.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrOptionalSyntax* from, GlrOptionalSyntax* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->priority = from->priority; + to->syntax = CopyNode(from->syntax.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrOrCondition* from, GlrOrCondition* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->first = CopyNode(from->first.Obj()); + to->second = CopyNode(from->second.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrPartialClause* from, GlrPartialClause* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->assignments) + { + to->assignments.Add(CopyNode(listItem.Obj())); + } + to->syntax = CopyNode(from->syntax.Obj()); + to->type = from->type; + } + + void RuleAstVisitor::CopyFields(GlrPrefixMergeClause* from, GlrPrefixMergeClause* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->rule = CopyNode(from->rule.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrPushConditionSyntax* from, GlrPushConditionSyntax* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->switches) + { + to->switches.Add(CopyNode(listItem.Obj())); + } + to->syntax = CopyNode(from->syntax.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrRefCondition* from, GlrRefCondition* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + } + + void RuleAstVisitor::CopyFields(GlrRefSyntax* from, GlrRefSyntax* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->field = from->field; + to->literal = from->literal; + to->refType = from->refType; + } + + void RuleAstVisitor::CopyFields(GlrReuseClause* from, GlrReuseClause* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->assignments) + { + to->assignments.Add(CopyNode(listItem.Obj())); + } + to->syntax = CopyNode(from->syntax.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrRule* from, GlrRule* to) + { + to->attParser = from->attParser; + to->attPublic = from->attPublic; + for (auto&& listItem : from->clauses) + { + to->clauses.Add(CopyNode(listItem.Obj())); + } + to->name = from->name; + to->type = from->type; + } + + void RuleAstVisitor::CopyFields(GlrSequenceSyntax* from, GlrSequenceSyntax* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->first = CopyNode(from->first.Obj()); + to->second = CopyNode(from->second.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrSwitchItem* from, GlrSwitchItem* to) + { + to->name = from->name; + to->value = from->value; + } + + void RuleAstVisitor::CopyFields(GlrSyntax* from, GlrSyntax* to) + { + } + + void RuleAstVisitor::CopyFields(GlrSyntaxFile* from, GlrSyntaxFile* to) + { + for (auto&& listItem : from->rules) + { + to->rules.Add(CopyNode(listItem.Obj())); + } + for (auto&& listItem : from->switches) + { + to->switches.Add(CopyNode(listItem.Obj())); + } + } + + void RuleAstVisitor::CopyFields(GlrTestConditionBranch* from, GlrTestConditionBranch* to) + { + to->condition = CopyNode(from->condition.Obj()); + to->syntax = CopyNode(from->syntax.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrTestConditionSyntax* from, GlrTestConditionSyntax* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->branches) + { + to->branches.Add(CopyNode(listItem.Obj())); + } + } + + void RuleAstVisitor::CopyFields(GlrUseSyntax* from, GlrUseSyntax* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + } + + void RuleAstVisitor::Visit(GlrSwitchItem* node) + { + auto newNode = vl::Ptr(new GlrSwitchItem); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrTestConditionBranch* node) + { + auto newNode = vl::Ptr(new GlrTestConditionBranch); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrAssignment* node) + { + auto newNode = vl::Ptr(new GlrAssignment); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholder* node) + { + auto newNode = vl::Ptr(new GlrLeftRecursionPlaceholder); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrLeftRecursionInjectContinuation* node) + { + auto newNode = vl::Ptr(new GlrLeftRecursionInjectContinuation); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrRule* node) + { + auto newNode = vl::Ptr(new GlrRule); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrSyntaxFile* node) + { + auto newNode = vl::Ptr(new GlrSyntaxFile); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrRefCondition* node) + { + auto newNode = vl::Ptr(new GlrRefCondition); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrNotCondition* node) + { + auto newNode = vl::Ptr(new GlrNotCondition); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrAndCondition* node) + { + auto newNode = vl::Ptr(new GlrAndCondition); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrOrCondition* node) + { + auto newNode = vl::Ptr(new GlrOrCondition); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrRefSyntax* node) + { + auto newNode = vl::Ptr(new GlrRefSyntax); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrUseSyntax* node) + { + auto newNode = vl::Ptr(new GlrUseSyntax); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrLoopSyntax* node) + { + auto newNode = vl::Ptr(new GlrLoopSyntax); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrOptionalSyntax* node) + { + auto newNode = vl::Ptr(new GlrOptionalSyntax); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrSequenceSyntax* node) + { + auto newNode = vl::Ptr(new GlrSequenceSyntax); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrAlternativeSyntax* node) + { + auto newNode = vl::Ptr(new GlrAlternativeSyntax); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrPushConditionSyntax* node) + { + auto newNode = vl::Ptr(new GlrPushConditionSyntax); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrTestConditionSyntax* node) + { + auto newNode = vl::Ptr(new GlrTestConditionSyntax); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrCreateClause* node) + { + auto newNode = vl::Ptr(new GlrCreateClause); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrPartialClause* node) + { + auto newNode = vl::Ptr(new GlrPartialClause); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrReuseClause* node) + { + auto newNode = vl::Ptr(new GlrReuseClause); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) + { + auto newNode = vl::Ptr(new GlrLeftRecursionPlaceholderClause); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrLeftRecursionInjectClause* node) + { + auto newNode = vl::Ptr(new GlrLeftRecursionInjectClause); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrPrefixMergeClause* node) + { + auto newNode = vl::Ptr(new GlrPrefixMergeClause); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrCondition* node) + { + if (!node) return nullptr; + node->Accept(static_cast(this)); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrSyntax* node) + { + if (!node) return nullptr; + node->Accept(static_cast(this)); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrClause* node) + { + if (!node) return nullptr; + node->Accept(static_cast(this)); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrSwitchItem* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrTestConditionBranch* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrAssignment* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionPlaceholder* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionInjectContinuation* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrRule* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrSyntaxFile* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrAlternativeSyntax* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrAndCondition* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrCreateClause* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionInjectClause* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionPlaceholderClause* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrLoopSyntax* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrNotCondition* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrOptionalSyntax* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrOrCondition* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrPartialClause* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrPrefixMergeClause* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrPushConditionSyntax* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrRefCondition* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrRefSyntax* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrReuseClause* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrSequenceSyntax* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrTestConditionSyntax* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrUseSyntax* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + } @@ -11632,106 +11640,97 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen::empty_visitor { - namespace glr - { - namespace parsergen - { - namespace empty_visitor - { /*********************************************************************** ConditionVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void ConditionVisitor::Visit(GlrRefCondition* node) - { - } + void ConditionVisitor::Visit(GlrRefCondition* node) + { + } - void ConditionVisitor::Visit(GlrNotCondition* node) - { - } + void ConditionVisitor::Visit(GlrNotCondition* node) + { + } - void ConditionVisitor::Visit(GlrAndCondition* node) - { - } + void ConditionVisitor::Visit(GlrAndCondition* node) + { + } - void ConditionVisitor::Visit(GlrOrCondition* node) - { - } + void ConditionVisitor::Visit(GlrOrCondition* node) + { + } /*********************************************************************** SyntaxVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void SyntaxVisitor::Visit(GlrRefSyntax* node) - { - } + void SyntaxVisitor::Visit(GlrRefSyntax* node) + { + } - void SyntaxVisitor::Visit(GlrUseSyntax* node) - { - } + void SyntaxVisitor::Visit(GlrUseSyntax* node) + { + } - void SyntaxVisitor::Visit(GlrLoopSyntax* node) - { - } + void SyntaxVisitor::Visit(GlrLoopSyntax* node) + { + } - void SyntaxVisitor::Visit(GlrOptionalSyntax* node) - { - } + void SyntaxVisitor::Visit(GlrOptionalSyntax* node) + { + } - void SyntaxVisitor::Visit(GlrSequenceSyntax* node) - { - } + void SyntaxVisitor::Visit(GlrSequenceSyntax* node) + { + } - void SyntaxVisitor::Visit(GlrAlternativeSyntax* node) - { - } + void SyntaxVisitor::Visit(GlrAlternativeSyntax* node) + { + } - void SyntaxVisitor::Visit(GlrPushConditionSyntax* node) - { - } + void SyntaxVisitor::Visit(GlrPushConditionSyntax* node) + { + } - void SyntaxVisitor::Visit(GlrTestConditionSyntax* node) - { - } + void SyntaxVisitor::Visit(GlrTestConditionSyntax* node) + { + } /*********************************************************************** ClauseVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void ClauseVisitor::Visit(GlrCreateClause* node) - { - } + void ClauseVisitor::Visit(GlrCreateClause* node) + { + } - void ClauseVisitor::Visit(GlrPartialClause* node) - { - } + void ClauseVisitor::Visit(GlrPartialClause* node) + { + } - void ClauseVisitor::Visit(GlrReuseClause* node) - { - } + void ClauseVisitor::Visit(GlrReuseClause* node) + { + } - void ClauseVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) - { - } + void ClauseVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) + { + } - void ClauseVisitor::Visit(GlrLeftRecursionInjectClause* node) - { - } + void ClauseVisitor::Visit(GlrLeftRecursionInjectClause* node) + { + } - void ClauseVisitor::Visit(GlrPrefixMergeClause* node) - { - } - } - } + void ClauseVisitor::Visit(GlrPrefixMergeClause* node) + { } } @@ -11746,773 +11745,770 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen::json_visitor { - namespace glr + void RuleAstVisitor::PrintFields(GlrAlternativeSyntax* node) { - namespace parsergen - { - namespace json_visitor - { - void RuleAstVisitor::PrintFields(GlrAlternativeSyntax* node) - { - BeginField(L"first"); - Print(node->first.Obj()); - EndField(); - BeginField(L"second"); - Print(node->second.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrAndCondition* node) - { - BeginField(L"first"); - Print(node->first.Obj()); - EndField(); - BeginField(L"second"); - Print(node->second.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrAssignment* node) - { - BeginField(L"field"); - WriteToken(node->field); - EndField(); - BeginField(L"type"); - switch (node->type) - { - case vl::glr::parsergen::GlrAssignmentType::Strong: - WriteString(L"Strong"); - break; - case vl::glr::parsergen::GlrAssignmentType::Weak: - WriteString(L"Weak"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"value"); - WriteToken(node->value); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrClause* node) - { - } - void RuleAstVisitor::PrintFields(GlrCondition* node) - { - } - void RuleAstVisitor::PrintFields(GlrCreateClause* node) - { - BeginField(L"assignments"); - BeginArray(); - for (auto&& listItem : node->assignments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"syntax"); - Print(node->syntax.Obj()); - EndField(); - BeginField(L"type"); - WriteToken(node->type); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrLeftRecursionInjectClause* node) - { - BeginField(L"continuation"); - Print(node->continuation.Obj()); - EndField(); - BeginField(L"rule"); - Print(node->rule.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrLeftRecursionInjectContinuation* node) - { - BeginField(L"configuration"); - switch (node->configuration) - { - case vl::glr::parsergen::GlrLeftRecursionConfiguration::Multiple: - WriteString(L"Multiple"); - break; - case vl::glr::parsergen::GlrLeftRecursionConfiguration::Single: - WriteString(L"Single"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"flags"); - BeginArray(); - for (auto&& listItem : node->flags) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"injectionTargets"); - BeginArray(); - for (auto&& listItem : node->injectionTargets) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"type"); - switch (node->type) - { - case vl::glr::parsergen::GlrLeftRecursionInjectContinuationType::Optional: - WriteString(L"Optional"); - break; - case vl::glr::parsergen::GlrLeftRecursionInjectContinuationType::Required: - WriteString(L"Required"); - break; - default: - WriteNull(); - } - EndField(); - } - void RuleAstVisitor::PrintFields(GlrLeftRecursionPlaceholder* node) - { - BeginField(L"flag"); - WriteToken(node->flag); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrLeftRecursionPlaceholderClause* node) - { - BeginField(L"flags"); - BeginArray(); - for (auto&& listItem : node->flags) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrLoopSyntax* node) - { - BeginField(L"delimiter"); - Print(node->delimiter.Obj()); - EndField(); - BeginField(L"syntax"); - Print(node->syntax.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrNotCondition* node) - { - BeginField(L"condition"); - Print(node->condition.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrOptionalSyntax* node) - { - BeginField(L"priority"); - switch (node->priority) - { - case vl::glr::parsergen::GlrOptionalPriority::Equal: - WriteString(L"Equal"); - break; - case vl::glr::parsergen::GlrOptionalPriority::PreferSkip: - WriteString(L"PreferSkip"); - break; - case vl::glr::parsergen::GlrOptionalPriority::PreferTake: - WriteString(L"PreferTake"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"syntax"); - Print(node->syntax.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrOrCondition* node) - { - BeginField(L"first"); - Print(node->first.Obj()); - EndField(); - BeginField(L"second"); - Print(node->second.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrPartialClause* node) - { - BeginField(L"assignments"); - BeginArray(); - for (auto&& listItem : node->assignments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"syntax"); - Print(node->syntax.Obj()); - EndField(); - BeginField(L"type"); - WriteToken(node->type); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrPrefixMergeClause* node) - { - BeginField(L"rule"); - Print(node->rule.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrPushConditionSyntax* node) - { - BeginField(L"switches"); - BeginArray(); - for (auto&& listItem : node->switches) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"syntax"); - Print(node->syntax.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrRefCondition* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrRefSyntax* node) - { - BeginField(L"field"); - WriteToken(node->field); - EndField(); - BeginField(L"literal"); - WriteToken(node->literal); - EndField(); - BeginField(L"refType"); - switch (node->refType) - { - case vl::glr::parsergen::GlrRefType::ConditionalLiteral: - WriteString(L"ConditionalLiteral"); - break; - case vl::glr::parsergen::GlrRefType::Id: - WriteString(L"Id"); - break; - case vl::glr::parsergen::GlrRefType::Literal: - WriteString(L"Literal"); - break; - default: - WriteNull(); - } - EndField(); - } - void RuleAstVisitor::PrintFields(GlrReuseClause* node) - { - BeginField(L"assignments"); - BeginArray(); - for (auto&& listItem : node->assignments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"syntax"); - Print(node->syntax.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrRule* node) - { - BeginField(L"clauses"); - BeginArray(); - for (auto&& listItem : node->clauses) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"type"); - WriteToken(node->type); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrSequenceSyntax* node) - { - BeginField(L"first"); - Print(node->first.Obj()); - EndField(); - BeginField(L"second"); - Print(node->second.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrSwitchItem* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"value"); - switch (node->value) - { - case vl::glr::parsergen::GlrSwitchValue::False: - WriteString(L"False"); - break; - case vl::glr::parsergen::GlrSwitchValue::True: - WriteString(L"True"); - break; - default: - WriteNull(); - } - EndField(); - } - void RuleAstVisitor::PrintFields(GlrSyntax* node) - { - } - void RuleAstVisitor::PrintFields(GlrSyntaxFile* node) - { - BeginField(L"rules"); - BeginArray(); - for (auto&& listItem : node->rules) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"switches"); - BeginArray(); - for (auto&& listItem : node->switches) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrTestConditionBranch* node) - { - BeginField(L"condition"); - Print(node->condition.Obj()); - EndField(); - BeginField(L"syntax"); - Print(node->syntax.Obj()); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrTestConditionSyntax* node) - { - BeginField(L"branches"); - BeginArray(); - for (auto&& listItem : node->branches) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void RuleAstVisitor::PrintFields(GlrUseSyntax* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - - void RuleAstVisitor::Visit(GlrRefCondition* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"RefCondition", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrNotCondition* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"NotCondition", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrAndCondition* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"AndCondition", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrOrCondition* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"OrCondition", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrRefSyntax* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"RefSyntax", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrUseSyntax* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"UseSyntax", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrLoopSyntax* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"LoopSyntax", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrOptionalSyntax* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"OptionalSyntax", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrSequenceSyntax* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"SequenceSyntax", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrAlternativeSyntax* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"AlternativeSyntax", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrPushConditionSyntax* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"PushConditionSyntax", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrTestConditionSyntax* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"TestConditionSyntax", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrCreateClause* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"CreateClause", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrPartialClause* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"PartialClause", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrReuseClause* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ReuseClause", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"LeftRecursionPlaceholderClause", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrLeftRecursionInjectClause* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"LeftRecursionInjectClause", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Visit(GlrPrefixMergeClause* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"PrefixMergeClause", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - RuleAstVisitor::RuleAstVisitor(vl::stream::StreamWriter& _writer) - : vl::glr::JsonVisitorBase(_writer) - { - } - - void RuleAstVisitor::Print(GlrCondition* node) - { - if (!node) - { - WriteNull(); - return; - } - node->Accept(static_cast(this)); - } - - void RuleAstVisitor::Print(GlrSyntax* node) - { - if (!node) - { - WriteNull(); - return; - } - node->Accept(static_cast(this)); - } - - void RuleAstVisitor::Print(GlrClause* node) - { - if (!node) - { - WriteNull(); - return; - } - node->Accept(static_cast(this)); - } - - void RuleAstVisitor::Print(GlrSwitchItem* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"SwitchItem", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Print(GlrTestConditionBranch* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"TestConditionBranch", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Print(GlrAssignment* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Assignment", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Print(GlrLeftRecursionPlaceholder* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"LeftRecursionPlaceholder", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Print(GlrLeftRecursionInjectContinuation* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"LeftRecursionInjectContinuation", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Print(GlrRule* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Rule", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void RuleAstVisitor::Print(GlrSyntaxFile* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"SyntaxFile", node); - PrintFields(static_cast(node)); - EndObject(); - } - - } - } + BeginField(L"first"); + Print(node->first.Obj()); + EndField(); + BeginField(L"second"); + Print(node->second.Obj()); + EndField(); } + void RuleAstVisitor::PrintFields(GlrAndCondition* node) + { + BeginField(L"first"); + Print(node->first.Obj()); + EndField(); + BeginField(L"second"); + Print(node->second.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrAssignment* node) + { + BeginField(L"field"); + WriteToken(node->field); + EndField(); + BeginField(L"type"); + switch (node->type) + { + case vl::glr::parsergen::GlrAssignmentType::Strong: + WriteString(L"Strong"); + break; + case vl::glr::parsergen::GlrAssignmentType::Weak: + WriteString(L"Weak"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"value"); + WriteToken(node->value); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrClause* node) + { + } + void RuleAstVisitor::PrintFields(GlrCondition* node) + { + } + void RuleAstVisitor::PrintFields(GlrCreateClause* node) + { + BeginField(L"assignments"); + BeginArray(); + for (auto&& listItem : node->assignments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"syntax"); + Print(node->syntax.Obj()); + EndField(); + BeginField(L"type"); + WriteToken(node->type); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrLeftRecursionInjectClause* node) + { + BeginField(L"continuation"); + Print(node->continuation.Obj()); + EndField(); + BeginField(L"rule"); + Print(node->rule.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrLeftRecursionInjectContinuation* node) + { + BeginField(L"configuration"); + switch (node->configuration) + { + case vl::glr::parsergen::GlrLeftRecursionConfiguration::Multiple: + WriteString(L"Multiple"); + break; + case vl::glr::parsergen::GlrLeftRecursionConfiguration::Single: + WriteString(L"Single"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"flags"); + BeginArray(); + for (auto&& listItem : node->flags) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"injectionTargets"); + BeginArray(); + for (auto&& listItem : node->injectionTargets) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"type"); + switch (node->type) + { + case vl::glr::parsergen::GlrLeftRecursionInjectContinuationType::Optional: + WriteString(L"Optional"); + break; + case vl::glr::parsergen::GlrLeftRecursionInjectContinuationType::Required: + WriteString(L"Required"); + break; + default: + WriteNull(); + } + EndField(); + } + void RuleAstVisitor::PrintFields(GlrLeftRecursionPlaceholder* node) + { + BeginField(L"flag"); + WriteToken(node->flag); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrLeftRecursionPlaceholderClause* node) + { + BeginField(L"flags"); + BeginArray(); + for (auto&& listItem : node->flags) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrLoopSyntax* node) + { + BeginField(L"delimiter"); + Print(node->delimiter.Obj()); + EndField(); + BeginField(L"syntax"); + Print(node->syntax.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrNotCondition* node) + { + BeginField(L"condition"); + Print(node->condition.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrOptionalSyntax* node) + { + BeginField(L"priority"); + switch (node->priority) + { + case vl::glr::parsergen::GlrOptionalPriority::Equal: + WriteString(L"Equal"); + break; + case vl::glr::parsergen::GlrOptionalPriority::PreferSkip: + WriteString(L"PreferSkip"); + break; + case vl::glr::parsergen::GlrOptionalPriority::PreferTake: + WriteString(L"PreferTake"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"syntax"); + Print(node->syntax.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrOrCondition* node) + { + BeginField(L"first"); + Print(node->first.Obj()); + EndField(); + BeginField(L"second"); + Print(node->second.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrPartialClause* node) + { + BeginField(L"assignments"); + BeginArray(); + for (auto&& listItem : node->assignments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"syntax"); + Print(node->syntax.Obj()); + EndField(); + BeginField(L"type"); + WriteToken(node->type); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrPrefixMergeClause* node) + { + BeginField(L"rule"); + Print(node->rule.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrPushConditionSyntax* node) + { + BeginField(L"switches"); + BeginArray(); + for (auto&& listItem : node->switches) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"syntax"); + Print(node->syntax.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrRefCondition* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrRefSyntax* node) + { + BeginField(L"field"); + WriteToken(node->field); + EndField(); + BeginField(L"literal"); + WriteToken(node->literal); + EndField(); + BeginField(L"refType"); + switch (node->refType) + { + case vl::glr::parsergen::GlrRefType::ConditionalLiteral: + WriteString(L"ConditionalLiteral"); + break; + case vl::glr::parsergen::GlrRefType::Id: + WriteString(L"Id"); + break; + case vl::glr::parsergen::GlrRefType::Literal: + WriteString(L"Literal"); + break; + default: + WriteNull(); + } + EndField(); + } + void RuleAstVisitor::PrintFields(GlrReuseClause* node) + { + BeginField(L"assignments"); + BeginArray(); + for (auto&& listItem : node->assignments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"syntax"); + Print(node->syntax.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrRule* node) + { + BeginField(L"attParser"); + WriteToken(node->attParser); + EndField(); + BeginField(L"attPublic"); + WriteToken(node->attPublic); + EndField(); + BeginField(L"clauses"); + BeginArray(); + for (auto&& listItem : node->clauses) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"type"); + WriteToken(node->type); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrSequenceSyntax* node) + { + BeginField(L"first"); + Print(node->first.Obj()); + EndField(); + BeginField(L"second"); + Print(node->second.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrSwitchItem* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"value"); + switch (node->value) + { + case vl::glr::parsergen::GlrSwitchValue::False: + WriteString(L"False"); + break; + case vl::glr::parsergen::GlrSwitchValue::True: + WriteString(L"True"); + break; + default: + WriteNull(); + } + EndField(); + } + void RuleAstVisitor::PrintFields(GlrSyntax* node) + { + } + void RuleAstVisitor::PrintFields(GlrSyntaxFile* node) + { + BeginField(L"rules"); + BeginArray(); + for (auto&& listItem : node->rules) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"switches"); + BeginArray(); + for (auto&& listItem : node->switches) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrTestConditionBranch* node) + { + BeginField(L"condition"); + Print(node->condition.Obj()); + EndField(); + BeginField(L"syntax"); + Print(node->syntax.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrTestConditionSyntax* node) + { + BeginField(L"branches"); + BeginArray(); + for (auto&& listItem : node->branches) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrUseSyntax* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + + void RuleAstVisitor::Visit(GlrRefCondition* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"RefCondition", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrNotCondition* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"NotCondition", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrAndCondition* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"AndCondition", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrOrCondition* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"OrCondition", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrRefSyntax* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"RefSyntax", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrUseSyntax* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"UseSyntax", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrLoopSyntax* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LoopSyntax", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrOptionalSyntax* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"OptionalSyntax", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrSequenceSyntax* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"SequenceSyntax", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrAlternativeSyntax* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"AlternativeSyntax", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrPushConditionSyntax* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"PushConditionSyntax", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrTestConditionSyntax* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"TestConditionSyntax", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrCreateClause* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"CreateClause", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrPartialClause* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"PartialClause", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrReuseClause* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ReuseClause", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LeftRecursionPlaceholderClause", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrLeftRecursionInjectClause* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LeftRecursionInjectClause", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrPrefixMergeClause* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"PrefixMergeClause", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + RuleAstVisitor::RuleAstVisitor(vl::stream::StreamWriter& _writer) + : vl::glr::JsonVisitorBase(_writer) + { + } + + void RuleAstVisitor::Print(GlrCondition* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + + void RuleAstVisitor::Print(GlrSyntax* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + + void RuleAstVisitor::Print(GlrClause* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + + void RuleAstVisitor::Print(GlrSwitchItem* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"SwitchItem", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Print(GlrTestConditionBranch* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"TestConditionBranch", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Print(GlrAssignment* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Assignment", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Print(GlrLeftRecursionPlaceholder* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LeftRecursionPlaceholder", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Print(GlrLeftRecursionInjectContinuation* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LeftRecursionInjectContinuation", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Print(GlrRule* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Rule", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Print(GlrSyntaxFile* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"SyntaxFile", node); + PrintFields(static_cast(node)); + EndObject(); + } + } @@ -12526,434 +12522,427 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen::traverse_visitor { - namespace glr + void RuleAstVisitor::Traverse(vl::glr::ParsingToken& token) {} + void RuleAstVisitor::Traverse(vl::glr::ParsingAstBase* node) {} + void RuleAstVisitor::Traverse(GlrAlternativeSyntax* node) {} + void RuleAstVisitor::Traverse(GlrAndCondition* node) {} + void RuleAstVisitor::Traverse(GlrAssignment* node) {} + void RuleAstVisitor::Traverse(GlrClause* node) {} + void RuleAstVisitor::Traverse(GlrCondition* node) {} + void RuleAstVisitor::Traverse(GlrCreateClause* node) {} + void RuleAstVisitor::Traverse(GlrLeftRecursionInjectClause* node) {} + void RuleAstVisitor::Traverse(GlrLeftRecursionInjectContinuation* node) {} + void RuleAstVisitor::Traverse(GlrLeftRecursionPlaceholder* node) {} + void RuleAstVisitor::Traverse(GlrLeftRecursionPlaceholderClause* node) {} + void RuleAstVisitor::Traverse(GlrLoopSyntax* node) {} + void RuleAstVisitor::Traverse(GlrNotCondition* node) {} + void RuleAstVisitor::Traverse(GlrOptionalSyntax* node) {} + void RuleAstVisitor::Traverse(GlrOrCondition* node) {} + void RuleAstVisitor::Traverse(GlrPartialClause* node) {} + void RuleAstVisitor::Traverse(GlrPrefixMergeClause* node) {} + void RuleAstVisitor::Traverse(GlrPushConditionSyntax* node) {} + void RuleAstVisitor::Traverse(GlrRefCondition* node) {} + void RuleAstVisitor::Traverse(GlrRefSyntax* node) {} + void RuleAstVisitor::Traverse(GlrReuseClause* node) {} + void RuleAstVisitor::Traverse(GlrRule* node) {} + void RuleAstVisitor::Traverse(GlrSequenceSyntax* node) {} + void RuleAstVisitor::Traverse(GlrSwitchItem* node) {} + void RuleAstVisitor::Traverse(GlrSyntax* node) {} + void RuleAstVisitor::Traverse(GlrSyntaxFile* node) {} + void RuleAstVisitor::Traverse(GlrTestConditionBranch* node) {} + void RuleAstVisitor::Traverse(GlrTestConditionSyntax* node) {} + void RuleAstVisitor::Traverse(GlrUseSyntax* node) {} + + void RuleAstVisitor::Finishing(vl::glr::ParsingAstBase* node) {} + void RuleAstVisitor::Finishing(GlrAlternativeSyntax* node) {} + void RuleAstVisitor::Finishing(GlrAndCondition* node) {} + void RuleAstVisitor::Finishing(GlrAssignment* node) {} + void RuleAstVisitor::Finishing(GlrClause* node) {} + void RuleAstVisitor::Finishing(GlrCondition* node) {} + void RuleAstVisitor::Finishing(GlrCreateClause* node) {} + void RuleAstVisitor::Finishing(GlrLeftRecursionInjectClause* node) {} + void RuleAstVisitor::Finishing(GlrLeftRecursionInjectContinuation* node) {} + void RuleAstVisitor::Finishing(GlrLeftRecursionPlaceholder* node) {} + void RuleAstVisitor::Finishing(GlrLeftRecursionPlaceholderClause* node) {} + void RuleAstVisitor::Finishing(GlrLoopSyntax* node) {} + void RuleAstVisitor::Finishing(GlrNotCondition* node) {} + void RuleAstVisitor::Finishing(GlrOptionalSyntax* node) {} + void RuleAstVisitor::Finishing(GlrOrCondition* node) {} + void RuleAstVisitor::Finishing(GlrPartialClause* node) {} + void RuleAstVisitor::Finishing(GlrPrefixMergeClause* node) {} + void RuleAstVisitor::Finishing(GlrPushConditionSyntax* node) {} + void RuleAstVisitor::Finishing(GlrRefCondition* node) {} + void RuleAstVisitor::Finishing(GlrRefSyntax* node) {} + void RuleAstVisitor::Finishing(GlrReuseClause* node) {} + void RuleAstVisitor::Finishing(GlrRule* node) {} + void RuleAstVisitor::Finishing(GlrSequenceSyntax* node) {} + void RuleAstVisitor::Finishing(GlrSwitchItem* node) {} + void RuleAstVisitor::Finishing(GlrSyntax* node) {} + void RuleAstVisitor::Finishing(GlrSyntaxFile* node) {} + void RuleAstVisitor::Finishing(GlrTestConditionBranch* node) {} + void RuleAstVisitor::Finishing(GlrTestConditionSyntax* node) {} + void RuleAstVisitor::Finishing(GlrUseSyntax* node) {} + + void RuleAstVisitor::Visit(GlrRefCondition* node) { - namespace parsergen - { - namespace traverse_visitor - { - void RuleAstVisitor::Traverse(vl::glr::ParsingToken& token) {} - void RuleAstVisitor::Traverse(vl::glr::ParsingAstBase* node) {} - void RuleAstVisitor::Traverse(GlrAlternativeSyntax* node) {} - void RuleAstVisitor::Traverse(GlrAndCondition* node) {} - void RuleAstVisitor::Traverse(GlrAssignment* node) {} - void RuleAstVisitor::Traverse(GlrClause* node) {} - void RuleAstVisitor::Traverse(GlrCondition* node) {} - void RuleAstVisitor::Traverse(GlrCreateClause* node) {} - void RuleAstVisitor::Traverse(GlrLeftRecursionInjectClause* node) {} - void RuleAstVisitor::Traverse(GlrLeftRecursionInjectContinuation* node) {} - void RuleAstVisitor::Traverse(GlrLeftRecursionPlaceholder* node) {} - void RuleAstVisitor::Traverse(GlrLeftRecursionPlaceholderClause* node) {} - void RuleAstVisitor::Traverse(GlrLoopSyntax* node) {} - void RuleAstVisitor::Traverse(GlrNotCondition* node) {} - void RuleAstVisitor::Traverse(GlrOptionalSyntax* node) {} - void RuleAstVisitor::Traverse(GlrOrCondition* node) {} - void RuleAstVisitor::Traverse(GlrPartialClause* node) {} - void RuleAstVisitor::Traverse(GlrPrefixMergeClause* node) {} - void RuleAstVisitor::Traverse(GlrPushConditionSyntax* node) {} - void RuleAstVisitor::Traverse(GlrRefCondition* node) {} - void RuleAstVisitor::Traverse(GlrRefSyntax* node) {} - void RuleAstVisitor::Traverse(GlrReuseClause* node) {} - void RuleAstVisitor::Traverse(GlrRule* node) {} - void RuleAstVisitor::Traverse(GlrSequenceSyntax* node) {} - void RuleAstVisitor::Traverse(GlrSwitchItem* node) {} - void RuleAstVisitor::Traverse(GlrSyntax* node) {} - void RuleAstVisitor::Traverse(GlrSyntaxFile* node) {} - void RuleAstVisitor::Traverse(GlrTestConditionBranch* node) {} - void RuleAstVisitor::Traverse(GlrTestConditionSyntax* node) {} - void RuleAstVisitor::Traverse(GlrUseSyntax* node) {} - - void RuleAstVisitor::Finishing(vl::glr::ParsingAstBase* node) {} - void RuleAstVisitor::Finishing(GlrAlternativeSyntax* node) {} - void RuleAstVisitor::Finishing(GlrAndCondition* node) {} - void RuleAstVisitor::Finishing(GlrAssignment* node) {} - void RuleAstVisitor::Finishing(GlrClause* node) {} - void RuleAstVisitor::Finishing(GlrCondition* node) {} - void RuleAstVisitor::Finishing(GlrCreateClause* node) {} - void RuleAstVisitor::Finishing(GlrLeftRecursionInjectClause* node) {} - void RuleAstVisitor::Finishing(GlrLeftRecursionInjectContinuation* node) {} - void RuleAstVisitor::Finishing(GlrLeftRecursionPlaceholder* node) {} - void RuleAstVisitor::Finishing(GlrLeftRecursionPlaceholderClause* node) {} - void RuleAstVisitor::Finishing(GlrLoopSyntax* node) {} - void RuleAstVisitor::Finishing(GlrNotCondition* node) {} - void RuleAstVisitor::Finishing(GlrOptionalSyntax* node) {} - void RuleAstVisitor::Finishing(GlrOrCondition* node) {} - void RuleAstVisitor::Finishing(GlrPartialClause* node) {} - void RuleAstVisitor::Finishing(GlrPrefixMergeClause* node) {} - void RuleAstVisitor::Finishing(GlrPushConditionSyntax* node) {} - void RuleAstVisitor::Finishing(GlrRefCondition* node) {} - void RuleAstVisitor::Finishing(GlrRefSyntax* node) {} - void RuleAstVisitor::Finishing(GlrReuseClause* node) {} - void RuleAstVisitor::Finishing(GlrRule* node) {} - void RuleAstVisitor::Finishing(GlrSequenceSyntax* node) {} - void RuleAstVisitor::Finishing(GlrSwitchItem* node) {} - void RuleAstVisitor::Finishing(GlrSyntax* node) {} - void RuleAstVisitor::Finishing(GlrSyntaxFile* node) {} - void RuleAstVisitor::Finishing(GlrTestConditionBranch* node) {} - void RuleAstVisitor::Finishing(GlrTestConditionSyntax* node) {} - void RuleAstVisitor::Finishing(GlrUseSyntax* node) {} - - void RuleAstVisitor::Visit(GlrRefCondition* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrNotCondition* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->condition.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrAndCondition* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->first.Obj()); - InspectInto(node->second.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrOrCondition* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->first.Obj()); - InspectInto(node->second.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrRefSyntax* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->field); - Traverse(node->literal); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrUseSyntax* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrLoopSyntax* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->delimiter.Obj()); - InspectInto(node->syntax.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrOptionalSyntax* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->syntax.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrSequenceSyntax* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->first.Obj()); - InspectInto(node->second.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrAlternativeSyntax* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->first.Obj()); - InspectInto(node->second.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrPushConditionSyntax* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->switches) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->syntax.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrTestConditionSyntax* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->branches) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrCreateClause* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->assignments) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->syntax.Obj()); - Traverse(node->type); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrPartialClause* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->assignments) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->syntax.Obj()); - Traverse(node->type); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrReuseClause* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->assignments) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->syntax.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->flags) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrLeftRecursionInjectClause* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->continuation.Obj()); - InspectInto(node->rule.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::Visit(GlrPrefixMergeClause* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->rule.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::InspectInto(GlrCondition* node) - { - if (!node) return; - node->Accept(static_cast(this)); - } - - void RuleAstVisitor::InspectInto(GlrSyntax* node) - { - if (!node) return; - node->Accept(static_cast(this)); - } - - void RuleAstVisitor::InspectInto(GlrClause* node) - { - if (!node) return; - node->Accept(static_cast(this)); - } - - void RuleAstVisitor::InspectInto(GlrSwitchItem* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::InspectInto(GlrTestConditionBranch* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->condition.Obj()); - InspectInto(node->syntax.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::InspectInto(GlrAssignment* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->field); - Traverse(node->value); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::InspectInto(GlrLeftRecursionPlaceholder* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->flag); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::InspectInto(GlrLeftRecursionInjectContinuation* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->flags) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->injectionTargets) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::InspectInto(GlrRule* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->clauses) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Traverse(node->type); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void RuleAstVisitor::InspectInto(GlrSyntaxFile* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->rules) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->switches) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - } - } + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); } + + void RuleAstVisitor::Visit(GlrNotCondition* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->condition.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrAndCondition* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->first.Obj()); + InspectInto(node->second.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrOrCondition* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->first.Obj()); + InspectInto(node->second.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrRefSyntax* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->field); + Traverse(node->literal); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrUseSyntax* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrLoopSyntax* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->delimiter.Obj()); + InspectInto(node->syntax.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrOptionalSyntax* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->syntax.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrSequenceSyntax* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->first.Obj()); + InspectInto(node->second.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrAlternativeSyntax* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->first.Obj()); + InspectInto(node->second.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrPushConditionSyntax* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->switches) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->syntax.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrTestConditionSyntax* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->branches) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrCreateClause* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->assignments) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->syntax.Obj()); + Traverse(node->type); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrPartialClause* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->assignments) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->syntax.Obj()); + Traverse(node->type); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrReuseClause* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->assignments) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->syntax.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->flags) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrLeftRecursionInjectClause* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->continuation.Obj()); + InspectInto(node->rule.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrPrefixMergeClause* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->rule.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::InspectInto(GlrCondition* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void RuleAstVisitor::InspectInto(GlrSyntax* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void RuleAstVisitor::InspectInto(GlrClause* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void RuleAstVisitor::InspectInto(GlrSwitchItem* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::InspectInto(GlrTestConditionBranch* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->condition.Obj()); + InspectInto(node->syntax.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::InspectInto(GlrAssignment* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->field); + Traverse(node->value); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::InspectInto(GlrLeftRecursionPlaceholder* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->flag); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::InspectInto(GlrLeftRecursionInjectContinuation* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->flags) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->injectionTargets) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::InspectInto(GlrRule* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->attParser); + Traverse(node->attPublic); + for (auto&& listItem : node->clauses) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Traverse(node->type); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::InspectInto(GlrSyntaxFile* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->rules) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->switches) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + } @@ -12967,326 +12956,329 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen { - namespace glr + void ParserGenRuleParserData(vl::stream::IStream& outputStream) { - namespace parsergen - { - void ParserGenRuleParserData(vl::stream::IStream& outputStream) - { - static const vl::vint dataLength = 14429; // 198067 bytes before compressing - static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 93; - static const vl::vint dataSolidRows = 56; - static const vl::vint dataRows = 57; - static const char* compressed[] = { - "\xB3\x05\x03\x00\x55\x38\x00\x00\x25\x00\x01\x82\x80\x08\x0B\x82\x81\x82\x06\x89\x82\x88\x0A\x86\x06\x84\x0A\x0A\x97\x0A\x9C\x0A\x82\x12\x85\x13\x0A\xAD\x0A\x92\x1A\x81\x2A\x84\x2B\x0A\xDC\x0A\x9F\x2A\x83\x32\x84\x34\x0A\x8C\x4A\x8F\x4A\x82\x4A\x84\x4B\x0A\xA1\x4A\x87\x5A\x86\x56\x84\x5B\x0A\xFD\x14\x86\x8F\x7D\x9E\x9F\x9E\x0A\x80\x3F\x9F\x91\xA3\xA2\x9F\xA2\x46\xFF\x48\xA6\xAB\xA3\xA1\xA6\xA2\x0A\xC9\x8A\xB1\xA9\xA7\xA7\xA3\xA0\x0A\x81\x14\xAC\xAB\xAE\xA5\xAE\xA8\x09\xD2\x96\xA0\xAF\xAF\xA9\xB1\xAA\x65\xE4\xA7\xBC\xAB\xB6\xAD\xB6\xB0\x3C\xE8\xAF\xA6\xB1\xBC\xB6\x82\xAD\x09\xF8\xB5\xAE\xBB\xB8\xBB\x80\xB1\x69\xD3\xB3\xAA\xBD\xBC\xBB\xBE\xB9\x85\x84\xC3\x82\x09\xA9\xC3\xB0\xC1\x89\x90\xC7\xD6\xB3\xCC\xBD\xCA\xBF\x02\x80\xC3\xD2\xC9\xC8\xC7\xCA\xC3\x9D\x94\xE1\xD6\xC3\xD0\xCD\x80\xCD\x91\x8F\xEA\xCE\xCC\xD3\xCF\xD4\xD7\xAD\xA9\xF1\xDF\xCA\xC5\xD0\xD1\xD3\x9E\xB6\xF5\xD8\xD2\xD4\xDC\xD2\xDF\xA6\xC2\xB9\xC0\xE7\xDA\xE1\xDE\xE3\xBF\xC8\xC1\xE8\xD4\xDC\xCC\xE3\xDD\xCA\xC5\xCC\xFA\xDE\xE1\xE8\xE9\xE9\xCF\xD5\xD8\xF6", - "\xEA\xEB\xE0\xEF\xD7\xB2\xB0\xC9\x83\x0D\xC2\xF1\xF1\xF3\xCD\xE0\xE9\xF3\xD4\xEA\xF5\xF6\xF6\xD9\xEE\xF1\xEA\x84\x05\xF0\xF5\xF7\xE6\xEB\xF9\xF8\xF7\xFB\xF9\x85\x02\xF6\x7A\x7D\x7F\x77\xF0\x40\x06\x01\x80\xFC\x42\x8A\x81\x82\x0C\xBE\x73\x83\x76\x10\x9E\x71\x87\x71\x13\x89\x75\x87\x72\x12\x99\x84\x86\x86\x16\x9C\x88\x87\x86\x20\x9D\x81\x8B\x87\x22\xA5\x84\x8B\x89\xD2\x5E\x89\x8B\x88\x2B\x89\x77\x00\x82\x0E\x8B\x81\x8D\x83\x04\xBB\x73\x8F\x8D\x35\x8F\x8A\x8B\x75\x3B\x9D\x7C\x88\x8F\x3F\xBE\x86\x89\x8B\x28\x80\x93\x92\x91\x45\x82\x99\x92\x7C\x39\xB2\x8D\x90\x8D\x17\x84\x92\x94\x92\xC5\x4C\x49\x5D\x81\x51\x94\x9A\x96\x92\x53\x9C\x9B\x94\x93\x59\x9E\x92\x98\x98\x3D\xA4\x91\x92\x99\x47\xA3\x98\x95\x99\x6B\xA7\x9D\x99\x9A\x68\x8B\x9F\x9A\x9C\x36\x8F\x98\x8D\x98\x71\x9D\x99\x9C\x74\x09\x30\x86\x9F\x9F\x78\xB3\x9A\x9E\xA0\x5F\x84\xAA\x99\x9D\x81\x88\xAC\x9A\xA2\x6E\x8C\xA0\x9E\xA1\x7B\x87\xAA\x8D\xA3\x93\x8F\xA5\x9E\x02\x7E\x89\xA5\xA4\x9D\x9B\x83\xAE\xA0\xA7\x4E\x9A\xA3\x43\x02\x99\x8B\xAD\xA5\xA1\x9F\x9E\xA6\x40\x03", - "\xA5\x94\xA1\xAA\xA9\xAF\xAE\xA0\x94\xAC\xB3\xB2\xA1\x41\x03\xAD\x96\xA7\xAA\xA4\xB1\xBA\xAD\xAC\xA8\xB5\xBE\xA2\x42\x43\x57\xA9\xA8\xAB\xAE\x91\x8C\x9F\x01\xAE\xC0\xB7\x94\xAE\xB3\xB6\x80\xAF\xB2\xB4\xD1\xA2\xA1\xB1\xB3\xD4\x82\xB0\xB6\xB6\xD9\x98\xB6\xB7\xB6\xDE\x93\xBF\xB5\xB7\xAA\xBF\xA5\xBB\xB5\xE7\xA0\xB9\xB8\xB9\xC7\x8E\x90\x04\xB3\xEB\xA3\xB2\xBE\xB8\xF4\x95\xB3\xB5\x04\xF0\xAD\xB8\xBA\xBE\xEA\xBC\xB0\x02\x04\xF9\xBC\xAB\xBD\x75\x13\x3E\x90\x45\xB1\xC8\x90\xAA\xC2\xB1\x02\xFD\xBD\xC0\xBB\x0F\xF3\xB6\xBF\xC4\xDC\x92\xC5\xC5\xBD\x17\xD4\xC1\xBA\xC6\xF1\x98\xCB\xC5\xC6\x20\xDF\xC2\xC9\xC7\xD1\x95\x01\xC1\xB2\x0B\xC9\xCC\xC0\xCA\x2B\xE9\xC6\xBA\xBF\xE3\x96\x0E\x9E\x44\x08\xEF\xC1\xC6\xC7\x24\xE1\xC9\xCF\xC8\x30\xF8\xCD\xCC\xC7\x3F\xFA\xC1\xD0\xCF\x37\xC0\xD5\xD2\xD0\x47\xC4\xDC\xCA\xCA\x03\x88\x47\x5E\xCB\x03\xCB\xD6\xCE\xD4\x51\xD0\xD1\x41\x06\x27\xD6\xD0\xC4\xD5\x38\x9A\x09\xD5\xCB\x60\xCC\xD3\xD6\xD6\x16\xCA\xD4\xDA\xCF\x49\xFB\xCA\xDB\xD0\x6B\xE9\xDC\xDB\xDB\x6E\xF1\xDC\xD7\xD6\x67\xC6\xD3\xDF\x76\x1B", - "\x1F\xD2\xD9\xD5\x61\xE3\xDD\xDC\xDF\x03\xBB\x4F\xD3\xDF\x0E\xF7\xD3\xB5\x07\x7A\xFE\xD3\x82\x07\x7E\x9F\x09\xE0\xE0\x8A\xD1\xE0\xE7\xE4\x85\xF5\xD8\xD2\xE1\x76\xD6\xE6\xD8\xE1\x74\xDC\xE5\xD9\xDB\x98\xD7\xEA\xE4\xE8\xA3\xF0\xD3\xDC\x08\x8F\xD5\xEE\xE4\xDA\xA1\xDB\xEB\xDE\xEA\xAF\xC0\x01\x0A\x9F\x16\x75\xC4\xE5\xE7\xB1\xDF\xE6\xE9\xE9\x72\xFC\xED\xE8\xE9\xAB\xD9\xE1\xF2\xE8\xC3\xEE\xE2\xE4\xEC\xC7\xF8\xE3\x43\x08\xA9\xCA\xF7\xEE\xEE\xBD\xC5\xFB\xB8\x09\xCD\xD0\xFF\xEE\xBF\x00\x76\xE8\xF3\xF3\xAC\xFE\xEE\xF6\xF4\xBB\xE0\xF1\xF5\xEE\xDD\xE2\xF7\xF7\xF8\xC9\xD6\xFA\xD6\x09\xD5\xE5\xF4\xFA\xF0\xEF\xC4\xF1\xFE\xF1\xDC\xF0\xF9\xFA\xFB\xF7\xF6\xF5\xFE\xFC\xF9\xFC\xFB\xFC\xFD\xDB\x61\x82\xF3\x02\x8A\x7C\xF3\x57\x25\x7D\xFA\x64\x83\xB4\x28\x08\x80\xFF\x4A\x81\x81\x03\x91\x81\x01\xF3\x70\x78\x0A\xA1\x7E\x82\xE8\x7F\x7D\x05\xFD\x70\x80\x09\xB8\x7A\x83\x17\x9C\x83\x06\xA0\x89\x83\x07\x8E\x86\x83\x10\x93\x82\x08\xD0\x39\x05\x06\x9D\x82\x05\x2E\x83\x86\x09\x9D\x8A\x84\x12\xA7\x7F\x86\xDF\x78\x80\x0E\x86\x8C\x87\xD8\x6B\x01", - "\x86\x21\x96\x85\x0E\xAB\x85\x84\x14\xA7\x85\x86\x33\x92\x86\x11\xB4\x8F\x83\x24\x81\x8E\x89\xD5\x2C\x04\x10\xC5\x88\x89\x25\x8A\x8D\x8A\x58\x8D\x8A\x15\xCF\x8B\x8A\x2A\x9A\x89\x8B\x29\x9F\x8A\x18\xE1\x84\x8D\x23\xA3\x8E\x8C\x65\x8C\x89\x1A\xD7\x87\x8C\x35\xA8\x8F\x8D\x6E\x91\x8F\xBA\x1A\x2A\x7B\x08\xAE\x03\x8A\x3B\x9A\x86\x42\x2F\x08\x8F\x21\x82\x8D\x87\x44\x99\x8D\x20\xFE\x80\x8A\x41\x82\x20\x06\x7D\x80\x93\x1F\x86\x21\x07\x44\xB1\x74\x23\x75\x80\x8C\x1C\xEC\x8B\x8C\x2E\x92\x92\x8E\x96\x8D\x8C\x25\x93\x99\x93\x4A\x9E\x8E\x93\x86\x85\x90\x21\xDD\x81\x29\x19\x0D\x7C\x06\x8E\x83\x92\x22\xA2\x9B\x94\x52\xA3\x97\x92\x9B\x98\x59\x0D\x29\x9B\x90\x55\xBA\x8D\x95\xB0\x9D\x90\x27\x9F\x9B\x97\x50\xAE\x90\x97\x9A\x9A\x94\x26\xBC\x93\x98\x5F\xB9\x94\x98\xB1\x89\x9A\x30\xEB\x56\x07\xE6\x77\x05\x79\x38\x0D\x79\x0E\x7E\x4A\x06\x5A\xAC\x91\x76\x3B\x16\x98\x00\x3C\x0E\x4F\x1E\x1A\x9B\x5C\x3E\x1E\x4F\x0F\x7E\x40\x08\x6D\x81\x0F\x9B\xC1\x88\x9B\x32\xEB\x9A\x9D\x76\x86\x99\x9D\xEF\x80\x97\x2B\xF0\x93\x9E\x79\x9C\x72\x08\xE8\x96", - "\x9F\x2D\xFB\x96\x97\x7E\xB5\x97\x9F\xD7\x9E\x9D\x40\xB7\x73\x09\x7C\xBD\x95\x9E\x07\xB5\x4C\x11\x06\xA5\x98\xAD\x45\x0C\xA1\xCA\x8E\x9C\x42\x8D\xA0\x98\x7D\x82\xA7\x97\xFC\x80\xA0\x46\x97\xA3\x5C\x23\x10\xA4\x9D\xF1\x89\xA1\x46\x83\xA4\xA5\x8D\x9A\xA7\x98\x21\xBD\x83\x11\x1F\xA2\xA3\x8A\xA2\xA4\xA3\xF4\x8E\xA4\x45\xA3\xA6\xA5\x92\xA8\xA3\xA2\x11\xAC\x48\x12\x4D\x79\x09\xE6\x4A\x0D\x79\x4B\x1E\x4C\x13\x2C\xAC\x49\x26\x1A\x9E\x09\xDA\x8F\x0A\x9F\x50\x04\xA9\x02\x5E\x25\x8E\x52\x1E\x4F\x14\x4D\xA2\xA7\x9C\xB8\xA0\xA4\x57\xA5\x88\x15\x54\xA4\xA7\x9B\x95\xA8\xAB\x5F\xAD\xA5\x57\xB1\xA3\xAC\x8B\xA7\xA4\xAC\x30\xB0\x81\x15\x7E\x40\x25\x3A\x97\x0C\xAB\x69\xAF\xA7\x59\xE6\xA6\xA6\xB4\xB3\xAA\xAE\x75\xB4\xAD\x4D\x80\x08\x0A\xB8\xB7\xAB\xA6\x71\xA0\xB3\x5F\xD6\xA1\xAD\x94\x84\xB4\xA6\x59\x1E\xAD\x5E\xF8\xAB\xAE\xAF\xA5\xAC\xB1\x8E\xA1\xB3\x61\x97\xAA\x0A\xC5\x8D\xB6\xAE\x8B\xA2\xB1\x66\x93\xB3\xB0\xB0\x8F\xB2\xB3\x97\xBA\xAD\x15\xDB\x0D\x78\x91\x11\x96\x3B\x5D\x0D\x7A\x17\x7E\x44\x25\xD3\xA2\xB2\x8B\x60\x1A\x99\x18\x7E", - "\x42\x0C\xCB\x9B\x3E\x24\x75\x84\x0E\x9F\x65\x06\xB6\xCC\xA1\xB0\xB2\xBE\xB1\xB1\x67\xE2\xA2\xB2\xCF\x85\xBC\xB8\xC3\xA6\xB2\x71\xC9\xB9\xAA\xE5\x88\xBB\xB3\x5C\x86\x0D\x6F\xC7\x37\x0D\xE9\x80\xBF\xB5\xD8\xB7\xBA\x76\xA0\xB2\xB8\xE8\x8F\xBF\xB7\xDC\xA1\xBA\x78\xD9\xBD\x82\x94\x2E\xB4\x5B\x69\x16\xB9\x78\xC7\x3A\x0C\xF5\x9C\xB6\xBB\xCE\xB1\xBD\x73\xF3\xBC\x73\x35\x2E\xBB\xB9\x38\x4C\x0F\x7D\xDF\xBD\xBB\xBD\xAD\x0D\x79\x6E\x0D\x7B\x1B\x4D\x70\x0E\x3F\x71\x0B\xBF\xBE\x92\x0E\x36\xF3\x0E\x4E\x3A\x08\xC2\x21\x75\x1E\x4E\x1D\x7E\x47\x0E\x6D\xB8\x0F\xC1\x85\xB4\xBF\x67\xEF\xB0\xBC\x0E\xFD\xBF\xC3\xE3\xBB\xBA\x87\xDA\x89\x0E\x0C\xDB\xC0\xBF\x1D\xC8\xC4\x88\xE4\xB3\xC4\x16\xEA\xC1\xC4\xEB\xA9\x3A\x1E\x4D\x7B\x0E\x13\xC7\xBA\xBE\x19\xD9\xC7\x89\xFC\xBE\x3A\x3E\x36\xC4\xB9\x3A\xD7\xC6\x86\xC2\xCC\x73\x3E\x3F\xC0\xBE\x43\xC0\xCB\x8E\xB8\xCB\xC9\x24\xC8\xC9\xC8\x4A\xC4\xC9\xEC\x7E\x07\xC9\x14\xFC\xC6\xC5\x57\xC2\xC4\x17\xFF\x05\xCB\x15\xDA\xC9\xCB\x31\xC1\xCD\x8B\xDF\xCC\xC8\x29\xE6\xCA\xA3\x80\x1D\xC8\x8C\xE3\xC8\x5B\x40", - "\x2A\xCA\xAF\x82\x0F\xCC\x99\xCE\xC1\x83\x41\x32\xCA\xCC\x28\xC4\x13\x9D\xEC\xCC\xCF\x17\xD8\xCE\x97\x85\x1B\xCE\x9F\xF3\xC5\x4E\x43\x02\xD7\xBB\x87\x07\xD1\x99\xD1\xC7\x76\x44\x0A\xD4\xCE\x55\x89\x13\xA3\xD0\xCF\xC9\x01\x4A\x13\xD2\x4D\xD4\xD2\x95\x8B\xD5\xD3\x33\xDD\xD4\xD1\x9F\xC1\xD7\x5E\x8B\x1D\x78\x95\x27\xB9\x38\x8D\x0D\x7A\x23\x7E\x4C\x25\x53\xFD\xCD\x88\x90\x1A\x99\x24\x7E\x4E\x24\x57\xE8\xC3\x12\x7E\x54\x12\x9F\x15\x18\xD2\x4F\xDB\xD4\xCE\x30\x36\xD4\x98\xEB\x57\x13\x5E\xE0\xD7\xD7\x9A\xDE\xC8\x9E\xD5\x38\x13\xE6\x59\x15\x79\x9A\x0D\x7B\x26\x7E\x4C\x12\x63\xC2\x85\x13\xDA\x9E\x12\x9F\x1F\x15\xCA\x50\x3E\x4A\x26\x75\x82\x16\xB5\xC8\xD9\xD3\x72\xC3\x23\x14\xE3\xCA\xDB\xAB\x9C\xD4\xDC\x27\x64\x11\xDD\x6B\xC3\xD3\xB2\xEC\xDA\xDC\x79\xEB\xDB\x94\xA5\x10\xDF\x9F\x90\xD1\xDF\x61\xF6\xDF\xDF\xFE\xDF\xBA\x29\x7A\xD4\xD0\x73\xC7\xDB\x5C\x34\x22\xD8\xBD\xFD\xDB\xE1\x7D\xC9\xDC\xE1\xFC\xCE\xE2\xC1\xA2\xD5\xDF\x87\x68\x15\xCA\xA9\x04\xE3\xBC\x91\xE5\xE0\x5F\xD5\xE5\xE1\x1D\xF4\x46\x2A\x1A\xE7\xDF\x87\xD2\xE6\xE3", - "\x10\xE6\xE5\xC8\x94\xE9\xE4\x9A\xAB\x14\xE4\x00\xE0\xE7\xC6\xAA\xE3\xE7\x89\xED\xDC\x46\xAC\x0D\x79\x2B\x4D\x76\x26\x85\xCA\x27\x15\x7E\x50\x14\xCC\x8F\x61\x16\x6D\xB2\x16\x4F\xB3\x15\xC8\x2D\x7E\x45\x16\x3F\x78\x26\xE7\x34\xE5\xE5\xEC\x37\x1D\x78\x5C\x0D\x79\x17\xCD\x7A\x16\x9F\x3B\x13\xE8\x26\x7C\x12\x9B\xBD\x1E\x4E\x2F\x55\xCF\x16\x3F\x40\x1E\x4F\xC1\x1D\xE8\xC7\xB5\xE8\xE5\x93\xC7\xE5\xE5\x6D\xEB\xE7\xCD\xAC\xE7\x38\x61\x0D\x7B\x18\xCD\x64\x19\xF3\x45\x1E\x4E\x63\x2A\xED\x4E\xC7\x1A\x98\x32\x7E\x49\x19\x2A\xCA\x1E\x4F\xCB\x1E\x4C\x33\x5A\x9D\x18\x3F\x4E\x1F\xEF\x36\xFF\xE3\xDA\xD2\xE1\xEE\xB6\xC7\xDF\x19\x7E\x50\x18\xE4\x95\xF4\xF3\xB7\xEE\xEC\xEE\x72\xF2\xF1\xD4\xB1\xEA\x21\x68\x0D\x7A\x1A\xCD\x73\x19\xF3\x54\x1E\x4F\x6A\x1B\xF4\x46\xD6\x1A\x9B\x35\x7E\x48\x1B\x2A\xD9\x1E\x4F\xDA\x1E\x4F\x36\x2F\xF0\xF4\xCB\xFD\xF5\xF3\xBF\xE4\xF7\xE8\x81\xE2\xE6\xE0\xC0\x04\x1B\xCD\x7D\x19\xF3\x5E\x1D\x79\x6F\x3E\x48\x1C\xBC\xFF\x4D\x38\x5A\x92\x1C\x3F\x63\x1D\xCA\xE4\x1E\x4D\x39\x7E\x46\x1C\x6D\xA7\x1E\x4F\xE8\x11\xFA", - "\xE8\x91\xF0\xEE\xCF\xE1\xF5\xFC\xC1\xE4\xFB\xE4\xC2\xF4\xFD\xCF\xC0\x01\x1D\xE2\xE8\xFF\x5E\xEA\x1E\x4F\x75\x31\xFE\xFD\xE3\xFC\xF0\xFB\xFA\xFA\xFD\xE1\xC5\xF8\xC5\xEC\x0D\x3C\xED\x0D\x3C\xEE\x0D\x3C\xEF\x0E\x27\xF0\x07\x7F\xC9\x11\x0F\xDA\x42\x0F\x7E\x23\x0F\x55\x64\x0F\x7E\x25\x0F\x7E\x26\x0F\x0A\x8E\x7B\x73\x79\x81\xF9\x76\x7E\x18\x8B\x81\x25\x57\x0F\x17\x86\x7C\x1E\x8A\x81\xF2\x73\x82\x26\x85\x82\x28\x88\x7F\x29\x87\x7E\x7A\x58\x0F\x7E\x29\x0F\x21\x8B\x7F\x1C\x82\x82\x2B\x8D\x81\x35\x84\x83\x2A\x8E\x7E\xFA\x01\x83\xFD\x7D\x7E\x2C\x8F\x83\x36\x89\x83\x27\x4B\x0F\x3C\x8F\x7F\x3D\x8C\x7F\x46\x89\x84\xEB\x77\x84\x33\x82\x83\xE9\x7A\x84\xFE\x7B\x84\xBE\x4C\x0F\x45\x82\x85\x56\x81\x85\x58\x8E\x83\x41\x80\x84\x38\x8C\x85\x4E\x84\x82\x42\x80\x5A\xFD\x0E\x27\xFE\x05\x85\x59\x88\x84\x57\x8A\x85\x5D\x8B\x85\x6C\x8E\x61\x55\x60\x00\x7A\x12\x10\x71\x8D\x84\x4C\x8F\x84\x69\x88\x86\x67\x84\x87\x50\x8A\x86\x5F\x81\x00\x73\x80\x00\xE4\x15\x27\x04\x0F\x87\x81\x83\x20\x07\x04\x88\x05\x2A\x00\x88\x89\x10\x0D\x0B\x88\x7C\x85", - "\x44\x10\x0F\x87\x00\x2C\x39\x15\x0E\x88\x03\x18\x01\x96\x82\x10\x1B\x0F\x87\x7F\x8B\x57\x1C\x09\x89\x01\x1F\x01\xA0\x80\x00\x22\x03\x8A\x27\x81\x86\x6B\x89\x8A\x5F\x87\x8A\x5E\x85\x87\x60\x8D\x8A\x7B\x88\x87\x8F\x81\x8B\x7A\x8A\x10\x25\x0C\x89\x74\x66\x02\xB8\x89\x87\x76\x8C\x8B\xAF\x8D\x86\xAB\x87\x83\xC1\x88\x8A\x5F\x87\x02\xBB\x83\x8B\x77\x85\x8B\xBE\x8C\x8A\xC0\x8E\x8A\xE3\x28\x02\xC7\x82\x8B\xD2\x8A\x8C\xC8\x8B\x8C\xC2\x8E\x8C\xD7\x84\x8B\xBD\x85\x8D\xDC\x83\x10\x29\x01\x8D\xD4\x83\x8D\xDB\x82\x8E\xBF\x8A\x8A\xD8\x8E\x7E\x2A\x00\x8E\xE3\x81\x8E\xEC\x88\x23\x2B\x0A\x8E\xE5\x83\x8C\xB0\x83\x4A\x2C\x00\x8F\x2D\x00\x8F\xCC\x85\x1C\x2E\x08\x8F\xD9\x89\x8C\xEB\x8F\x8F\xF1\x87\x8E\xF3\x86\x8D\xC4\x82\x90\xCD\x8A\x8D\x01\x98\x90\x2F\x0C\x8F\x05\x98\x90\xFD\x50\x03\x0C\x93\x90\xB1\x31\x03\x11\x97\x90\xFE\x89\x90\x17\x99\x8F\xF2\x86\x91\x04\x92\x91\xBE\x62\x03\x15\x96\x8E\x0E\x9E\x5B\x33\x01\x92\x1B\x9A\x44\x34\x06\x92\x06\x92\x92\x19\x93\x2D\x35\x0A\x92\x23\x9D\x90\x2D\x92\x93\x1D\x9C\x91\xDD\x8D\x8E\x19\x86\x03", - "\x30\x93\x93\x1E\x98\x93\x1A\x9B\x92\x27\x91\x94\x40\x93\x94\x31\x9D\x93\x25\x57\x03\x3B\x9D\x4A\x38\x09\x94\x37\x90\x90\xE3\x29\x03\x4C\x94\x8E\x3F\x95\x94\x36\x92\x95\xFD\x8E\x8B\x3A\x01\x95\x3E\x97\x95\x4D\x9F\x27\x3B\x0A\x95\x4E\x9C\x95\x56\x94\x93\x5D\x93\x95\x74\x6C\x03\x60\x9B\x57\x3D\x09\x96\x66\x95\x93\x2C\x9E\x96\x42\x94\x95\x6F\x95\x96\x62\x97\x3B\x3E\x0C\x96\x5A\x4F\x03\x78\x94\x96\x63\x96\x94\x18\x9A\x69\x40\x0B\x97\x7E\x9D\x96\x74\x9C\x97\x5B\x96\x98\x61\x98\x98\x7F\x95\x98\x83\x9E\x1D\x41\x02\x98\x1D\x42\x04\x90\x93\x97\x7D\x91\x1C\x43\x03\x99\x71\x9C\x93\x55\x97\x98\x8D\x9A\x98\xFD\x54\x04\x98\x94\x94\x9A\x94\x99\x02\x15\x04\xA1\x92\x97\x99\x90\x97\xA2\x9A\x9A\xA8\x95\x44\x46\x07\x9A\x5A\x37\x04\xB0\x9C\x9A\xA3\x99\x9A\x8C\x9B\x99\x89\x9D\x99\xBA\x98\x9B\x00\x08\x04\xB3\x91\x3B\x49\x0F\x9B\x95\x94\x9A\xB9\x9C\x9B\xE3\x2A\x04\xC2\x9C\x99\xC6\x95\x97\xC5\x94\x9C\x8B\x97\x51\x4B\x09\x9C\xCD\x96\x9B\xC3\x94\x9D\xCA\x95\x1C\x4C\x02\x9D\xCF\x97\x9D\xD0\x1D\x04\xDA\x94\x98\xD5\x9B\x9A\xB7\x9E\x9C\xE0", - "\x9A\x51\x4E\x0F\x9D\xCC\x9B\x9D\x00\x9F\x04\xE8\x9E\x99\xE9\x95\x9E\xD3\x92\x9E\xE1\x9C\x24\x50\x0D\x9E\xDC\x21\x05\xF6\x9B\x9C\xEE\x9B\x9F\xBB\x94\x9E\xEF\x9F\x9F\xFC\x9D\x41\x52\x09\x9F\xEB\x23\x05\x04\xA6\x9D\xF1\x9D\x9A\x0A\xA5\x9B\xF2\x9C\x9D\x0D\xA2\x6A\x54\x07\xA0\x0F\xAA\x9E\x14\xA0\x9F\x15\xA0\xA0\xFD\x9E\x2F\x55\x02\xA1\x0B\xA4\x9B\x1E\xA3\x9E\x08\xA7\xA1\x01\xAE\x9F\x23\xA1\xA2\x16\xA3\x82\x56\x0C\xA1\x0C\xAD\xA1\x20\xA3\xA1\x27\xA8\xA1\x18\x87\x05\x2A\xAF\xA1\xF3\x9B\xA2\x36\xA4\xA3\x0E\xAC\xA2\x35\xA8\xA3\x09\xA7\xA3\x06\x18\x05\xF0\x89\x05\x33\xAD\xA2\x3A\xA9\xA3\x3E\xAB\xA3\x44\xA7\xA4\x02\x1A\x05\x43\xA8\xA4\x4E\xA6\xA4\x3C\xA2\xA2\x7E\x9B\x05\x4D\xA0\xA5\x49\xA1\xA5\x2F\xA5\xA2\x2E\xA0\xA3\x24\xA9\xA1\x5B\xAA\x98\x5C\x00\x8F\x5D\x05\xA5\x3D\xA8\xA5\x5C\xA6\xA2\x67\xAF\xA5\x5E\xA5\xA4\x65\xA7\xA5\x6E\xAF\xA4\x25\x5E\x05\x64\xA2\xA5\xFA\x99\x1C\x5F\x03\xA7\x23\x80\x06\x78\xA9\xA6\x6C\xA4\xA7\x5D\xA5\xA7\x80\xAF\xA7\x82\xA0\x1D\x61\x0B\xA7\x5A\xA8\x90\x62\x06\xA8\x72\x73\x06\x8A\xA1\xA8\x68\xA7", - "\xA8\x4A\xA1\x10\x64\x0D\xA8\x83\xAA\xA6\x8E\xAF\x30\x65\x04\xA9\xD0\x16\x06\x9A\xA6\xA9\x95\xAD\xA7\xDB\x17\x06\x9D\xA0\xAA\x7C\xA1\xA9\x7F\x28\x06\xA3\xA6\xAA\x59\xAB\xA6\x0A\x19\x06\xA9\xA9\x10\x6A\x0F\xAA\x6F\xA6\xA5\x70\xAF\x27\x6B\x02\xAB\xB5\xAB\xAA\x97\xAC\x24\x6C\x08\xAB\xB4\xAF\xAB\x6D\xA9\xAB\xA5\xAE\x8B\x6D\x0E\xAB\xC1\xA0\xAC\x11\x4E\x06\xF0\x8F\x06\xC6\xAE\xA7\x8F\xAC\xAA\x66\xA0\xA9\xD1\xA0\xAD\xB3\xA7\xAC\xD6\xAE\xAC\xAE\x80\x07\xF0\x81\x07\xCD\xA3\x2E\x72\x0D\xAD\xC3\xA5\xAD\xD8\xA4\xAA\xD2\xA2\xAE\xBA\xAA\x44\x73\x00\xAE\xE5\xA2\xAC\xEB\xA4\x23\x74\x0A\xAE\xD4\xAC\xAE\xF1\xA8\xAC\xE7\xAF\xAC\xBC\x95\x07\xF0\xAB\xAB\xAA\xA9\x9E\x76\x09\xAF\x9F\xAB\xAF\xED\xA7\xAD\xF5\xAE\xA9\xF6\xAF\xAF\xD3\xAA\xAF\x07\xBA\x44\x77\x0E\xAF\x05\xB1\xA2\x78\x0C\xB0\x04\xB1\xB1\x4C\x29\x07\xF0\x8A\x07\x10\xBC\x24\x7B\x07\xB1\x00\xB3\xAF\x02\xB1\xAE\xF2\xA8\xB0\x5D\x9C\x07\x1A\xB9\xB0\x0D\xB2\xB1\xA3\x4D\x07\x23\xB6\xAE\x1E\xB4\xAF\x2B\xBD\xB1\x01\xB3\xAE\x1B\xB0\xB2\x1F\xBA\x44\x7E\x09\xB2\x33\xB5\xB2\xE4\xAC\xB1", - "\x30\xB4\xB2\x26\xBC\xB3\x39\xB1\x1C\x7F\x00\x8F\x80\x00\x8F\x81\x06\xB3\x2C\xBF\xB2\x03\xBF\xB3\x06\xBA\xB2\xEE\x72\x08\x46\xBE\xB2\x3A\xB9\xB4\x05\x23\x08\xF0\x84\x08\x4F\xBB\xB3\x4C\xB1\xB5\xDE\x15\x08\xA6\x8E\x1D\x88\x0D\xB5\xC7\x1B\x08\x60\xB9\x1C\x8E\x03\x8A\x91\x03\xB6\x32\xB2\x10\x94\x02\x89\x5A\x39\x09\xA3\x8C\x09\xA3\x8F\x09\x73\xA0\x0A\xA3\x83\x0A\xA3\x86\x0A\x68\xBB\xB4\x37\xBD\xB3\x36\x79\x0A\xF0\x8A\x0A\x57\xB2\xB5\xAD\x4B\x0A\x81\xBD\xB2\x58\xBB\xB7\x4A\xB8\xB3\xA6\xAC\x0A\x85\xB8\xB4\x86\xB2\xB8\x03\x2D\x0A\x8D\xBA\xB5\x8E\xB5\xB9\x94\xB7\xB9\x69\xB0\xB5\x99\xB7\xB8\x47\xB2\x77\xAE\x0D\xAC\xAF\x03\xB9\x9B\xB0\xB9\x88\xB1\xB3\xC5\x10\x0B\xCD\xA1\x0B\xA2\xBA\xB7\x9D\xB3\xBA\x8F\xBE\x1D\xB2\x0D\xAC\xDE\x05\x1F\x06\x15\x88\xCD\x12\x15\x8C\x19\x10\xEF\x2B\x19\xB9\xB6\x10\x32\x3C\x30\x52\x1D\x27\x09\x1C\x40\x9B\x16\xBB\xD4\x18\xBB\x0A\x1B\xBB\x91\x1D\xBB\x03\x1F\xBB\xBB\x21\xBC\x0A\x14\xBC\x91\x13\x89\x91\x12\x15\xD4\xB7\xBB\x49\x17\xBD\xC7\xB9\x14\xC6\xB9\x1D\x52\x1D\xBD\xDC\x1F\xBD\x81\x12\xBE\x9B", - "\x14\xBE\xD5\xBC\xBD\xE3\xB8\xBE\xE5\xB9\x14\xCC\xB2\x10\xCA\xBD\x1C\xE0\xB2\x15\xE6\xB8\xBD\x46\x11\xBF\xF2\xB6\x14\xED\xB1\x10\xCE\xB6\x33\xD0\xB3\xBC\x81\x16\xBF\xF7\xBF\x13\x00\xC1\xC0\x3D\x13\xC0\x04\xC9\xBF\x00\x0F\xBE\xD4\x16\xC0\x01\xC8\xC0\xFB\xB3\x30\xFD\xB6\x10\xD2\xB0\xBF\xE9\xB8\xBF\xC9\xB1\x18\x0E\xC6\x28\x11\xC3\x10\x13\xC4\x1D\xDA\xBE\xBD\xD9\xB5\xC1\x43\x1F\x22\xEB\xB6\xC1\xC2\x66\x25\xE7\xB6\x14\xC2\xB6\x10\x08\xC6\xBD\x22\xCF\x13\x1F\xC1\xBE\x49\x14\xC2\x29\xC3\x14\x08\xCD\x89\x52\x18\xC2\xF4\xB3\x14\x2B\xCB\x18\xFF\xBF\xC2\x3E\x1C\xC0\xF7\xB2\xC4\xF2\xB4\xC4\xF3\xBB\xBD\x26\xC6\x10\x0A\xC9\x1D\x46\xCA\xBE\x35\xCF\x13\x19\xC0\xBC\x49\x1D\xC3\x02\x1D\xC1\x4C\xC0\xC4\x05\xC8\xC5\xFF\x0D\xC4\x49\xC3\x10\x4B\xCC\x1D\x5C\xC6\xC3\x0A\x1F\xC0\x0E\x3B\xC1\x55\xC1\x18\x31\xC4\xC0\x30\xCA\xC5\x34\xCB\xC3\x50\xCA\x10\x00\x3B\x19\x3A\xC8\xC4\x3C\xCA\x10\xA8\x3B\x19\x69\xCA\xC6\x3D\x19\xC7\x7A\xCD\xC6\x74\xCF\xC6\x09\x11\xC7\x91\x13\xC7\x20\xCA\xC2\x76\xCF\xC3\x25\xC3\x14\x61\xC2\xC0\x5A\xCB\xC8\x41\xCD", - "\xC8\x90\xC9\xC8\x80\xCA\xC4\x88\xCF\xC4\x8F\xC2\xC9\x97\xC6\xC9\x3D\x11\xC5\xCF\xB3\xC5\xD1\xB1\x18\xB4\xBA\xC9\xFF\x0C\xC7\x6A\xC8\xC0\x79\x3C\xBB\x0A\x17\xCA\x9D\xC6\xC8\x09\x16\x4A\x52\xCC\xCA\x06\x1E\xCA\x91\x1D\x89\x8F\x14\xC5\x01\x18\x4A\x78\xCA\xC5\x9D\x88\xC3\x9E\xC9\x10\xB8\xC3\xBD\x5A\xC6\xCA\x18\xC9\xCA\x1A\xCD\xCB\xB1\xC3\xCC\x09\x1A\xCA\xCD\x12\xCC\xAF\xC5\xC7\xAD\xC5\xC9\x6E\xC9\xC9\xD1\xC9\xC5\x98\xC4\xCD\xA2\xCE\xC8\xD6\xC3\xCD\x5B\xC1\xCC\x0A\x18\x2F\xC5\xB1\xC9\xD7\xCC\xCD\x09\x1B\x2C\xDF\xC5\xCD\xDB\xC6\xCE\xD8\xCF\x0F\x08\xC6\x32\xE5\xC1\xCE\xE8\xC2\xCE\x06\x1E\x38\xED\xCA\xCD\xE9\xC9\xCE\x08\xC3\x3B\xF3\xCF\xC7\xD2\xCA\xCF\xD9\xCC\xCF\xEA\xCD\xCD\xD0\xCE\xCF\xF5\xC0\xCF\x03\x1E\xCD\x91\x13\xD0\xEF\xC6\xCE\x08\xC4\x33\xAB\xCE\xCC\x06\x10\x43\xF9\xC5\xC8\x8A\xC0\xCE\xDA\xCB\xD0\xC5\xC0\xCB\x03\x10\xD1\x07\xD4\xD1\x02\xD4\xD0\x02\x1C\xD0\xFC\xB6\xCC\x19\xD8\xCC\x06\x1C\x38\x11\xD2\xC3\xF5\xBC\xD1\x12\xDC\xC8\x0A\xDA\x10\x26\xDB\xD1\x09\xDE\xCE\xA2\xC8\xC0\x5F\xC8\xBC\x09\x1F\xD2\x14\xC1\xD3", - "\xF4\xCE\xD1\xFA\xB7\xD1\x0E\xDC\xC1\x68\xCA\xC5\xA4\xC4\xC0\x08\xD2\xD3\x15\xD0\xD0\x27\xDA\xC7\x9B\xCA\x10\xE4\xC0\xD3\x33\xDA\x10\xEC\xCE\xD4\x47\xD9\x10\xF2\xC2\xD5\xFE\xC7\xCF\x01\xDB\xD2\x3E\x18\xC0\x06\xD9\xD3\x4F\xD9\x10\x5D\xDB\xC0\x3C\xD0\x00\x20\xD0\xC1\x22\xD2\x10\x1A\xDE\xD5\x53\xD6\x10\x65\xD5\xC6\x67\xD1\x10\x69\xD2\xD6\x2D\xD9\x10\x6D\xD0\x31\x66\xC0\xD7\x3E\xDF\x13\xB6\xC0\x00\x71\xDE\xD6\x18\xD8\xD6\x79\xDE\x13\x7B\xDD\xD7\xDC\x1D\x89\x2D\xCF\xD6\x00\x0F\x43\x9B\x14\xCB\x81\x1B\xD7\x8A\xD3\xCB\x01\x3E\xD8\x59\xD8\xD2\x62\xC0\xD6\x24\xD3\x10\x4D\xDB\xCC\x50\xD7\xD9\x02\x15\xD5\x9A\xD9\x10\xF8\xCB\xBC\x48\xD2\xDA\x96\xD8\xCA\x74\xD1\xD8\x3D\x13\xD8\x9C\xD1\x10\x75\xD1\x26\x77\xDC\xD7\xAB\xD4\xD6\xA8\xDF\x0F\xAA\xDD\xCC\x7A\xDA\x10\xD9\x49\xCB\x73\xD6\x10\xCA\xC4\x1D\xCC\xCD\xD0\xB7\xDF\xCC\xA6\xDC\xDB\xB1\xDD\xDB\x7E\xDF\xD3\x02\x12\xCB\x6A\xDD\xD1\x3A\xDC\xDC\x46\xDE\xDC\x3B\xDB\xDB\x05\xD3\xD9\x4A\xD7\xCE\xCF\xDA\xD5\x4B\xD3\xCE\xD4\xDA\xD4\x45\xDB\xD6\x03\x11\xD5\xCB\xD8\xDD\xD6\xD1\xDD\x5F", - "\xD1\xCF\xDB\xDA\xC7\xDD\xD7\xD5\x0A\x11\xDA\xE1\xD4\xD9\x2C\xD7\xDD\xEE\xDB\xD5\xA3\xDD\xDE\xD5\xD9\xDE\xE2\xDC\xD5\xE7\xDA\xC6\xF6\xD1\xDF\xD9\xDC\xD6\xB3\xD5\xDB\x56\xD2\xDE\xFB\xD5\xDD\x16\xD6\xDB\x82\xDA\x10\x84\xD7\xC4\x02\xEA\xD2\xFC\xDF\xCF\xA7\xD6\xE0\xA9\xD8\xE0\x41\xD6\xCE\xBB\xCD\xD8\x2E\xD3\xE1\xA2\xC6\xD8\x16\xE7\xD3\x18\xEE\xDD\x02\x18\xD3\x72\xD0\xDF\xF5\xDC\xE0\x04\xE7\xE1\x49\xDC\xDD\x24\xEA\xD4\x34\xD1\xDB\x20\xE7\xC5\xCD\xDB\xE0\xD2\xD2\x10\x64\xC6\xD7\x88\xD6\xC5\xDC\x18\xC0\x2D\xE0\xC6\x29\xE8\xDE\x3B\xE5\xCA\x26\xE1\xE0\x0D\xE3\xE0\x2A\xE7\xC1\xC3\xD3\x10\x39\xEA\xE0\x41\xED\xE3\x07\xC3\xC6\xFF\xDF\xC9\xBA\xD2\xE2\x28\xEF\xE2\x49\xE2\xE5\x23\xE4\xE5\x43\xE5\xDA\x40\xE5\xE5\x50\xEA\xC7\x08\xC9\xD9\x21\xE4\xDE\x60\xEA\xDE\x09\x10\xDE\x5F\xE0\xDD\x66\xE7\xDF\x0A\x1E\xD9\x65\xE0\xE3\x5B\xEE\xE3\xA0\xD9\xDF\x44\xDA\xE4\x0D\xC3\xDF\x6B\xE3\xE5\x6D\xEB\xE4\x58\xE4\xDF\x51\xE7\xE7\x73\xEF\xE0\xC0\xD7\xE0\x09\x19\xE0\x4E\xC1\xE6\x6C\xEE\xE1\xAC\xDD\xE4\x81\xE0\xE7\x01\xC2\xE4\x5C\xE1\x11\x88\xEF", - "\xD0\x8A\xE3\xC4\x72\xE2\xE9\x56\xEC\xE3\x95\xEE\xE6\x06\x11\xD6\x2E\xEC\xE7\x94\xE5\xDE\x98\xD1\xE9\x45\xC3\xE9\xF2\xBB\xCE\xA0\xE8\xE4\x5A\xE6\xE8\x00\x0A\xE6\x9B\xE4\xE8\x76\xE8\xEA\xEC\xD5\xE7\xA7\xE7\xE6\x0D\xE8\xDF\x27\xE6\xE9\x9C\xE3\xEA\x74\xEB\xEA\xB2\xE1\xEB\x68\xEE\xE7\x21\xDF\xD7\x78\xD5\xEB\xFA\xD2\xEA\x36\xDE\xDF\x10\xE4\xDB\x12\xE2\xEC\x71\xE7\xE9\x78\xE6\xEC\x7F\xE1\xE1\x89\xEF\xE4\xDA\xCC\xD8\x9B\x1B\xD7\x47\xE1\xC2\xE6\xC3\xD4\x01\xCF\x18\xAF\xDD\x42\xD2\xEE\xCF\xDA\xED\xE9\xAC\xEC\xEB\xAD\xEB\xEB\x7B\xE3\xEE\x57\xE9\xE9\xA5\xE3\xE8\xE6\xED\xE8\xDA\xDA\xEC\x8B\xE4\xEC\xEC\xBB\xD9\xF0\xE2\xEE\xED\xE8\xE9\x03\x1A\xEA\x3A\xEC\xEC\xF1\xE1\xE3\x01\x1F\xEA\xBA\xE5\xE8\xF7\xED\xEC\xD3\xD5\xEF\xA1\xEC\xEF\xF7\xB4\xEB\x59\xE7\xEE\x03\xFD\xE7\xCE\xEF\xEB\xC8\xD1\xEC\x0B\xF6\xEB\xE8\xEE\xEE\x0F\xF6\xD6\xC0\xE0\xDB\x06\xF6\xEA\x0C\xFD\xEB\x17\xF7\xDC\xC1\xD0\xE9\x1B\xFC\xEE\x02\xFE\xF1\x05\xF3\xF1\xF8\xE2\x10\x5E\xE1\xF0\xB3\xE4\xEF\x28\xF4\xF0\x9D\xDB\xEE\x5D\xC2\x10\x00\xFB\xEF\x9E\xE2\x10\x9A\xE6\xF3", - "\xA8\xE9\xF3\x1C\xF6\xF1\x03\x1D\xDA\x3D\x2F\xDA\x82\xE9\xD2\xFE\xE2\xDB\xC7\xE0\xE0\x7A\xEE\xF3\x1F\xDF\xE8\x23\xD3\xF2\x33\xF1\x10\x3C\xF3\xEF\xEF\xE4\xDA\x06\x14\xE6\xD9\x18\xC0\xFA\xE5\xEC\x03\x15\xF3\x5A\xF8\xF3\xB1\xD1\xF5\x4F\xF6\xF4\xCF\xE8\xEC\xD1\xE4\xF5\x3F\xFC\xF4\x80\xD5\xE4\x4B\xF7\xF4\xC9\xE0\xCC\xD9\xEC\xC6\x63\xDE\x35\x72\xCA\xC5\x7B\xDD\x48\xDF\xE2\xDE\xE1\xE2\xBF\x7E\xC6\xF2\x02\x12\xF7\x83\xC4\xF7\x0A\x16\xF7\x2F\xFD\xEF\xB7\xED\xF3\xC3\xE5\xF4\x60\xF3\xD1\x08\xF8\xEB\x53\xF9\xF4\x87\xF7\xF3\x01\x16\xF5\x3A\xFD\xF0\x09\xF9\xE6\x32\xFA\xF8\x90\xF2\x3B\x97\xFF\xDE\x3B\xFB\xF9\xFB\xCC\xF7\x50\xFE\xF9\xFD\xC0\xFA\x62\xF0\xF1\x21\xFD\xF4\x83\xF6\xEF\xA4\xF0\xF4\x41\x22\xF4\xA2\xF3\xDE\x62\xEF\xF1\x34\xE9\xF1\x43\xF8\xF9\x15\xFF\xF8\x9D\xFE\xF4\x95\xD6\x10\x2B\xF3\xF9\xA4\xF2\xF9\x86\xF0\xF3\xA1\x8F\xFA\x58\xDA\xFB\x93\xC7\xF2\x8E\xF2\xFC\x00\x09\xF8\x9C\xF1\xFB\x67\xFC\xF6\x65\xF9\xFC\x0E\xFF\xFC\x63\xF8\xF4\xB0\xE9\xEE\xD4\xF6\xFA\x80\xE2\xF2\x6E\xF2\xCA\x79\xF2\x15\x7B\xFD\xF2\x58\x1F\xF7\xE6", - "\xCB\xD7\x8F\x1F\xFD\xD8\xE2\xCA\xE1\xF5\xE2\xE3\xFD\x1C\x84\xCD\xE0\xE6\xFF\xFA\x8C\xE8\xFB\x94\xF7\xF0\x85\xF2\xF5\xEA\xE6\xFC\x9F\xF5\xEE\xA4\xFD\xFB\xC1\xF4\xF8\xB7\x7A\xF9\x40\x7E\x92\x7C\xFF\x05\x80\xFB\x66\x6F\xFA\x7B\xF4\x46\x80\xEC\x74\xF3\x72\x7E\xBC\x61\x7B\xCC\x7B\xFF\x64\x77\x09\x8C\x00\xA1\x7D\x02\x90\x7D\x25\x7A\xFC\x72\x7C\xD7\x68\xD8\x35\x7D\xF3\x79\x80\x14\x82\xE9\x47\x74\xE8\x7C\xFD\x52\x7E\xEA\x6B\x80\x22\x85\xF4\x58\x79\x88\x7A\xF1\x11\x0D\x28\x7A\x66\xE8\x7E\x28\x14\x77\xC8\x0B\xD7\x79\x79\x85\x75\x76\x0A\x09\xEF\x48\x61\xC3\x6D\xFA\x08\x6F\x0B\x8B\x81\xA7\x7A\x20\x07\x11\xBB\x7A\x01\x83\x09\xC1\x17\x80\xF3\x7B\xD9\x59\x7D\xF7\x7F\xFF\x27\x81\x08\x94\x7F\xA4\x7E\x69\x26\x80\xFB\x71\x00\x80\x82\xF3\x62\x08\x47\x81\xF5\x54\x83\xFA\x7D\xF5\x16\x82\xD9\x6B\x08\x0E\x83\xF1\x5D\x83\xE5\x71\xDB\x52\x83\xF5\x74\x78\x5C\x80\xFF\x48\x7E\xDF\x6A\x10\x59\x83\x14\x8D\x82\x5B\x85\xFF\x71\x6C\x26\x84\x00\xCF\x82\x12\x88\x75\xFE\x7A\x0D\x87\x09\x30\x87\xFF\x61\x79\x1E\x81\x7B\x6E\x87\x0C\x90\x82\x14\x89", - "\xF2\x11\x7F\x1C\x9C\x83\x55\x85\xF2\x63\x73\x32\x88\x08\xE9\x81\xD8\x63\x80\x80\x85\x11\xA0\x81\x0A\x89\xEA\x07\x84\x12\x8F\x80\xBB\x79\xDF\x4C\x85\x4B\x82\x06\xFA\x83\xF0\x6A\x7B\x01\x0E\x0C\xAC\x78\x3B\x86\x05\xA4\x7C\xD7\x7E\x84\x00\x01\x10\xA3\x85\x8E\x74\x08\xCA\x7F\x29\x81\x7B\x74\x84\xE8\x7D\x82\xDB\x77\x05\xFF\x75\x6C\x67\x18\x5F\x81\x20\x24\x14\x50\x89\x0A\x92\x85\x2B\x93\x7E\x5E\x7C\x17\xB1\x84\x5A\x83\x09\xE8\x80\xE9\x71\x80\xFD\x6F\x12\x7E\x84\x52\x8A\x08\xF9\x7D\x2E\x9D\x85\x9C\x83\x16\x87\x7F\x60\x8F\x0C\xC3\x87\x07\x9F\x85\x4E\x84\x12\x88\x86\x07\x76\x10\x22\x86\xEF\x78\x86\x71\x85\x08\x94\x87\xCF\x66\x10\x44\x17\x33\x8A\x85\xDF\x84\x19\xA1\x87\x03\x89\xFD\x40\x83\xF6\x68\x7D\xE4\x83\x20\x16\x86\x09\x8C\x0A\xEA\x87\x18\x8C\x7D\x69\x16\xF5\x7C\x84\x6F\x80\x07\xFD\x85\x1D\x94\x84\xF8\x81\x49\x3A\x87\x73\x8B\x0C\xF5\x84\x40\x88\x7B\x12\x79\x1E\xA0\x83\x68\x89\x08\x8C\x7F\x06\x81\x7A\x1D\x83\x13\x9A\x82\x7F\x82\x0B\xA8\x75\x40\x9D\x12\x03\x8A\x21\x81\x08\x74\x84\x11\xC4\x84\x38\x97\x87\x08\x8D\x05", - "\x9A\x88\x00\x03\x0F\x8A\x82\x3D\x9F\x87\x29\x87\x22\x9B\x13\x8C\x8C\x06\x89\x08\x3F\x88\x89\x83\x87\x24\xA1\x7A\x95\x82\x26\x2C\x8B\xD5\x6E\x74\x24\x80\x1E\x9E\x61\xB1\x64\x13\xDC\x75\x44\x9C\x85\xAC\x10\x28\xB1\x6D\xA0\x8D\xFD\x28\x74\xAE\x19\x89\x02\x08\x6B\x3C\x85\xA3\x85\xFD\x0A\x0A\x52\x85\x8A\xFE\x66\x27\x99\x78\xEA\x14\x04\xEC\x86\x40\x1C\x81\xF9\x86\x07\xB1\x6C\xAC\x82\x10\xDA\x89\x55\x8A\x6A\x52\x8C\x05\xB5\x69\xF4\x78\xEA\x5C\x88\x46\x9E\x8A\xCF\x86\x2C\xAB\x88\xB4\x8D\x1C\x31\x83\x50\x0E\x8B\xD3\x81\x20\x2A\x8B\x9A\x8C\x16\xAD\x88\x0B\x61\x89\x3F\x81\x3B\x30\x8A\xF9\x6C\x88\x21\x8B\x53\x8D\x8B\x3C\x89\x24\x9E\x80\x9F\x03\x03\xCD\x0E\x64\x7F\x8A\x7A\x65\x30\x94\x0F\xBD\x60\x09\xC3\x0B\x0D\x94\x81\x2E\x7B\x24\x8C\x8A\xED\x70\xED\x06\x0B\x5F\x96\x8B\x03\x0B\x32\xAE\x87\xCA\x83\x10\x17\x8F\x4D\x89\x08\xBB\x87\x19\xA1\x8D\x91\x8D\x13\x80\x7D\xF4\x78\x8C\x02\x0B\x34\xA8\x8C\x5D\x81\xDB\x25\x8D\xF9\x6D\x7B\x23\x8C\x28\xB1\x8D\xA1\x81\x18\x0A\x8D\x76\x1B\x6B\x2F\x8E\x28\x3B\x8B\x9E\x0F\x18\x86\x8E\x42\x19", - "\x8D\x6F\x8B\xAC\x6A\x8D\xCF\x86\x10\x43\x8F\x8D\x78\x89\x4D\x8F\x34\x84\x8F\x76\x80\xF2\x6F\x85\xDA\x6F\x86\xB2\x8B\x35\x80\x01\xE8\x8B\x1C\x82\x08\x75\x9C\x0E\xBB\x8C\xEC\x46\x08\x5C\x80\x18\xC5\x7A\x67\x93\x7D\x2C\x84\x8F\x08\x8B\x80\x08\x48\x3C\x84\x47\x90\x89\x77\x86\x11\x9E\x88\xAB\x81\x10\x25\x88\x06\x9F\x88\xE8\x8D\x14\xA2\x87\x50\x85\x10\xC6\x84\x7C\x91\x84\x0C\x8A\x3D\xB1\x8A\x32\x82\x0C\xF5\x8D\x4C\x9A\x86\x12\x8F\x0D\xB1\x8F\x6C\x89\x02\xDB\x84\x02\x67\x8F\x15\x8A\x3F\xB4\x87\x14\x8F\x07\x99\x87\x42\x93\x88\x03\x93\x1D\x94\x85\x06\x9B\x1F\xC0\x8F\x35\x92\x89\xEB\x8B\x42\xB1\x6C\x04\x99\x21\xF6\x8C\x86\x9B\x8F\x8D\x8B\x3F\xAE\x8F\x24\x82\x1F\xEC\x8C\x00\x01\x91\x7C\x8D\x1B\xBE\x8F\xF4\x8F\xFB\x1B\x93\x8A\x85\x91\x94\x81\xEB\x68\x85\x11\x98\x09\x97\x91\x8C\x81\x90\x82\x84\x45\xB7\x8E\x07\x9F\x09\xCF\x86\x85\x8B\x90\xFF\x8E\x43\x94\x85\x57\x8C\x23\xA4\x8B\x8B\x84\x90\x85\x82\xF3\x66\x8F\x23\x92\x21\xA9\x80\x91\x9B\x8F\xDC\x8A\x3A\x86\x8F\x31\x8C\x21\xB6\x92\x90\x97\x92\x49\x96\x40\x8A\x08\x1A\x9D\x09", - "\x89\x93\x31\x98\x91\xAB\x80\x4B\xBA\x90\x13\x9A\x25\x89\x09\x95\x80\x92\x63\x96\x20\x85\x90\x4B\x80\x21\xDE\x93\x8E\x9B\x8F\x65\x92\x45\xB9\x8F\x62\x89\x25\xB1\x6E\x39\x83\x89\x67\x96\x24\xAA\x93\x20\x99\x24\xAE\x8E\x28\x76\x7E\xD5\x8D\x3D\x8C\x93\x8E\x8B\x1F\xFE\x92\x36\x60\x94\xC7\x8E\x25\x83\x95\x08\x90\x12\xE3\x8E\x48\x92\x8E\x79\x97\x3D\x9F\x90\x34\x90\x0C\xA3\x81\x72\x85\x81\xD2\x8C\x4B\x92\x86\x4A\x9D\x0C\xCC\x8C\x78\x81\x82\x09\x8A\x3A\xBF\x90\x3D\x92\x26\xB0\x91\x4A\x82\x8C\x2E\x93\x4E\xAF\x93\x14\x9E\x29\x9C\x80\xED\x6C\x93\x02\x96\x4D\x93\x95\x64\x8B\xF6\x17\x96\x4E\x81\x94\x04\x0B\x51\xB2\x95\x83\x8E\x28\x83\x8F\x1E\x63\x6B\x88\x1C\x17\x81\x97\x67\x8F\x1D\xAE\x95\x78\x91\x6D\xC5\x90\x22\x99\x78\xF1\x80\x15\xA4\x7D\xB2\x9D\x81\xCB\x95\xC3\x75\x84\x00\x0F\x2C\xD9\x89\xB4\x98\x81\x09\x0B\x58\x8D\x0F\xBC\x8D\xE0\x5C\x95\x75\x7E\x96\x4A\x6B\xAF\x44\x63\xBD\x6F\x24\xCE\x8D\x40\x0D\x26\xD8\x96\x20\x28\x96\xC8\x84\xD5\x20\x66\x16\x60\x97\x7A\x63\xAF\x4F\x27\x74\x93\x10\x51\x24\xBD\x82\x08\xEC\x1F\x5E\x81", - "\x09\x7C\x9C\x2E\x86\x08\x46\x1A\x97\x00\x03\x9A\x00\x98\x81\x9D\x2F\x83\x0A\xE0\x1E\x8D\xC9\x66\x5D\xAF\x8D\x84\x00\x49\x05\x9A\x1C\x5B\x70\x06\x0C\x79\x00\x98\x0A\x96\x2E\x80\x00\x1D\x2E\x98\x01\x09\x7B\x18\x98\x00\x01\x25\xB7\x8D\x1B\x90\x98\x03\x0E\xEF\x48\x98\x83\x02\x32\x8B\x8D\x45\x00\x99\x02\x0D\x76\x1B\x99\x3B\x96\x32\x89\x08\xCB\x9E\x98\x09\x0A\x8A\x00\x98\x99\x9B\x31\xB3\x73\x6B\x76\x99\x88\x6C\x26\xBB\x6A\x9D\x9F\x10\x28\x9B\x46\x9E\x99\x00\x07\x8E\x00\x99\x59\x23\x34\xC0\x98\xD1\x9B\x98\x47\x9D\x39\x1A\x02\xF0\x5D\xFE\x4D\x9A\x86\x63\x0F\xF4\x0E\x4F\x08\x60\xF0\x5C\x2D\xCF\x99\xED\x51\x9A\x09\x0C\x5B\x9A\x9B\x1C\x8C\x35\xFF\x0E\x42\x14\x9A\x5F\x98\x6B\x97\x9B\xAC\x9A\x10\x43\x82\x41\x1C\x96\x66\x9B\x20\x28\x9A\xB1\x9E\xC3\x50\x98\xD9\x89\x08\x53\x9C\x6D\x97\x8B\xB0\x9F\x36\x86\x09\xF8\x61\x7F\xEF\x7F\xFD\x7B\x6A\x4C\x10\x1A\x8A\x0B\x75\x9B\x9B\x0A\x0E\x38\x97\x8E\xCD\x81\x10\x00\x9D\xDF\x89\x08\x7F\x9A\x21\x3C\x9B\xE2\x8E\x37\x8A\x0A\xE1\x8C\x9C\x88\x9E\x71\x8A\x9D\xC0\x9D\x38\x89\x0B\xE3\x83\x15", - "\x95\x9E\x20\x17\x9D\xD4\x89\x39\x83\x0B\xE6\x8C\x8D\x91\x9E\x65\x92\x9D\x84\x0B\x38\x98\x9D\xE8\x85\x87\xA3\x9E\x20\x25\x9C\xCE\x97\x3A\x83\x0B\xCB\x80\x00\xBD\x79\x6E\xB5\x9B\x4F\x70\x37\xF4\x9B\xD9\x8C\x6A\x0A\x0A\x76\xB7\x9C\xDD\x5D\x39\xEE\x5D\xEF\x97\x15\x44\x73\x55\x01\x9F\x81\x07\x1D\xDF\x61\xF1\x9F\x9D\x09\x60\x79\x86\x9F\xE1\x96\x1D\x8D\x08\xF3\x81\x08\xD7\x8F\x75\x8B\x9E\xD1\x9D\x17\xD4\x9C\xEA\x96\x9E\x6B\x86\x0B\x83\x08\x41\x6B\x3D\x9F\x98\xE9\x94\x9C\xAD\x98\x0B\x93\x9D\xC3\x92\x3C\xD5\x9E\x41\x08\x87\xAB\x98\x74\xA5\x9F\xF3\x93\x3E\x90\x9F\xFA\x86\x82\xED\x9E\x74\xAF\x9E\xF1\x9F\x3D\xE4\x9C\xF1\x9E\x9E\xAA\x98\x7C\xB3\x9F\x9F\x95\x3F\xEE\x9F\xFD\x86\x93\xF1\x9C\x75\xBB\x9E\x00\x0F\x3A\xE8\x9E\xFE\x9F\x9F\xD7\x9C\x7D\xBD\x9E\xF9\x98\x40\xAE\x9D\xCF\x8B\x84\x09\x0B\xC6\x71\x9C\xDB\x9A\x36\xCC\x71\xE3\x73\x9B\x6E\x9B\x77\xBE\x5C\xDC\x95\x3B\x99\xA1\x05\xBE\x75\x2A\x79\x77\x94\xA0\x81\x0C\x2D\xF5\x6B\x04\xBE\xA0\x24\xA0\x39\xB4\x9D\xBB\x88\x42\x81\x08\xB7\x9E\x86\xE9\x98\x00\x02\x9D\xDF\x81\x40\xEA", - "\x9D\x03\xA2\x08\x84\x99\x57\x8B\xA0\x01\xA7\x43\xF4\x8F\x0E\xB6\xA1\xCD\x9A\x51\xBF\xA0\x19\xA8\x3C\xB0\xA3\x01\xA1\xA2\x72\x91\x7F\xB6\x9E\x24\xAA\x0C\xC3\xA3\x0C\xA2\xA2\x4A\xA6\x7F\x8C\xA3\x61\x14\x43\xCE\xA0\xF2\x8F\x9D\x46\xA3\x89\x90\x9E\xE7\x99\x10\x5F\x8D\x0C\xAF\xA2\x96\x8D\x86\x84\xA3\xF0\x90\x3C\xDD\xA2\x18\xA0\xA3\x9D\x8F\x8C\x88\x9E\x2F\xA7\x44\xDB\xA2\x19\xB6\xA2\x64\xA4\x5A\xAA\xA3\x38\xAC\x46\xDA\xA3\x74\x8E\x8A\x73\xA3\x80\xAF\x9D\x3A\xA2\x45\xEE\xA1\x02\xA9\xA3\x70\xA2\x8F\x8A\x09\x92\x91\x10\x5F\xA0\xF2\x84\xA4\x00\x06\x90\xB1\xA3\x1C\xA8\x48\x8A\xA7\x00\xAD\xA4\x6D\xA7\x8E\x89\x08\x48\xA6\x47\xD7\x8C\x25\xBD\xA3\x92\xA4\x64\xB9\xA3\x1E\xA0\x00\x17\xA4\x03\xB3\xA2\x01\x0E\x93\xBC\xA0\x50\xA4\x40\x83\xA7\x26\xA4\xA5\xAF\x9A\x94\x80\xA2\x3F\xAE\x40\xF1\xA3\xE0\x88\x9E\xD7\x89\x96\xB0\xA5\x2B\xA4\x4B\xF1\xA3\xEB\x86\x6E\x00\x00\x97\xB9\xA0\x5C\xAC\x4B\xC4\x65\xC2\x9F\xA5\xC4\x68\x7B\x9A\x44\x2E\xA1\x4C\xFF\xA3\x28\xAC\xA5\xC7\xA1\x93\x99\x8D\x48\xA7\x1D\xE8\xA1\x32\xAD\xA6\xC8\x9E\x99\xAB\xA4", - "\x65\xAF\x4C\xC4\xA7\x27\xA8\xA6\x01\x0F\x75\x92\xA7\x52\xA9\x10\x07\x98\x29\xBE\xA6\xD8\xA0\x00\x39\xA0\x70\xA4\x4D\x81\x08\x39\xB7\x8E\xE7\xA3\x22\x08\x9F\x74\xAD\x4D\xEB\xA5\x2D\xA6\x08\xEC\xA6\x98\xA6\xA7\x77\xA3\x10\x0E\xA4\x27\xB6\xA7\xA4\xA1\x87\xB8\xA7\x70\xAB\x4F\xE5\xA5\x22\xAC\xA6\xA7\xA4\x9F\x80\xA9\x40\xA7\x4F\x83\xAA\x3C\xBF\xA7\x95\xA6\x9A\x82\x09\x7E\xA1\x3D\x8A\x0A\xB6\x82\x08\x0F\xA9\x20\x39\x70\x86\xA6\xF9\x04\xA8\x29\xB7\x63\x51\xA7\x9A\xBE\xA7\x89\xA6\x50\xCB\xA5\xBB\x96\xA8\xE1\xA1\x87\x98\xA9\x7A\xAD\x51\xB8\xA3\x8F\x64\xA9\x09\xAF\xA3\x99\xA9\x6A\xA9\x10\x23\xAB\x42\xA5\xA9\x12\xA9\xA0\xBE\xA6\x7D\x74\x51\xAD\xAA\x4C\xB7\x8E\x1C\xA9\xA5\x88\x81\x95\xA3\x4D\xD7\x8E\x4B\xA5\xA4\x30\xA8\x00\x3F\xA8\x84\xA8\x49\xB8\xAB\x4D\xB5\xA8\x3C\xAB\x8C\x83\xA1\x9C\xA5\x54\xC8\xA8\x4A\xAD\xAA\x36\xA8\xA4\x9B\xA9\xA3\xAA\x52\xCF\xAA\x46\xBE\xA9\x54\xAD\xA4\x59\xAB\x56\xAB\x53\xD6\xA8\x4B\xA7\xA8\x43\xAD\xA6\x87\xA8\xA6\xA7\x55\x8A\xA9\x8F\x9E\xAA\x3D\xAE\xAC\x82\xAB\xAD\xA4\x45\x9C\x72\x54\xAD\xA8\x55", - "\xAF\xA5\xBA\xA8\xAE\xA3\x10\x61\xA9\x50\xAF\x9D\x35\x7A\x65\x8B\x1E\x85\x02\x31\x86\x08\x55\x86\x08\x1A\x9B\xAF\x89\x09\xBF\xA3\x10\x01\xAC\xBE\x87\x20\xFE\x59\x21\x1E\x76\x4C\x91\x10\x0F\x6F\x40\x14\x99\x03\x0F\x62\x85\xAC\x5B\x4A\x10\x42\x9A\x41\x0C\x96\x03\x0D\x3C\x86\x08\xCD\xA3\x10\x02\x7F\x40\x0D\x98\x9F\xA9\xF0\x4A\x08\xC2\xA2\x10\x06\xAD\x40\x04\xAD\x19\x9A\x21\x0A\x6F\xD2\xAA\x5A\x94\xAD\x42\x1E\xAC\x02\x0F\x97\x43\x09\xA4\x92\x10\x34\xAF\x69\xAE\xAD\x06\x0E\xB6\x80\x00\xD4\xA0\x00\x26\xAC\x00\x0B\x97\x46\x74\xAD\xA7\x96\xA7\xA2\x57\xD0\xAA\xBA\x87\x64\x6F\xAA\x21\x00\xAF\x0F\x72\x5C\xE2\xA6\x72\xA4\xAE\x40\xAB\xAE\xA6\xA9\x84\x0B\x5C\x81\x0A\x5D\xB2\xAE\x65\xA7\xB8\xAE\xAB\xA4\xAB\x4D\xD5\xAD\x25\x89\xAE\xD4\xA8\xB9\x9C\xAE\xE4\x9E\x5D\xE4\xAB\x57\xA3\x08\xDE\xAC\xA6\x81\xAA\xEF\xA7\x5D\xC6\xAC\x7A\xA7\xA9\xC5\xAD\xAC\xA1\xAF\xB8\xA1\x5D\xEE\xAE\x40\x0C\xAF\xCD\xA8\xBF\xA0\xAE\xED\xAD\x55\xF1\xAF\x79\xB7\xAF\xF0\xAD\xBE\xB2\xAE\xFE\xAF\x5E\xF3\xAE\x56\xBB\xAF\x05\xB5\xBF\x82\xB1\xFF\xA3\x5C\xD1\xAB", - "\x78\xB1\xA3\xE5\xA9\xBF\x90\xAE\xA2\xA3\x60\x89\xB1\x5D\xB2\xB0\x06\xB1\xB8\x88\xB1\xB6\xA4\x60\xB1\x7B\x86\xB9\xA6\xCF\xAE\xC1\xA8\xAA\xA5\xAC\x49\xAF\x9D\x84\xBF\xB0\xDC\xA5\xC3\xA7\xAA\xFF\xA9\x56\xC2\xA5\x83\xA6\x08\xED\xAD\xC2\x9C\xB0\x0B\xBC\x5C\xA8\xB2\x89\xB3\xB0\x62\xAC\xAE\x80\xB0\x11\xBC\x62\xA4\xB0\x2A\xAA\x08\xF3\x96\x20\x36\x96\x83\x04\x30\x83\x09\x35\x29\x08\xB9\x6E\x20\x1C\x27\xA6\x91\x10\x4C\x98\x93\xA1\x08\xAE\x01\x2F\x9D\x44\xF0\x59\x36\xED\x7C\xF8\x4F\x05\x52\xB2\x84\x91\xA1\x27\xB0\x88\x05\x11\x27\x48\x87\x41\x08\x7C\x70\x05\x2C\xBF\x64\xB9\xA1\x98\xAA\x08\xB1\x04\xCC\x8C\xB2\xE3\x8C\x65\x80\x02\x2C\x0A\xB3\x03\x0D\x13\x79\x79\x36\xB3\x0B\x70\xB1\x0A\xAF\x73\x6D\xB1\x21\x34\x04\x3B\xBE\x42\xEB\x6D\x9E\xA9\x08\xB5\x04\xCF\xBE\xA6\x7E\x9F\x67\x81\x0A\x2D\x02\xB4\xC6\x8B\xB5\x0F\xB2\x22\x61\x14\x31\xA0\x69\x2B\xB4\x0A\x0F\x16\x02\xB5\xBD\x6B\x56\x10\xB5\x42\x18\x05\x82\xB5\xCA\x81\x09\x9F\x2F\x64\xBC\x67\x71\x0F\x7F\x41\x2D\xD3\x85\x10\xF0\x50\x59\x85\xB5\x2E\x02\xB4\x31\xA3\xB1\x85\xB4\x00", - "\x0A\x0B\x02\xB4\xB7\x89\xB2\xAB\xB3\x17\x2E\xB4\xDC\x6B\x6A\x82\x08\x2F\x02\xB4\xD7\x8F\xC8\xB5\xB5\x5E\x09\x69\x8A\x0A\x37\x22\xB5\x75\x12\xD3\x80\x01\x71\x20\x6C\x86\x46\x42\x07\x27\xB5\xB0\x00\x3E\x04\x41\xB1\xFE\x05\x29\xB2\xBF\x05\xB8\xB2\x21\x1E\x29\x64\xB0\x0C\x51\xB5\x42\x1B\x29\xC9\xB1\x18\x16\xB6\x83\x0A\x54\x16\xB6\x41\x02\x06\x93\xB2\x21\x1B\x2B\x64\xB3\x0C\x28\xB6\x42\x09\x2C\xC9\xB4\x18\x02\xB5\x1C\xA2\x5D\x45\xB6\x93\x17\x8E\x81\x31\xD9\x85\x07\x6D\xB3\x10\x06\x35\xB2\xA6\x06\xF4\xB2\x20\x09\x35\x64\xB7\x0C\x02\xB5\xCE\x7A\x2F\xC9\xB0\x19\x3E\xB6\x85\x05\x60\x49\xB5\x32\x02\xB4\x1D\x98\x00\x07\x31\x64\xBA\x0C\x02\xB4\x3A\x83\x38\xEE\xB4\x46\x1C\x9E\x81\x0E\x6D\x11\xB8\x8E\x1F\x62\x0C\x31\xD9\x8B\x06\x41\xBF\xC5\x11\x31\xB2\xAC\x06\x82\xB7\x75\x86\x33\x64\xBD\x0C\x21\xB9\x4E\x09\xB6\x00\x06\x19\x26\xB9\x84\x0A\x67\x49\xB7\x33\x0B\xB9\x06\x0D\xE5\xB5\xB4\x68\x00\x73\x83\x08\xA9\x29\xB6\xD1\x05\xE6\x82\x09\x9B\xB5\x6B\xD2\x04\xC7\xAA\x08\xCF\x31\xD9\x93\x07\x9F\xB9\x10\x53\x35\xB2\xB4\x06\x82\xB2", - "\xF2\x58\x37\x64\xB5\x0D\x03\xB9\x42\x1B\x39\xC9\xB3\x3B\x12\x7C\x6E\x39\x6C\xD6\x06\xC3\xAA\x08\xF9\x36\xE2\xBF\x13\x9C\x73\x72\x49\xB7\x35\x08\xB8\x0A\x09\xE7\x09\xB6\x6C\x02\x68\xBD\x7F\xD2\x29\xB6\xD9\x02\xD0\xB1\x60\xAB\x3A\x75\xDB\x0F\x8C\x78\x3A\xC9\xB2\x1B\x02\xB5\xB7\xB8\x72\xDB\x07\xDC\xAA\x08\x5A\x39\xD9\x9C\x07\xBB\xB9\x10\x79\xB9\xAD\xBD\x06\x82\xB3\x16\x36\x8D\xF5\x7E\x1D\x6D\xB2\xA7\xBC\x16\x41\x0B\x2E\x86\xBC\x6D\x21\x14\x70\x95\x72\x09\xBC\x7E\x10\x7C\x4A\xBC\x2D\xB6\x37\x85\x11\x50\x11\x61\x87\xB9\x38\x01\x0A\xAB\x9D\x36\x83\x11\x50\x02\xB6\x99\xBD\x38\x3D\x8C\x0C\xAA\x41\xCE\x11\x50\x01\x7F\x9D\x47\xFD\x7B\x81\xC8\xBD\x3C\x0D\xB6\x36\x35\x9A\x96\xB9\x92\xA1\xBC\x7F\x18\x79\xB1\xBD\x1C\xB3\xBD\x0F\x1A\xD8\xB9\x7B\x36\xB5\x45\x77\x9A\xED\xA6\x08\x39\xA6\xF1\x81\x0E\xB0\x99\x10\x61\x7F\xE4\xAF\xB2\x39\x7A\xF8\x85\x0F\xF0\x7C\x2D\xCC\xBF\xEF\xBF\x6E\x72\x9F\x6A\x14\xBC\x8D\xAC\x2D\xEF\x7C\xE1\xA7\x0E\x41\x08\x97\x87\xBE\xDE\x7E\x27\x2A\xBF\xF3\xB0\xA8\xD3\xBC\x46\x1F\x63\xD4\xB1\x7D\xFF\x11\x50", - "\x1A\x77\xC5\x7C\x85\x8E\x87\x38\xB2\x46\xD7\xBF\xE3\xBC\xAB\xCD\x1B\xE2\x81\x09\x4E\x41\x43\xDB\xBD\xD3\x9C\xAD\xB8\xB9\x28\x28\x86\xFA\xB5\x7E\xDB\x0D\x50\x1E\xAD\x9D\x44\xD0\xA4\xBD\x81\x09\x70\x9D\x46\x71\x9B\x6B\xFE\xBE\xC9\x43\x1D\xD8\x1B\x4D\x89\xC2\x62\xA5\xBF\x92\xAF\x61\xB5\x13\xEB\x81\x43\x8E\xC0\x4D\x39\xA1\x08\xC5\xF0\x95\xAC\x6D\x29\x43\xD7\x8E\x05\xC3\x08\x98\xAF\xCE\x87\x66\xA8\x37\x50\xEE\xBE\xE6\xAA\x08\xB2\xAA\x20\x0C\xB5\xC8\x83\x80\xB3\xB1\x0B\xD8\x11\x41\x09\xC8\x83\x09\x15\xC0\x42\xF2\x8A\x5A\xAA\xBE\xD0\x09\x28\x3A\xB5\x19\xCE\x6B\xE1\xBE\xF4\xBD\xA0\x94\x65\xF8\x9F\xBF\x80\x04\x6C\xEA\xBE\x93\x1A\xBE\xCF\x98\x00\x36\xBF\xF6\x78\x6C\xC6\xC0\x8D\x11\xA8\x4A\xC1\x09\xF8\xC1\xEA\x01\x14\x4E\xB6\x13\xC1\x08\x0F\x28\x08\xDA\x84\x2D\xC3\x0E\xA1\xA1\x9D\x01\x0A\x2B\x2C\x04\xCE\x13\x9C\x72\x7F\xE6\xBE\x42\x18\xB6\xA5\xBA\x20\x03\x2A\x31\xC2\x10\x65\xC3\x58\x98\xBE\xA3\x20\x1D\x94\x99\x1C\xCA\x10\x46\x28\x1B\xD8\x11\xE8\x85\x0C\xDF\xC0\x81\x08\x54\x33\x9E\x40\x11\x2A\x77\xC4\x63\x8A\x08\x13\xC5", - "\x1C\x41\x0B\x54\x3E\xC3\x38\x15\xE6\x60\x5F\x84\xBB\x84\xE3\x7F\x5B\x28\xC4\x7F\x14\xB7\x8B\xC5\xFE\xBA\x81\x89\x0B\xA3\xA9\xC3\x01\x0D\xB5\x17\xC2\x00\x0F\x2F\xE3\x9B\x06\xB0\xA0\x9E\xBA\x21\x33\x2C\x2E\xC2\x40\x75\x69\xB5\x87\xC1\x09\x08\xB7\x0B\xC1\xE4\x15\xD7\x38\xA7\x1E\xD2\x54\xBB\x2E\x07\xFF\x13\xEF\x88\x48\xAF\xC7\x9F\x15\x2E\xA4\xC7\x4F\x08\xA5\x51\x94\x85\xAD\x57\x08\xA2\x20\xB8\xA4\x17\xED\xB2\x80\xBE\x89\xC9\x1C\x39\xB7\x76\x70\xC5\x95\x39\x71\xA1\xA6\x8B\xD5\x21\x8E\x67\xC5\x85\xC2\x21\x03\x31\x40\xC4\xD8\x1D\x45\x8E\x6E\xC5\x95\xC6\x20\x05\xB9\x55\xC2\x10\x0B\xBB\x26\xCE\xAC\x12\xC2\xC1\xB2\xA3\x2F\xCA\x10\x19\xB8\x37\xD8\x11\xA5\xB3\xFE\x93\xB0\x6C\xC9\x8C\x86\x0A\x83\x35\x23\x1E\xBB\x13\xD1\xC0\x75\xCC\x63\x81\x08\x14\xCD\xC6\x5A\x25\xE6\x72\x91\x76\xC7\x51\x35\x78\x33\xD9\xC6\x17\x2A\xAF\x82\x08\xDE\xA8\x8F\x90\x20\x6F\xAC\x2A\xE4\xC1\x21\x15\x30\x48\xCB\x1D\x16\xAF\x07\xBE\xAB\xA3\xAB\x08\xC0\x01\x1A\x3C\x90\xDE\x0C\x68\xA2\x08\x31\x64\xB7\x99\xC3\x50\xC9\x10\x5C\x31\x45\xC7\x0E\x32\xC2\x04", - "\xC3\x08\xDE\xAE\x5D\xB6\xC6\x9D\x3F\xC8\xC9\x08\xD6\xA2\xC9\x81\xCA\x10\x65\x25\x42\xC6\x08\xFB\xB0\x13\xFF\x13\x22\xCF\x90\xA3\xC8\x0A\xD2\xC8\x3C\xBD\x26\xF4\x10\x2B\xCA\x93\xB7\xAD\x42\x0B\xB2\x1C\xCE\x20\x2D\x34\x99\xCB\x1D\x61\xC2\x4C\xDC\xAD\xE1\x27\x25\xC3\x08\x5C\x38\x92\xC1\x0D\xA8\xA7\xCA\x0A\x0C\xB3\xB4\x11\xA0\x05\x6C\x10\xC6\xD1\xBB\xC4\xDD\xB6\x20\x19\xC8\xD1\xAA\x94\x82\x0B\xD2\xB2\xC9\xE0\x33\x13\xE3\xB6\xAD\xC1\x91\x89\x09\x08\xD0\xC1\x0A\x08\xDD\x10\xC5\x84\x3B\x89\xE8\xB4\x59\xC9\x08\xBE\xAD\xAF\xA6\xBD\x51\x22\x80\xA9\xAD\x57\xC5\x29\x9D\xC3\x20\x04\xC4\x3A\xC9\x10\x19\x3A\xD7\x95\x13\x8A\xB2\x26\xF9\xCB\x17\xC6\x86\x89\x09\xCF\x2F\xCB\x03\x15\xB6\x10\xC5\xC1\xCD\x67\xF7\xC8\x00\x09\x3A\x7F\xCE\x20\x2C\xBB\x4D\xCD\x6E\xB2\xCA\xAA\xA7\x63\x8E\xCE\xEF\xAC\xBE\xCE\x14\xD8\x36\x72\x2D\xDC\x3A\x81\xC3\x3B\x20\xC7\x80\x08\x90\xC1\xCB\x40\x1F\x3A\xB9\xC3\x3B\x2D\x2F\x5C\xC3\x9A\xBB\xAE\x44\xC3\x3B\xA9\xCE\x3B\x04\xC6\x1E\xC9\x10\x2D\xCF\x46\xD3\xCB\x09\x0F\xEC\x31\xCD\xE3\x03\x8D\xDF\xC5\x88\xA6", - "\xCD\x02\x0E\xEE\x3B\xCD\xE4\x0E\x8D\x9D\xBF\x40\x0D\xCD\x2E\xC8\x38\xC1\x08\xBD\x33\x9C\xC1\x0E\x39\xC6\xCE\x02\x0D\x35\xFE\x95\x5E\xCD\x4A\x2D\xCD\x0A\xC8\xCB\x09\x0E\xEF\x0D\xCF\xE2\x01\x8F\xD0\xCD\x63\xAA\x08\x40\xC8\x37\xC6\x09\xC1\x3B\x9D\xD0\x0F\x42\xDE\xCD\x09\x09\x29\xCA\xCE\x00\x07\x78\x65\xCD\x75\x05\x31\xAC\xC9\x2A\xD2\xC9\xC5\x39\x8B\x8F\x3D\x2E\xD4\xC8\xC5\xC1\x3A\xDC\xCB\xF5\xCA\x79\x39\xC4\xEA\x39\xC5\x54\x35\x85\x89\x6D\x3D\x22\x91\xAC\x3D\x2E\xD1\x3D\xB9\xC6\xCD\x02\xD1\x74\xC3\xA0\x8E\xCD\x15\x33\xC7\x00\x02\x2A\xD8\xCF\x01\x15\x7B\x6E\xCD\x50\x10\xD0\xB0\xAB\x42\xCE\x13\xDC\x36\xA1\x99\x08\x81\xCE\xD0\xDE\x08\xF9\x1D\xD0\xB3\xCB\x81\x8E\xCC\xF3\x23\xD1\x03\x12\x42\xC1\x9A\x89\xC0\x7D\x28\xD2\x93\x19\xD0\x2B\xD6\x31\xD5\x3E\x17\xD4\x23\x17\xC8\x69\xD2\xC8\xD9\x39\x34\xD6\xC9\xB2\xCB\x9E\xDB\x3D\x20\xD2\xB9\x9B\xCE\x20\x36\xD0\x00\x07\x9B\xD3\xCA\x42\x1D\x3E\x3A\xD7\x38\x03\xD3\x92\xC0\x90\x82\x0B\xF7\x29\xD2\xC9\x0B\x48\xC9\xCE\xF1\xC3\x10\x61\x3C\x94\xC1\x0E\x43\xD7\x3A\xC5\xCC\x83\x00\x7F", - "\x57\xD1\x71\x03\xD2\xE1\xCE\x48\xC9\x08\xFA\x3E\xA5\xD0\x0F\x90\xCA\xCF\x54\xD2\x20\x36\x3F\x32\xD5\x1D\x43\xD2\x8A\xD6\xC5\x01\x45\x8E\x03\x41\x5C\xC1\x6F\xE7\xC4\x00\x03\xD2\x30\xD6\x16\xC7\x41\x3A\x29\x80\x39\xC6\xBD\xB6\xD3\x43\xD7\x2C\xDB\xD3\x81\x0E\x80\x75\x20\x04\x59\xC5\x31\xC9\x48\xC3\x08\x2D\xDA\x5B\x85\xC9\x72\x14\x40\x34\xD1\x20\x3A\xAD\xD5\xAA\xA1\x82\x08\x08\x4C\xD3\x41\x0E\xBB\x83\xB3\x34\xD5\x52\x5E\xAC\x34\xDC\xCB\x06\x0E\x05\x41\xC4\x47\x35\x47\x5E\xAC\x3B\xCF\xBF\x09\x08\x06\x75\x23\x1D\x49\x8B\x92\x35\x1D\x21\xC9\x3F\xC3\x3D\xD4\x43\x40\xC7\x69\x2F\xD6\x2F\xAB\xCF\x63\x45\x8E\x25\x43\x5C\xC9\x93\xE1\xC5\xBD\x8A\x08\xA5\xCC\x53\xF4\xC7\x9E\xCF\x27\x26\x36\x4C\xDB\xD4\x2C\xCE\x31\xC3\x45\xA6\xC5\x1C\x31\x35\x64\xDF\xD5\x09\x0D\x48\xD5\xD5\xF6\x8F\x87\x53\xC1\x50\x1C\x35\x90\xC0\x59\xEF\xB0\x61\xDC\x00\x55\xD5\x81\x01\xBA\xC7\xD5\x25\xD2\xC9\x48\x4C\xAC\xD0\x0F\x57\xC4\xD6\xDA\xD0\x00\x1A\xD2\x5B\xC4\x01\x5E\xD5\x9D\x01\xCB\xE8\xD0\x3C\xD2\xC8\x4C\x45\xAE\xD5\x0D\xD6\xA1\xD7\xE9\xCA\x22\xDF", - "\x45\x7A\xD1\x14\x7E\xC8\xBE\xDB\xAC\x12\xC8\x04\x2E\xD6\xBF\xAF\x87\x08\x60\xD4\xA8\xCC\xD0\xD4\x91\x12\xC8\x5D\x40\x89\xE9\x45\x2E\xC7\x3A\xCF\xD2\x20\x29\xD6\x41\xD6\x8B\xF5\x44\x24\xD0\x48\xB9\xC4\xEA\x11\xD9\x80\x05\x64\xC9\x6E\x44\xC0\x49\x98\xD2\x21\x3B\xC0\x81\x0D\xB1\xD3\xD7\x5E\x2A\xC9\x01\x08\x56\xC3\xD4\x8D\x28\xB2\x80\x01\xBA\xCE\xD4\x1D\x21\x4C\xFE\xC9\xF5\xC3\x2E\x28\xCE\x9D\xDF\xB5\x23\xC3\x3D\xE5\x48\x01\xD0\x4E\x3C\xD2\xB0\xC3\x17\x61\x3D\x8E\x34\xC8\x8F\xDE\x98\xBA\x48\xCF\xD3\x16\x53\xD2\x20\x3B\xCA\xEA\xC4\x64\xEC\x59\x9D\x10\xCD\x08\xDA\x20\x09\xDA\x1B\xCE\x98\xF7\x4B\xC6\xDF\x13\x78\x3F\x6A\xD3\xDA\x00\x06\xAD\xDC\xB3\x65\x57\xDA\xBE\x49\x17\xE4\xCF\xA8\xD1\x10\x4D\xC3\x40\x0B\x28\x20\xD0\x82\x26\xDA\x81\x08\x4F\x69\xDB\x09\x2D\xDB\x95\xBE\x31\xC8\x4F\xAB\xDB\x1D\x0D\x3F\xD5\xD0\xDB\xDE\xCB\x65\xC1\x08\xF6\x44\xB7\xDE\x0F\x7F\xC4\xDB\x00\x00\x6F\xEB\xC8\x93\xD1\xA1\x57\xDA\x90\x59\xC5\xB3\x3F\x6A\xFC\xC8\x81\x08\xB6\xB4\xDA\x16\x2B\xDC\x01\x0A\x70\xE6\xD9\x2A\x2D\xB8\x83\x08\xA5\xDA\xDB", - "\x00\x04\x4A\x61\xD9\x68\xD0\xAC\x92\xC9\x98\x5C\xD7\x0A\x0A\x44\xF2\xC8\x69\xDE\x9A\x8E\xCE\x9E\x40\xDD\x09\x0D\x45\xC0\xDC\xD2\xD4\xBA\xB6\xC7\xA4\x48\xDD\x06\x0E\x47\xE3\xDD\xDF\xC2\xAC\xA8\x54\xEC\xC3\x08\x5D\xD3\x76\xC9\x09\xAD\xD6\x8B\xBD\x57\xED\xC2\x08\x73\xD2\x77\xC6\x09\x75\xDD\xA4\x81\x0A\xB6\x5F\xDD\x01\x0C\x01\x50\xC4\xD2\xD2\xB3\x98\xDF\xBB\x48\xDE\x00\x00\x52\xC2\xDF\x81\x08\xA6\xE2\xD2\x41\x0F\x58\xD0\xDA\x55\xD3\xDF\x43\x22\x91\xA2\x58\x24\xC3\x5A\xB9\xC1\x57\xEB\xDD\xFD\xC2\xAC\xCE\x58\x24\xC6\x04\x05\xD9\x77\x8E\xDA\x83\x04\xBA\x94\xD9\xF1\xC0\x00\x5F\x58\x12\xCC\x05\xF4\xD5\x7C\xEB\xDF\x40\x13\xB6\x06\x0D\xA7\x2E\xDB\x0E\x28\xBF\x83\x0A\x51\xDF\xD9\x5A\x27\x7F\xC2\x09\x60\xD6\xBD\x83\x09\xD9\x50\xDE\xDD\xD0\x12\xC2\xE1\x99\xD2\xAC\x92\x07\xC0\xCE\x17\xF6\xDA\x20\x0B\xE0\x22\xD2\x91\x96\x07\x03\xF4\x11\x95\x42\x81\xF4\xDD\x02\xE2\x10\x1A\x07\x05\xF8\x11\x19\x07\x83\xC0\x01\x09\xEC\xBB\xEF\xDE\x27\x02\xE1\xDB\x0D\x03\x22\xE1\x09\xE4\xBC\xFC\xC6\x40\x02\x05\x28\xE6\x3B\x21\x01\x15\xE2\xAF\x8E", - "\xCC\xDE\x50\xDE\xB7\x42\x83\xF9\xD6\xC7\xC0\xB8\x50\xDF\x37\x5A\xE1\x00\xDE\x31\xDF\x5C\x48\xC1\xBB\x39\xC7\x3D\x57\xDA\x13\xE1\x4F\xEF\xDE\x5A\x02\xC2\xB8\x04\xFD\xC2\xD2\x11\xE1\x20\x13\xE0\xF7\xDE\xC2\x81\x0A\x2E\x02\xE1\xBE\x07\x89\xC3\x08\xA4\x40\xB6\x8A\x0A\xFE\xCE\xDC\x10\x27\x8B\xD6\xDC\x89\xC0\x0C\x5A\x4C\xA7\xB9\xD9\xC2\xD1\x18\x39\x5A\x7F\x1F\x94\xE3\xE2\x63\xC4\x06\xDA\x4D\x8D\xEA\xC2\x89\xC5\x45\x6B\xC2\x41\x16\xC3\x60\xE1\x39\x05\x06\x2D\xE4\x23\x78\xE2\x1B\xEB\xCF\xC7\x02\x3B\x7D\xC2\x34\xEC\xC1\x81\x08\x32\x1A\x4E\x59\xCB\x20\x03\xE4\x00\xE0\x41\x04\xE3\x8D\xCE\xCC\xC9\x01\x86\xC7\x0E\xB4\x40\x89\x8E\xE5\xE9\xCB\xCF\xCD\x02\x92\xC9\x0F\xC0\x47\xB5\x96\xE5\xEB\xCF\xDF\xD1\x02\x93\xC1\x0E\xD3\x45\xC9\x9B\xE2\xC9\xD5\x06\xA2\xE5\x38\x01\x4F\x52\xEB\xBB\x92\xC9\x36\x09\xE5\xDD\x4A\x84\xD6\xE5\x16\xE8\xAA\x86\x09\x37\x10\xE5\xD5\x08\x3F\x6C\xE4\x25\xB2\x91\xE1\x04\x2E\xE1\x0A\x1B\x53\x97\xD4\xDE\x89\xC5\x0E\x3F\xE7\xB9\xB2\xE5\xF2\xCE\x31\xE9\x06\x11\xED\x0E\x7C\xE1\x40\x03\x53\x9D\xE4\x7C\xC5\xE4", - "\x00\x0F\x0E\x22\xE3\x3C\x0E\xE6\x00\x01\x51\x51\xE6\x12\xDE\x98\xF5\x06\x08\xF9\x07\xD8\xE2\x54\x57\xDB\xA7\x26\x10\x16\xE6\x2D\xDB\x07\xD8\xE3\x3B\x3E\xDC\x3B\xD4\xCE\xB6\xCA\x63\xDD\x07\xE9\xE6\x3B\x05\x57\x5C\xCD\xCE\xA5\x4C\x1D\xF1\xE7\xBC\xC8\x1E\x75\xE7\x6D\xD3\xCD\x81\x01\xFE\x4D\xC4\x00\x07\x78\xEC\xE6\x71\xDE\x98\x83\x03\x3F\xE5\x10\xDC\x55\x8E\x3B\xE6\x75\xD2\x91\x85\x03\x41\xF5\x13\xDF\x52\xA1\xF5\xE1\xF5\xC7\x00\x0F\xEB\x80\x09\x57\x12\xEB\x87\xEB\xCF\x04\x06\xD1\xCE\x13\xF3\xC3\xE8\x09\x0F\x4D\xEF\xDF\x05\x0D\xD1\xB8\xA1\x49\xE1\x08\xF8\x54\x9E\xD2\xE6\x93\xDF\x00\x27\xEB\xF2\x6E\xE9\x0B\x5A\xA5\xDC\xE7\xF5\xC3\x01\x2E\xE9\x05\x0E\xE9\x14\x59\x17\xC7\xC5\x72\xE2\x91\x97\x01\xFE\x59\xBF\x0A\x09\x63\x75\x23\x9D\xEE\xCE\xEB\xCC\x06\x1F\xE9\x05\x16\x7B\xDB\xC4\xA2\xE6\xCF\x8E\xCD\x06\x08\xEA\x75\x15\x66\x43\xEA\x53\xE8\xB9\x9A\x00\x54\xE3\x10\x41\x5B\xAA\xED\xE4\xC7\xCB\x01\x57\xEA\x93\x00\xDF\x76\xD4\xA9\xF7\x64\x7D\xDE\xD5\xB4\x11\xD1\x5A\xEA\xBC\xE6\x31\xDD\x01\xB2\xE8\x23\x66\xDD\x58\xEA\x08\xD5", - "\xDE\x64\xDE\x00\xB6\xEF\x27\x54\x58\x5A\xF9\xAC\x12\xCF\x03\x34\xEA\x10\x0E\xD2\xD6\x5A\x4E\xEB\xE9\x98\xDA\x04\x34\xEB\x11\x0E\xD2\xE8\xDF\x5F\xF3\xE9\xC2\xD5\x04\x34\xEA\x13\x0E\xD2\xF1\xDE\x58\xCA\x08\x80\xC3\x3D\xE8\x00\xBA\xE3\x2E\x63\xCB\x40\x02\xEB\x98\xD9\x05\x39\x5E\x6E\x9D\x02\x14\xEE\x77\x15\xB4\x06\x09\xB2\xC2\xD6\x17\x0E\xD9\xD1\x14\x68\xF7\xEC\x12\xCF\x05\x1B\xEC\xD5\xA5\xDA\xC9\x0D\x5B\x3C\xE9\x8E\xCC\x06\x39\x5E\x1A\xC6\x10\x0A\x04\x36\xEF\xED\x45\xEA\x58\xF7\x01\xD9\xE5\x20\x73\xDE\x80\xD8\xED\x4D\xEB\x3D\xFA\x00\xDE\xE5\x27\x0F\x07\x6D\xF4\xEA\xB6\xC5\x07\x04\xEF\x01\x17\xB6\x39\xC4\x70\xE1\x08\x25\xE5\x8A\xC0\x00\x20\x0B\xDC\xCE\x13\x24\x07\xEE\xBE\x62\x22\xC3\x03\xEA\xE4\x23\x15\x04\x76\xE9\xEB\xEB\xCE\x08\x1C\xEE\x1C\x17\x09\x5F\xEF\x30\xEE\xCC\x49\x03\xBC\xFF\x12\xB7\x5E\xDC\xC9\xE7\x7A\xCC\x02\xEA\xEF\x09\x2E\xE9\x4D\x03\x8A\x4F\xEC\x00\x0A\xE2\xD2\xE9\x0A\x2A\xEE\x2A\x0E\xD2\xA7\xE3\x6F\xFF\xD0\xEB\xCE\x0A\x2A\xEF\x2C\x0E\xD2\xA1\x07\x28\x5D\x2B\x09\x0E\x9C\xEF\xDF\x2D\x0E\xD2\xDB\x0C", - "\x29\x18\xE6\x08\xF0\x22\xCE\xCD\x2E\x0D\xE0\xDE\x0F\x0D\xF9\xCF\x01\x09\xC2\xC3\x09\x4F\xE2\xDD\xDF\x01\x85\xE7\x0E\x7E\x59\x17\xDA\xF1\x1D\xBB\x9E\xE1\x03\x87\xE9\x0E\x84\x5A\xC4\xC4\xE9\xF5\xC3\x06\x27\xF1\x70\x12\x5C\x2A\xF1\xBB\xCE\xCD\x32\x0E\xE2\xC5\x0D\xE8\x51\xF1\xE0\xEA\x58\xE7\x03\x1A\xF0\x1D\x2A\x5C\x8E\xE7\xEF\xEB\xC9\x0D\x3C\xF1\xEA\x02\x78\xBF\xF0\xF7\xCE\xCC\x6B\x06\xA5\xED\x02\x97\xE5\x0B\x07\xF0\x60\xF6\xC5\x6F\x06\xA5\xF1\x02\x97\xEE\xC4\x82\xD3\x88\xE1\x08\x54\xE5\x96\xC3\x09\x39\x0E\xD2\xF5\x02\x4B\xFB\x05\xA3\x46\x2D\xC3\x09\x47\xCB\x9E\xF7\x01\x6B\xF8\x16\x62\xF3\x49\x52\xC8\x3C\x0B\xDA\x89\x08\x1F\x07\xF3\xC5\x0D\xB2\x09\x09\x2B\xF8\xB9\xA3\x2E\x42\x04\xF3\xC2\xD5\x0F\x30\xF2\x7F\x17\x89\x83\x0A\x9C\xEB\xCF\x7E\x05\xCD\xC6\x08\x41\x0B\xE7\xD5\x0E\x69\x30\xED\xEB\xCB\x10\x02\xF4\x27\x19\xC5\x82\xD3\xA1\xF9\xED\xD3\xE7\x10\x0B\xF4\x1A\x1A\xC6\x90\xC7\xA3\xE1\xEE\xC2\xD3\x11\x13\xF4\x1C\x1B\xC7\x8E\xF4\x72\xEF\xDF\x8F\x03\xD3\xFF\x13\x43\xEE\xE9\xDB\xEB\x7A\xD3\x04\xA2\xF3\x3B\x0B\x07\x51", - "\x47\xE9\xE3\xEA\x63\xD7\x04\xA9\xF6\x3B\x0E\x06\x56\xF3\xD1\xC2\xD7\x26\x11\xF5\xC7\x09\x94\xE5\xF4\x83\x01\xD7\x98\xDF\x27\x18\xF5\xC9\x0C\x1A\x34\xF5\x90\xE2\x91\xA3\x06\xA8\xE7\x05\x2E\xEF\x1A\x22\xE1\x56\xF7\xDF\x92\xC9\x2A\x02\xF5\xAD\x06\xA5\xDB\x07\x65\xF0\xE0\xC2\xD7\x2B\x02\xF5\xB3\x06\xA5\xDF\x06\x11\xE1\x98\x83\x09\x6A\x2E\xCC\xB5\x03\xC8\xCC\x12\x4D\xC3\x10\x23\xC5\x1E\xFD\x20\xE4\xF2\x20\x0A\xCD\x73\xFA\x44\x66\xF7\x40\x11\x2D\x8E\xCF\x16\x22\xF7\x02\x1B\xEE\xEF\xF6\x44\xD9\x05\xF3\xF5\x4E\x2A\xC5\x81\x0C\x5B\x0E\xCF\x2E\x14\xEB\xBC\x01\xDF\xC6\x09\x7E\xF6\x10\x6E\xF7\x34\xE3\x17\xE3\x00\x1E\x44\xF9\x81\x05\xEF\x87\xFB\xB4\x04\x07\xF0\x45\x32\xC3\x08\x5C\xCC\xEE\xD0\x0E\x2F\x02\xF8\x13\xFA\x21\x3A\x2C\xC7\xC0\x0C\x05\xF4\x93\x06\x2F\x88\xF1\x8D\xF9\x5F\xDD\xBA\x10\x45\xE4\x24\xC0\xF9\x03\x0A\xC1\xD2\xEE\x63\x03\xF2\x85\x13\x32\xE7\xF9\x9D\xDE\x31\xCB\x07\x96\xF5\x27\x4D\xE4\xCC\xE3\xAC\x12\xC8\x1A\x34\xF9\x01\x11\x0F\x51\xE0\x00\x08\xF9\xC9\xD3\x3D\xD5\x07\x9D\xFE\x24\x76\x06\xCF\xE0\xFA\x0C\xE3", - "\x9A\xDA\x06\xA2\xF4\x23\x68\xE7\xD5\xC8\xFA\x14\xE6\x31\xDF\x06\xA6\xF0\x83\xA2\xF4\xD4\xFC\xF0\x5A\xF2\x20\x24\x06\xAA\xFF\x27\x04\x02\xD5\xEA\x08\x58\xF8\x15\xDC\xD2\xAE\xFB\x1D\x08\x03\xD7\xF9\xB0\xD3\xE6\x1D\x24\xFA\xEF\x0C\x00\x67\xFA\x8A\xB8\xDC\xF3\x03\xED\xC7\x0E\x08\x0E\xF6\xB4\xB2\xC9\xD8\x07\x72\xF9\x39\x14\x01\xBA\xF2\xB5\x92\xC9\x3F\x19\xFB\xC1\x0F\xA8\xF7\xF8\x83\x01\xDD\xD9\xFA\x5C\x9D\x5E\x24\xFD\x9B\xBC\xFA\xE8\xE2\x91\x87\x00\xE2\xE5\x10\x7C\xEB\xF0\xCB\xD4\x89\xCC\x00\x0F\xFD\x9D\x04\x01\x8B\xFC\xA1\xCE\xCD\x08\x06\xF9\x83\x13\x64\xF2\xFC\xB1\xAA\x22\xD6\x01\xCE\xFE\x24\x2C\x01\xE6\xE1\x30\x5C\xED\x7B\x40\xEB\x3A\x10\xF5\xBD\xCE\xB0\xDC\x00\xAA\xFA\x6B\x10\xFB\xE6\xD6\x8B\x9D\x00\xE9\xF4\x11\x30\x01\xF3\xF4\xFD\xF7\xD2\x02\x37\xFC\x8E\x12\xED\xA0\xF9\x20\x3B\xFC\xE9\xE7\x02\x3E\xFF\x9F\x18\x01\x99\xFD\xD7\xD5\xD8\xE3\xFB\x1D\x3C\x01\xF2\xF2\xC8\x31\x04\xF9\xDE\x0E\xEA\xE1\xFC\x80\x02\xF2\xEF\xDF\x36\x02\xFA\xC7\x0E\x22\x09\xF9\xE7\xCE\xB0\xDB\x01\xB1\xFC\x73\x10\xFA\x91\xE2\xDD\xBC\x02\xF1", - "\xE1\x02\xDD\x58\x81\x48\x02\xAE\xF3\xFE\xDA\xEE\xF1\xE8\x02\xE9\xFD\x0E\xEC\xFE\xF7\xE2\xAC\xCA\x02\xF1\xEF\x02\xF1\xF9\x21\x12\x03\xF9\xFF\x5A\x92\xC9\x14\x06\xFE\x56\x01\xFE\x76\x10\x17\x01\xFC\x7E\xC2\x6E\x98\x58\x01\xC6\x7D\x17\x02\x00\x83\x04\x5C\x01\x01\x8D\x59\x52\x64\x5F\x02\xF1\x74\x06\x0B\x80\x02\x06\x89\x7F\xF4\x55\x7B\xD3\x72\x19\x06\xFC\x6B\x01\x14\x81\x40\x06\x06\x0E\x80\x02\x05\x96\x72\xF6\x43\x04\x6D\x02\xF1\x72\x07\x1D\x80\x00\x01\x92\x77\x01\x88\x76\xD3\x70\x1D\x06\xFC\x79\x01\x28\x80\x1C\x0C\xF5\x6B\x66\x06\x07\xAC\x1E\x98\x7B\x01\xE1\x7E\x41\x0C\x07\x28\x80\x5E\x79\x1D\x16\x5F\x09\x04\xE9\x16\x63\x6E\x07\x39\x80\xC9\x0F\x6C\x62\x10\x3F\x80\x15\x7D\x11\x1F\x5F\x30\x2A\x74\x72\x16\x18\xFA\x46\x04\x4B\x81\x12\x83\x37\x2E\x7E\x02\x06\x0D\x8B\x9E\x7F\x01\x44\x82\x40\x00\x08\x28\x80\x76\x00\x5D\x7B\x8D\x67\x1B\x12\x66\x20\x09\x05\xB8\x08\x66\x79\x1D\x1F\x05\xAA\x2D\x12\x67\x20\x03\x06\xBF\x09\x6C\x7A\x80\x67\x06\x81\x04\xD8\x6B\x7A\x64\x08\x2B\x81\xDB\x07\x1E\x0A\xDE\x45\x67\x02\x05\x10\x8B\x9E", - "\x45\x02\x74\x83\xB4\x0A\x60\x09\x04\xAB\x1A\x63\x66\x08\x2B\x81\x87\x00\x0A\x81\xE8\x75\x11\xCF\x66\x40\x03\x61\x3B\x6F\xE8\x2A\x42\x0F\x8E\x52\x81\x5A\x0F\x23\x86\xC0\x52\x64\x89\x03\x1A\x8A\x08\x28\x80\x7F\x00\x5D\x7D\x9D\x4A\x82\x4D\x80\x04\x1B\x09\x81\x04\x92\x82\xC3\x70\x41\x0B\x82\x06\x06\x1E\x82\xAC\x4C\x02\x7D\x81\xB4\x0E\xFD\x42\x04\x7F\x80\x24\x8C\x39\x17\x18\x09\x04\x7C\x6E\x0A\x86\x04\x8D\x00\x0A\x8B\x1D\x32\x82\x03\x06\x29\x83\xCD\x4F\x02\xA9\x80\xB7\x08\x0B\x82\x04\x33\x18\x23\x8C\x45\x01\x83\x3A\x81\x27\x87\x42\x04\x83\xFC\x7A\x44\x60\x09\x2B\x81\x91\x00\x0A\x80\x08\x34\x75\xF8\x65\x32\x8E\x98\x53\x02\x6B\x80\x25\x08\x02\x81\x02\x74\x76\x8F\x10\x04\x95\x70\xBD\x80\xB6\x03\x72\x45\x83\xC2\x81\x11\x1F\x0D\x83\x04\xD1\x82\x28\x87\x42\x01\x68\xD7\x6E\x31\x8D\x41\x1E\x64\x06\x05\x9A\x11\x0E\x94\x65\xB6\x82\x77\x0E\x0E\xA5\x82\x12\x65\x26\x0D\x0D\xAB\x0B\xF3\x83\x40\x0A\xA0\x73\x82\xC9\x0F\x3E\x83\x10\x27\x64\xFC\x83\xED\x0E\x0F\x82\x04\x0B\x7F\x34\x7A\x09\x2B\x81\x9B\x00\x0A\x84\xE8\x75\x11\x71\x19", - "\x42\x05\x10\xA6\x6C\x9D\x03\x1A\x8E\x09\x28\x80\x8A\x79\x1D\x10\x10\xB9\x82\x12\x64\x28\x07\x0F\xBE\x0B\x40\x6A\x40\x07\x11\xA6\x83\x1D\x11\x47\x81\x10\x0D\x84\x01\x86\x00\x15\xA7\x43\x04\xE8\x80\x23\x77\x42\x3F\x69\x03\x04\x3B\x8A\x12\x9D\x10\x89\x69\x1E\x82\x91\x61\x02\x1B\x87\xC3\x01\x13\x81\x04\xA4\x69\x49\x81\x41\x39\x84\x03\x05\xAD\x6A\x13\xA3\x0B\x3C\x84\x41\x82\x91\x62\x02\x6B\x83\x28\x08\x02\x84\x02\x74\x76\xAB\x63\xF0\x52\x64\xA5\x03\x1A\x86\x0A\x28\x80\x85\x00\x5D\x7E\x13\x98\x84\x8E\x64\x2A\x05\x13\x8C\x09\xBD\x69\x40\x03\x15\xA0\x84\x4A\x11\x56\x80\x00\x0A\x85\x2F\x86\x12\x16\xAC\x53\x82\x8E\x65\x2A\x0B\x06\xAA\x02\xF1\x83\x71\x01\x08\xB4\x82\x12\x64\x2B\x07\x15\x85\x08\x43\x67\x40\x06\x05\x82\x6B\xAD\x03\x1A\x8E\x0A\x29\x85\xC9\x07\x5C\x82\x10\x0E\x6B\xEB\x64\x2C\x0D\xBD\x34\x76\x4E\x09\xAD\x16\x10\x3A\x1A\xEF\x82\xD6\x02\x18\x83\x04\x71\x81\x58\x8C\x45\x04\x86\x06\x04\x53\x6B\x9E\x73\x02\x78\x84\xB6\x09\x18\x82\x04\x8E\x86\xB0\x65\x0B\x11\x86\xEB\x09\xB0\x13\x18\xAA\x83\xEB\x0A\x21\x04\xD7\x5A", - "\x86\x88\x84\x67\x8E\x2F\x12\x7A\x75\x11\xB3\x10\x08\x92\x64\xB7\x03\x1A\x88\x0B\x28\x80\x88\x00\x5D\x70\xAE\x43\x04\xD5\x19\x61\x8C\x39\x2F\x86\x1D\x72\x68\x85\x44\x11\x1B\xA7\x85\x66\x6B\x06\xBB\x02\x28\x81\x22\x04\xD7\x57\x65\xB0\x86\x6D\x83\x37\x00\x87\xB5\x86\x6C\x81\x3B\x31\x86\x06\x06\xBF\x62\xAC\x7D\x02\x6F\x85\x42\x0A\x08\x34\x75\xC8\x86\x5C\x8F\x9A\x68\x80\xC0\x00\x0A\x8A\xE9\x79\x62\xE7\x6A\x40\x05\x95\x7F\x84\xD3\x09\x76\x81\x10\x1A\x1B\xC6\x85\xF2\x00\x1E\x89\x87\x12\x66\x30\x0D\x1C\xB4\x82\x74\x77\x78\x82\x1D\x8E\x66\xC3\x00\x0A\x85\x0C\x28\x80\x8E\x02\x4B\x74\x75\x46\x04\xDB\x86\x62\x85\x44\x33\x87\x03\x06\x7A\x8C\x15\x9C\x11\x15\x5E\x41\x06\x1A\x9C\x87\xD1\x08\xBC\x62\x10\x2A\x65\x80\x73\x79\x8E\x24\x02\x88\x01\x04\x63\x82\xAC\x48\x03\x06\x8B\x5E\x85\xE0\x4A\x04\x93\x86\xC9\x69\x0C\x0D\x88\x01\x06\x24\x0E\xD2\x44\x88\x03\x06\x82\x8B\x1F\x8F\x0C\x94\x03\x85\x80\x21\x82\x87\x05\x0A\x25\x0E\xD2\x6F\x1B\x09\x06\xB8\x1E\x98\x4A\x03\x7F\x86\xD6\x07\xAF\x43\x04\x24\x88\x80\x8C\x2D\x10\x5C\x06\x06\x89", - "\x88\xC9\x69\x88\x9C\x0C\x5B\x63\x10\x0A\x87\xD3\x70\x34\x04\x21\xBF\x09\x36\x89\x15\x82\x91\x51\x03\x28\x83\x34\x08\x02\x98\x02\x74\x74\x8E\x81\x10\x3A\x85\xA7\x73\x1A\x86\x0D\x28\x80\x99\x00\x5D\x7D\x75\x46\x04\x18\x8B\x34\x78\x0D\x3B\x88\x9A\x02\x93\x8A\x10\x1A\x88\x26\x6D\x36\x0B\x23\xB7\x7A\x02\x6B\x93\x81\x1A\x8E\x66\xDA\x03\x8E\x8E\x09\x2A\x77\x2F\x1D\x42\x07\x71\x0E\x66\xDB\x03\x8E\x8B\x1D\x22\x5D\x06\x05\x99\x8E\x22\x98\x0B\x07\x6F\x40\x07\x26\xAB\x67\xDC\x00\x66\x8E\x2F\x07\x66\x03\x06\xD0\x16\xA2\x6B\x81\xDF\x02\x9D\x85\x1D\x3A\x89\x06\x05\xD1\x11\x1E\xB7\x0E\x80\x8B\x40\x0D\x74\x03\x8A\x02\x11\xA1\x82\x10\x10\x66\x6F\x8B\xBA\x02\x28\x86\x04\x10\x6E\x4E\x81\x0E\x3E\x89\x41\x05\xA4\x86\x28\xA0\x88\x9C\x0E\xA5\x8B\x28\x98\x8A\xB1\x0C\xA3\x89\xF2\x52\x64\xE3\x02\xF6\x79\x1C\x21\x02\x5C\x7E\xA7\x83\xC0\x52\x64\xE8\x02\xA8\x81\x1C\x26\x02\xA5\x89\xCC\x7B\x9E\x6D\x03\xAA\x89\x71\x0B\x0A\x2D\x8A\x38\x7E\x63\x62\x0F\x31\x8A\xD0\x04\x2C\x09\xBF\x02\x5B\xA6\x89\xD2\x76\xB2\x77\x03\xB8\x89\x75\x06\x0B\x3B\x8A", - "\x0A\x05\xAF\x87\xC9\x42\x6B\xFC\x01\xB0\x81\x14\x01\x7C\x09\x04\xAF\x80\xF6\x52\x64\x01\x01\x5E\x49\xF8\x5F\x5B\xB4\x88\xFB\x62\x91\x46\x00\xD2\x89\x81\x07\x0C\x15\x8B\x1B\x7A\x44\x6B\x00\x19\x8B\x75\x08\x33\x0C\x2D\xA4\x78\xC2\x68\x04\x00\x2E\x83\x08\xD1\x03\xB8\x8C\xCF\x66\x6C\x15\x03\xB9\x8E\x24\x16\x03\xEA\x8B\x6F\x52\x91\x5A\x00\xEE\x88\x8D\x0B\x0D\x31\x8B\x85\x7F\x08\x8D\xD9\x35\x8B\x38\x08\x38\x08\x2F\x92\x64\x24\x00\xBF\x8F\x27\x25\x03\xFF\x8A\x63\x69\x02\x02\x8C\xDB\x06\x3A\x01\x2F\xB4\x72\xFA\x89\x40\x0E\x02\x08\x8C\xDE\x07\x3B\x0B\x30\x92\x64\x33\x00\xC4\x87\x1C\x34\x03\x13\x8E\x63\x68\x03\x16\x8C\xC9\x05\x3E\x01\x2F\x8F\x81\xC2\x69\x0F\x02\x68\x5B\x07\xFE\x00\x5D\x76\x2C\x94\x81\x26\x6E\x0F\x03\x32\x92\x08\x26\x8D\xAD\x73\xCD\x7F\x00\x1C\x8E\xE6\x56\xFC\x46\x8B\xC3\x7E\xE1\x70\x00\x04\x01\x31\x8D\x71\x05\x00\x33\x8C\x2E\x8E\xC9\x69\x04\x39\x8C\xD0\x06\x02\x0C\x33\x9A\x74\xC2\x6A\x13\x00\x34\x95\x07\x0F\x03\xD0\x8C\xEB\x52\x64\x53\x03\xD1\x81\x14\x14\x00\x4A\x8C\x90\x72\xAC\x58\x01\x4E\x8E\x53\x41", - "\x35\x82\x04\xAB\x82\xC9\x6D\x05\x2B\x8C\xC7\x06\x07\x0B\x06\x86\x8B\xE4\x7E\xCD\x8E\x05\x02\x8C\x63\x01\x5E\x48\xF5\x1D\x2F\xCE\x88\xB1\x73\xE3\x42\x8C\x6A\x02\xD9\x86\x8B\x28\x8D\xC5\x88\xFD\x73\xCD\x6C\x01\x02\x8D\x1C\x0E\x36\xB5\x66\x70\x8D\x42\x06\x2C\xB8\x77\x36\x8F\x1C\x02\x30\xB8\x01\x77\x8C\x23\x19\x37\x86\x04\x7B\x8E\x44\x6A\x07\x02\x8C\x7F\x01\xE0\x8B\xC5\x43\x8E\x03\x05\xE1\x8E\x98\x41\x02\x02\x8E\x21\x0A\x38\x82\x04\x3D\x00\xE3\x8B\x29\xAC\x80\x26\x6C\x22\x02\x30\x8D\x02\x93\x8D\x40\x03\x04\x16\x8E\x01\x06\xB1\x82\x02\x91\x63\x09\x07\x23\x02\x30\x94\x02\x9D\x8C\x00\x09\x04\x20\x8E\x8F\x64\x06\x86\xB2\x56\x02\x02\x8F\x26\x09\x3A\xB8\x7F\xCD\x8A\x42\x07\x76\x46\x04\x87\x89\xA3\x8E\x2F\x37\x8E\x8D\x8C\xA7\x89\x3C\x39\x8E\x03\x04\xD0\x1E\x98\x5D\x02\x5C\x8C\xB7\x0F\x74\x07\x58\xEB\x66\x27\x05\x3C\x81\x07\x55\x03\x1A\x87\x3C\xB9\x89\x12\x67\x27\x09\x3A\xA1\x02\xA9\x8D\x00\x85\x47\x13\x66\xD0\x8E\x63\x63\x0A\x02\x5A\xA4\x01\xEA\x87\x05\x2B\x81\x70\x5E\x41\x0A\xB1\x6B\x67\xA6\x03\xF2\x8B\x2E\x21\x8F\xD9", - "\x8F\x7A\x67\x0A\x02\x5A\xA8\x01\xEA\x88\x00\xB5\x11\x9A\x66\x40\x03\x3E\x82\x6B\xAA\x02\xF9\x8E\x2F\x31\x8F\x01\x06\xA2\x86\xB2\x6B\x02\x82\x58\x2B\x09\x3A\x99\x01\xBB\x84\x97\x5E\x7F\x72\x2F\x90\x5C\x97\x58\xC0\x28\x5C\xBE\x6A\xD3\x4B\x78\x67\x0C\xB8\x5F\x3F\x03\x7A\x49\x90\xC3\x6A\x9D\x64\xCB\x36\x46\x54\x6D\x6A\x03\x17\x5C\x43\x8A\x69\xDE\x64\xCB\x37\x30\x05\x92\xB7\x59\x1E\x06\x31\x4E\x58\x25\x6C\x14\x13\x61\xFF\x00\xEC\x55\x7E\x74\x32\xDC\x48\x56\x0B\x7B\x5F\x3F\x31\x32\x0A\x9D\x66\x6D\x90\x97\x5D\x9B\x52\x6C\x62\x05\x33\x92\x54\x02\x6C\x58\x05\x37\x93\xE7\x5D\x66\x4B\x6D\x00\x03\xD2\x6F\x0F\x21\x3F\x58\x04\x10\x97\x7A\x7B\x90\x6D\x5A\x7B\x46\x24\x65\x2F\xDE\x5F\x96\x45\x44\xBE\x09\x00\x01\x06\x6C\x14\x0E\x91\x19\x3C\x2D\x3B\xD7\x12\x91\x65\x4D\x50\x0B\xD7\x37\x90\x57\x92\x15\x95\x45\xA9\x4E\x03\x04\x16\x9B\x45\x96\x4E\xBF\x61\xE1\x41\x46\x8D\x91\xE5\x5C\x19\x90\x89\x66\x91\x71\x6C\x18\x92\x84\x5C\x91\x4A\x6E\x16\x9B\x46\xAA\x91\x69\x92\xE6\x42\x8B\x68\x91\x79\x6C\x1D\x94\x98\x76\x91\x15\x92\x1C\x99\x8B", - "\x78\x91\x00\x01\x0B\x91\xFF\x2C\x91\xED\x3F\x1F\x90\x47\xB2\x43\x6E\x92\x41\x0F\xFE\x3C\x91\x87\x91\x05\x65\x15\x0A\x92\x49\x05\x0C\x54\xCB\x0E\x92\xAE\x5C\x97\x53\x25\x55\x05\x93\x91\x52\x06\x1C\x74\x32\x97\x91\x50\x09\x49\x91\x52\x58\x06\x07\x65\x15\x1E\x92\x49\x07\x75\x48\x15\x39\x50\x62\x04\x29\x92\x15\x26\x59\x41\x05\x0E\x54\xCB\x2F\x4E\x62\x04\x2B\x92\x15\x2F\x4E\x58\x04\x2C\x91\x14\x32\x92\x1C\x51\x6A\x03\x87\x7D\x04\xBD\x3D\x0B\x99\x4B\x81\x05\xBB\x91\x2D\x93\x10\x3A\x92\x5D\x4F\x05\x5D\x98\x42\x93\x5C\x6C\x2F\x95\x46\xBD\x3E\x4C\x4C\x32\x96\x4C\x82\x68\xB0\x4F\x18\x9A\x4C\xBE\x92\x2A\x63\x32\x96\xA7\x4D\x93\x75\x10\x35\x93\x4D\xBD\x3E\xB4\x30\x36\x92\x4D\x99\x90\x5E\x63\x35\x9D\x66\x7D\x3E\x58\x04\x38\x9B\x4D\x8D\x4D\xE2\x90\x34\x9D\xFE\x1A\x93\xE6\x93\xF8\x37\x42\x44\x93\x07\x93\x3A\x9C\x7D\x7B\x91\xEE\x92\x17\x3E\x18\x2F\x61\x46\x07\x17\x38\x15\x1B\x43\xFC\x45\xF5\x23\x67\x41\x05\x7A\x61\x55\x0D\x4F\x89\x05\x65\x60\x56\x05\x86\x74\x32\x91\x48\x34\x45\xBD\x20\x59\xFA\x5D\x9B\x58\x50\xB8\x4F\x4C\x5B", - "\x42\x90\x40\x5C\x59\x0E\x96\x02\x5F\x64\x51\x94\x04\x62\x63\x09\x70\x72\x2F\x05\x63\xD3\x8C\x44\x99\x94\x0F\x53\x93\x58\x22\x40\x05\x1F\x95\x4F\x02\xF9\x34\x32\x23\x95\x50\x05\x52\xAC\x60\x11\x90\xF4\x5C\x65\x78\x4C\x4C\x04\x4B\x96\x14\x33\x38\x58\x04\x4C\x91\x14\x32\x94\x16\x53\x93\x54\x53\x9B\x59\x5C\x59\x4F\x44\x13\x7F\x03\x75\x34\x56\x0D\x53\x81\x05\x3F\x94\x97\x50", - }; - vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); - } + static const vl::vint dataLength = 14861; // 207517 bytes before compressing + static const vl::vint dataBlock = 256; + static const vl::vint dataRemain = 13; + static const vl::vint dataSolidRows = 58; + static const vl::vint dataRows = 59; + static const char* compressed[] = { + "\x9D\x2A\x03\x00\x05\x3A\x00\x00\x27\x00\x01\x82\x80\x08\x0B\x82\x81\x82\x06\x89\x82\x88\x0A\x86\x06\x84\x0A\x0A\x97\x0A\x9C\x0A\x82\x12\x84\x80\x09\xAD\x0A\x92\x1A\x81\x2A\x84\x2B\x0A\xDC\x0A\x9F\x2A\x83\x32\x84\x34\x0A\x8C\x4A\x8F\x4A\x82\x4A\x84\x4B\x0A\xA1\x4A\x87\x5A\x86\x56\x84\x5C\x0A\xC5\x1E\x09\x8F\x7D\x9E\x9F\x9E\x0A\x80\x3F\x9F\x91\xA3\xA2\x9F\xA2\x46\xFF\x48\xA6\xAB\xA3\xA1\xA6\xA2\x0A\xC9\x8A\xB1\xA9\xA7\xA7\xA2\xAA\x4C\xD8\x8E\xA1\xAA\x81\x02\xAC\xA8\x3C\xD5\x9F\xB7\xA1\xB1\xAD\xB3\xAD\x67\xE0\x86\x92\xA6\xA8\xA3\xB0\xB7\x69\xE4\xAB\xA2\xB1\xB8\xBB\xB8\xB3\x77\xE8\x86\x9E\xA9\x84\xBD\xBC\xB5\x03\xEC\xAF\xB3\xA5\xBC\xC3\xBE\xB9\x81\xF4\x87\xD6\xB9\xC0\xBF\x80\x01\x5D\x83\xED\xA6\xCD\xC2\xBD\xCA\xC0\x02\x82\xC5\xD3\xCC\xCA\xCA\xCF\xCD\x9F\x8B\xD4\xD9\xCA\xC7\xC8\xC4\xD2\x8E\xA8\xD6\xCA\xD8\xC9\x82\xCC\xD1\x9D\xA0\xF2\xD0\xD1\xD6\xD0\xC6\xD6\xA7\xAE\xE5\xD8\xD7\xDA\xDD\xD4\xDF\xAB\xC0\xED\xC2\xAB\xDA\xE1\xDC\xE2\xBF\xC8\xC1\xEA\xE3\xE7\xD6\xDB\xD1\xC6\xBD\xCC\xE7\xEE\xE4\xDC\xE9\xE9\xD2\xD5\xD1\xF7", + "\xEA\xE8\xEC\xEF\xE2\xDE\xB1\xF4\xD3\xDF\xE2\xF1\xF3\xDA\x02\x83\x11\xC4\xF6\xEE\xF1\xF6\xF4\xDB\xEE\xF1\xF0\xF1\xF4\xF9\xEF\xFB\xE0\x84\x2B\xE3\xFC\xFF\xF0\xF7\xF9\xFF\x75\x71\x81\x01\xFB\x7E\x7D\x7F\x7B\x01\x86\x05\x80\x82\x07\x80\x8D\x82\x80\x0F\xB8\x79\x72\x84\xCB\x54\x8D\x70\x78\x16\x94\x78\x87\x86\x13\x9C\x85\x86\x87\x17\x9D\x82\x8B\x87\x23\xA1\x84\x8B\x89\x26\xA9\x8A\x85\x89\x2B\xA8\x8D\x8A\x8A\xD9\x60\x87\x73\x01\x0B\x8E\x86\x83\x8D\x0C\xB8\x86\x8D\x8E\x3C\xBB\x8E\x8C\x84\x3A\x80\x9D\x8E\x90\x3F\x99\x81\x8C\x8B\x47\xAE\x89\x90\x8C\xDF\x48\x9D\x92\x92\x4F\x8C\x92\x7C\x91\x54\x86\x91\x97\x8B\x58\x8B\x99\x97\x75\x0C\x7D\x56\x7E\x8C\x5A\xA1\x97\x96\x98\x53\x96\x95\x98\x98\x63\xA9\x97\x9A\x93\x6B\x90\x9D\x9A\x94\x5F\xAC\x91\x9E\x9B\x73\xB0\x91\x82\x99\x75\x9B\x9F\x9A\x9E\x79\xA4\x9D\x9E\x9A\x7F\xBB\x9E\x9D\x42\x09\x35\x85\x94\x9A\x82\x80\xA7\x9C\xA2\x81\x8D\xAB\xA2\x9C\x8F\xB4\x91\xA6\x9D\x11\x8C\xA3\xA4\x9F\x97\x83\xA5\xA4\xA4\x9B\x92\xAD\xA7\x70\x0A\x06\xA8\x9D\xA6\x8A\x9F\xA8\xA6\xA9\x9A\x81\x93\xAA\x41", + "\x0B\x22\xA6\xA4\xAA\xA5\xAA\xAF\xAB\x40\x0C\x2E\xAC\xA6\xAC\xB7\x83\x9B\xA8\xAE\x9E\xBC\xA4\xA6\xAF\xC7\x4D\x06\xAD\xAF\xBA\xB3\xA5\xB1\xAE\x45\x86\xB9\xB0\xB2\x00\x0E\x4E\x94\xA9\x89\x91\xBE\xA2\x41\x0F\x03\xBF\xAF\xB1\xC4\x8B\xB9\xB7\xA1\xCC\xBB\xA8\xB7\xB5\xDA\xA0\xBC\xB7\xB6\xDE\xA1\xB7\xA8\xB0\xA9\x9F\xB7\xBA\xBA\xE9\xA6\xBD\xBB\xB8\xE2\xA5\xB0\xBF\xBA\xEE\xB1\xAC\xBA\xBD\xF5\x92\xB9\x40\x04\xD6\xB4\xB3\xBF\xBB\xF2\x81\xCA\xB3\xBF\xF8\x80\x01\x05\xBF\x00\xC3\xC2\xC0\xB3\x12\x08\xC5\xC2\xBC\x13\x06\xA0\x47\xB3\xB0\xBA\xB5\xC7\xB4\xE8\x8F\xCA\xC3\xC6\xDD\x9C\xC4\xBA\xC7\xF1\xA0\xCE\xBF\xC2\x1F\xDD\xC6\xC9\xC9\x28\xE1\xC7\xCA\xCA\x29\xE3\xC2\xC9\xC2\x2B\xFE\xB5\x06\xC3\x16\xD9\xC5\xCF\xBD\x37\xF9\xB8\xC4\xCE\x3B\xFF\x86\x06\xA1\x12\x54\xC6\xCD\xCF\x04\xF9\xC5\xD0\xD1\x24\xEC\xCA\xD2\xCB\x31\xF0\xCD\xCA\xD3\x4B\xD0\xDC\xD3\xD3\x1A\xCD\xD5\xD4\xD5\x46\xC9\xDE\xBC\x42\x7B\x48\xDF\xCB\xD5\x51\xE0\xD3\xD6\xB8\x19\x34\xCE\xD6\xD5\x46\xDA\x06\xD8\xB4\x67\xD8\xDD\xD9\xD8\x59\xDF\xD1\xDC\xDA\x6F\xE3\xD6\xDE\xD4\x78", + "\xE2\xD9\xDF\xDC\x6E\xEC\xDE\xDF\xC5\x7F\xC3\xD1\xE0\xCF\x09\x5B\x0B\xD8\xE0\x88\xC2\xE9\xE0\xE1\x8B\xFF\x84\x46\xD0\x8C\xCA\xE2\xE5\xE4\x02\x5D\x07\xE3\xE4\x3F\xBB\x40\xE5\x40\x1F\x17\xE4\xE6\xCE\x83\xE0\xED\xE3\xD1\xA1\xE4\xE3\xEA\xD6\x7B\xF5\xD9\xE9\xE9\xA8\xFA\xDE\xE8\xDF\x70\xEA\xEF\xEA\xEC\xB0\xF7\xD3\xED\xE9\x20\x1E\xE2\xE8\xE6\xA6\xFC\xED\xE9\xED\xAB\xE3\xE1\x0A\xA1\x16\x5B\xED\xEF\xE7\xC7\xFB\xE8\xF3\xEF\xB4\xCD\xFC\xEA\xDC\xCE\xE7\xE0\xF7\xF3\x74\xD4\xFD\xDE\xF4\xD5\xD8\xFB\xB7\x08\xBA\xC9\xFE\xF4\xF3\xD6\xF1\xE1\x80\x09\xDD\xE0\xFA\xF6\xB8\x25\x25\xF3\xF7\xF9\xB6\xC0\xF7\xEC\xFB\xC1\xFE\xEB\xFA\xFC\xD9\xF4\xF7\xF6\xFD\xE2\xF0\xFF\xF9\x90\x26\x2A\xF5\xFF\xF2\xF3\x60\x83\xFF\x4A\x74\x81\xEF\x41\x85\x80\xE6\x78\x7D\xFB\x51\x7A\x81\xF8\x42\x87\x7E\x0F\x99\x7D\x03\xFB\x71\x83\x05\xA1\x7E\x82\x0F\x58\x21\xD7\x17\x8E\x80\x04\xA0\x38\x05\xFE\x70\x82\x07\x83\x86\x80\x12\x89\x85\x82\x1D\x85\x86\x08\xAA\x82\x82\x14\x94\x83\x84\x2B\x87\x84\x0C\xAD\x83\x86\x0C\x93\x86\x7D\x38\x8C\x82\x0B\xB9\x8C\x83\x17\xAC\x87", + "\x38\x29\x01\x84\x0D\x80\x0A\x04\x21\xB6\x83\x87\x3A\x95\x85\x0A\xB2\x8F\x87\x25\x87\x85\x89\x3E\x8C\x8A\x14\xCF\x8B\x04\x23\x8E\x8E\x84\x4F\x93\x88\x16\xDB\x81\x87\x2C\x9E\x8C\x8B\x43\x9A\x89\x17\xE0\x87\x89\x02\xAC\x06\x8A\x51\x9F\x8B\x18\xEB\x81\x8C\x35\xAD\x8C\x8C\x57\x8C\x8D\x19\xD0\x8C\x86\xFD\x75\x8F\x86\x49\x94\x8D\x1E\xE2\x8F\x8C\x39\xB1\x8D\x8F\x80\x93\x8C\x1F\x82\x9E\x8C\x42\xB0\x8E\x87\x1A\x26\x7A\xBC\x2E\x08\x8D\x3B\x88\x89\x21\x2F\x0D\x93\x1E\x85\x9F\x8E\x43\xBE\x89\x8D\x87\x8E\x92\x12\x85\x60\x06\x49\xBD\x82\x93\x00\x11\x06\x27\xA3\x7C\x22\x45\x94\x90\x93\x97\x80\x97\x20\x95\x9C\x94\x54\x81\x95\x95\xAA\x87\x95\x2C\x99\x93\x92\x5A\x9F\x95\x96\x2B\x93\x05\xF7\x34\x03\x94\x3C\xB7\x97\x97\x76\x98\x97\x2B\xAE\x96\x93\x61\x81\x2D\x06\xBD\x8F\x91\x30\xC0\x9E\x97\x65\x8E\x9D\x99\xD0\x8A\x99\x34\x9B\x93\x97\x54\x82\x9D\x98\xD8\x90\x97\x35\xDA\x9C\x98\x69\x9E\x9C\x9A\xDB\x85\x62\x0D\x5D\x77\x07\xEE\x78\x05\x7B\x39\x06\x52\x0E\x49\x90\x9D\xD2\x7B\x04\x9D\x00\x1C\x06\xA1\x3D\x00\x9E\x79\x7E\x06\x50\x3F\x06", + "\x50\x10\x70\x91\x09\x7A\xB2\x91\x9C\xD5\x86\x98\x40\x83\xAD\x9B\x76\x8F\x9F\x9B\x7A\x85\xA1\x42\x87\xA6\xA1\x69\x80\x02\x08\xFE\x96\x94\x43\x8B\xAE\xA1\x55\x84\x9C\x9B\x13\xB6\xA1\x40\xFE\x53\x09\x88\x96\x9A\xA1\x1A\xB4\x3C\x11\x1E\xA2\xA1\xD2\x45\x0C\xA4\xD9\x97\xA2\x4A\x9B\xA8\xA3\x8A\xBF\x98\xA4\x2F\xB9\xA1\x4C\xAE\xAC\x58\x23\x28\xA5\xA5\x08\xA1\xA4\x4C\x92\xA4\xA7\x8F\xB2\xA4\xA7\x39\xAF\x8B\x11\x37\xAB\xA4\x82\xBF\xA6\xA7\x3D\xA5\xA7\x51\xCA\xA9\xA9\x94\xAC\xA5\xA8\x3B\xA8\xAA\x40\x48\x0D\x7B\x24\x1D\x7A\x09\xDD\x6B\x0A\xA1\x4C\x04\xA9\x29\x4D\x08\x9E\x4E\x10\x9F\x13\x06\x50\x0B\xAE\xB4\x3E\x23\xC6\x72\x0A\xA1\x53\x06\xAD\xA8\x8C\xA9\xA8\x40\xAD\xA0\x5C\xDB\x54\x0B\xB6\x8B\xAE\xA9\x46\xAD\xA8\x4E\xF2\xAC\xAE\x8A\xB3\xAF\xAD\x7D\xBA\xA7\x5D\xFB\xAE\x7B\x2A\x06\x50\x24\xC6\x77\x0A\x5D\xFA\xA0\xAB\xC1\x8D\xB4\xB1\x4F\xB1\xB1\x5E\xFF\xA8\xAE\x85\x98\x0B\xB1\x94\xA4\xB2\x60\x90\xB3\xB3\xC0\xB3\xA1\xB3\x8F\xA0\xB5\x50\x59\x08\xB2\xCF\xB1\xAE\xAF\xA6\xB2\xA9\x6A\x80\xB8\xB5\xD6\x9B\xB0\xA1\x5A\x05\xB6\x6B\x9F", + "\xBB\xB5\xCA\x8E\xB2\xB2\x6E\xB6\xB4\x67\xB9\xBA\xB2\xDA\xB3\xB4\x59\x5B\x1D\x7A\x48\x26\x99\x39\x2E\x1D\x7E\x0B\x86\x44\x24\x71\xAA\xBD\xB4\x30\x30\x99\x0C\x86\x42\x0E\x6C\xDD\x36\x24\xE3\x64\x0E\x50\x65\x13\xBA\x6F\xAF\xB5\xB7\xDE\xA7\xB4\xBB\xBF\xAC\xB8\x78\xE3\xBB\xBB\xF2\x9F\xBE\xBC\xE2\xA8\xBC\x6B\xE4\xB7\xBC\x66\x66\x0A\xBB\xC9\x27\x0C\x7C\xE9\xBD\xBC\xFA\xB6\xBB\xBD\xEA\xBA\xB6\x68\x9D\xB1\xBC\xFC\xB5\xBE\xBF\xF7\xBA\xBD\x01\xA8\x2B\xB8\x71\x69\x0B\xBE\x00\xC3\x3A\x1A\x08\xC2\xC1\xFE\x8D\xC4\xBD\x01\xDE\xB9\x84\xD7\x3B\x0C\x06\xD2\xC3\x38\x6C\x16\xC1\x68\xDD\xBB\xC2\xEF\x6D\x0D\x7B\x6E\x1D\x7B\x1B\x5D\x70\x0E\x43\x71\x0A\xC3\xA0\x92\x0C\x3C\xF3\x06\x50\x3A\x28\xC2\x21\x75\x06\x52\x1D\x06\x57\x0E\x78\xB8\x0F\xC5\xBC\xBD\xC0\x84\x89\xCF\xC1\xFC\x97\xC5\xC7\xFF\xA0\xCB\x84\xB8\xBF\x41\x3C\x38\xC7\xB6\xFC\xBB\xC6\x90\xBC\xCF\xC7\x26\xFA\xC6\xC7\x4F\xC1\xCA\x74\x7A\x0D\x7B\x3D\x07\xCB\xB7\x48\xD9\xC4\x91\xD8\xCC\xCA\xE4\x7C\x0F\xCA\xFB\xBA\xC9\x92\xD0\xCB\xCB\x21\x7D\x08\xCC\x1C\xC5\xCD\x9A\xE3\xC2\xCB\x28", + "\xC3\xCC\xCD\x6F\xC2\xCE\x9C\xD9\xC6\x20\x3F\x28\xCE\xC1\x4E\xCA\xCC\x9E\xEE\xC3\x89\x3F\x37\xCA\xC9\x79\xD0\xCC\x93\xFC\xCB\xC9\x42\xC1\xD3\xCE\x5D\xCB\xCD\xE9\x00\x1F\xCE\x32\xC2\xD7\x38\x81\x0D\xD3\x69\x82\x12\xD3\x38\xF4\xC9\xD1\x00\x03\x11\xA5\x83\xD0\x94\x42\x1B\xD6\xD0\x84\xC7\xD3\xA5\xE1\xCF\x41\x42\x1F\xD2\xD4\x98\xDD\x3A\x21\x27\xDD\xC3\x43\x2C\xD2\xCF\x80\xDD\xC0\x22\x2F\xDF\xD1\x14\x89\x14\xD6\x88\xC4\xD5\x90\x0A\x18\xD7\x51\xCA\xD6\xD7\x7B\xD0\xD6\xA3\xB9\xDF\xD7\x54\xC3\xD8\xD8\xDD\x2B\x11\xF7\x2A\x25\xC1\xE3\x0D\x15\x7B\x8E\x06\x50\x4B\x4D\xD8\xD4\xE4\x50\x10\x9E\x91\x06\x52\x4B\x54\xDD\xC3\x49\x06\x54\x12\x86\x55\x11\xAF\xC6\xDD\xCC\x61\xC9\x38\x26\xDC\xC6\xDF\x72\x17\x13\xDC\x5D\xEE\xDD\xD8\xEF\xC1\xD9\x1E\x98\x1D\x7B\x4C\x1D\x7A\x13\xDD\x7B\x12\xA1\x1C\x1D\xDD\x02\x9D\x10\x9E\x9E\x06\x53\x27\x77\xC0\x14\x43\x72\x26\x78\xA2\x1D\xDE\xBC\xC4\xDB\xE1\xD1\x63\x12\xE1\xB1\xCA\xDC\xA7\xFC\xB4\x14\x88\xC7\xDC\xDC\x96\xD8\xE3\xC4\x8C\xE1\xE3\x3C\xA5\x16\xE2\xE5\xD5\xD5\xA8\xA3\xE2\xE2\x50\xE5\xE4\xB0", + "\xA6\x00\xE5\xC6\xF1\xDD\xE2\x85\xB4\x21\xDD\x22\xE7\xE4\xC9\xB1\xE4\xE6\x8E\xD7\xE4\xE5\x37\xF0\xDE\xCE\xDE\x78\x15\x3B\xE9\x12\xE5\x1B\xE8\xD9\xCE\x8D\xEA\xE2\x93\xF5\xE3\xA2\xAA\x00\xEA\xD1\xB6\xE1\xE4\xA6\xEB\xE3\xE7\x2D\xE2\xE9\xD3\xD2\xEB\x85\x55\x0A\xED\xDA\x50\xE3\xE9\xD4\xC5\xE8\xEA\xA2\xC8\x7C\x15\xDD\x6D\x15\xF7\x36\x20\xE7\x84\x2F\x16\x50\xB0\x17\xE9\xC1\x31\x10\x9E\x59\x06\x53\x16\x77\xD4\x16\xA1\x35\x16\x50\x5B\x2A\xEA\xE6\xA0\x97\x15\xF7\x38\x25\xEC\x83\x39\x15\x7B\xBA\x06\x53\x2E\x77\xE4\x3E\x5E\x30\x9D\x17\x86\x5E\x17\x9D\xBF\x16\x50\x60\x06\x51\x18\x84\xEE\xE9\xD0\xDC\xE3\xE6\xC9\xCB\xEC\xEA\x93\xF8\xE7\xD4\x98\xD2\x19\xEE\x43\x1D\x7B\xC4\x1D\x79\x31\x06\x56\x19\xC8\xCF\x47\x18\xF0\x88\x1A\xA1\x49\x17\xCE\x65\x06\x53\x19\x86\x4C\x18\x3C\xCD\x16\x50\x67\x26\xF4\xF2\x78\xE7\xE8\xEE\xBA\xFA\xF2\xE6\x8F\x1E\x50\xD0\x17\xF5\xEF\x99\xF9\xEB\xCD\xC3\xFF\xF2\xBB\xF6\xF1\xD7\xE0\xB1\x1B\xEE\x52\x1D\x7B\xD3\x1D\x78\x35\x06\x55\x1A\xE1\xFF\x46\x1A\xF0\x97\x1A\xA1\x58\x17\xCF\x6C\x06\x52\x1B\x86\x5B\x1A", + "\xF5\xDE\xE5\xF9\xA7\xE4\xFF\xFC\x5B\xE7\xFB\xF2\xDA\xEC\xFD\xD3\x9C\x1D\x7B\xDD\x1D\x7A\x37\x5D\x7F\x1A\x43\x60\x1B\xFC\xDD\x21\x1C\x3C\xE2\x16\x51\x71\x37\xCC\x1C\x86\x25\x0E\x86\x26\x0E\xF0\x47\x0E\x86\x28\x0E\xF8\x7D\x7E\xE6\x79\x7E\xE5\x74\x7C\xE8\x7A\x80\x0E\x8C\x80\x0F\x86\x7C\x0D\x83\x47\xE9\x09\x80\x14\x8D\x5A\xEA\x06\x28\xEB\x08\x81\x0B\x80\x81\xC8\x7A\x7E\x95\x78\x79\x21\x85\x81\xEB\x74\x42\xEC\x0D\x3D\xED\x0D\x3D\xEE\x0D\x3D\xEF\x06\x28\xF0\x0E\x81\xC3\x11\x0F\xF0\x42\x0F\x86\x23\x0F\x77\x64\x0F\x86\x25\x0F\x86\x26\x0F\x32\x85\x82\x13\x8F\x81\x19\x82\x81\x44\x80\x82\x29\x47\x0F\x3F\x87\x82\x42\x8B\x84\x11\x86\x84\x23\x89\x7C\x24\x8A\x84\x4D\x83\x84\x4E\x86\x34\xF8\x06\x28\xF9\x09\x84\x4F\x82\x82\xB9\x7A\x7C\x5B\x86\x82\x5F\x81\x84\x53\x8C\x5C\xFA\x0A\x85\x5D\x81\x85\x61\x85\x84\x54\x8B\x86\xCC\x5B\x0F\x66\x8C\x7B\x60\x87\x86\x50\x83\x87\x5C\x80\x87\x62\x80\x84\x6A\x8C\x84\x78\x85\x85\xFC\x5C\x0F\x6F\x8E\x85\x72\x85\x87\x80\x86\x87\x79\x83\x86\x86\x8B\x87\x6C\x87\x88\x52\x88\x88\xCB\x1D\x0F\x86\x2E", + "\x0F\x7F\x88\x86\x81\x81\x87\x84\x8C\x87\x83\x87\x89\xC8\x67\x67\x00\x0E\x17\x02\x1C\x89\x82\x82\x89\x95\x89\x88\x8C\x8A\x88\x69\x86\x89\xA0\x88\x89\x41\x21\x00\x9E\x80\x00\xEA\x11\x20\x04\x0B\x8A\xAD\x8F\x20\x07\x00\x8B\xF4\x1A\x00\xB4\x89\x10\x0D\x07\x8B\xA7\x83\x3A\x10\x0B\x8A\x04\x25\x3A\x15\x0A\x8B\x03\x18\x01\xC2\x82\x10\x1B\x0B\x8A\xAB\x8D\x5A\x1C\x05\x8C\x9C\x3C\x8C\x00\x02\x02\xCE\x85\x88\xA3\x83\x8D\x8B\x85\x8D\xA5\x82\x8A\xD6\x83\x89\x77\x89\x8D\xA1\x8A\x87\xDC\x88\x8A\xC8\x35\x02\xC8\x8C\x5F\x26\x03\x8E\xE0\x84\x89\xE7\x8B\x8D\xD7\x8E\x8D\xEB\x84\x8A\xDA\x82\x8D\x29\x47\x02\xE6\x8B\x8B\x74\x88\x8E\xF4\x8F\x89\xF5\x8A\x8E\x7A\x68\x02\xF3\x89\x8F\xF0\x8D\x8E\xD4\x80\x90\xDF\x87\x8F\xF6\x8E\x8F\xA6\x86\x90\xD8\x87\x1D\x29\x0D\x8F\xF8\x8D\x90\x05\x9E\x90\xFA\x8D\x8D\xEE\x86\x87\x2A\x0C\x90\x0F\x97\x91\x11\x9A\x50\x2B\x06\x91\x19\x94\x90\x1D\x9E\x50\x2C\x0C\x91\x2D\x0C\x91\xFF\x81\x14\x2E\x04\x92\x07\x90\x91\x25\x92\x91\x01\x9F\x8E\x29\x98\x91\x2B\x99\x8E\x31\x9E\x91\x33\x98\x69\x2F\x08\x92\x09\x9E\x92", + "\x39\x9A\x10\x30\x08\x93\xEC\x86\x34\x31\x0E\x93\x13\x92\x93\x2F\x9F\x91\x2A\x95\x94\x35\x97\x94\x3B\x9C\x70\x32\x02\x94\x2D\x9C\x92\x03\x93\x10\x33\x0E\x94\x51\x98\x3C\x34\x04\x95\x02\x99\x95\x3A\x9B\x2D\x35\x08\x95\x5B\x93\x94\x34\x98\x94\x62\x9B\x94\x61\x94\x96\x08\x9B\x1C\x36\x0E\x95\x50\x9A\x95\x6B\x9F\x95\x4F\x94\x94\x66\x9A\x94\x3F\x9D\x96\x74\x91\x20\x37\x0A\x96\x0A\x58\x03\x78\x95\x96\x73\x9A\x50\x39\x0B\x97\x67\x90\x96\x81\x9F\x96\x7C\x92\x98\x72\x92\x2E\x3A\x00\x98\x87\x94\x98\x83\x92\x1D\x3B\x0A\x98\x30\x93\x96\x7D\x95\x98\x8C\x9B\x98\x55\x91\x10\x3C\x00\x99\xAD\x5D\x03\x9A\x99\x94\x91\x91\x97\x9F\x93\x99\x8D\x9C\x96\x70\x92\x9A\x96\x97\x1D\x3E\x0D\x99\x4F\x4F\x03\xAA\x90\x9A\x46\x91\x9A\x86\x90\x9B\xC7\x10\x04\xAD\x96\x9A\xB2\x97\x99\xAF\x99\x9B\x9E\x9A\x9B\x92\x91\x9B\xBC\x9E\x9A\x4C\x41\x04\xB5\x93\x44\x42\x03\x9C\x95\x97\x9B\x3E\x43\x04\xC6\x98\x9B\xBB\x9D\x9C\xBD\x97\x9C\xBF\x96\x7E\x44\x0B\x9C\xA4\x94\x99\xB8\x95\x04\xD4\x9E\x96\xCC\x9F\x9C\xDB\x90\x9C\xDC\x9E\x43\x46\x09\x9D\x44\x37\x04\xE2", + "\x95\x9A\xBE\x9E\x9C\xDE\x99\x9E\xB6\x91\x9D\xE7\x9F\x9D\x46\x38\x04\xE5\x93\x3A\x49\x01\x9F\xA3\x9A\x9D\xD5\x95\x9F\x79\x4A\x04\xF4\x97\x9A\xF6\x9D\x9F\x75\x96\x9D\xF7\x98\x50\x4B\x0B\x9F\xC8\x9E\x9F\xE6\x90\x9D\x12\x8C\x04\x04\xAC\x9E\x08\xA3\x30\x4D\x0B\xA0\xE8\x9B\x9E\x11\xAD\x9E\xEA\x94\xA1\x2B\x4E\x04\x10\xAE\x9E\xFF\x9E\x50\x4F\x09\xA1\x15\xAD\xA0\x1F\xAD\x9D\x12\xAA\xA1\x01\x20\x05\x1E\xAB\x2D\x51\x07\xA2\x16\xAB\xA2\x20\xA3\xA2\x21\xA1\xA0\x05\xAB\xA1\xFC\x94\x1F\x52\x0A\xA2\xFE\x23\x05\x36\xA2\xA2\x2C\xAA\xA3\x2D\xAB\xA3\x30\xAC\xA0\x3C\xAD\x75\x54\x09\xA3\x3F\xA3\xA1\x3D\xA7\xA4\x41\xA5\xA4\x24\xA6\x10\x55\x04\xA4\x06\xA0\xA0\x4F\xA8\x9F\x07\xA9\xA4\x51\xA3\xA3\x53\xAA\xA4\x2F\xA5\xA5\x3F\x26\x05\x4E\xA2\xA3\x31\xA7\xA5\x5A\xA0\xA4\x58\xAE\xA2\xCB\x17\x05\x5D\xA0\xA6\x5E\xA2\xA6\x61\xA6\xA4\x54\xA9\xA6\x6C\xA3\xA6\x3E\xAB\xA6\x03\x38\x05\x1C\x99\x05\x67\xA0\xA5\x6E\xAB\xA4\x52\xA8\xA7\x68\xAD\xA7\x0F\x2A\x05\x77\xAB\xA7\x82\xA6\xA5\x7C\xA5\xA8\x83\xAF\x23\x5B\x01\xA8\x84\xA7\xA8\x6A\xA9\xA7\x59\xAE", + "\xA8\x64\xA1\xA7\x90\xA2\xA9\x7E\xA1\x24\x5C\x0C\x91\x5D\x0A\xA8\x5F\xA6\xA8\x8B\xAD\xA9\x9B\xAC\xA8\x6F\xA2\xA7\x8F\xA5\xA9\x9E\xAD\xA8\xA4\xA1\x10\x5E\x0A\xA9\xA6\xAC\xA9\x05\x4F\x05\xAA\xA2\x81\x60\x0F\xAA\x7A\xA5\xAA\xA1\xA3\xA9\x48\xA0\xA7\xB7\xA1\xA6\x61\x02\xAB\xA3\xAC\xAA\x54\x22\x06\xBC\xA6\x7E\x63\x01\xAC\x94\xAE\xAB\xB5\xA7\xAA\x54\x24\x06\xC4\xA9\xAB\xB6\xAD\xA6\x09\x15\x06\xCB\xA2\x1D\x66\x01\xAD\xB8\xAE\xAC\xC6\xAF\x44\x67\x04\xAD\xA2\xA1\xA9\xCC\xAA\x50\x68\x0A\xAD\xCD\xA5\xAD\xE2\xA1\x14\x69\x00\xAE\x09\x1A\x06\xE6\xA7\xAD\xBD\xA0\xAA\x03\x3B\x06\xE9\xAC\xAE\xEB\xA4\xAB\x4F\x4C\x06\xEF\xA2\xAF\xF1\xAF\xA9\xF6\xAC\xAD\xD6\xA3\x10\x6D\x05\xAF\xF8\xAF\xAF\xDE\x3E\x06\x1C\x9F\x06\xFE\xAB\xAA\xF0\xAA\xAF\xE3\xA1\xAE\xDB\xA5\xAC\x07\xBC\xB0\xF9\xAE\xB0\x18\x90\x07\x1C\x91\x07\x05\xB2\x2F\x72\x05\xB1\xB3\xA0\xB0\xC7\xAA\xAE\x08\xBB\xB0\xDD\xAE\x91\x73\x08\xB1\xF7\xA6\xB0\x0F\xBE\x2F\x74\x02\xB2\x1D\xBA\xB0\x2A\xB8\xAC\x1B\xBD\xB0\x1F\xB1\x24\x75\x08\xB2\x10\xB4\xB2\x00\xB6\x07\x32\xBF\xB2\x25\xBB\xAF", + "\x39\xB9\xB0\x2C\xB9\xB1\x34\xBF\xB3\x2D\xBB\xB3\xDA\x87\x07\x37\xBA\xB3\x1A\xB0\x1E\x78\x05\xB4\x3C\xBC\xB1\xC3\x19\x07\x1C\x9A\x07\x4A\xB3\x25\x7B\x01\xB5\x2B\xBC\xB4\x38\xB7\xB4\x23\xB1\xB4\x58\xBB\x2D\x7C\x04\xB5\x3D\xB9\xB5\x3E\xB2\x2F\x7D\x0E\xB5\x56\xB6\xB4\x40\xB1\xB6\x68\xB9\x81\x7E\x0C\x91\x7F\x04\xB6\x2E\xB6\xB6\x5A\xBF\xB3\x80\x0E\xB6\x42\xB5\xB5\x6F\xBB\xB4\x77\xBE\xB1\x84\x51\x08\x74\xBB\xB5\x33\xB1\xB7\xBB\x92\x08\x7D\xB7\xB6\x60\xB5\xB8\x29\xBF\xB5\xDB\x23\x08\x83\xB0\xB8\x69\xB7\xB8\x0F\x24\x08\x1C\x95\x08\x1C\x96\x08\x8B\xBD\xB8\x7F\xB6\xB9\x57\xB4\xB8\x8E\xB9\x8F\x87\x05\xB9\x86\xB7\xB9\x9F\xBE\x2F\x88\x0C\x91\x89\x0E\xB9\x9B\xB5\xB7\x88\xB2\x2E\x8A\x01\x8D\xE0\x1D\x08\xAC\xB9\x1C\x90\x0F\xBA\xCB\x13\x09\xCE\x86\x09\xB2\xB3\xB3\x99\x0E\x8B\x44\x3E\x09\xCE\x81\x0A\xCE\x84\x0A\xAA\xA5\x0A\xCE\x88\x0A\xCE\x8B\x0A\xB7\xB9\xB9\x8C\xB1\xBA\x5D\x7E\x0A\x1C\x9F\x0A\xA6\xB0\xBA\x2B\x40\x0B\xCF\xB8\xBC\x98\xB0\xB7\xD5\xB8\xB7\x08\x51\x0B\x1C\x92\x0B\xAA\xA3\x0B\xD3\xB6\xBD\xCA\xB8\xBD\x3F\x24\x0B\xDF", + "\xB2\xBE\x9A\xB0\xBD\xE8\xB4\xBD\xE1\xB3\x25\xB5\x0C\x91\xB6\x05\xBE\x7A\xB6\xBE\xC9\xB6\x7E\xB7\x05\xB0\xB8\x0B\xA0\xB9\x0C\x91\xBA\x00\xBF\x76\xB8\xBA\x65\xB1\x86\xBB\x05\xB0\xBC\x0B\xA0\xBD\x0C\x91\xBE\x0C\xBF\xA9\xBA\xBE\xA7\xB8\x91\xBF\x05\xB0\x04\x0F\x8B\x03\x11\x8B\xCF\x12\x15\x90\x1B\x2F\x83\x15\xC1\x06\x1F\x33\xA4\x22\x15\x85\x29\x10\x20\x45\x18\x12\xC6\x1D\x14\xCA\x10\xFC\x25\x18\x18\xC3\x10\x1A\xC0\x2B\x1C\xCA\x10\x1F\xC2\x1A\x10\xC3\xC1\x49\x1F\xC2\x22\xC1\xC3\x83\x12\x15\x21\xCB\x1D\x36\xC5\xC3\x49\x17\xC3\xDE\x19\xC3\x85\x1E\xC3\xA2\x10\xC4\x30\xC6\x14\x3C\xC2\x15\x23\xC6\xC1\x20\xCA\xC3\x44\xCA\xC4\x43\x15\xC4\x46\xC6\x14\x27\xC2\x10\x29\xC9\x31\x2B\xCE\xC1\x83\x1E\xC4\x4F\xCF\x13\x58\xC9\xC5\x3D\x1B\xC5\x5C\xC1\xC5\x01\x15\xC2\xA2\x1E\xC5\x59\xC0\xC6\x00\x03\xC5\xF7\x25\xC5\x06\x1D\xC2\xCF\x14\xC6\x4F\xC6\xC6\x62\xCF\x1C\x66\xC8\xC6\xF5\x2A\xC6\x03\x1C\xC6\xD6\x12\xC3\x38\xC4\xC3\x3F\xC9\x14\x34\x2D\xC7\x50\xCE\x30\x5D\x21\xC4\x49\x1D\xC1\x06\x16\xC6\x52\x1A\xC7\x3D\xCC\xC7\x84\xC6\x14\x7F\xCD", + "\xC8\x43\x16\xC6\xC9\x82\x15\x83\xC3\xC4\x43\x16\xC8\x8F\x17\xC5\x4C\xCA\xC5\x9B\xCE\x13\x6E\xC6\xC4\x9F\xC2\xC4\x33\xC1\xC8\x48\xC3\xC6\x9D\xCD\xC5\xA7\xCF\x0F\x73\xCF\x27\x76\xC2\x10\x78\xCB\x1D\xA1\xCB\xC3\xA9\xC1\xCB\xA4\xC6\x10\x71\xC6\x1D\xB4\xC1\xC9\x0A\x14\xC7\x04\x3D\xCA\x01\x1F\xCA\xDE\x1A\xC8\x5C\xCF\x13\xC2\xC3\xCC\x3D\x1F\xC8\x96\xCF\x13\x66\xCD\x30\x85\x15\xC9\xA3\xC7\xC9\x0A\x19\x3B\x85\x15\xCC\xC6\xC4\xCD\xC3\xC8\xCC\xCF\xCA\xCC\x0A\x1C\xCC\xA2\x1E\xCC\x7B\xC6\x14\x98\xC2\x10\xD2\xC6\xCA\x80\xCD\xC4\xB3\xC7\xCE\xE5\xCC\xC9\xE9\xCE\xC9\xE8\xC0\xC9\xDA\xC5\xCA\x6D\xCD\xCE\xC9\xCC\xCE\xEB\xCD\x13\xAB\xCB\xC1\x85\xCC\xC2\x83\x1A\x1F\xF5\xCF\x0F\xD6\xCF\xC5\x0A\x16\x38\x26\xC1\xD0\xAC\xC9\xCF\x09\x18\x4C\xF8\xC0\xCE\x0A\x18\xD0\xA2\x19\x8C\x93\x11\xCE\x01\x13\x4E\xD3\xC9\xCA\xC9\x83\xC9\x06\xD6\x10\x12\xDE\xC2\xA9\xC6\xC6\x02\xD2\x1A\x1C\xD5\xD0\x0A\xD7\xD0\x17\xC4\xD0\x03\xD5\x38\x20\xD0\xCD\x22\xD9\xC4\xFD\xC9\xCB\xEA\xCE\xCE\xF4\xCE\xD2\xA8\xCB\xD2\xF2\xC9\xCD\x3E\x16\xC6\x07\x3A\xD2\x30\xDF\x0F", + "\x2C\xDF\xD2\xF3\xC6\xCF\x0A\x15\x2D\x38\xDD\xD3\x3A\xD3\xD3\xDF\xCA\xCB\x09\x13\x33\x41\xD4\xD3\x31\xD9\xD3\x3B\xDE\xD3\x09\x1D\x39\x49\xD5\xD4\x2D\xD2\xD4\x4D\xDA\xCA\x0A\x13\x3C\x51\xDB\xC8\x4B\xC2\xD3\xFD\xC6\xD3\x9A\xCC\xD5\x4C\xDB\xD1\x0A\x17\xD3\xE4\xC1\xD6\x60\xD2\xD4\x66\xC1\x34\x2A\xC7\xD1\x03\x15\x44\x59\xD6\xCC\x4B\xD4\xD5\x62\xD9\x10\x6A\xD4\xC5\x6C\xD2\x10\x6E\xD5\xD6\x72\xD7\xD6\x4A\xD6\xD5\x74\xD7\xD2\x3F\x10\xD1\x44\x43\xD2\x09\x1A\x39\x7A\xDD\xD7\x55\xD9\xD8\x73\xD6\x10\x86\xD1\xCF\x7C\xD2\xD5\x3C\xDD\xD7\x70\xC4\xD8\x8C\xDF\xD5\x66\xD7\xD9\x68\xDB\xCB\x80\xDE\x13\x82\xD0\xCC\x89\xC9\xCA\xFF\xC9\xC5\x8A\xDF\xD8\x5A\xD6\xD4\x06\x14\xD6\x8E\xD9\xD3\x66\xC0\xD4\x87\xD0\xD9\x4E\xD6\x10\x48\xDD\xDA\xA5\xDF\xCE\x06\x10\xD5\xB2\xD0\xD7\x7E\xD6\x10\x58\xD7\xDB\x70\xDE\xD5\x6F\xDD\xDB\x63\xD6\xD9\x99\xDF\xD7\x09\xD8\xD2\x06\x19\xD7\xA9\xD3\xDC\x06\x15\xD7\x69\xC7\xD7\x01\x18\xDC\xB8\xCB\xD8\x03\x1C\xDC\x75\xCE\xDC\x83\xD5\xDC\x81\xDA\x10\xD0\xD5\xDD\x21\xD7\xDC\x9B\xDD\x13\x82\xDB\xDD\xDE\x19\x8C\x88", + "\xC6\xDD\x55\x45\x18\x0E\xD3\x18\x82\xD7\xDE\x0D\xDE\x30\xEB\xD2\xDC\x92\xD1\xDC\x25\xD4\x2D\x94\xD3\x10\xB1\xD2\xC7\x0A\x16\xDB\xF8\xD9\x10\xBB\xDB\xDF\xA7\xD5\xDF\x02\x18\xDA\xD6\x19\xD6\xDF\xDF\x0F\xE1\xD0\xE0\x01\x14\xDD\xBD\xC6\xDD\xE2\xD7\xC4\xCB\xD5\xE0\x07\xE8\xDD\x9C\xDA\x10\xF7\x43\xD1\x5D\xD4\xD2\x1E\xD8\xE1\x76\xDD\xDD\x03\x1C\xD0\xFE\xD3\x10\x1D\xDF\xE1\xC6\x80\xE1\x0B\xD0\xDF\xAE\xD3\xD4\xA4\xD8\xDB\xA3\xD8\xD9\x88\xD2\xDD\x01\xE6\xE2\xB3\xD1\xD9\x27\xE5\xD5\xAB\xD0\xE3\x2A\xE4\xD4\x31\xEF\xDA\xF6\xD6\xE3\x70\xDB\xE2\xCA\xD3\x10\xFA\xD1\xDD\x29\xED\xE3\x2E\xE1\x10\xFD\xD2\xE4\x2C\xE3\xE3\x45\xE6\x30\x3C\xE6\xCC\x3E\xE1\xDF\x09\x12\xE0\xB0\xC8\xE3\x37\xE7\xE1\xC4\xDB\xD6\x1C\xE8\xD7\x4D\xE3\xCC\x4F\xE7\xE2\x04\xE2\xE1\xE0\xDA\xDD\x5B\xEC\xC5\x5D\xE9\xE3\xB9\xD3\xDD\x24\xE9\x10\x0D\xEC\xC8\x42\xD5\xD1\xEA\xDA\x10\x8D\xD9\xC7\x14\xDA\x10\xE5\xD9\xE5\x01\x11\xE7\xDB\x11\xDA\x6F\xC0\xE7\x63\xE2\xDA\x54\xE4\xE4\x56\xE5\xD9\xBF\xDE\xE4\x7F\xE6\xCC\x93\xD3\xDF\x03\x18\xE7\xDE\x15\xE6\x55\xEA\xDA\x9A\xD0", + "\xE6\x06\xEA\xCF\x88\xE2\x10\x8A\xE2\xCA\x4A\xE3\xE4\x84\xE1\xE8\x89\xED\xE7\x4F\xCC\xE8\xC0\xD0\xCF\x03\xEC\xE7\x83\xEC\xE5\x85\xE3\xCC\xF7\xC8\xE5\xC6\xD7\xC7\x83\x1A\xE7\xA0\xC5\xEA\x64\xEE\xEA\x7E\xE8\xE9\xA4\xEA\xE9\x2F\xE3\xEA\xAF\xE2\xEB\x00\xD9\x10\xAC\xD9\xDC\x2D\xE8\xEB\x65\xCA\x10\xF7\xD8\xE4\x7B\xD9\xE4\x66\xE6\xC6\x41\xE3\xE5\xBE\xED\xE9\x4B\xE7\xE4\xC8\xE4\xEC\x8D\xEF\xE3\xB5\xEC\xDB\x99\xEE\xEC\x9F\xEF\xDF\xB6\xE1\xEB\xD4\xE6\xE8\x11\x19\xE6\xDE\xD7\xED\xCA\xE9\xEC\x46\xCF\xE5\xA8\xE9\xDD\x6A\xEC\xE9\xAD\xE0\xEE\x0E\xE8\xE6\x90\xE1\xE1\xD2\xE3\xEB\xD9\xEE\xEE\xC3\xE1\xEF\xBD\xEE\xE8\x51\xE6\xEE\x96\xE6\xE6\x34\xEF\xD3\xF6\xE2\xCB\xE8\xE9\x14\x66\xC1\xEC\xCD\xE2\xEF\x97\xE4\xEF\xB5\xDB\xEF\x5B\xDF\xEE\xB9\xEA\xDB\x06\xF6\xCE\xFD\xE5\xCB\x03\x12\xE5\x8B\xE0\xEB\xDF\xE4\xF0\x0F\xFB\xF0\x53\xD3\xEF\xD0\xE9\xE0\xDC\xED\xD6\x16\xF2\xE3\xF8\xEB\xE4\x0A\xE6\x25\xBE\xC7\xDD\xED\xE7\xEB\x08\xFF\xEB\x57\xEB\xE1\xA9\xEA\xE5\x16\xE9\xD3\xE9\xD5\x18\x82\xD5\xE9\x6C\xED\xD7\xAC\xE2\xF2\xD6\xD1\x44\x2D\xF2\xD4", + "\x35\xFC\xEF\x27\xF3\xF1\x02\xFF\xF1\x0D\xFC\xF0\x14\xF1\xED\xBC\xE3\xF0\x3F\xF8\xDB\x35\xEE\xED\xE7\xED\xF3\xE1\xE0\xEC\x1D\xF1\xD7\x18\xF0\xE5\x05\xFA\xF4\xF7\xEF\xEC\x52\xF3\x10\xCC\xE1\xF1\x41\xF7\xF1\x5E\xE2\xDF\x25\xF8\xED\x47\xF5\xED\x15\xF4\xF5\x3C\xF1\xF6\xDA\xE9\xF2\xCD\xD6\xE7\x24\xF5\xF4\x40\xFC\xF4\xE9\xE2\x10\x21\xF8\x26\x23\xFB\xE6\x07\xF6\xF6\xF0\xE7\xF5\x70\xFB\xF1\x2C\xFF\xF5\x3E\xF1\xF5\x5D\xF5\xEF\x64\xFE\xF0\x02\x1B\xEB\xC2\xE8\xF7\x01\x10\xF0\x5A\xF3\xF4\x9C\x3F\xF4\x67\xE2\x10\x59\xF5\xF5\x62\xF4\xF4\x85\xFF\xF7\xD6\xEC\xF7\x4D\xF8\xF6\xDC\xDB\xF2\xCF\xDC\xF8\xE2\xEA\xF2\xE4\xED\xED\x96\xFF\xF6\x1A\xFB\xEE\x62\xE1\xF8\xA6\xD3\xF6\x19\xEA\xEB\x08\xE0\x00\x88\xF2\xFA\x00\x07\xEC\xDE\x16\xC6\x8F\xFE\xEF\x5E\xF2\xE2\x01\x10\xF1\xAE\xF1\xF7\x4E\x23\xF7\xAB\xFA\xFB\x50\x2C\xFB\x93\xE3\xFA\xE3\xE3\xE1\xE5\xE9\xF3\x34\xF9\xCA\xD8\xC4\xF9\x03\x1A\x36\xCD\xC9\xCA\x82\xDA\x4B\xC6\xF7\xE2\x3B\xFE\xC8\x4B\xEC\xFC\xDD\xCE\xFC\x0A\x10\xFD\xA1\xF5\xF6\x7E\xFD\xF6\x76\xF9\xF0\xA8\xFC\xF6\x56\xFA\xFC\x83", + "\xFC\xF8\xF9\xE7\xD4\xE6\xFB\xE4\xB0\xF0\xF9\xD3\xE9\xF1\x00\x03\xFB\x75\xFD\xFD\x48\xF5\xFB\x93\xFE\xFD\x86\xFC\xE4\xA6\xFC\xF5\xC5\xEB\xED\xA4\xF5\xFC\xDB\xF1\xFF\xE4\x7A\xF8\x5E\x7C\xE2\x70\xFA\x62\x7C\xA0\x6A\x7C\x00\x06\xF7\x4C\x12\xE0\x7F\xFF\x42\x7B\xF7\x68\x79\x95\x7E\x00\xA7\x7A\xFA\x69\xFF\x35\x6A\xD3\x75\x80\x3A\x72\x20\x2B\x7E\xEE\x71\x00\xEF\x7C\xE7\x74\x7F\x01\x7F\xFE\x78\x7C\x0E\x8B\xFF\x18\x7F\x82\x6A\x7B\x74\x7E\x01\xB7\x7E\x05\x8B\x25\x0C\x82\x04\x86\x75\xFC\x7B\xF8\x61\x72\xFF\x7F\x1C\x53\x7F\x50\x16\x81\x3F\x09\xF9\x65\x80\xAE\x0F\x1C\x5E\x66\x99\x62\x6C\x93\x08\x07\xBE\x08\x21\x87\xCC\x4B\x73\x64\x1E\x81\xB8\x68\x08\xA9\x7F\xAD\x7E\xF1\x63\x7E\xFD\x66\x7A\x22\x83\x09\xAE\x7A\xDA\x7A\xFA\x18\x80\x8A\x73\x82\x82\x7F\xF0\x52\x83\x07\x8B\xE7\x4F\x6B\x16\x92\x7F\x91\x7E\xC8\x5F\x82\x28\x8D\x01\xA3\x80\x00\x8F\x82\x68\x83\xFE\x40\x7D\x06\x8A\xFF\x4E\x82\x1A\x8F\x70\xFD\x7D\x00\xB5\x7E\x37\x87\x00\xEE\x7C\x0B\x82\x13\x2E\x83\x0E\xB5\x82\x30\x83\x01\xEA\x76\x0C\x91\x74\x34\x86\x3A\x3C\x67\x9C\x64", + "\x04\xFF\x07\xCB\x62\x0D\x82\x6C\xD5\x6E\x72\x98\x7A\x10\x2C\x76\x19\x75\x73\xBF\x7E\xBA\x43\x85\x01\x83\x03\x86\x0A\x82\x11\x7E\x3B\x83\x20\x11\x18\x2B\x8E\xE9\x6D\x7F\xFD\x68\x82\x24\x84\x0E\x9E\x84\x32\x89\x09\x87\x0B\x18\x89\x83\x7B\x85\x03\x9B\x84\x36\x8D\x04\xA9\x85\x29\x97\x7D\xAB\x78\x14\xA7\x82\x51\x87\xF7\x65\x83\xEA\x7C\x1A\x2F\x86\xE4\x5C\x83\xCB\x71\x01\xA1\x75\x42\x0B\x85\xB9\x80\xEC\x7C\x82\x18\x85\x05\xA9\x7E\x41\x12\x85\x2A\x84\x14\xB4\x84\xF0\x75\xFE\x41\x7C\x41\x07\x85\xCB\x80\x02\x83\x08\xC2\x7B\x1D\x66\x60\x30\x9A\x83\xA3\x80\x15\xBD\x82\x81\x0D\xFA\x54\x83\x31\x90\x86\xAE\x87\x0D\xBB\x70\x67\x88\x0B\xD8\x85\x2D\x9A\x86\xC4\x80\xB6\x6B\x7D\x6B\x81\x02\xCA\x85\x38\x81\x83\xAF\x79\x16\xA0\x87\x6C\x82\x0E\x9A\x83\x2D\x93\x87\xE7\x85\x1E\x8B\x7C\x72\x88\x0F\xBA\x87\xFD\x70\x7F\xA7\x7A\x20\x2C\x87\xC4\x7B\x0B\xEC\x7D\x3A\x98\x7A\xF2\x84\x13\x92\x78\x5E\x88\x10\xCE\x87\xC4\x06\x86\x03\x0D\x55\x0E\x87\x81\x86\x10\xFE\x86\x3B\x9B\x86\xB0\x86\x19\x88\x87\x36\x8F\x0E\xF4\x84\x3C\x86\x83\x01\x89\x20", + "\x25\x87\x76\x88\x0E\x96\x8B\x2B\x98\x7F\x10\x8A\x20\xBD\x86\x61\x86\x0B\x9A\x8B\x4A\x9D\x7B\x2D\x89\x25\xA2\x89\x97\x8B\xF4\x6E\x7C\x48\x94\x6D\x03\x0E\x59\x32\x88\x00\x04\x11\xA1\x85\x47\x99\x87\xF0\x87\x0E\xA9\x13\x3C\x85\x0D\x8A\x0B\x46\x8D\x85\x1E\x89\x29\x87\x89\xBC\x71\x07\x9C\x78\x3F\x8A\x88\x4C\x81\x03\x82\x81\xB4\x7A\xF9\x6B\x7A\x2F\x86\x08\x3D\x8B\x16\xBF\x88\x93\x8A\x0F\x89\x82\xDE\x7B\x7C\x2E\x88\x2A\x98\x83\x90\x8E\x15\xCD\x8B\xDE\x76\x7D\xCF\x82\x2C\x85\x88\x6F\x8E\x07\x94\x84\x20\x92\x83\x45\x8F\x17\xB4\x89\x8A\x82\x0D\xCC\x8B\x1F\x8C\x77\x68\x8F\x28\x90\x7B\x8B\x80\x14\x98\x89\x59\x97\x8B\xA5\x7B\x27\xA3\x88\x82\x83\x0C\xDC\x89\x50\x9F\x8A\x56\x89\x2E\xB0\x82\xC0\x81\x08\xF9\x70\xC8\x68\x8C\x29\x80\x27\x82\x09\x5A\x1E\x0C\x94\x8F\x4E\x96\x8C\x35\x83\xC9\x42\x16\xB3\x81\x10\x65\x1A\x33\x9B\x8C\x8C\x8E\x20\x1E\x8C\x8D\x6D\xCF\x13\x0F\xC8\x64\x1F\x98\x85\x2B\x90\x85\x05\x82\x09\xAB\x7F\x6A\x8D\x81\xAD\x89\x35\xB0\x6A\xD3\x86\xDD\x37\x66\x63\x94\x75\x01\x0F\x35\xB8\x83\xD8\x8B\x13\xBA\x8F\x50\x9C", + "\x8D\x99\x8D\x9F\x45\x85\x47\x88\x18\x93\x87\x55\x99\x64\x9C\x88\x00\x06\x8F\xDB\x88\x00\xA0\x8E\x5B\x82\x6C\xA3\x89\x38\x88\x80\xA1\x84\x1B\xA8\x83\x60\x07\x84\xCF\x0F\xBD\x72\x8C\x63\x68\x1D\xD6\x0E\x60\x7D\x86\x46\x0B\x11\x88\x85\x0B\x8B\x13\xCE\x8C\x55\x9F\x7C\x03\x09\x3A\x87\x8E\x81\x06\x1E\x99\x7C\x7A\x82\x08\xEA\x8A\x31\x91\x89\xD5\x72\x11\xBB\x88\x75\x98\x7E\x8D\x89\xF6\x4A\x09\xFA\x88\x16\xFC\x8F\x7A\x93\x8A\xEE\x8C\x00\x8E\x8B\xCB\x8B\xFA\x18\x8F\x7F\x80\x00\x06\x93\x3B\x1D\x8F\xED\x02\xD8\x03\x8F\x67\x7D\x67\xE2\x89\x3B\x8A\x08\x07\x93\xF3\x1D\x82\x7F\x92\x8F\x02\x0F\x42\xBA\x8E\x13\x86\xF3\x56\x8E\x33\x97\x8F\xFD\x60\x2F\x87\x91\x04\x9B\x21\x86\x08\x89\x8E\x7D\x27\x95\x42\xBF\x81\x87\x0B\xEA\x4B\x71\x7C\x87\x81\x55\x8C\x91\x0E\x87\x17\x9D\x21\xB1\x93\xEA\x74\x91\x72\x7E\xBA\x62\x25\xE4\x82\x23\xA1\x8F\x40\x1B\x91\x3E\x92\x20\x00\x93\xE7\x8B\x11\x6B\x87\x5C\x9E\x89\x4A\x8C\x19\x81\x08\xBD\x87\x05\xEB\x8A\x56\x89\x92\x75\x8B\x26\xAA\x8B\xC2\x8C\x12\xA7\x89\x56\x89\x86\x25\x8D\x4A\x9D\x8B\x9B\x86\x01", + "\x89\x08\x93\x9D\x84\x7D\x8B\x29\x99\x88\xC1\x87\x24\xCF\x92\x98\x88\x89\x68\x8F\x4A\x9C\x88\x28\x90\x13\xA7\x88\x35\x85\x91\x03\x0F\x4B\x8B\x88\xBA\x8D\x05\x94\x80\x99\x93\x92\x7C\x8A\x49\x80\x01\x37\x9E\xFA\x6A\x90\x52\x81\x93\x86\x8E\x2F\xA0\x8E\xB2\x82\x27\xD1\x89\x93\x97\x7F\x83\x92\x32\x92\x92\x56\x8B\x17\xD9\x91\x9D\x83\x87\x3B\x8E\x4F\x8D\x95\x68\x8D\x26\xDD\x8B\x06\x99\x82\x00\x05\x50\xA3\x8B\x35\x97\x26\x97\x94\x59\x94\x90\x66\x91\x50\x80\x95\x28\x91\x0F\xCF\x88\xA3\x87\x94\x79\x94\x54\x80\x88\x45\x99\x29\xE5\x90\x96\x9D\x8A\xAB\x95\x4B\x98\x8A\x57\x9C\x29\xFA\x91\xAC\x92\x8A\x00\x07\x21\xBD\x8E\x23\x98\x27\x8E\x94\x43\x92\x7C\x18\x93\x49\xB4\x95\x3F\x9A\x27\xDC\x90\xAE\x80\x95\xAF\x93\x2B\x9A\x93\x8F\x8C\x2B\xA7\x94\x98\x85\x96\x09\x8E\x59\xB3\x92\xB6\x80\x2C\xF0\x92\x29\x9D\x95\x94\x97\x57\xA3\x92\xB4\x8A\x13\xE9\x93\xB0\x93\x94\x87\x89\x39\x91\x8C\x59\x91\x27\xDF\x94\xAA\x87\x89\x20\x91\xA7\x62\x91\x60\x99\x16\xD2\x96\xA1\x9D\x7C\xE7\x8A\x40\xA7\x8B\x03\x92\x29\xE7\x95\xB6\x94\x93\xDA\x97\x2F\x84", + "\x93\xFC\x8E\xFA\x1A\x96\x93\x89\x96\x7E\x89\x5D\x82\x6B\x75\x96\x2D\x8B\x95\x30\x95\x94\xCA\x97\x51\xB6\x8B\x7D\x90\x17\x85\x98\x4F\x86\x97\xE7\x7B\x31\x8C\x99\x01\x99\x17\x90\x9B\x63\x82\x97\xF7\x80\x5B\x89\x99\x7C\x92\x30\xFD\x68\xC1\x8F\x90\x08\x86\x72\x33\x90\xC4\x8D\x23\xE8\x8A\xC8\x9B\x89\x38\x93\xF7\x56\x6F\x92\x97\x20\xA7\x9A\xC9\x97\x91\x88\x8B\x48\x87\x91\x94\x91\x09\xEA\x78\xCB\x8C\x97\x34\x9C\x35\xB6\x98\x98\x99\x1C\xB2\x98\x73\x8E\x7F\x39\x98\x36\xBB\x99\x91\x9C\x23\xBC\x99\x90\x81\x08\x3E\x99\x98\x6E\x90\x92\x96\x34\x93\x9A\x40\x17\x99\x0E\x99\x68\xBB\x8C\xB5\x79\x34\xA3\x7A\xCB\x82\x84\xA9\x63\x39\xA6\x72\xAD\x99\x04\x8A\x0B\x27\x62\x6C\xB7\x97\x2D\x83\x09\x73\x2C\x08\x89\x08\xD9\x83\x8F\x5E\x85\x30\x1C\x9A\xB8\x6B\x36\xC6\x66\x60\x69\x27\x65\x9E\x20\x2B\x27\xB8\x93\x10\x7D\x1C\xDD\x82\x08\x76\x98\x6D\x86\x08\x0D\x22\x21\x89\x0B\x3B\x37\x9B\x01\x0F\x6F\xBA\x9B\x81\x0F\x38\x03\x9F\x88\x6A\x9B\xF8\x8E\x20\x3C\x24\xC0\x9B\x89\x6F\x71\x42\x1C\x1E\x8C\x9C\x4F\x96\x6F\x44\x26\x38\x81\x09\xFA\x0C\x9C", + "\xBA\x96\x3B\x8A\x09\x7A\x92\xD8\x56\x7D\xDF\x86\x08\x9E\x9A\x73\x89\x09\xE2\x15\x39\xCF\x46\xE3\x86\x08\xDD\x92\x74\xA8\x9D\xD3\x93\x10\x67\x20\xE3\x8E\x9D\xA5\x9C\x97\x63\x78\xD9\x96\xDD\x42\x8A\x60\x76\x9D\x2C\x94\x71\x9C\x9C\x9E\x4C\x3A\x82\x09\x39\x2C\x9C\xBF\x9D\x74\x81\x9F\xCF\x93\x10\x43\x9E\x75\x02\x03\x3C\x64\x07\x8A\x9F\x80\x04\xDE\x5E\x9A\x42\x1A\x9A\xCD\x99\x21\x3C\x60\xE8\x94\xE7\x4E\x9D\x42\x1A\x9A\xD8\x9F\x79\x8D\x85\xED\x99\x10\x0A\x67\xF4\x96\x9E\x06\x0A\x6B\x9F\x9F\x84\x07\x09\xE1\x9E\x42\x05\x9F\x03\x0A\x6B\xA8\x9E\x81\x0A\x35\xE6\x63\xF8\x87\x64\xE0\x99\x7D\x95\x9E\xE9\x9A\x3D\x89\x0A\x0E\x9A\x81\x3E\x86\x07\x82\x6D\x50\x19\x10\x1A\x90\x89\x9B\x9F\xFB\x8A\x21\x24\x91\xF6\x80\x00\x00\xA1\xFF\x82\xA0\x0A\x0E\x80\xAC\x14\x04\xA4\x28\x0A\x08\xFF\x8B\xA0\x09\x0F\x7F\x8E\xA1\x00\xA1\x41\x89\xA3\x04\xA7\xA0\x15\xA5\x81\x89\x09\x07\xA3\x1F\x99\xA2\x41\x0A\xA0\x1D\xA6\x44\x8D\x08\x0B\xAB\x41\x94\xA2\x08\xA9\x08\xA9\x99\x20\x20\xA1\x0C\x9C\x40\xAB\x9D\x31\x88\x8E\x06\x0F\x7D\x93\x87\xF9\x91\x43\xF5", + "\x9E\x9D\x90\xA1\x11\x66\x86\x83\x08\xDB\x88\x20\xA4\x61\x0B\xA3\x08\x04\xA4\x87\xA4\x90\x21\xAE\x43\x9E\xA3\x0E\xBF\xA1\x02\x0C\x88\xA0\x75\x80\x03\x44\xC8\xA1\x40\x09\xA1\x00\x02\x89\xAE\xA0\x5B\x6E\x44\xCD\x16\x42\x04\xA0\x50\xA1\x8B\xA0\x80\x34\x92\x10\x5C\x67\x40\x1E\xA2\x2A\x8D\x84\x98\xA1\x13\xA3\x2B\xE2\xA0\x04\xA4\xA3\x40\xA3\x73\x97\xA1\x33\xA4\x2B\x6A\xA2\x19\xA1\xA1\x6D\xA2\x2E\xAF\xA2\x16\xA6\x44\xE1\xA2\x41\x1C\xA0\x74\xA0\x8D\xB6\xA3\x81\x08\x47\x81\x0A\xFF\x8E\xA3\x77\xA6\x84\xB1\xA3\x32\xA1\x48\xE3\xA3\x20\xB9\x89\x80\xA4\x8F\x82\xA5\xC9\x83\x42\xF2\xA1\x21\xAC\xA3\x8C\xA0\x85\xB9\x9C\x75\x89\x10\x3C\x67\x9B\x8E\x9F\x3A\xA2\x8A\x7A\x77\x84\x08\x49\xD7\x9F\xA3\x77\xA1\x02\x0D\x93\xA6\x9E\x13\x87\x49\xF1\x9C\xFB\x91\x81\x33\xA4\x93\xA6\xA5\x80\x0A\x35\x8A\x71\x29\xB4\x9F\x9E\xA1\x21\x03\x8D\x3E\xA0\x00\x7F\xA2\x2C\xAB\xA3\x70\xA1\x92\x86\x08\x02\xA3\x4B\x8B\xA4\x13\xB3\x90\xB8\xA1\x8F\x87\xA5\x6B\x9F\x48\xB9\xA7\x2F\xB7\xA5\x73\xA6\x8F\x95\xA3\x5E\xA6\x48\xBA\xA7\x30\x41\xA6\xCA\xA5\x8E\x86\x98", + "\x81\x04\x4B\xB6\xA7\x14\xAF\xA6\xC9\xA5\x96\x95\xA2\x28\xAC\x4C\x90\xA7\x31\xB7\xA6\xF0\x88\x9A\x9A\xA6\x69\xA0\x00\x2F\x91\x35\xB5\xA2\x04\xA6\x9C\xBE\xA5\x1E\xA9\x10\x6A\xA5\x33\xBF\xA6\xE9\x8A\x9C\x96\xA7\x78\xA9\x4D\xF3\xA5\x38\xB5\xA7\x55\xA6\x9D\x9E\xA6\x76\xA2\x1A\xF2\xA7\x36\xAA\x08\xFA\xA6\x98\xBC\xA6\x44\xAD\x4E\xFE\xA4\x39\xB0\xA2\xA1\x99\x20\x27\xA6\x72\xA9\x50\x80\x03\x42\xBA\xA3\x01\x0C\x80\x8D\xA9\x87\xA3\x4C\x81\x0B\x44\xAB\xA7\x24\x97\xA2\xAF\xA7\x81\xA2\x10\x1A\xAB\x3E\xB9\xA8\x06\xA8\xA2\x80\x00\x8F\xA2\x50\xA0\xA8\x3E\xA7\xA8\x0A\x0C\xA4\x82\xA6\x67\xA2\x10\x08\xA9\x48\xB5\xA8\x56\xA4\x9C\x83\xA1\x2A\xA4\x22\xB5\xA8\x4D\xBF\xA7\x28\xA9\xA7\x86\x09\x10\x77\x38\xBB\xA6\x86\x7D\xA9\x20\x77\xA7\x81\x08\x9E\xA3\x54\xC2\xA9\x4C\xBB\xA9\x8D\xA0\xA9\x92\xA5\x8D\xA4\x22\xF6\xA5\x44\xB8\xA8\x50\xAC\xA9\x91\xAB\x8F\xA3\x55\xA5\xA9\x52\xB6\xAA\x4B\xAC\xAA\x99\xAA\xC2\x95\x45\x85\x9C\x4C\xA4\xA0\x5E\xAC\xA5\x81\x09\xB0\xA0\x4F\x82\x08\x59\xBC\xA8\x63\xAD\xAB\xAA\xAA\x72\xA7\x56\xA4\x90\x14\xAD\xAB\x57", + "\xAE\xAC\xB8\xA9\x62\xAB\x52\xE5\xAA\x42\xB5\xAA\xEC\x8F\xA5\xA2\xAA\x87\xA8\x57\xF7\xAA\x54\xA7\xA9\x22\xAC\xA2\xBB\xAA\xC1\xA6\x57\xFC\xAB\x5F\xA0\xA7\x7E\xAA\xAB\x88\xAC\xC3\xAA\x58\x84\xAA\x41\x17\x9A\x01\x08\xB2\x80\x00\x45\x74\x58\xE8\xA9\xA9\x94\xAB\xD1\xA2\xA4\xA3\x66\x45\xA7\x58\x9B\x74\x60\xBF\xAA\xF9\x6A\xAF\x85\xAC\x02\xAB\x59\xD4\xA5\x5F\xA0\x00\x04\xA4\xB2\xA7\xAC\xD8\x75\x59\xA4\x91\x69\xA9\xAC\x58\xAA\xD0\x58\xAD\x71\xA2\x52\xAC\xAF\x69\xAF\xAD\x8C\xA9\xB6\x9E\xAD\xD9\xAE\x54\x97\xAC\x67\xAD\xAC\xE2\x62\xB4\x96\xAC\xDC\xAD\x5A\xA2\x74\x6F\xB5\xA2\xB6\xAD\xB3\x94\x74\xE1\xA4\x22\xC9\xAC\x70\xA1\x08\xC4\xAF\xB4\xAA\xAC\xE5\xAB\x0F\xC7\xAC\x39\xB1\xAE\xD4\xAB\xB2\x8C\xAF\xB8\xA5\x5D\xBF\xAE\x6E\xAD\xA9\xD1\x63\xBB\x9B\xAB\xE5\xAF\x59\xFB\xA8\x14\xAE\xAE\xDF\xAF\x89\xA1\xAF\xF2\xA5\x58\xD0\xA3\x74\xAF\xAE\x47\xA8\xC8\x62\xAF\xC5\xA8\x5D\xF0\xAC\x14\xB9\x7A\xA4\x9B\x20\x10\x9C\x83\x0B\x5F\x83\x08\x6A\x86\x08\x97\x9C\xBF\x8A\x09\xFF\xA3\x10\x01\xB1\xDD\x97\x08\x92\x76\x20\x38\x79\x86\x9C\xDE\x2D\x9E", + "\x42\x14\x9C\x05\xB2\x21\x06\xB1\xA7\x9A\x10\x11\x25\x42\x1D\x24\x17\xB2\x21\x09\x9B\x52\x26\x10\x1C\xB3\x8F\x83\xB0\x12\xB0\xC4\x89\x09\x09\xB1\x10\x5A\x7D\x84\xA9\x08\x26\xB2\x20\x24\xB1\x50\x2A\x10\x0B\x9E\x41\x1E\x70\x02\x08\xC6\x81\x08\x02\xBA\x62\xA5\x71\x42\x14\xB1\x96\x9A\x21\x19\x69\xDD\xAE\x5D\xF5\xAA\x65\xBB\xB1\xF6\x84\xBD\xBF\xB1\xF5\xA6\x5D\xA2\xA8\x90\xB7\x73\xF3\xA9\x8D\x89\x09\x23\xBE\x5B\xA6\xAD\x76\xA4\xA0\x4C\xB5\xBE\xA9\xAE\xD4\xAA\x63\xC6\xAD\x8F\xB9\xAC\x30\xAC\xC9\xA8\xAE\x1F\xB4\x22\xD1\xB1\x92\xA2\x08\x4C\xB7\xBD\x93\xB2\x2D\xBF\x65\x91\x68\x91\xB7\xB2\xB4\xA9\xCB\x96\xB2\x27\xB0\x5F\xE4\xB2\x90\xBD\xB2\x67\xB4\xCD\xA3\xB3\x38\xB0\x5B\xDC\xB1\x95\xA9\x9B\x45\xB2\xCD\x85\x6D\x32\xB0\x00\x4C\xB2\x9F\xAB\xB3\x75\xB0\xCB\xBB\xAA\x37\xB9\x67\x83\xB4\x9D\xB9\xAD\x76\xB3\xC9\x80\xB4\x44\xB2\x68\x85\xAC\xA1\xA8\xB3\xBD\xAE\xCB\xAF\xB3\x3B\xB8\xD1\x0B\xB5\x71\xA3\xAF\x66\xB0\xCF\x90\xB5\xB9\xA3\x10\x12\xB5\xA1\xAD\xAF\x94\xB4\xC7\xB2\xB3\x44\xBB\x58\x8F\xB7\xA8\xAD\xB4\x96\xA8\x8A\x9E\xB5\x4D", + "\xBA\x53\x9D\xB6\xA5\xA7\xAD\xAA\xB1\xB4\x93\xB4\x4C\xBD\x67\x87\xB7\xA5\xAB\xAC\xC6\x99\x20\x39\xB4\x00\x07\x36\xC5\x9E\x42\x10\x9B\x06\x08\xD8\x83\x08\x61\xB2\x10\x73\x9A\xDC\x8A\x08\xC6\xB3\x20\x02\x9C\x65\xBA\x10\x4B\xB6\x40\x12\x27\xCB\x99\x20\x09\x9F\x68\xB1\x10\x54\x07\x72\x89\x46\x3C\x63\x7D\xBC\x80\x1E\x65\x0D\x57\xB4\x0D\xA8\x61\xD4\xB4\x15\x74\x0F\x64\x43\x10\xC1\x08\x0F\x76\x06\xDE\xB4\xDA\x84\xA0\x73\xBA\x10\x57\x05\xBA\xB1\xB6\x1A\x91\xDC\x80\x00\x6C\x0F\x6E\x83\x09\x32\x50\x78\xF2\xB1\x1B\x35\xB7\x53\xAC\xDF\x72\xB6\x42\x1A\x06\xFB\xB4\x95\x97\x6A\x7F\xB9\x10\x5B\x05\xC0\xB6\xAC\x79\x9C\xE0\x81\x08\x6E\x07\x70\x9A\x90\x72\x34\xB6\x9F\x61\x28\x34\xA5\xE0\x20\x71\x8A\x09\x37\x07\xB8\x82\x6E\xB0\x15\xB9\x84\x0E\x0D\x07\xBA\xB6\xA0\x00\x58\x2C\xDA\x96\x69\xE4\x0E\x03\xDA\x2A\xC8\xB4\x0F\x3C\x60\x76\x8A\xB8\x00\x0F\x0D\x07\xB8\x2D\xAB\xB0\x2B\xB8\x1C\x07\xB8\xAD\x9E\x6C\x84\xB9\x38\x13\xB9\xCD\xB3\xE5\x82\x08\x71\x07\x70\xA4\x91\xB2\xAA\xB8\xE3\x06\xE3\x8A\x08\x7A\x27\x72\x89\x12\x42\x19\x27\x45\xBA", + "\x16\x4A\x09\x7E\x2A\x73\x80\x00\x39\x07\xB8\x3A\x85\xA3\x0D\xBB\x72\x0D\x73\x8A\x0A\x4D\x2D\xBA\xE6\x05\xEA\x89\x08\xAA\x2D\x74\xE7\x06\xD6\xA6\x08\x63\x2B\xE3\x86\x08\x74\x08\x71\x8A\x09\x5D\x2D\xBA\xE9\x06\xE5\x8A\x08\xD2\x2D\x74\xEA\x07\xC1\xA4\xA0\xEF\x29\xE9\x81\x12\x12\x96\x6A\x4D\xBB\x3A\x1F\xBA\x03\x0B\xD5\x0D\xBA\x76\x08\x77\x82\x0A\xAB\x2D\xBA\xED\x07\xE0\x90\x79\x0C\x3D\x74\xEE\x06\xE0\xAA\x08\x25\x35\xE9\xAF\x07\x83\xB9\x39\x81\x0B\x89\x2D\xBA\xF0\x07\xE0\x83\x89\x94\x32\x77\xC3\x10\x18\xA1\x08\x05\x3D\xF2\xBF\x10\x1E\xAC\x62\x4D\xB9\x3C\x07\xB8\x3C\xA1\xC6\x0D\xBA\x79\x07\x70\xD0\xA3\x99\x2D\xBA\xF3\x05\xF4\x8A\x09\xD3\xBA\x73\xF4\x06\xEA\xA9\x08\x9E\x35\xE9\xB5\x07\xD7\xB6\x10\x31\xBE\xCE\xB6\x07\xB4\xBB\x20\x0A\x37\xA6\xB7\x0F\x39\xBE\x40\x1B\xBD\x3A\xB8\x1F\x20\xBC\x85\x06\x6F\x4D\xB9\x3E\x03\xBE\x09\x0A\xDF\x0D\xBA\x7D\x07\x70\x88\x7F\xBF\x2D\xBA\xFB\x07\xF0\x89\x08\xB1\x3D\x74\xDD\x0C\xE2\x63\x38\x4D\xBC\x1F\x12\xBC\x85\x0F\x71\x1A\xBC\x95\x10\x78\x49\x3D\xE9\xBD\x06\xC6\xBA\x10\x60\x39\xD3", + "\xBE\x07\x07\xBF\x4D\xB6\x3B\xEA\xB7\x70\xBC\x67\xE0\x2D\xBA\x00\x02\x8F\x49\x46\x45\x61\x78\x5E\xBD\x77\x0E\xBF\xF0\xB9\x00\x32\xBF\x4F\xA3\x10\x06\x3D\xD3\xA2\x00\xFB\xBD\x92\x8A\x08\xFF\xBA\x73\x83\x01\x00\xC6\x08\xC0\x03\x41\xBA\x81\xEE\x02\x6F\xA3\xBB\xB6\x01\x0A\xBE\x8D\x01\xF0\x27\xA0\x0D\x36\xCB\x0C\x04\xC6\x14\x3C\x61\x02\xDF\xB6\x81\x0B\x80\xE0\x0D\x50\x0A\x64\x0E\xC3\x38\x01\x0B\xE8\x90\x3F\x81\x11\x50\x1F\xB8\x21\xC7\x38\x11\x91\x50\xA9\x49\xBF\x11\x50\x1A\x81\xC9\x46\x07\x84\x8E\xE3\x1C\xC3\x29\xC2\x74\x12\xB8\xF0\x24\x7A\xA6\xC1\x75\xA6\x83\x85\x18\x08\xD4\x0F\x41\x0C\x44\xBD\xC1\x29\x1F\x71\xAC\x76\xBC\xAC\x22\xF7\x98\x08\xD7\xA3\x16\xC4\x25\x32\xA0\x07\xDB\xC0\x2E\xC3\x8B\x95\xC1\xE1\x0A\x03\xDA\x99\x15\xCA\xC2\xE8\x79\x96\xBD\xA6\x55\xAB\x51\xDA\x9A\x0F\x9D\xC0\xC9\x09\x28\x04\xAA\x00\x0A\x81\xAF\xA1\x27\x46\x8A\x50\xC4\x4A\x01\x0A\xC9\xA5\x86\xD4\xA2\xF1\x1E\x81\x53\xC7\x38\x01\x0A\xD8\x72\xFB\x69\xC0\xC4\x69\x46\xB4\xA0\x0C\xD6\xC0\x85\x0D\x5F\xE7\xC1\x80\x17\xBC\x8D\x99\x9B\xAD\xC3\xE5\x98", + "\x63\x81\xC7\x83\x03\x88\x78\xC4\x09\xCC\xC1\x10\xB6\x3C\x09\xB8\x0B\xC9\x08\x8D\xBE\x10\xC2\xA8\xC1\x6B\x88\xD6\x61\xDF\x21\x12\xBD\xAD\x12\xCA\xB0\x26\xC0\x61\xFE\xC3\x83\x04\x91\xB4\xA2\x13\xCE\x28\x02\xA4\x89\x9E\xC2\x42\x10\x9A\x43\xC4\x3E\x04\xA1\x14\x91\x86\x95\xB0\x13\xC9\xB1\xCC\x9C\x3E\x10\xA2\x3D\xC2\x82\xAD\xB3\x2A\xB4\x12\x88\x7E\x8C\x50\xA3\x41\xCA\x3C\xBB\xB5\xC4\xA8\xA5\x8F\xC3\xB1\xB1\xC3\x1B\xC8\x6C\xB7\xC4\xD1\xA5\xC1\x5B\xC0\x19\xC7\xA2\xFB\x98\x85\x86\x08\xD2\xAA\xC6\x43\x13\x0C\xC7\x74\x68\xC1\x85\x89\x08\xD3\xB4\xC6\x54\x14\x0D\xC5\xA3\x51\xAF\x20\x41\x0A\xD4\xB8\xC6\x27\x2C\x0B\xD3\x7A\x6C\xC0\xF1\x12\x9D\x2B\xC9\x08\x43\x2F\x12\xC3\x12\x88\x70\x88\xA2\xC7\x54\x2C\xC2\x5C\x2A\x1D\xC1\x08\x40\xCC\x43\xEE\xC5\x5F\x23\x88\xE6\xC3\x0F\xC9\x09\xAF\x22\x8F\xD4\x13\x40\x8D\xC7\xA6\xC1\x21\x21\x2A\x2D\xC3\x10\x6A\x29\x3F\xD1\xC4\xB4\xC2\x0E\xCA\x08\xB6\x24\x90\xC3\x11\xD6\x7C\x61\x91\xC4\x17\xFC\x80\xC5\x2D\x90\xBF\x11\x21\xD0\xC8\x8A\xC1\x20\xC6\x08\x8A\xBC\x8D\x83\x0A\x72\x38\xC6\x7C\x99\x3D", + "\x3C\xBE\x6E\x8D\x8C\x83\x08\x74\x22\xC7\xBC\x1A\xC1\x52\x9B\xEB\x01\x14\x55\x2F\x06\x23\x1D\x0A\x73\x0C\xF6\xC6\x00\x07\x5D\x46\x1D\x76\x28\xC9\x43\x17\x45\x8D\xA9\x99\xCD\x1D\x72\x2C\x4E\xDF\x11\x0D\xA8\x59\xB5\xC5\x84\x07\x60\x30\xA7\xE8\x03\xC3\x42\xCA\x21\xC9\x08\xC2\xB5\x43\xA5\x1F\x59\xB2\x79\xE7\xC3\xA2\x0A\x74\xDC\xAC\x93\xCF\x22\xA2\x6B\xC9\xF2\xB3\xC4\x3D\xC6\xF1\x69\x8C\x0A\x76\x4C\xDA\xC8\x03\x09\xF1\xAF\xC9\x81\x0F\x78\xD8\xC5\x83\xBE\xC4\xF2\xAD\xA0\xBB\xC1\x84\x0D\x79\xE3\xCB\x90\x0A\xB9\x68\xC9\xC8\x8A\xAB\x6E\xCA\x10\x2E\x32\xF1\x02\xBD\xD8\xC5\x13\xF1\xC5\x84\x08\x5B\x92\xAD\x55\xC4\x21\x59\x7E\x53\x83\xCB\x89\x29\xF5\x54\xC8\x58\xC8\x28\xF9\xAA\x20\x05\xC5\xBF\xCB\x42\x05\xC5\x59\x2B\xCB\x06\x0D\xC6\x15\xC8\x2A\x10\x35\xDA\x99\x21\xCB\xCC\x87\xC9\x20\x16\x33\xC9\xCD\x1D\x1E\xB2\x40\x0A\x64\x85\xC1\x1C\xF4\xCB\x84\x0E\x67\x1C\xCC\x78\x1B\xB5\x96\xC9\xD4\x83\x13\xA0\x0A\x69\x26\xCD\x72\x15\xB9\xCA\x8A\xC4\x86\x09\x7D\x20\x99\x83\x0B\xDF\xBD\xC8\x43\x17\x19\xF2\x9F\x1B\xB6\x8B\xB5\xCF\xEF\xB9", + "\xC8\xC9\x0F\x1B\xFB\xCC\x83\x05\x88\xD0\xB7\x68\xC6\x08\xD3\x30\x37\xFF\x11\x74\xCA\x9C\x80\x01\x21\xD5\x70\xC7\xCB\x20\x1E\x36\xD7\xCB\x1C\x26\xB9\x73\xC5\xC4\x18\xB1\x3A\xC2\x08\x76\x33\x99\xCA\xBC\x36\xC1\xBB\x06\x08\x34\xDA\xB1\x92\xC2\x10\x4F\xBD\x73\xC7\x38\xD8\xC7\xEC\xA1\xCE\xD9\xC3\x10\x16\xB2\x76\xC1\x08\x0F\x3B\x32\xEF\x38\x6C\xCC\x76\xEB\xCF\x88\xBC\xC3\xE4\xCD\xAF\x0E\xC5\x1C\xBE\x9B\xFD\x29\x48\xC1\x08\x09\xCC\x18\xC9\x09\x9F\x3D\x3D\xF4\x0F\xC3\xAD\xCE\xFF\xCC\x0C\xF9\xCE\x00\x04\x76\x76\xCF\x83\x12\x2E\x93\xC9\x41\xC3\xC6\x96\xCA\x10\x70\x39\x81\xC9\x08\x7C\x38\x1B\xF1\xBB\xE6\xC0\x73\xAE\x67\x82\xD5\xBF\x6E\xCD\x80\x22\x6E\xCF\x69\x99\x80\x03\xFB\xA1\xD1\xDE\x1F\x2C\xC1\x09\xC7\xCF\x9E\x80\x00\x01\xD8\xA1\x43\x13\xC1\x3F\xC8\x00\x0A\xA2\xCE\xCF\x82\xCA\x3C\x33\xD5\x3B\x0C\xCB\x1C\xA9\x10\x35\xD2\x68\xC1\x12\x41\x0E\xF1\x39\xD0\xF0\x0A\x95\xE6\xCA\x6A\xD5\xC6\x06\x0D\xF3\x03\xD3\xE4\x05\x96\xB0\xD1\x40\x15\xD1\xB4\xCD\x45\xE1\x3D\x25\xDB\x1C\x6D\xCA\x93\xD4\xD1\x81\x88\x48\xF9\x23\x1A\xDE\x62", + "\xDA\xD1\x42\x05\x3D\x54\xD3\x38\x38\xCB\x2B\xD5\xA3\xC6\xCE\x97\xC6\x08\xAA\x39\x4C\xC7\x0E\xC9\xC6\xA4\x89\x08\x74\xC7\xD3\x03\x0E\xF5\x2A\xD2\xE9\x06\x64\x33\xD1\x8D\xD9\xCE\x70\xD2\x20\x32\x3D\x19\xD6\x7B\x33\xD3\x66\xCD\xCA\x06\x0D\x46\xD5\x9B\x12\xD1\x7C\x33\xD3\xF3\x33\xD1\x76\x36\x28\xC3\x09\x1A\xDE\x9E\xF9\xD1\xB5\xA9\xC3\xD8\x3B\x46\xD1\x34\x45\xD2\x10\x70\xCB\x93\xCB\xD0\x4C\x22\x2F\xC0\x00\x3C\xDB\x9A\xF4\x0C\xF7\x33\xD3\xD7\x0A\x53\xC3\xD5\xA8\xC1\x24\x60\x3C\xA8\xC1\x0A\x9A\xD5\x51\xDD\xD5\x00\x1F\x7E\x27\xD6\x2B\xC9\x08\x50\x9B\x26\xF3\x3E\x57\xD1\x20\x1C\xD5\x40\x11\xD5\x25\xD7\xFE\x34\xD5\x07\x19\x34\xB8\xD4\xA9\xDB\xB9\x69\xC2\x5E\x1E\xCD\x15\xDB\xA0\x80\x41\x3F\xDD\xCC\xEC\xCB\x55\xC6\x08\x01\x4D\x8F\xB6\xBE\xBD\xA5\x92\x09\x0F\x47\xCA\xD7\x81\x04\x80\x47\xD4\x78\x03\xD6\xB5\xB5\x3F\xC0\x00\x03\x46\xAD\xC9\x0C\xB6\xD1\xD2\x8E\xD0\x00\x08\x41\x6E\xDB\x1C\x58\xD5\x97\xD3\xD6\x02\x0F\x02\x64\xD7\xE1\x08\xAD\xE6\xD0\xBA\xC1\x08\x1B\x43\x5D\xC7\x0E\x6C\xDF\xA6\xEF\xD4\x00\x1D\x40\xF2\xD2\x3A\x18", + "\xD6\x5B\xDA\x86\x8A\x09\x0A\x46\x1E\x2B\x43\x46\xF5\xBA\x14\xD8\xAD\xA3\xD6\x3E\xC6\x08\x2F\x46\x78\x31\x41\x19\xDA\x77\x84\xDB\xAB\xCD\xD1\x36\x46\x78\x38\x41\x19\xD7\x9B\xCF\xD5\x42\x07\xD7\x01\x0A\xC6\xBD\xD7\x00\x1C\x83\x3B\xD5\x87\x79\x7E\x0B\xD0\x09\x79\xD7\xEB\x0C\x64\xBD\xB6\xBD\xCC\x22\x4C\xB0\x2B\xE1\xB7\x2B\x4D\x8F\xB3\x36\xF1\x0C\xB2\x5F\xCF\x57\xC1\x09\x2C\x46\x3C\x65\x43\x8C\xD7\x35\xC6\x1B\xD7\xAA\xD8\x6A\xBE\x87\x7D\xC4\xAF\x39\xD9\x46\xAB\x26\xCE\x44\xE3\x10\x89\x33\xD0\xF0\xB6\xD8\x06\x0E\x64\xC4\xD6\x6D\xD2\x89\x82\xB9\x80\x0C\x36\xCD\xCA\x69\xF6\xD0\x6D\xDF\x8A\x54\xCF\x70\x17\x36\x17\xD1\x69\xF9\x09\x05\xD8\x00\x2B\x47\x84\xC1\x0A\xE2\x33\x32\xD2\xDA\x26\xB3\x93\x8C\x02\xD7\xD4\x0F\xC5\xB9\x6A\xCA\x08\x70\xD6\xAF\xBD\x46\xD5\xC7\x0E\xE6\xCB\x38\xE3\x9B\xDE\xCD\xA2\x94\x03\xD9\xC1\x10\xE8\xCA\x6E\xC2\x08\xA9\xDE\xAE\xC8\xD3\x30\x57\xDB\x0F\x15\xFB\xAA\xDA\x37\xDB\xA0\xCB\x47\xDB\xD2\x0E\x04\xD3\x70\xC6\x08\x7E\xD3\x93\xA0\x00\xE0\xDE\xAF\xAB\x46\x8C\x54\xBE\x07\xD3\xB7\x89\x0A\xC1\xC3\xCC", + "\x75\x9F\x71\xF8\x6B\xC8\xDA\x10\x6E\x39\xD6\xD5\xDC\x06\x0A\x55\xFE\xDB\x4A\xDA\xB9\x81\x09\x4F\x53\xD1\x7A\x3F\x73\xC2\x08\x62\xB5\x62\x8B\xD1\x53\x43\xD9\x41\x0F\xE7\x81\x08\xD6\xDB\xB1\x93\x28\x6C\xDB\xB5\x8C\xCB\x88\x30\xCC\xA9\xD9\xBB\xF3\x21\xDF\xD3\xDA\x2D\xD2\x5E\x2F\xD1\xB8\xC1\x10\x47\xC6\x54\x4B\xD0\x53\x4C\x52\xC5\x21\x7A\xD3\x63\x98\xD7\xC0\x08\x3C\xC6\x1A\x37\xC2\x08\x58\xC5\xBB\x9D\xB7\xF1\x4F\x17\x6C\xD8\x40\xCB\xD1\xBF\x4A\xBA\xBF\x10\x8E\xD4\xDC\x02\x09\x7B\xCA\xD0\x6D\xD9\x9A\x5D\xDC\x95\x1F\x3C\xE6\xDA\x7C\xDF\xDB\x70\xBA\x9C\x66\xDC\x7C\x53\xD1\x69\xD0\x7C\xC1\x09\x6B\xC3\x10\x23\x2A\xB6\xC1\x4E\x0A\x08\xA2\x37\xDF\x27\x2A\xBF\x86\x09\x80\xD4\xD0\x09\x0A\x3F\x66\xDF\xEE\x04\x7B\x66\xDD\xFF\xD7\xD2\x33\xCD\x43\x43\xE0\xF0\x07\xA8\xF2\xDF\x43\x20\xCE\x07\xDB\x20\x03\x52\xF3\xD6\xA7\x33\xD2\xF6\x26\xDF\xC2\xCA\x20\x36\xDF\xE0\xDF\x44\x19\xE1\x40\x07\xE0\x27\xDF\x89\x1B\xE1\xE3\xDA\xAD\x89\x54\xEC\xDB\xDA\x09\x0C\x45\xE1\xD7\x4B\x57\xB8\xD7\x0D\xAB\xCD\xCE\xD2\xD5\x79\xDA\xD7\x58\x5D\xC2\xC1", + "\x0A\xAE\xCE\xE0\x31\xE0\x00\x39\xE1\x99\xCA\xAC\x35\xE2\x42\x0C\xD6\x30\xE7\x48\xD5\xDE\x81\x0F\xAD\x3E\xE1\x42\x0A\xD7\x41\xE1\x21\x22\xDF\x99\xC4\xAF\x46\xE2\x41\x01\xD8\x49\xE2\x71\x8B\xD0\x89\x5E\xC4\x83\x08\x0D\x53\xCC\x39\xE7\x77\xF3\xC9\x93\x55\xC5\x82\x09\xC7\xD1\xE2\x03\x0C\x79\xC3\xE3\x80\x09\xB4\x5D\xE3\xCC\xCC\xC2\x39\xE4\x71\xE5\xD1\xAE\x53\x99\xF3\x5B\x8C\xC3\xDA\x38\xE3\x3C\xDA\xD6\xC1\x53\x99\x94\x5F\x8C\xC2\x00\xBA\x59\x5A\xCF\xD9\x70\xD3\xBA\x13\xCC\x23\x1C\xDC\xF6\x99\x8F\xC6\x09\xAB\xB6\x10\x56\x2B\xFE\xC4\x21\x84\xE3\x20\x0C\xCF\x70\xDC\x44\x0B\xE6\x40\x0A\xE1\xF6\xD6\x11\x25\xDC\x2A\x16\xB6\x93\xCE\x23\xF2\xE1\x2D\xD2\x12\x13\xE5\xEE\x0E\xB6\x8E\xE3\x25\xFA\xE1\x0B\xD6\x76\x66\xE2\xD6\x73\xC9\x9F\xE4\xD9\xC5\xD1\x9A\x03\x93\xE0\x0F\x0C\x05\xCA\xEB\xDB\x82\xDC\x5D\xA3\xE5\x03\x2D\xE5\x8B\xDB\xA0\xA2\x06\x2A\xE9\x0E\x21\x03\x96\xC6\x08\x2D\xE5\xA2\xA6\x07\x2D\xEB\x0E\xE2\x46\x92\xD4\x71\x05\xDA\x0A\x3F\xE7\x70\x0B\x48\xC2\xE1\xC3\x9A\xD6\xE6\x53\x99\xDC\x5F\x8C\xC3\x49\xE6\xDF\x93\xD7\xDC", + "\xA5\xC6\x10\x64\x5F\x64\xD7\x5F\x33\xD7\x75\xDE\xE5\x3D\xE6\xAF\xFB\x5F\x64\xC7\x60\x33\xD7\x2E\x6E\xDE\x85\x06\xC8\x9C\xE0\x09\x25\xE7\x24\xE5\x45\xC9\xC1\x13\xE1\xC0\xA0\xDA\xB6\xC1\x06\xD7\xDD\x60\x16\xCF\x74\xE1\xAE\xC4\x07\x82\x53\xE7\x02\x09\x1E\xE6\xE7\x15\x2A\xCF\x83\x08\x3F\xDB\xE7\xC3\x0D\x18\x00\xE5\x07\x1F\xCF\xF4\xE6\xBD\xC7\x06\x0B\x53\x20\xC6\x08\xEA\xD3\x93\xC8\x07\x82\x40\xCF\x03\x0A\xA1\xCC\xE5\x27\x20\xC9\xCB\xD9\x8B\xC9\x06\xC6\xE7\x38\x19\x4D\xC9\xC5\xD1\xC0\xDD\xB8\xCD\x06\x19\xEA\x3A\x34\x4C\xF3\xDD\xD1\xBB\xE1\x89\xD1\x06\x21\xEF\x3A\x18\x4E\x8E\xE2\xC4\xB3\xC9\x35\x09\xE9\x41\x0B\x3E\x6C\xE8\x25\xEB\xA0\xD9\x04\x4C\xEA\x08\x0F\x53\xA6\xD2\xE2\x6D\xDD\x0D\x37\xE9\x42\x09\x51\x3A\xEB\x20\x3C\xE4\x99\xD0\x00\x61\x06\x4F\xEC\x52\x93\xE5\xA3\xE2\xE3\x99\xC5\x0E\x47\xEB\x40\x15\xE0\xCD\xCD\xA3\xEA\xE2\xA2\xE9\x0E\x13\xE5\x3B\x03\xE8\x03\x09\x53\x64\xE8\x39\xED\xA2\xEF\x07\x24\xF3\x07\x58\xEA\x20\x00\x57\xAD\xE0\x49\x0B\xD1\x3D\x13\xE4\xF9\x01\xAC\xC1\x09\x6C\x56\xBE\xE8\x2A\x41\x1D\xE8\x33", + "\xCB\x1F\x2A\xEA\x2A\x1D\xC4\xA8\xD2\x5B\xFE\xAF\x0B\xD5\x1F\x33\xEB\xEE\x0D\xAF\x33\xD3\x5D\xE2\x08\x26\xEC\xA8\xC6\x84\x8F\xD2\x10\x04\x5A\xF1\x1F\xEB\x99\xB5\x45\xC1\x00\x30\x62\x91\x80\x00\x15\xF6\xEB\xAE\xE2\x5B\xC3\x00\xC6\xE4\x1F\x14\x5B\x61\xF4\xDB\xE1\xD5\x00\x14\xED\x00\x17\xB1\x17\xED\x42\x03\xEA\x11\xE4\x03\xDB\xED\x07\x11\xB2\x1E\xEE\x41\x0B\xEA\x25\xD1\x01\x23\xED\x20\x1C\xC5\x90\xEE\x32\xED\xD1\x0B\x03\xB5\xEC\x8E\xD9\xE1\x10\x31\x5A\x5F\xFC\xEA\xE1\xD7\x01\x34\xEC\x83\x1B\xDB\xC4\x5B\x6D\xE5\xEB\xDA\xD3\x02\x3B\xED\x0A\x0B\xDB\xCE\x5B\x8C\xCC\xC8\x6F\xEB\x41\xD7\x00\x30\x69\x8A\x89\x0B\xD4\x46\x1E\xC8\xE8\xAF\xDA\xD6\x0C\x0C\xDC\xF4\x0C\x1B\xF8\xC6\xD1\xE8\xB0\xCB\xD1\x0C\x05\xDD\x81\x13\xDA\x50\xEE\x2D\xED\x44\xDA\x01\xEE\xEF\x20\x6D\x58\x78\xF4\xE9\xDA\xD3\x03\x24\xEF\x20\x1E\xC6\xA8\xD1\x76\xE1\x08\x18\xDB\x8C\xC0\x00\x0E\x0B\xDE\xC3\x10\xDF\x47\xEF\xBB\xE3\x41\xDD\x01\xFA\xEF\x23\x74\xE2\x7B\xE3\xE6\xDA\xD6\x03\x3C\xEE\x2A\x1A\xB8\x78\xEF\x40\x13\xEA\xA1\xEC\x73\x03\xF0\x10\x0B\xDB\x90\x5F", + "\x71\xF8\xED\xF6\xD2\x04\x03\xF1\x11\x0B\xDB\xF6\xE0\x76\xFC\xE6\xA3\xDE\x72\x83\xF0\x13\x0B\xDB\xFD\xE1\x7A\xCA\x08\x06\xCD\x45\xE8\x01\x01\xF2\x2F\x6A\xCF\x40\x0F\xEF\xF2\xE9\x05\x20\x62\xAD\x9D\x02\x24\xF0\x78\x1A\xB8\x06\x09\xC4\xE1\xD6\x17\x0E\xE2\xCC\x14\x8C\xE7\xF1\x0B\xD7\x05\x2B\xF1\xEC\x75\xE3\xCB\x0C\x62\x29\xEE\xDA\xD4\x06\x20\x63\x5F\xC9\x10\x2B\x5F\x8C\xDF\xF1\xD2\xED\x45\xF7\x01\x21\xF4\x1F\x7F\xE2\xF2\xC0\x00\x48\xF2\xBB\xDA\xD6\x1D\x0C\xE4\x81\x13\x23\x13\xEB\x51\xF1\xB1\xE1\xD7\x1E\x05\xE5\x8F\x11\x24\x18\xF2\x91\xED\x45\xC0\x03\x2E\xF1\x24\x34\x5F\x91\xF8\xEC\xF6\xD3\x08\x24\xF3\x21\x15\x09\x60\xF3\x67\xEB\xD0\x46\x03\xCD\xFF\x11\x4B\x0E\xE6\xA7\xEF\x82\xC9\x02\x72\xF4\x4A\x39\x5D\x33\xFF\xDA\xE1\xD4\x13\x19\xF3\x4F\x03\xB7\xDB\x04\x67\x49\xE5\xAC\xB2\xB6\xD1\x02\x79\xF4\x0A\x3B\xEC\x58\xE0\xA8\x83\x09\xA1\xE2\xDD\xF2\xEE\x0A\x39\xF3\x2C\x0B\xDB\xBE\x5F\x93\xF7\x2C\x29\xE3\x41\xDB\x03\xDD\xED\x1D\x40\x5F\x8C\xD8\xF4\xC4\xCB\x41\xDD\x02\x4E\xF0\x1E\x3E\xE7\xA5\xE8\xE1\x2D\xD7\x0B\x24\xF5\xE4", + "\x09\x0A\x73\xE8\xA8\xEE\xB5\xDA\xD1\x0C\x2B\xF5\xE5\x06\xBC\x1F\xF5\x98\xE1\xD7\x63\x03\xD6\xC3\x0F\x56\x0E\xEA\xE8\xF1\x86\xE0\x00\x65\x02\xD7\xC7\x0E\xE7\x56\xEB\xEF\xF2\xB6\xC7\x03\xC2\xF2\x3A\x1A\x5F\x62\xF6\xE7\xDA\xD5\x1A\x09\xF6\xD7\x0E\x7B\x4C\xF7\x03\xFB\xA0\xEB\x03\x6E\xED\x03\xBB\xED\x7D\x67\xF4\xCB\xDB\xA0\xEF\x03\x6E\xF1\x03\xBB\xE8\x9B\xCD\xF4\x81\x0F\xEA\x82\x08\xA4\xF3\xC9\x73\x03\xB7\xF5\x03\xDD\xE1\xC0\x4F\xF1\x7D\xC3\x08\x14\xCD\x45\xF7\x03\x1E\xF2\x2E\x6F\xF6\x40\x11\x2D\xDA\xD0\x0F\x3B\xF1\x84\x0C\x07\x74\xF7\x71\x18\xF7\x06\x0D\xDC\xFF\xF4\x26\x2C\x91\xF0\xF7\x82\xDD\x03\xFE\xF7\x5D\x05\xF9\x7B\xFB\xA0\xFE\x03\xBE\xE6\x08\x82\x01\xE1\xD7\x0F\xE1\x20\xE4\xAD\xD3\x20\x0F\xF8\x41\x10\x9C\xE3\xF7\x80\x04\xF1\xC9\xF1\xB8\xC7\x04\x18\xFB\x48\x30\xE7\xC9\xCD\xF1\xD2\xF1\x8B\xCB\x04\x21\xFF\x47\x02\xE9\x27\xF5\xF2\xDA\xF2\xBD\xCF\x04\x29\xFC\x4A\x0E\xE8\x96\xF7\xEB\xF6\xD7\x24\x11\xF9\xDD\x0B\x19\x0E\x47\x96\xF0\x00\x71\xEF\x4C\xD7\x04\x38\xF8\x3C\x0E\x07\x9D\xFA\x10\x20\xEC\xE6\xC2\x08\x9B\x01", + "\xE8\xC9\x0E\x94\xE4\xF3\x84\xDE\xB6\xDF\x04\x4A\xFB\x39\x14\x06\xA2\xFD\xE7\xF6\xD7\x28\x11\xF9\xA7\x03\xB7\xD7\x07\x49\xEC\xF3\xD3\xE6\x80\xC6\x08\xA9\x01\xE6\xED\x05\xDD\xEB\x0D\x5C\xF8\x86\xF2\xEF\xAF\x01\xE6\xF3\x05\xDD\xEF\x0D\x13\xE7\x81\xD9\xEA\x0B\xD5\x16\x10\xF7\x29\x1F\x91\xA6\xCA\xF3\xC4\x21\x75\xFA\xAC\xF7\xFB\x15\x27\x92\x86\x0A\x73\x3A\xD6\xB7\x03\xEE\xF4\x0E\x08\xDE\xF7\x8B\xD1\x2E\x02\xFC\x01\x16\x25\xC3\x09\x9B\xCD\xA2\xBB\x07\x80\xFC\x05\x88\xFE\x20\x0C\xFC\xBB\xF7\xC8\xDB\x17\x38\x1C\x48\x93\xFA\xEF\xD5\xFC\x71\x14\x0E\x1C\x4B\x86\xC3\x08\x3E\xC8\xA0\xC7\x0E\x5F\x01\xF9\xA0\xFE\x42\x15\xC9\xEA\xE2\xE2\xD3\x12\x02\x35\xF1\xE1\xD5\x30\x00\x63\x46\xC7\x87\xD3\xE4\xD6\xF3\x10\x70\xE9\x89\xC6\x06\xB0\xFC\x3E\x15\xEB\xC9\xC4\xFB\x8F\xE7\x82\xCB\x06\xB9\xF9\x40\x17\xEA\xDE\xF9\xAC\xBF\xF4\x34\x01\xFE\x0F\x11\x1E\x02\xE5\x81\x0D\xFB\x98\xE5\xB8\xD5\x06\xC8\xF9\x48\x36\x07\xE5\xF4\xC4\xC5\xFE\x7C\xFA\x06\xD1\xFB\x48\x32\xEA\xF3\xDD\xFC\xA0\xE6\xB6\xDF\x06\xD9\xFE\x05\xF1\xF9\xEE\xF1\xD8\x89\xF2\xD3", + "\xA1\xFF\x54\x14\x00\x23\xFE\x54\xF1\xAE\xE9\x04\xFA\xFD\x0E\x08\x03\xFD\xCA\xB4\x6D\xDE\x0E\x6F\xFC\x78\x0C\x00\xF2\xFD\xD2\x9A\xD7\x79\x06\xFF\xC9\x0C\x04\x19\xFF\xB0\x79\x8B\x68\x0F\x3D\x7F\xCB\x04\x05\x00\x00\xA1\x6F\x79\x74\x01\x83\x1C\x14\x77\xC4\x7C\x7A\x7D\xA2\x42\x00\x37\x31\xEC\x79\x10\x34\x77\x0D\x83\x6C\x6B\xA0\x47\x00\x11\x80\x7D\x0C\xE0\x55\x80\x03\x06\xCF\x75\xA2\x4C\x00\x19\x83\xF8\x07\x00\xB0\x77\x0B\x69\x04\x01\x02\x8F\x08\x23\x78\x07\x82\x10\x1E\x80\x44\x76\x05\x07\x02\x81\x09\x2C\x03\x08\x80\x00\x21\x18\xE9\x77\x0D\x3D\xDC\x4F\x08\xDD\x7D\x91\x61\xAE\x5C\x00\x36\x80\xD1\x0D\xFD\x46\x7D\xD4\x73\x40\x0D\x01\x2F\x80\x43\x08\x0C\x02\x03\x80\x81\x5F\x7F\x40\x02\x02\x04\x81\x3F\x0A\x90\x7A\x02\x98\x26\x0B\x6B\x09\x0C\x04\x94\x09\x38\x02\x0C\x88\xDA\x44\x75\x2C\x03\x14\x8D\x1D\x3C\x00\x56\x83\x82\x61\x03\x1A\x81\xE0\x07\x98\x7F\x04\x80\x00\x57\x82\xF9\x76\x03\x20\x81\xC9\x04\x11\x02\x03\xAC\x69\xE1\x6B\x0E\x0D\x03\xA5\x0E\xDD\x7C\x82\x77\xF4\x58\x26\x53\x81\x10\x07\xC3\x26\x31\x48\x00\xFA\x71\x07", + "\x8B\x68\x43\x03\x14\x88\x04\x37\x81\x38\x76\x1E\x8C\x3B\x5A\x6B\x4A\x03\x14\x8F\x04\x00\x82\x09\x06\x14\x02\x08\x9C\x7B\x87\x7B\x14\x86\x05\x08\x82\x06\x07\x15\x0B\x08\x86\x04\x5E\x7C\x00\x71\xF0\x53\x81\x5D\x00\x24\x83\x10\x1C\x01\x93\x83\x87\x5A\xAD\x5F\x01\x53\x80\x19\x0A\x09\x82\x04\xB2\x78\xF7\x77\xF6\x73\x64\x66\x03\x14\x8B\x06\x23\x82\x01\x06\x19\x0D\x09\xA6\x7B\x0B\x69\x1B\x03\x05\xB2\x01\xAC\x80\x00\x06\xED\x66\x82\xC0\x75\x8B\x64\x07\x13\x81\x79\x01\x2D\x80\x07\x28\x7F\x32\x6A\x41\x09\x6D\x1A\x6B\x7B\x03\x1B\x86\x10\x3C\x01\xB5\x83\xBA\x76\x3C\x15\x18\x44\x65\xC3\x76\x0C\xBC\x0E\x3B\x6A\x40\x0C\x0C\xA2\x7E\x29\x13\x87\x17\xAE\x3B\x7D\x43\x10\x0D\x86\x10\x16\x83\xD4\x82\x0F\x1A\x03\x82\x04\xC3\x81\x8B\x6F\x07\x0F\x83\x02\x04\x20\x05\x0B\xB6\x01\x03\x7A\x58\x63\x10\x31\x67\x2D\x6A\x20\x04\x0E\xBF\x08\xF3\x7A\xF1\x0A\x0E\x82\x04\xE0\x1A\xB6\x63\x08\x2F\x83\x54\x0A\xBE\x7F\xE4\x73\x83\x01\x05\xD8\x6D\xA2\x44\x02\xF8\x81\x77\x0B\x07\x39\x79\x4D\x6A\x40\x05\x94\x6D\x68\x85\x01\x40\x83\x30\x2A\x18\x09\x05", + "\xB4\x1A\xAD\x46\x02\xF8\x83\x21\x05\x0B\x8E\x7C\xC6\x0E\x95\x62\x10\x33\x18\x9B\x7F\x1C\x16\x11\x81\x04\x76\x65\x37\x86\x34\x1D\x84\x03\x06\x43\x8D\xA2\x49\x02\xF8\x82\x22\x05\x0B\xBF\x01\x03\x7B\x98\x67\x11\x98\x83\x73\x12\x4A\x8C\x11\xAC\x84\x29\x10\x46\x86\x10\x07\x84\xE1\x68\x23\x0A\x10\x8C\x0B\x6C\x82\x40\x0C\x10\x9E\x84\x44\x0F\x8D\x19\x10\x35\x69\x3C\x85\x42\x0D\x08\x35\x82\xDD\x04\x50\x83\x10\x34\x84\x2F\x7F\x4D\x8B\x2D\x06\x85\x02\x04\x95\x19\x11\xA9\x10\x4E\x87\x31\x80\x13\xBE\x10\x51\x87\xE2\x7B\xA0\x50\x02\xF8\x81\x24\x05\x0B\x80\x02\x03\x7B\x9F\x66\x15\x9A\x6B\x93\x00\x3E\x84\x09\x35\x82\x81\x03\x80\x7F\x65\x0D\x83\xDA\x6A\x25\x0A\x14\xA2\x0B\xAC\x5F\x40\x07\x16\x81\x85\xA3\x0D\x5B\x82\x10\x1E\x85\x21\x70\x09\x19\xA8\x46\x04\x3E\x84\x5C\x8C\x3B\x25\x66\x06\x04\xA3\x1F\x14\x97\x07\x97\x00\x51\x80\x1E\x3E\x85\x33\x87\x82\x69\x09\x2B\x85\xFE\x08\x61\x83\x10\x13\x6A\x7A\x84\xF2\x0C\x18\x83\x04\xAD\x65\x63\x85\x40\x0F\x86\x02\x05\xE6\x7F\xEB\x5A\x02\xF8\x83\x26\x05\x0B\x91\x7C\xC6\x0C\xA5\x1F\xAC\x0B", + "\x68\x9D\x00\x3E\x8E\x09\x35\x82\x17\x7E\xF1\x01\x19\x87\x85\x0B\x68\x28\x08\x18\xAF\x0B\xCE\x6A\x40\x07\x1A\xB5\x85\x2B\x11\x6B\x81\x10\x1E\x86\x92\x86\xF7\x03\xB0\x43\x04\x77\x87\x44\x74\x42\x0D\x6C\x03\x04\x5F\x8A\x1B\xAB\x10\x15\x6E\x41\x8B\xA0\x61\x02\xAB\x85\xC1\x01\x1C\x81\x04\x2E\x6D\x6D\x82\x2F\x09\x87\x03\x07\xCF\x6A\x1C\x83\x0C\xCC\x85\x65\x85\xCB\x78\x83\xA3\x01\x2D\x84\x08\x03\x78\x38\x6E\xE4\x7B\xA0\x65\x02\xF8\x82\x29\x05\x0B\x85\x02\x03\x7A\x73\x88\x1A\x9A\x6B\xA8\x01\x71\x83\x25\x07\x6D\x02\x06\x78\x80\x1B\x83\x11\xE8\x85\x40\x09\x1D\xBF\x86\x43\x10\xD4\x61\x12\x8B\x68\xA9\x00\x3E\x8A\x0A\x02\x86\xC9\x06\x48\x83\x10\x0F\x1B\xDA\x68\x2B\x06\x1E\xB4\x07\xC9\x67\x40\x01\x0E\xA1\x6B\xAD\x00\x3E\x8E\x0A\x38\x87\xCB\x07\x80\x82\x10\x18\x6D\x2D\x68\x2C\x07\xC3\x04\x79\x0F\x0B\xB6\x16\x10\x35\x83\xCF\x84\xB3\x02\x21\x83\x04\xFE\x80\x7C\x83\x47\x14\x88\xD2\x67\x82\x63\x0B\x08\x88\xE2\x09\x86\x82\x10\x13\x67\x2D\x69\x2D\x00\x22\xBE\x0B\xE8\x1B\x84\x83\x15\x93\x09\x86\x03\x80\x79\x22\x98\x88\x2B\x88\x7D", + "\x00\xF2\x46\x0F\xF4\x19\x43\x8B\xA0\x77\x02\xF8\x80\x2E\x05\x0B\x88\x02\x03\x79\xDA\x63\x10\x3C\x1B\x7F\x86\xD1\x0E\x23\x82\x04\xF8\x19\x90\x84\x34\x05\x89\x06\x06\x7E\x8D\xCD\x78\x83\xBB\x01\x2D\x89\x08\x03\x78\xDE\x67\x8F\x81\x23\xA5\x0E\x51\x88\x91\x83\x25\xA3\x0E\x40\x88\xD8\x7B\xA0\x7D\x02\xFF\x85\x91\x73\xE0\x59\x89\x02\x8B\x8D\x65\x0B\x80\x03\xB5\x80\xCA\x73\xA3\x71\x6D\xDB\x67\x95\x8C\x3B\x28\x89\x01\x05\xC0\x16\x24\xA5\x0E\x6E\x8A\x96\x8A\xAD\x42\x03\x5D\x8A\x41\x0D\x08\x03\x78\x71\x89\x98\x8A\xAD\x43\x03\xB5\x81\x31\x05\x0B\x8E\x02\xBB\x74\xF6\x56\x10\x1C\x67\x15\x8B\xB6\x02\x28\x83\x04\x79\x8B\x7A\x83\x47\x19\x5E\x06\x05\x8D\x85\x28\xA2\x0B\x79\x6E\x40\x0C\x0E\xA1\x6B\xC7\x01\x9D\x81\x24\x11\x8A\x01\x04\x87\x86\xAF\x48\x03\x96\x8B\x82\x85\xE9\x4A\x04\x22\x8B\xAF\x79\x0C\x1D\x8A\x01\x06\x24\x0B\xDB\x53\x8A\xF4\x82\x9A\x83\x24\x14\x02\xA7\x88\xA8\x8A\x2A\xBF\x08\x96\x03\x6E\x75\x71\x09\x04\x09\x1E\xB6\x6A\x0C\x0F\x88\x44\x0E\xE0\x63\x10\x33\x8A\x8F\x8A\xBF\x04\x79\x46\x04\xB5\x89\x8B\x6D\x0C\x38\x8A", + "\xA5\x0F\x7C\x63\x10\x09\x6E\xE1\x68\x34\x04\x2A\x94\x09\xC6\x88\x38\x8B\xA0\x51\x03\xB5\x83\x34\x05\x0B\x98\x02\x03\x78\xB2\x8E\x2C\x9A\x6B\xD5\x00\x3E\x86\x0D\x35\x82\x99\x03\x80\x71\x7E\x46\x04\xA8\x8B\xAF\x78\x0D\x0B\x8B\x9A\x02\xB7\x8A\x10\x1A\x8A\xBF\x79\x36\x0B\x2C\x89\x7D\x4F\x7B\xB7\x80\x23\x9A\x6B\xDA\x03\xB2\x8E\x09\x39\x79\x56\x1D\x42\x0D\x73\x1A\x6B\xDB\x03\xB2\x8D\x1D\x26\x5F\x06\x05\xBD\x8D\x2B\xAF\x0B\x93\x6F\x40\x07\x2F\xAD\x68\xDC\x03\x89\x8F\x2E\x0D\x68\x03\x05\xDA\x1A\xAD\x5E\x03\xF8\x83\x37\x06\x30\x97\x07\x08\x8E\x40\x0C\x76\x1A\x6B\xE1\x00\x3E\x82\x0E\x0F\x8C\x41\x05\xC4\x81\x10\x1E\x6E\x2D\x68\x39\x08\x0F\xA5\x03\x18\x8E\x42\x0A\x30\x86\x04\x13\x8D\x6D\x87\x0E\x21\x8C\x09\x07\xC8\x83\x10\x1C\x8C\x1A\x8A\x74\x09\x0E\x28\x8C\x24\x8D\xE7\x6F\x2A\xB7\x6B\x30\x8F\xCA\x85\xA1\x73\x8C\xF2\x08\xCB\x82\x10\x29\x6E\xFF\x89\xC1\x0A\x33\x81\x04\x74\x1F\x9B\x83\x3A\x16\x68\xD5\x73\xCC\x8D\x0E\x35\x8C\x02\x06\xDC\x19\x10\x3C\x8C\x2D\x8E\x0F\x1A\x34\x86\x04\x41\x8D\xCF\x8C\xBE\x0A\x04\xB6\x7C\x51\x7F", + "\x0E\x28\x81\xCB\x05\x28\x08\xFE\x51\x8D\xB5\x7F\x82\x64\x0F\x18\x8D\xC3\x06\x29\x0B\x35\x94\x8D\x0B\x69\x3E\x00\x36\x87\x07\xAB\x03\xD8\x8C\x9B\x5A\x6B\xFE\x03\xD9\x82\x1D\x30\x02\x60\x33\xC7\x5C\x35\x8A\x66\x0B\x6B\x00\x0B\x1C\x52\x80\x06\x06\x2D\x01\x37\x8A\x04\x73\x8E\xF3\x76\xAF\x48\x00\x77\x8D\xE1\x1B\x37\x89\x04\x7D\x8E\xF7\x7D\xA2\x4D\x00\x81\x8D\x80\x02\x0C\x2A\x8D\x06\x05\xF9\x73\x07\x80\x00\x12\x01\xE2\x87\x7A\x0C\x8E\x03\x06\xE3\x81\x04\xB0\x3D\x92\x8D\x90\x0C\x0C\x14\x8E\x60\x59\xE1\x69\x39\x83\x09\xD1\x00\xE7\x8E\xF2\x7F\x7A\x21\x03\xE7\x87\x7D\x22\x8E\xD9\x69\x8B\x66\x02\x26\x8E\x54\x0B\x36\x08\x3A\x8B\x71\x25\x6B\x0A\x0C\x3A\x9D\x07\xE0\x03\xEB\x8B\xA0\x70\x00\xB3\x8C\x78\x05\x0E\x36\x8E\xDA\x69\x0D\x09\x3B\x89\x07\xEA\x00\xEA\x8C\x02\xA6\x7F\x3A\x03\xEF\x8B\x1C\x2F\x03\xC2\x8F\x82\x6F\x03\x06\x8F\xC3\x04\x3D\x09\x3C\x9A\x6B\x44\x00\xF3\x87\x1C\x39\x03\xA8\x8E\x36\x81\xAE\x49\x01\x07\x5D\x77\x0E\x0F\x03\x78\x85\x8F\x37\x8F\xEB\x4A\x01\xD9\x8C\x86\x0C\x3D\x85\x7D\x0B\x6B\x12\x02\x3D\xB7\x60\x53", + "\x81\xE1\x88\x04\x96\x82\xB5\x7F\xF9\x87\x1D\x05\x00\xE9\x8C\xF9\x8A\xAD\x55\x01\xEE\x8E\xC4\x51\x3F\x8E\x7D\x2D\x6A\x16\x05\x3F\xBF\x34\xF7\x8D\xB3\x79\xEA\x7B\x8F\x90\x61\xFF\x81\xC6\x4B\x68\x64\x00\x00\x92\x1A\x42\x90\x02\x05\x4E\x8F\xEB\x69\x01\xE1\x8D\x72\x0E\x01\x38\x83\x85\x8E\x1C\x87\x39\x81\x04\x6A\x00\xEB\x8F\x06\x0B\x47\xC6\x3B\x0D\x32\x37\x83\x82\x2D\x69\x1C\x0C\x3A\xB6\x01\x18\x92\x84\x5A\x41\xBC\x8D\x1C\x91\xB8\x68\x07\x2C\x8E\x7D\x01\x08\x9D\xA3\x63\x90\x84\x8C\x84\x7F\xEB\x7F\x01\xAC\x8C\x21\x0A\x42\x94\x82\x2C\x90\xD4\x8E\x42\xB2\x77\x86\x00\xEB\x8B\x08\x33\x90\xC5\x4D\x0D\x93\x10\x05\x8E\x95\x82\xBC\x5D\x08\x2C\x8E\x92\x00\x0F\x92\x10\x3D\x00\x3E\x92\x40\x05\x38\xA7\x7B\x25\x68\x25\x0C\x3A\x99\x02\x46\x91\x40\x0D\x07\xA4\x4F\x24\x91\x2E\x81\xAE\x5B\x02\xAC\x8C\x28\x01\x45\x80\x00\x49\x01\x12\x90\x34\xA7\x82\x25\x6A\x28\x0C\x3A\xA7\x02\x5B\x93\x21\x84\x45\x89\x04\xEB\x5E\x41\x0C\x34\x8A\x8A\x29\x11\x1A\x9F\x43\xB8\x8C\x03\x0F\x1A\x91\x10\x27\x1D\xDA\x69\x2A\x0D\x40\x9B\x0B\x19\x69\xC2\x84\xCC", + "\x5B\x91\xAC\x03\x16\x95\x05\x39\x88\x0A\x05\xC9\x81\xAE\x6E\x02\x5B\x90\x2C\x0B\x45\x8F\x82\xC6\x0D\x1E\x94\x5E\x6D\x68\xB2\x03\x1D\x93\x1C\x17\x01\x80\x91\x42\x0F\x33\xB2\x77\xB3\x03\x16\x95\x0B\x1B\x91\x58\x00\x3E\x80\xA2\x7A\x91\x80\x7F\xC1\x58\x0B\x1B\x91\x59\x02\x26\x91\x48\x9F\x68\x07\x5F\x2E\x0B\x45\x9A\x01\xA2\x92\x24\x9B\x25\x87\x5C\xBE\x03\x16\x9B\x05\x0C\x89\x0A\x07\xDF\x1A\xAD\x40\x03\x8E\x92\xBF\x07\xA2\x5C\x92\x2D\x69\x30\x07\x70\x42\x03\x5B\x90\x17\x00\x4B\x89\x04\x82\x92\xBD\x64\x0C\x07\x5C\xC5\x03\x16\x99\x09\x86\x0F\xB7\x92\x40\x03\x49\xB3\x64\xC7\x03\xC1\x58\x0C\x1B\x91\x5E\x00\x3E\x83\xBC\x41\x04\xB2\x91\x8B\x6A\x0C\x35\x92\xEF\x0B\x34\x90\x00\x2A\x8C\xF6\x6B\x32\x07\x70\x4C\x03\x5B\x90\x28\x86\x3C\x1A\x93\xC1\x93\xAF\x7E\x0C\x07\x5C\xCF\x03\x16\x90\x06\x12\x93\x32\x8E\xB6\x61\x0D\x07\x5C\xD2\x03\x16\x91\x06\x38\x83\xD0\x6D\xB4\x5C\x80\x46\x31\x17\x61\xB8\x56\xC6\x30\x5F\xC4\x6C\x0F\x4B\x20\x7B\x65\xE9\x19\x0F\x63\xD8\x46\x0F\x4D\x6C\x40\x98\xA2\x4E\x34\xFF\x93\xF8\x60\x1B\x3E\x46\x8D\x3E", + "\x41\x97\xA5\x4E\x34\x92\x31\x3E\x92\x76\x65\x07\xA1\x33\xB4\x50\xC1\x44\x05\x13\x6B\x3F\x0A\x83\x53\x66\x0E\x36\xD6\x4C\x15\x06\x61\x35\x3E\x22\x3F\x51\xB2\x5B\x22\x97\x07\x62\x6F\x5F\x5C\x6C\x04\x4A\x92\x15\x1F\x5C\x5C\x04\x4B\x97\x82\x72\x5B\xFF\x6C\x00\x0F\xBF\x7F\x03\x3A\x40\x57\x05\x53\xAF\x60\x30\x96\xBC\x5C\x24\x6D\x4A\x3F\x32\x0C\x61\x14\x3E\x40\x5C\x06\x0F\x4E\xD0\x25\x62\x4C\x04\x51\x9A\xF6\x03\x95\x86\x09\x01\x57\x3E\x41\x05\x82\x34\x4B\x9D\x54\x8C\x95\x4B\x94\x09\x56\x09\x50\x95\x67\x92\x06\x5B\xF1\x6A\x50\xB7\x62\x52\x93\x99\x5A\x95\xCD\x64\x57\x93\x10\x35\x94\x82\x34\x58\x9A\x10\x22\x95\xCC\x62\x54\x9F\x55\x94\x95\xD8\x62\x57\x91\x8C\x5F\x50\x69\x62\x5A\x99\x1B\x68\x95\x57\x6A\x5B\x91\x7F\x70\x95\xCB\x4E\x12\x46\x56\xB5\x95\x68\x63\x5D\x92\x2C\x7A\x95\x3C\x95\x36\x5C\x16\x21\x62\x52\x04\x2D\x5E\xD0\x02\x96\x38\x61\xB8\x5A\x21\x6C\x05\x87\x96\x54\x0A\x21\x4E\x34\x8B\x95\x50\x0D\x58\xAB\x53\x5C\x04\x2B\x6E\x14\x12\x96\x43\x04\x89\x4C\x15\x04\x50\x6C\x04\x66\x92\x15\x2B\x5B\x41\x04\x01\x5E\xD0\x10", + "\x51\x6C\x04\x68\x92\x15\x10\x51\x5C\x04\x69\x91\x14\x26\x96\x9B\x50\x6C\x09\x8F\x43\x05\x6F\x4A\x48\x9D\x5A\x81\x05\xAF\x95\x6A\x93\x10\x2E\x96\xDC\x4E\x19\x6E\xB4\x76\x96\xB1\x66\x6C\x9C\x6F\x78\x96\xC9\x4F\x9B\x4D\x5B\x99\x95\xBE\x94\x6C\x90\x5C\x83\x97\x04\x97\x9B\x4E\xD0\x06\x97\xC2\x95\x71\x99\x54\x88\x97\xBA\x96\x43\x9D\x0C\x54\x5B\x6F\x48\x57\x01\x5D\x89\x97\xD0\x96\xBC\x53\x5D\x8D\x97\x05\x95\x40\x07\x5D\xB8\x96\xFB\x93\x2B\x5C\x5D\x94\x97\x71\x96\x77\x9E\x86\x70\x06\xF5\x62\x54\x0C\x43\x5C\x05\xC6\x4A\x52\x09\x5E\xBF\x03\xF8\x59\x50\x00\x90\x4C\x05\xEF\x96\x51\x00\x88\x5C\x05\x80\x62\x43\x35\x2F\x4F\x4C\x3F\x31\xB9\x51\x14\x3A\x97\x89\x53\xF2\x4C\x5F\x8E\x52\xD1\x5B\x7F\x94\x48\x41\x98\xF2\x5A\x80\x93\x10\x11\x62\x6C\x04\x82\x92\x15\x11\x62\x0E\x34\x83\x91\x14\x0E\x98\x93\x51\xB4\x59\x28\x47\x05\x13\x9A\x4F\x08\xF8\x0E\x34\x17\x99\x50\x09\x61\xA4\x47\x48\x6C\x25\x54\x6D\x74\x4E\x4C\x04\x88\x96\x14\x3C\x32\x5C\x04\x89\x91\x14\x26\x98\x23\x66\xF2\x48\x62\x82\x60\xE1\x5B\x8A\x99\xC1\x32\x5B\xD4\x46\x50", + "\x4F\x0F\x0A\x38\x5C\x04\x8D\x91\x14\x36\x98\xE1\x58", + }; + vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); + } - const wchar_t* RuleParserRuleName(vl::vint index) - { - static const wchar_t* results[] = { - L"Cond0", - L"Cond1", - L"Cond2", - L"Cond", - L"SwitchItem", - L"Switches", - L"OptionalBody", - L"TestBranch", - L"Token", - L"Syntax0", - L"Syntax1", - L"Syntax2", - L"Syntax", - L"AssignmentOp", - L"Assignment", - L"Clause", - L"Placeholder", - L"RuleName", - L"LriConfig", - L"LriContinuationBody", - L"LriContinuation", - L"LriTarget", - L"Rule", - L"File", - }; - return results[index]; - } + const wchar_t* RuleParserRuleName(vl::vint index) + { + static const wchar_t* results[] = { + L"Cond0", + L"Cond1", + L"Cond2", + L"Cond", + L"SwitchItem", + L"Switches", + L"OptionalBody", + L"TestBranch", + L"Token", + L"Syntax0", + L"Syntax1", + L"Syntax2", + L"Syntax", + L"AssignmentOp", + L"Assignment", + L"Clause", + L"Placeholder", + L"RuleName", + L"LriConfig", + L"LriContinuationBody", + L"LriContinuation", + L"LriTarget", + L"Rule", + L"File", + }; + return results[index]; + } - const wchar_t* RuleParserStateLabel(vl::vint index) - { - static const wchar_t* results[] = { - L"[0][Cond0] BEGIN ", - L"[1][Cond0] END [ENDING]", - L"[2][Cond0]< \"!\" @ Cond0 >", - L"[3][Cond0]< \"!\" Cond0 @ >", - L"[4][Cond0]< ID @ >", - L"[5][Cond0]<< \"(\" !Cond \")\" @ >>", - L"[6][Cond0]<< \"(\" !Cond @ \")\" >>", - L"[7][Cond0]<< \"(\" @ !Cond \")\" >>", - L"[8][Cond1] BEGIN ", - L"[9][Cond1] END [ENDING]", - L"[10][Cond1]< Cond1 \"&&\" @ Cond0 >", - L"[11][Cond1]< Cond1 \"&&\" Cond0 @ >", - L"[12][Cond1]< Cond1 @ \"&&\" Cond0 >", - L"[13][Cond1]<< !Cond0 @ >>", - L"[14][Cond2] BEGIN ", - L"[15][Cond2] END [ENDING]", - L"[16][Cond2]< Cond2 \"||\" @ Cond1 >", - L"[17][Cond2]< Cond2 \"||\" Cond1 @ >", - L"[18][Cond2]< Cond2 @ \"||\" Cond1 >", - L"[19][Cond2]<< !Cond1 @ >>", - L"[20][Cond] BEGIN ", - L"[21][Cond] END [ENDING]", - L"[22][Cond]<< !Cond2 @ >>", - L"[23][SwitchItem] BEGIN ", - L"[24][SwitchItem] END [ENDING]", - L"[25][SwitchItem]< \"!\" @ ID >", - L"[26][SwitchItem]< \"!\" ID @ >", - L"[27][SwitchItem]< ID @ >", - L"[28][Switches] BEGIN ", - L"[29][Switches] END [ENDING]", - L"[30][Switches]\"switch\" @ { SwitchItem ; \",\" } \";\"", - L"[31][Switches]\"switch\" { SwitchItem ; \",\" @ } \";\"", - L"[32][Switches]\"switch\" { SwitchItem ; \",\" } \";\" @", - L"[33][Switches]\"switch\" { SwitchItem @ ; \",\" } \";\"", - L"[34][OptionalBody] BEGIN ", - L"[35][OptionalBody] END [ENDING]", - L"[36][OptionalBody]\"[\" @ Syntax \"]\"", - L"[37][OptionalBody]\"[\" Syntax \"]\" @", - L"[38][OptionalBody]\"[\" Syntax @ \"]\"", - L"[39][TestBranch] BEGIN ", - L"[40][TestBranch] END [ENDING]", - L"[41][TestBranch]< Cond \":\" ( Syntax1 @ | \";\" ) >", - L"[42][TestBranch]< Cond \":\" ( Syntax1 | \";\" @ ) >", - L"[43][TestBranch]< Cond \":\" @ ( Syntax1 | \";\" ) >", - L"[44][TestBranch]< Cond @ \":\" ( Syntax1 | \";\" ) >", - L"[45][Token] BEGIN ", - L"[46][Token] END [ENDING]", - L"[47][Token]CONDITIONAL_LITERAL @", - L"[48][Token]ID @", - L"[49][Token]STRING @", - L"[50][Syntax0] BEGIN ", - L"[51][Syntax0] END [ENDING]", - L"[52][Syntax0]< \"!\" @ ID >", - L"[53][Syntax0]< \"!\" ID @ >", - L"[54][Syntax0]< \"!(\" @ { SwitchItem ; \",\" } \";\" Syntax \")\" >", - L"[55][Syntax0]< \"!(\" { SwitchItem ; \",\" @ } \";\" Syntax \")\" >", - L"[56][Syntax0]< \"!(\" { SwitchItem ; \",\" } \";\" @ Syntax \")\" >", - L"[57][Syntax0]< \"!(\" { SwitchItem ; \",\" } \";\" Syntax \")\" @ >", - L"[58][Syntax0]< \"!(\" { SwitchItem ; \",\" } \";\" Syntax @ \")\" >", - L"[59][Syntax0]< \"!(\" { SwitchItem @ ; \",\" } \";\" Syntax \")\" >", - L"[60][Syntax0]< \"+\" @ OptionalBody >", - L"[61][Syntax0]< \"+\" OptionalBody @ >", - L"[62][Syntax0]< \"-\" @ OptionalBody >", - L"[63][Syntax0]< \"-\" OptionalBody @ >", - L"[64][Syntax0]< \"?(\" @ TestBranch { \"|\" TestBranch } \")\" >", - L"[65][Syntax0]< \"?(\" TestBranch @ { \"|\" TestBranch } \")\" >", - L"[66][Syntax0]< \"?(\" TestBranch { \"|\" @ TestBranch } \")\" >", - L"[67][Syntax0]< \"?(\" TestBranch { \"|\" TestBranch @ } \")\" >", - L"[68][Syntax0]< \"?(\" TestBranch { \"|\" TestBranch } \")\" @ >", - L"[69][Syntax0]< \"{\" @ Syntax [ \";\" Syntax ] \"}\" >", - L"[70][Syntax0]< \"{\" Syntax @ [ \";\" Syntax ] \"}\" >", - L"[71][Syntax0]< \"{\" Syntax [ \";\" @ Syntax ] \"}\" >", - L"[72][Syntax0]< \"{\" Syntax [ \";\" Syntax @ ] \"}\" >", - L"[73][Syntax0]< \"{\" Syntax [ \";\" Syntax ] \"}\" @ >", - L"[74][Syntax0]< OptionalBody @ >", - L"[75][Syntax0]< Token @ [ \":\" ID ] >", - L"[76][Syntax0]< Token [ \":\" @ ID ] >", - L"[77][Syntax0]< Token [ \":\" ID @ ] >", - L"[78][Syntax0]<< \"(\" !Syntax \")\" @ >>", - L"[79][Syntax0]<< \"(\" !Syntax @ \")\" >>", - L"[80][Syntax0]<< \"(\" @ !Syntax \")\" >>", - L"[81][Syntax1] BEGIN ", - L"[82][Syntax1] END [ENDING]", - L"[83][Syntax1]< Syntax1 @ Syntax0 >", - L"[84][Syntax1]< Syntax1 Syntax0 @ >", - L"[85][Syntax1]<< !Syntax0 @ >>", - L"[86][Syntax2] BEGIN ", - L"[87][Syntax2] END [ENDING]", - L"[88][Syntax2]< Syntax2 \"|\" @ Syntax1 >", - L"[89][Syntax2]< Syntax2 \"|\" Syntax1 @ >", - L"[90][Syntax2]< Syntax2 @ \"|\" Syntax1 >", - L"[91][Syntax2]<< !Syntax1 @ >>", - L"[92][Syntax] BEGIN ", - L"[93][Syntax] END [ENDING]", - L"[94][Syntax]<< !Syntax2 @ >>", - L"[95][AssignmentOp] BEGIN ", - L"[96][AssignmentOp] END [ENDING]", - L"[97][AssignmentOp]\"=\" @", - L"[98][AssignmentOp]\"?=\" @", - L"[99][Assignment] BEGIN ", - L"[100][Assignment] END [ENDING]", - L"[101][Assignment]< ID @ AssignmentOp ID >", - L"[102][Assignment]< ID AssignmentOp @ ID >", - L"[103][Assignment]< ID AssignmentOp ID @ >", - L"[104][Clause] BEGIN ", - L"[105][Clause] END [ENDING]", - L"[106][Clause]< \"!\" \"prefix_merge\" \"(\" @ RuleName \")\" >", - L"[107][Clause]< \"!\" \"prefix_merge\" \"(\" RuleName \")\" @ >", - L"[108][Clause]< \"!\" \"prefix_merge\" \"(\" RuleName @ \")\" >", - L"[109][Clause]< \"!\" \"prefix_merge\" @ \"(\" RuleName \")\" >", - L"[110][Clause]< \"!\" @ \"prefix_merge\" \"(\" RuleName \")\" >", - L"[111][Clause]< \"!\" @ RuleName LriContinuation >", - L"[112][Clause]< \"!\" RuleName @ LriContinuation >", - L"[113][Clause]< \"!\" RuleName LriContinuation @ >", - L"[114][Clause]< \"left_recursion_placeholder\" \"(\" @ Placeholder { \",\" Placeholder } \")\" >", - L"[115][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder @ { \",\" Placeholder } \")\" >", - L"[116][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder { \",\" @ Placeholder } \")\" >", - L"[117][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder { \",\" Placeholder @ } \")\" >", - L"[118][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder { \",\" Placeholder } \")\" @ >", - L"[119][Clause]< \"left_recursion_placeholder\" @ \"(\" Placeholder { \",\" Placeholder } \")\" >", - L"[120][Clause]< Syntax \"as\" \"partial\" @ ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[121][Clause]< Syntax \"as\" \"partial\" ID @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[122][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", - L"[123][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", - L"[124][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", - L"[125][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", - L"[126][Clause]< Syntax \"as\" @ \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[127][Clause]< Syntax \"as\" @ ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[128][Clause]< Syntax \"as\" ID @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[129][Clause]< Syntax \"as\" ID [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", - L"[130][Clause]< Syntax \"as\" ID [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", - L"[131][Clause]< Syntax \"as\" ID [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", - L"[132][Clause]< Syntax \"as\" ID [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", - L"[133][Clause]< Syntax @ \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[134][Clause]< Syntax @ \"as\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[135][Clause]< Syntax @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[136][Clause]< Syntax [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", - L"[137][Clause]< Syntax [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", - L"[138][Clause]< Syntax [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", - L"[139][Clause]< Syntax [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", - L"[140][Placeholder] BEGIN ", - L"[141][Placeholder] END [ENDING]", - L"[142][Placeholder]< ID @ >", - L"[143][RuleName] BEGIN ", - L"[144][RuleName] END [ENDING]", - L"[145][RuleName]< ID @ >", - L"[146][LriConfig] BEGIN ", - L"[147][LriConfig] END [ENDING]", - L"[148][LriConfig]\"left_recursion_inject\" @", - L"[149][LriConfig]\"left_recursion_inject_multiple\" @", - L"[150][LriContinuationBody] BEGIN ", - L"[151][LriContinuationBody] END [ENDING]", - L"[152][LriContinuationBody]LriConfig \"(\" @ Placeholder { \",\" Placeholder } \")\" LriTarget { \"|\" LriTarget }", - L"[153][LriContinuationBody]LriConfig \"(\" Placeholder @ { \",\" Placeholder } \")\" LriTarget { \"|\" LriTarget }", - L"[154][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" @ Placeholder } \")\" LriTarget { \"|\" LriTarget }", - L"[155][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" Placeholder @ } \")\" LriTarget { \"|\" LriTarget }", - L"[156][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" Placeholder } \")\" @ LriTarget { \"|\" LriTarget }", - L"[157][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" Placeholder } \")\" LriTarget @ { \"|\" LriTarget }", - L"[158][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" Placeholder } \")\" LriTarget { \"|\" @ LriTarget }", - L"[159][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" Placeholder } \")\" LriTarget { \"|\" LriTarget @ }", - L"[160][LriContinuationBody]LriConfig @ \"(\" Placeholder { \",\" Placeholder } \")\" LriTarget { \"|\" LriTarget }", - L"[161][LriContinuation] BEGIN ", - L"[162][LriContinuation] END [ENDING]", - L"[163][LriContinuation]< \"[\" @ LriContinuationBody \"]\" >", - L"[164][LriContinuation]< \"[\" LriContinuationBody \"]\" @ >", - L"[165][LriContinuation]< \"[\" LriContinuationBody @ \"]\" >", - L"[166][LriContinuation]< LriContinuationBody @ >", - L"[167][LriTarget] BEGIN ", - L"[168][LriTarget] END [ENDING]", - L"[169][LriTarget]< \"(\" @ RuleName LriContinuation \")\" >", - L"[170][LriTarget]< \"(\" RuleName @ LriContinuation \")\" >", - L"[171][LriTarget]< \"(\" RuleName LriContinuation \")\" @ >", - L"[172][LriTarget]< \"(\" RuleName LriContinuation @ \")\" >", - L"[173][LriTarget]< RuleName @ >", - L"[174][Rule] BEGIN ", - L"[175][Rule] END [ENDING]", - L"[176][Rule]< ID @ [ \":\" ID ] { \"::=\" Clause } \";\" >", - L"[177][Rule]< ID [ \":\" @ ID ] { \"::=\" Clause } \";\" >", - L"[178][Rule]< ID [ \":\" ID @ ] { \"::=\" Clause } \";\" >", - L"[179][Rule]< ID [ \":\" ID ] { \"::=\" @ Clause } \";\" >", - L"[180][Rule]< ID [ \":\" ID ] { \"::=\" Clause @ } \";\" >", - L"[181][Rule]< ID [ \":\" ID ] { \"::=\" Clause } \";\" @ >", - L"[182][File] BEGIN ", - L"[183][File] END [ENDING]", - L"[184][File]< [ Switches @ ] Rule { Rule } >", - L"[185][File]< [ Switches ] Rule @ { Rule } >", - L"[186][File]< [ Switches ] Rule { Rule @ } >", - }; - return results[index]; - } + const wchar_t* RuleParserStateLabel(vl::vint index) + { + static const wchar_t* results[] = { + L"[0][Cond0] BEGIN ", + L"[1][Cond0] END [ENDING]", + L"[2][Cond0]< \"!\" @ Cond0 >", + L"[3][Cond0]< \"!\" Cond0 @ >", + L"[4][Cond0]< ID @ >", + L"[5][Cond0]<< \"(\" !Cond \")\" @ >>", + L"[6][Cond0]<< \"(\" !Cond @ \")\" >>", + L"[7][Cond0]<< \"(\" @ !Cond \")\" >>", + L"[8][Cond1] BEGIN ", + L"[9][Cond1] END [ENDING]", + L"[10][Cond1]< Cond1 \"&&\" @ Cond0 >", + L"[11][Cond1]< Cond1 \"&&\" Cond0 @ >", + L"[12][Cond1]< Cond1 @ \"&&\" Cond0 >", + L"[13][Cond1]<< !Cond0 @ >>", + L"[14][Cond2] BEGIN ", + L"[15][Cond2] END [ENDING]", + L"[16][Cond2]< Cond2 \"||\" @ Cond1 >", + L"[17][Cond2]< Cond2 \"||\" Cond1 @ >", + L"[18][Cond2]< Cond2 @ \"||\" Cond1 >", + L"[19][Cond2]<< !Cond1 @ >>", + L"[20][Cond] BEGIN ", + L"[21][Cond] END [ENDING]", + L"[22][Cond]<< !Cond2 @ >>", + L"[23][SwitchItem] BEGIN ", + L"[24][SwitchItem] END [ENDING]", + L"[25][SwitchItem]< \"!\" @ ID >", + L"[26][SwitchItem]< \"!\" ID @ >", + L"[27][SwitchItem]< ID @ >", + L"[28][Switches] BEGIN ", + L"[29][Switches] END [ENDING]", + L"[30][Switches]\"switch\" @ { SwitchItem ; \",\" } \";\"", + L"[31][Switches]\"switch\" { SwitchItem ; \",\" @ } \";\"", + L"[32][Switches]\"switch\" { SwitchItem ; \",\" } \";\" @", + L"[33][Switches]\"switch\" { SwitchItem @ ; \",\" } \";\"", + L"[34][OptionalBody] BEGIN ", + L"[35][OptionalBody] END [ENDING]", + L"[36][OptionalBody]\"[\" @ Syntax \"]\"", + L"[37][OptionalBody]\"[\" Syntax \"]\" @", + L"[38][OptionalBody]\"[\" Syntax @ \"]\"", + L"[39][TestBranch] BEGIN ", + L"[40][TestBranch] END [ENDING]", + L"[41][TestBranch]< Cond \":\" ( Syntax1 @ | \";\" ) >", + L"[42][TestBranch]< Cond \":\" ( Syntax1 | \";\" @ ) >", + L"[43][TestBranch]< Cond \":\" @ ( Syntax1 | \";\" ) >", + L"[44][TestBranch]< Cond @ \":\" ( Syntax1 | \";\" ) >", + L"[45][Token] BEGIN ", + L"[46][Token] END [ENDING]", + L"[47][Token]CONDITIONAL_LITERAL @", + L"[48][Token]ID @", + L"[49][Token]STRING @", + L"[50][Syntax0] BEGIN ", + L"[51][Syntax0] END [ENDING]", + L"[52][Syntax0]< \"!\" @ ID >", + L"[53][Syntax0]< \"!\" ID @ >", + L"[54][Syntax0]< \"!(\" @ { SwitchItem ; \",\" } \";\" Syntax \")\" >", + L"[55][Syntax0]< \"!(\" { SwitchItem ; \",\" @ } \";\" Syntax \")\" >", + L"[56][Syntax0]< \"!(\" { SwitchItem ; \",\" } \";\" @ Syntax \")\" >", + L"[57][Syntax0]< \"!(\" { SwitchItem ; \",\" } \";\" Syntax \")\" @ >", + L"[58][Syntax0]< \"!(\" { SwitchItem ; \",\" } \";\" Syntax @ \")\" >", + L"[59][Syntax0]< \"!(\" { SwitchItem @ ; \",\" } \";\" Syntax \")\" >", + L"[60][Syntax0]< \"+\" @ OptionalBody >", + L"[61][Syntax0]< \"+\" OptionalBody @ >", + L"[62][Syntax0]< \"-\" @ OptionalBody >", + L"[63][Syntax0]< \"-\" OptionalBody @ >", + L"[64][Syntax0]< \"?(\" @ TestBranch { \"|\" TestBranch } \")\" >", + L"[65][Syntax0]< \"?(\" TestBranch @ { \"|\" TestBranch } \")\" >", + L"[66][Syntax0]< \"?(\" TestBranch { \"|\" @ TestBranch } \")\" >", + L"[67][Syntax0]< \"?(\" TestBranch { \"|\" TestBranch @ } \")\" >", + L"[68][Syntax0]< \"?(\" TestBranch { \"|\" TestBranch } \")\" @ >", + L"[69][Syntax0]< \"{\" @ Syntax [ \";\" Syntax ] \"}\" >", + L"[70][Syntax0]< \"{\" Syntax @ [ \";\" Syntax ] \"}\" >", + L"[71][Syntax0]< \"{\" Syntax [ \";\" @ Syntax ] \"}\" >", + L"[72][Syntax0]< \"{\" Syntax [ \";\" Syntax @ ] \"}\" >", + L"[73][Syntax0]< \"{\" Syntax [ \";\" Syntax ] \"}\" @ >", + L"[74][Syntax0]< OptionalBody @ >", + L"[75][Syntax0]< Token @ [ \":\" ID ] >", + L"[76][Syntax0]< Token [ \":\" @ ID ] >", + L"[77][Syntax0]< Token [ \":\" ID @ ] >", + L"[78][Syntax0]<< \"(\" !Syntax \")\" @ >>", + L"[79][Syntax0]<< \"(\" !Syntax @ \")\" >>", + L"[80][Syntax0]<< \"(\" @ !Syntax \")\" >>", + L"[81][Syntax1] BEGIN ", + L"[82][Syntax1] END [ENDING]", + L"[83][Syntax1]< Syntax1 @ Syntax0 >", + L"[84][Syntax1]< Syntax1 Syntax0 @ >", + L"[85][Syntax1]<< !Syntax0 @ >>", + L"[86][Syntax2] BEGIN ", + L"[87][Syntax2] END [ENDING]", + L"[88][Syntax2]< Syntax2 \"|\" @ Syntax1 >", + L"[89][Syntax2]< Syntax2 \"|\" Syntax1 @ >", + L"[90][Syntax2]< Syntax2 @ \"|\" Syntax1 >", + L"[91][Syntax2]<< !Syntax1 @ >>", + L"[92][Syntax] BEGIN ", + L"[93][Syntax] END [ENDING]", + L"[94][Syntax]<< !Syntax2 @ >>", + L"[95][AssignmentOp] BEGIN ", + L"[96][AssignmentOp] END [ENDING]", + L"[97][AssignmentOp]\"=\" @", + L"[98][AssignmentOp]\"?=\" @", + L"[99][Assignment] BEGIN ", + L"[100][Assignment] END [ENDING]", + L"[101][Assignment]< ID @ AssignmentOp ID >", + L"[102][Assignment]< ID AssignmentOp @ ID >", + L"[103][Assignment]< ID AssignmentOp ID @ >", + L"[104][Clause] BEGIN ", + L"[105][Clause] END [ENDING]", + L"[106][Clause]< \"!\" \"prefix_merge\" \"(\" @ RuleName \")\" >", + L"[107][Clause]< \"!\" \"prefix_merge\" \"(\" RuleName \")\" @ >", + L"[108][Clause]< \"!\" \"prefix_merge\" \"(\" RuleName @ \")\" >", + L"[109][Clause]< \"!\" \"prefix_merge\" @ \"(\" RuleName \")\" >", + L"[110][Clause]< \"!\" @ \"prefix_merge\" \"(\" RuleName \")\" >", + L"[111][Clause]< \"!\" @ RuleName LriContinuation >", + L"[112][Clause]< \"!\" RuleName @ LriContinuation >", + L"[113][Clause]< \"!\" RuleName LriContinuation @ >", + L"[114][Clause]< \"left_recursion_placeholder\" \"(\" @ Placeholder { \",\" Placeholder } \")\" >", + L"[115][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder @ { \",\" Placeholder } \")\" >", + L"[116][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder { \",\" @ Placeholder } \")\" >", + L"[117][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder { \",\" Placeholder @ } \")\" >", + L"[118][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder { \",\" Placeholder } \")\" @ >", + L"[119][Clause]< \"left_recursion_placeholder\" @ \"(\" Placeholder { \",\" Placeholder } \")\" >", + L"[120][Clause]< Syntax \"as\" \"partial\" @ ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[121][Clause]< Syntax \"as\" \"partial\" ID @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[122][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", + L"[123][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", + L"[124][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", + L"[125][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", + L"[126][Clause]< Syntax \"as\" @ \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[127][Clause]< Syntax \"as\" @ ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[128][Clause]< Syntax \"as\" ID @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[129][Clause]< Syntax \"as\" ID [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", + L"[130][Clause]< Syntax \"as\" ID [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", + L"[131][Clause]< Syntax \"as\" ID [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", + L"[132][Clause]< Syntax \"as\" ID [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", + L"[133][Clause]< Syntax @ \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[134][Clause]< Syntax @ \"as\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[135][Clause]< Syntax @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[136][Clause]< Syntax [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", + L"[137][Clause]< Syntax [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", + L"[138][Clause]< Syntax [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", + L"[139][Clause]< Syntax [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", + L"[140][Placeholder] BEGIN ", + L"[141][Placeholder] END [ENDING]", + L"[142][Placeholder]< ID @ >", + L"[143][RuleName] BEGIN ", + L"[144][RuleName] END [ENDING]", + L"[145][RuleName]< ID @ >", + L"[146][LriConfig] BEGIN ", + L"[147][LriConfig] END [ENDING]", + L"[148][LriConfig]\"left_recursion_inject\" @", + L"[149][LriConfig]\"left_recursion_inject_multiple\" @", + L"[150][LriContinuationBody] BEGIN ", + L"[151][LriContinuationBody] END [ENDING]", + L"[152][LriContinuationBody]LriConfig \"(\" @ Placeholder { \",\" Placeholder } \")\" LriTarget { \"|\" LriTarget }", + L"[153][LriContinuationBody]LriConfig \"(\" Placeholder @ { \",\" Placeholder } \")\" LriTarget { \"|\" LriTarget }", + L"[154][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" @ Placeholder } \")\" LriTarget { \"|\" LriTarget }", + L"[155][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" Placeholder @ } \")\" LriTarget { \"|\" LriTarget }", + L"[156][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" Placeholder } \")\" @ LriTarget { \"|\" LriTarget }", + L"[157][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" Placeholder } \")\" LriTarget @ { \"|\" LriTarget }", + L"[158][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" Placeholder } \")\" LriTarget { \"|\" @ LriTarget }", + L"[159][LriContinuationBody]LriConfig \"(\" Placeholder { \",\" Placeholder } \")\" LriTarget { \"|\" LriTarget @ }", + L"[160][LriContinuationBody]LriConfig @ \"(\" Placeholder { \",\" Placeholder } \")\" LriTarget { \"|\" LriTarget }", + L"[161][LriContinuation] BEGIN ", + L"[162][LriContinuation] END [ENDING]", + L"[163][LriContinuation]< \"[\" @ LriContinuationBody \"]\" >", + L"[164][LriContinuation]< \"[\" LriContinuationBody \"]\" @ >", + L"[165][LriContinuation]< \"[\" LriContinuationBody @ \"]\" >", + L"[166][LriContinuation]< LriContinuationBody @ >", + L"[167][LriTarget] BEGIN ", + L"[168][LriTarget] END [ENDING]", + L"[169][LriTarget]< \"(\" @ RuleName LriContinuation \")\" >", + L"[170][LriTarget]< \"(\" RuleName @ LriContinuation \")\" >", + L"[171][LriTarget]< \"(\" RuleName LriContinuation \")\" @ >", + L"[172][LriTarget]< \"(\" RuleName LriContinuation @ \")\" >", + L"[173][LriTarget]< RuleName @ >", + L"[174][Rule] BEGIN ", + L"[175][Rule] END [ENDING]", + L"[176][Rule]< [ \"@public\" @ ] [ \"@parser\" ] ID [ \":\" ID ] { \"::=\" Clause } \";\" >", + L"[177][Rule]< [ \"@public\" ] [ \"@parser\" @ ] ID [ \":\" ID ] { \"::=\" Clause } \";\" >", + L"[178][Rule]< [ \"@public\" ] [ \"@parser\" ] ID @ [ \":\" ID ] { \"::=\" Clause } \";\" >", + L"[179][Rule]< [ \"@public\" ] [ \"@parser\" ] ID [ \":\" @ ID ] { \"::=\" Clause } \";\" >", + L"[180][Rule]< [ \"@public\" ] [ \"@parser\" ] ID [ \":\" ID @ ] { \"::=\" Clause } \";\" >", + L"[181][Rule]< [ \"@public\" ] [ \"@parser\" ] ID [ \":\" ID ] { \"::=\" @ Clause } \";\" >", + L"[182][Rule]< [ \"@public\" ] [ \"@parser\" ] ID [ \":\" ID ] { \"::=\" Clause @ } \";\" >", + L"[183][Rule]< [ \"@public\" ] [ \"@parser\" ] ID [ \":\" ID ] { \"::=\" Clause } \";\" @ >", + L"[184][File] BEGIN ", + L"[185][File] END [ENDING]", + L"[186][File]< [ Switches @ ] Rule { Rule } >", + L"[187][File]< [ Switches ] Rule @ { Rule } >", + L"[188][File]< [ Switches ] Rule { Rule @ } >", + }; + return results[index]; + } - RuleParser::RuleParser() - : vl::glr::ParserBase(&ParserGenTokenDeleter, &ParserGenLexerData, &ParserGenRuleParserData) - { - }; + RuleParser::RuleParser() + : vl::glr::ParserBase(&ParserGenTokenDeleter, &ParserGenLexerData, &ParserGenRuleParserData) + { + } - vl::vint32_t RuleParser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const - { - return -1; - }; + vl::WString RuleParser::GetClassName(vl::vint32_t classIndex) const + { + return vl::WString::Unmanaged(ParserGenTypeName((ParserGenClasses)classIndex)); + } - vl::Ptr RuleParser::ParseFile(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); - }; + vl::vint32_t RuleParser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const + { + return -1; + } - vl::Ptr RuleParser::ParseFile(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; - } + vl::Ptr RuleParser::ParseFile(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } + + vl::Ptr RuleParser::ParseFile(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); } } @@ -13301,154 +13293,135 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen { - namespace glr - { - namespace parsergen - { /*********************************************************************** Visitor Pattern Implementation ***********************************************************************/ - void GlrEnum::Accept(GlrType::IVisitor* visitor) - { - visitor->Visit(this); - } + void GlrEnum::Accept(GlrType::IVisitor* visitor) + { + visitor->Visit(this); + } - void GlrClass::Accept(GlrType::IVisitor* visitor) - { - visitor->Visit(this); - } - } + void GlrClass::Accept(GlrType::IVisitor* visitor) + { + visitor->Visit(this); } } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrType, glr::parsergen::GlrType) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrType::IVisitor, glr::parsergen::GlrType::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrEnumItem, glr::parsergen::GlrEnumItem) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrEnum, glr::parsergen::GlrEnum) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrPropType, glr::parsergen::GlrPropType) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrClassProp, glr::parsergen::GlrClassProp) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrClassAmbiguity, glr::parsergen::GlrClassAmbiguity) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrClass, glr::parsergen::GlrClass) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAstFile, glr::parsergen::GlrAstFile) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrType, glr::parsergen::GlrType) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrType::IVisitor, glr::parsergen::GlrType::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrEnumItem, glr::parsergen::GlrEnumItem) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrEnum, glr::parsergen::GlrEnum) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrPropType, glr::parsergen::GlrPropType) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrClassProp, glr::parsergen::GlrClassProp) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrClass, glr::parsergen::GlrClass) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAstFile, glr::parsergen::GlrAstFile) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrType) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrType) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::glr::parsergen::GlrType) + CLASS_MEMBER_FIELD(attPublic) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::glr::parsergen::GlrType) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrEnumItem) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrEnumItem) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::glr::parsergen::GlrEnumItem) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::glr::parsergen::GlrEnumItem) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrEnum) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrType) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrEnum) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(items) - END_CLASS_MEMBER(vl::glr::parsergen::GlrEnum) + CLASS_MEMBER_FIELD(items) + END_CLASS_MEMBER(vl::glr::parsergen::GlrEnum) - BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrPropType) - ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrPropType) - ENUM_NAMESPACE_ITEM(Token) - ENUM_NAMESPACE_ITEM(Type) - ENUM_NAMESPACE_ITEM(Array) - END_ENUM_ITEM(vl::glr::parsergen::GlrPropType) + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrPropType) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrPropType) + ENUM_NAMESPACE_ITEM(Token) + ENUM_NAMESPACE_ITEM(Type) + ENUM_NAMESPACE_ITEM(Array) + END_ENUM_ITEM(vl::glr::parsergen::GlrPropType) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrClassProp) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrClassProp) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(propType) - CLASS_MEMBER_FIELD(propTypeName) - END_CLASS_MEMBER(vl::glr::parsergen::GlrClassProp) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(propType) + CLASS_MEMBER_FIELD(propTypeName) + END_CLASS_MEMBER(vl::glr::parsergen::GlrClassProp) - BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrClassAmbiguity) - ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrClassAmbiguity) - ENUM_NAMESPACE_ITEM(No) - ENUM_NAMESPACE_ITEM(Yes) - END_ENUM_ITEM(vl::glr::parsergen::GlrClassAmbiguity) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrClass) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrType) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrClass) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrType) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_FIELD(attAmbiguous) + CLASS_MEMBER_FIELD(baseClass) + CLASS_MEMBER_FIELD(props) + END_CLASS_MEMBER(vl::glr::parsergen::GlrClass) - CLASS_MEMBER_FIELD(baseClass) - CLASS_MEMBER_FIELD(ambiguity) - CLASS_MEMBER_FIELD(props) - END_CLASS_MEMBER(vl::glr::parsergen::GlrClass) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrAstFile) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrAstFile) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_FIELD(types) + END_CLASS_MEMBER(vl::glr::parsergen::GlrAstFile) - CLASS_MEMBER_FIELD(types) - END_CLASS_MEMBER(vl::glr::parsergen::GlrAstFile) - - BEGIN_INTERFACE_MEMBER(vl::glr::parsergen::GlrType::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrType::IVisitor::*)(vl::glr::parsergen::GlrEnum* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrType::IVisitor::*)(vl::glr::parsergen::GlrClass* node)) - END_INTERFACE_MEMBER(vl::glr::parsergen::GlrType) + BEGIN_INTERFACE_MEMBER(vl::glr::parsergen::GlrType::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrType::IVisitor::*)(vl::glr::parsergen::GlrEnum* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrType::IVisitor::*)(vl::glr::parsergen::GlrClass* node)) + END_INTERFACE_MEMBER(vl::glr::parsergen::GlrType) #endif #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - class ParserGenTypeAstTypeLoader : public vl::Object, public ITypeLoader - { - public: - void Load(ITypeManager* manager) - { - ADD_TYPE_INFO(vl::glr::parsergen::GlrType) - ADD_TYPE_INFO(vl::glr::parsergen::GlrType::IVisitor) - ADD_TYPE_INFO(vl::glr::parsergen::GlrEnumItem) - ADD_TYPE_INFO(vl::glr::parsergen::GlrEnum) - ADD_TYPE_INFO(vl::glr::parsergen::GlrPropType) - ADD_TYPE_INFO(vl::glr::parsergen::GlrClassProp) - ADD_TYPE_INFO(vl::glr::parsergen::GlrClassAmbiguity) - ADD_TYPE_INFO(vl::glr::parsergen::GlrClass) - ADD_TYPE_INFO(vl::glr::parsergen::GlrAstFile) - } - - void Unload(ITypeManager* manager) - { - } - }; -#endif -#endif - - bool ParserGenTypeAstLoadTypes() - { -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - if (auto manager = GetGlobalTypeManager()) - { - auto loader = Ptr(new ParserGenTypeAstTypeLoader); - return manager->AddTypeLoader(loader); - } -#endif - return false; - } + class ParserGenTypeAstTypeLoader : public vl::Object, public ITypeLoader + { + public: + void Load(ITypeManager* manager) + { + ADD_TYPE_INFO(vl::glr::parsergen::GlrType) + ADD_TYPE_INFO(vl::glr::parsergen::GlrType::IVisitor) + ADD_TYPE_INFO(vl::glr::parsergen::GlrEnumItem) + ADD_TYPE_INFO(vl::glr::parsergen::GlrEnum) + ADD_TYPE_INFO(vl::glr::parsergen::GlrPropType) + ADD_TYPE_INFO(vl::glr::parsergen::GlrClassProp) + ADD_TYPE_INFO(vl::glr::parsergen::GlrClass) + ADD_TYPE_INFO(vl::glr::parsergen::GlrAstFile) } + + void Unload(ITypeManager* manager) + { + } + }; +#endif +#endif + + bool ParserGenTypeAstLoadTypes() + { +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + if (auto manager = GetGlobalTypeManager()) + { + auto loader = Ptr(new ParserGenTypeAstTypeLoader); + return manager->AddTypeLoader(loader); + } +#endif + return false; } } @@ -13463,112 +13436,121 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen::builder { - namespace glr - { - namespace parsergen - { - namespace builder - { /*********************************************************************** MakeAstFile ***********************************************************************/ - MakeAstFile& MakeAstFile::types(const vl::Ptr& value) - { - node->types.Add(value); - return *this; - } + MakeAstFile& MakeAstFile::types(const vl::Ptr& value) + { + node->types.Add(value); + return *this; + } /*********************************************************************** MakeClass ***********************************************************************/ - MakeClass& MakeClass::ambiguity(GlrClassAmbiguity value) - { - node->ambiguity = value; - return *this; - } + MakeClass& MakeClass::attAmbiguous(const vl::WString& value) + { + node->attAmbiguous.value = value; + return *this; + } - MakeClass& MakeClass::baseClass(const vl::WString& value) - { - node->baseClass.value = value; - return *this; - } + MakeClass& MakeClass::baseClass(const vl::WString& value) + { + node->baseClass.value = value; + return *this; + } - MakeClass& MakeClass::props(const vl::Ptr& value) - { - node->props.Add(value); - return *this; - } + MakeClass& MakeClass::props(const vl::Ptr& value) + { + node->props.Add(value); + return *this; + } - MakeClass& MakeClass::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeClass& MakeClass::attPublic(const vl::WString& value) + { + node->attPublic.value = value; + return *this; + } + + MakeClass& MakeClass::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeClassProp ***********************************************************************/ - MakeClassProp& MakeClassProp::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeClassProp& MakeClassProp::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeClassProp& MakeClassProp::propType(GlrPropType value) - { - node->propType = value; - return *this; - } + MakeClassProp& MakeClassProp::propType(GlrPropType value) + { + node->propType = value; + return *this; + } - MakeClassProp& MakeClassProp::propTypeName(const vl::WString& value) - { - node->propTypeName.value = value; - return *this; - } + MakeClassProp& MakeClassProp::propTypeName(const vl::WString& value) + { + node->propTypeName.value = value; + return *this; + } /*********************************************************************** MakeEnum ***********************************************************************/ - MakeEnum& MakeEnum::items(const vl::Ptr& value) - { - node->items.Add(value); - return *this; - } + MakeEnum& MakeEnum::items(const vl::Ptr& value) + { + node->items.Add(value); + return *this; + } - MakeEnum& MakeEnum::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeEnum& MakeEnum::attPublic(const vl::WString& value) + { + node->attPublic.value = value; + return *this; + } + + MakeEnum& MakeEnum::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeEnumItem ***********************************************************************/ - MakeEnumItem& MakeEnumItem::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeEnumItem& MakeEnumItem::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeType ***********************************************************************/ - MakeType& MakeType::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } - } - } + MakeType& MakeType::attPublic(const vl::WString& value) + { + node->attPublic.value = value; + return *this; + } + + MakeType& MakeType::name(const vl::WString& value) + { + node->name.value = value; + return *this; } } @@ -13583,141 +13565,133 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen::copy_visitor { - namespace glr + void TypeAstVisitor::CopyFields(GlrAstFile* from, GlrAstFile* to) { - namespace parsergen + for (auto&& listItem : from->types) { - namespace copy_visitor - { - void TypeAstVisitor::CopyFields(GlrAstFile* from, GlrAstFile* to) - { - for (auto&& listItem : from->types) - { - to->types.Add(CopyNode(listItem.Obj())); - } - } - - void TypeAstVisitor::CopyFields(GlrClass* from, GlrClass* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->ambiguity = from->ambiguity; - to->baseClass = from->baseClass; - for (auto&& listItem : from->props) - { - to->props.Add(CopyNode(listItem.Obj())); - } - } - - void TypeAstVisitor::CopyFields(GlrClassProp* from, GlrClassProp* to) - { - to->name = from->name; - to->propType = from->propType; - to->propTypeName = from->propTypeName; - } - - void TypeAstVisitor::CopyFields(GlrEnum* from, GlrEnum* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->items) - { - to->items.Add(CopyNode(listItem.Obj())); - } - } - - void TypeAstVisitor::CopyFields(GlrEnumItem* from, GlrEnumItem* to) - { - to->name = from->name; - } - - void TypeAstVisitor::CopyFields(GlrType* from, GlrType* to) - { - to->name = from->name; - } - - void TypeAstVisitor::Visit(GlrEnumItem* node) - { - auto newNode = vl::Ptr(new GlrEnumItem); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void TypeAstVisitor::Visit(GlrClassProp* node) - { - auto newNode = vl::Ptr(new GlrClassProp); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void TypeAstVisitor::Visit(GlrAstFile* node) - { - auto newNode = vl::Ptr(new GlrAstFile); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void TypeAstVisitor::Visit(GlrEnum* node) - { - auto newNode = vl::Ptr(new GlrEnum); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void TypeAstVisitor::Visit(GlrClass* node) - { - auto newNode = vl::Ptr(new GlrClass); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - vl::Ptr TypeAstVisitor::CopyNode(GlrType* node) - { - if (!node) return nullptr; - node->Accept(static_cast(this)); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr TypeAstVisitor::CopyNode(GlrEnumItem* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr TypeAstVisitor::CopyNode(GlrClassProp* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr TypeAstVisitor::CopyNode(GlrAstFile* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr TypeAstVisitor::CopyNode(GlrClass* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr TypeAstVisitor::CopyNode(GlrEnum* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - } + to->types.Add(CopyNode(listItem.Obj())); } } + + void TypeAstVisitor::CopyFields(GlrClass* from, GlrClass* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->attAmbiguous = from->attAmbiguous; + to->baseClass = from->baseClass; + for (auto&& listItem : from->props) + { + to->props.Add(CopyNode(listItem.Obj())); + } + } + + void TypeAstVisitor::CopyFields(GlrClassProp* from, GlrClassProp* to) + { + to->name = from->name; + to->propType = from->propType; + to->propTypeName = from->propTypeName; + } + + void TypeAstVisitor::CopyFields(GlrEnum* from, GlrEnum* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->items) + { + to->items.Add(CopyNode(listItem.Obj())); + } + } + + void TypeAstVisitor::CopyFields(GlrEnumItem* from, GlrEnumItem* to) + { + to->name = from->name; + } + + void TypeAstVisitor::CopyFields(GlrType* from, GlrType* to) + { + to->attPublic = from->attPublic; + to->name = from->name; + } + + void TypeAstVisitor::Visit(GlrEnumItem* node) + { + auto newNode = vl::Ptr(new GlrEnumItem); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void TypeAstVisitor::Visit(GlrClassProp* node) + { + auto newNode = vl::Ptr(new GlrClassProp); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void TypeAstVisitor::Visit(GlrAstFile* node) + { + auto newNode = vl::Ptr(new GlrAstFile); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void TypeAstVisitor::Visit(GlrEnum* node) + { + auto newNode = vl::Ptr(new GlrEnum); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void TypeAstVisitor::Visit(GlrClass* node) + { + auto newNode = vl::Ptr(new GlrClass); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + vl::Ptr TypeAstVisitor::CopyNode(GlrType* node) + { + if (!node) return nullptr; + node->Accept(static_cast(this)); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr TypeAstVisitor::CopyNode(GlrEnumItem* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr TypeAstVisitor::CopyNode(GlrClassProp* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr TypeAstVisitor::CopyNode(GlrAstFile* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr TypeAstVisitor::CopyNode(GlrClass* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr TypeAstVisitor::CopyNode(GlrEnum* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + } @@ -13731,30 +13705,21 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen::empty_visitor { - namespace glr - { - namespace parsergen - { - namespace empty_visitor - { /*********************************************************************** TypeVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void TypeVisitor::Visit(GlrEnum* node) - { - } + void TypeVisitor::Visit(GlrEnum* node) + { + } - void TypeVisitor::Visit(GlrClass* node) - { - } - } - } + void TypeVisitor::Visit(GlrClass* node) + { } } @@ -13769,192 +13734,176 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen::json_visitor { - namespace glr + void TypeAstVisitor::PrintFields(GlrAstFile* node) { - namespace parsergen + BeginField(L"types"); + BeginArray(); + for (auto&& listItem : node->types) { - namespace json_visitor - { - void TypeAstVisitor::PrintFields(GlrAstFile* node) - { - BeginField(L"types"); - BeginArray(); - for (auto&& listItem : node->types) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void TypeAstVisitor::PrintFields(GlrClass* node) - { - BeginField(L"ambiguity"); - switch (node->ambiguity) - { - case vl::glr::parsergen::GlrClassAmbiguity::No: - WriteString(L"No"); - break; - case vl::glr::parsergen::GlrClassAmbiguity::Yes: - WriteString(L"Yes"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"baseClass"); - WriteToken(node->baseClass); - EndField(); - BeginField(L"props"); - BeginArray(); - for (auto&& listItem : node->props) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void TypeAstVisitor::PrintFields(GlrClassProp* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"propType"); - switch (node->propType) - { - case vl::glr::parsergen::GlrPropType::Array: - WriteString(L"Array"); - break; - case vl::glr::parsergen::GlrPropType::Token: - WriteString(L"Token"); - break; - case vl::glr::parsergen::GlrPropType::Type: - WriteString(L"Type"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"propTypeName"); - WriteToken(node->propTypeName); - EndField(); - } - void TypeAstVisitor::PrintFields(GlrEnum* node) - { - BeginField(L"items"); - BeginArray(); - for (auto&& listItem : node->items) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void TypeAstVisitor::PrintFields(GlrEnumItem* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void TypeAstVisitor::PrintFields(GlrType* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - - void TypeAstVisitor::Visit(GlrEnum* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Enum", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void TypeAstVisitor::Visit(GlrClass* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Class", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - TypeAstVisitor::TypeAstVisitor(vl::stream::StreamWriter& _writer) - : vl::glr::JsonVisitorBase(_writer) - { - } - - void TypeAstVisitor::Print(GlrType* node) - { - if (!node) - { - WriteNull(); - return; - } - node->Accept(static_cast(this)); - } - - void TypeAstVisitor::Print(GlrEnumItem* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"EnumItem", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void TypeAstVisitor::Print(GlrClassProp* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ClassProp", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void TypeAstVisitor::Print(GlrAstFile* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"AstFile", node); - PrintFields(static_cast(node)); - EndObject(); - } - - } + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); } + EndArray(); + EndField(); } + void TypeAstVisitor::PrintFields(GlrClass* node) + { + BeginField(L"attAmbiguous"); + WriteToken(node->attAmbiguous); + EndField(); + BeginField(L"baseClass"); + WriteToken(node->baseClass); + EndField(); + BeginField(L"props"); + BeginArray(); + for (auto&& listItem : node->props) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void TypeAstVisitor::PrintFields(GlrClassProp* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"propType"); + switch (node->propType) + { + case vl::glr::parsergen::GlrPropType::Array: + WriteString(L"Array"); + break; + case vl::glr::parsergen::GlrPropType::Token: + WriteString(L"Token"); + break; + case vl::glr::parsergen::GlrPropType::Type: + WriteString(L"Type"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"propTypeName"); + WriteToken(node->propTypeName); + EndField(); + } + void TypeAstVisitor::PrintFields(GlrEnum* node) + { + BeginField(L"items"); + BeginArray(); + for (auto&& listItem : node->items) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void TypeAstVisitor::PrintFields(GlrEnumItem* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void TypeAstVisitor::PrintFields(GlrType* node) + { + BeginField(L"attPublic"); + WriteToken(node->attPublic); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + + void TypeAstVisitor::Visit(GlrEnum* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Enum", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void TypeAstVisitor::Visit(GlrClass* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Class", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + TypeAstVisitor::TypeAstVisitor(vl::stream::StreamWriter& _writer) + : vl::glr::JsonVisitorBase(_writer) + { + } + + void TypeAstVisitor::Print(GlrType* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + + void TypeAstVisitor::Print(GlrEnumItem* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"EnumItem", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void TypeAstVisitor::Print(GlrClassProp* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ClassProp", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void TypeAstVisitor::Print(GlrAstFile* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"AstFile", node); + PrintFields(static_cast(node)); + EndObject(); + } + } @@ -13968,107 +13917,101 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen::traverse_visitor { - namespace glr + void TypeAstVisitor::Traverse(vl::glr::ParsingToken& token) {} + void TypeAstVisitor::Traverse(vl::glr::ParsingAstBase* node) {} + void TypeAstVisitor::Traverse(GlrAstFile* node) {} + void TypeAstVisitor::Traverse(GlrClass* node) {} + void TypeAstVisitor::Traverse(GlrClassProp* node) {} + void TypeAstVisitor::Traverse(GlrEnum* node) {} + void TypeAstVisitor::Traverse(GlrEnumItem* node) {} + void TypeAstVisitor::Traverse(GlrType* node) {} + + void TypeAstVisitor::Finishing(vl::glr::ParsingAstBase* node) {} + void TypeAstVisitor::Finishing(GlrAstFile* node) {} + void TypeAstVisitor::Finishing(GlrClass* node) {} + void TypeAstVisitor::Finishing(GlrClassProp* node) {} + void TypeAstVisitor::Finishing(GlrEnum* node) {} + void TypeAstVisitor::Finishing(GlrEnumItem* node) {} + void TypeAstVisitor::Finishing(GlrType* node) {} + + void TypeAstVisitor::Visit(GlrEnum* node) { - namespace parsergen + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->items) { - namespace traverse_visitor - { - void TypeAstVisitor::Traverse(vl::glr::ParsingToken& token) {} - void TypeAstVisitor::Traverse(vl::glr::ParsingAstBase* node) {} - void TypeAstVisitor::Traverse(GlrAstFile* node) {} - void TypeAstVisitor::Traverse(GlrClass* node) {} - void TypeAstVisitor::Traverse(GlrClassProp* node) {} - void TypeAstVisitor::Traverse(GlrEnum* node) {} - void TypeAstVisitor::Traverse(GlrEnumItem* node) {} - void TypeAstVisitor::Traverse(GlrType* node) {} - - void TypeAstVisitor::Finishing(vl::glr::ParsingAstBase* node) {} - void TypeAstVisitor::Finishing(GlrAstFile* node) {} - void TypeAstVisitor::Finishing(GlrClass* node) {} - void TypeAstVisitor::Finishing(GlrClassProp* node) {} - void TypeAstVisitor::Finishing(GlrEnum* node) {} - void TypeAstVisitor::Finishing(GlrEnumItem* node) {} - void TypeAstVisitor::Finishing(GlrType* node) {} - - void TypeAstVisitor::Visit(GlrEnum* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->items) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void TypeAstVisitor::Visit(GlrClass* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->baseClass); - for (auto&& listItem : node->props) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void TypeAstVisitor::InspectInto(GlrType* node) - { - if (!node) return; - node->Accept(static_cast(this)); - } - - void TypeAstVisitor::InspectInto(GlrEnumItem* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void TypeAstVisitor::InspectInto(GlrClassProp* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Traverse(node->propTypeName); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void TypeAstVisitor::InspectInto(GlrAstFile* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->types) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - } + InspectInto(listItem.Obj()); } + Traverse(node->attPublic); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); } + + void TypeAstVisitor::Visit(GlrClass* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->attAmbiguous); + Traverse(node->baseClass); + for (auto&& listItem : node->props) + { + InspectInto(listItem.Obj()); + } + Traverse(node->attPublic); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void TypeAstVisitor::InspectInto(GlrType* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void TypeAstVisitor::InspectInto(GlrEnumItem* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void TypeAstVisitor::InspectInto(GlrClassProp* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Traverse(node->propTypeName); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void TypeAstVisitor::InspectInto(GlrAstFile* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->types) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + } @@ -14082,125 +14025,125 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen { - namespace glr + void ParserGenTypeParserData(vl::stream::IStream& outputStream) { - namespace parsergen - { - void ParserGenTypeParserData(vl::stream::IStream& outputStream) - { - static const vl::vint dataLength = 2564; // 39168 bytes before compressing - static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 4; - static const vl::vint dataSolidRows = 10; - static const vl::vint dataRows = 11; - static const char* compressed[] = { - "\x00\x99\x00\x00\xFC\x09\x00\x00\x25\x00\x01\x82\x80\x08\x03\x82\x81\x82\x06\x89\x82\x84\x0A\x83\x06\x84\x09\x0A\x99\x0A\x81\x1A\x80\x16\x84\x16\x0A\xD0\x07\x09\x8F\x7D\x8E\x8F\x8E\x0A\x80\x1F\x9F\x81\x93\x92\x8F\x92\x26\xFF\x68\x86\x9B\x93\x91\x96\x92\x0A\xA9\xAA\x91\x99\x97\x97\x92\x9A\x2C\xB8\xAE\x9A\x90\x9C\x8D\x9A\x9E\x37\xBE\xB9\x82\xAB\x9C\xA1\x9E\x83\x32\xB6\xA0\x80\xAB\xA6\xA1\xA0\xA4\x3F\xCE\x8D\xB0\xA3\xA4\xA9\xA2\xAB\x47\x83\x89\xAC\xA3\x9A\xA9\xAE\xAC\x4F\xDA\x91\xA0\xB3\xAA\xB1\xAB\x90\x03\x81\x1C\xAA\xAF\xAE\xB3\xAA\xB7\x59\x82\x9B\xBE\xAC\xB5\xBB\xB5\xBB\x74\xF8\xA4\xAD\xB2\xBB\xB0\xB9\xB0\x7D\xE7\x81\xCF\xB3\xC1\xB9\x81\xB9\x7B\xF6\xB9\xAB\xC9\xC2\xBF\xBF\xB2\x85\x80\xC7\xDE\xB1\xC8\xCB\xC8\xC1\x97\x84\xD9\xC6\xC2\x94\xCB\xCC\xC9\x9D\x98\xE1\xDA\xC3\xD4\xCC\xC5\xC7\x7C\x9F\xD6\xC5\xD0\xD7\xD1\xCB\xD4\x00\x6A\x89\x92\xDD\xC4\xC4\xD4\xC5\xB5\xB9\xF7\xCE\xCF\xD0\xDF\xDC\xDB\xBD\xBC\xEA\xD0\xDE\xD3\xE2\xDF\xE0\xC0\xC6\xC2\xEC\xDB\xD5\xE0\xE6\xE2\x9E\xCF\xC7\xEA\xE9\xE2\xEB\xE4\xE7\xD8\xD1\xD9\xE2", - "\xDB\xEC\xD1\xEE\xD3\xDA\xE1\xDC\xE2\xFE\xEC\xF0\xF1\xF1\xE8\xE5\xE9\xE7\xFA\xF5\xF4\xF7\xF7\xA0\x82\x0A\x94\xDF\xDA\xDC\xE4\xFB\xD4\xF8\xD6\xF5\xEF\xED\xD6\xF2\xFF\xEB\x40\x8E\x7A\x80\xF0\x4D\x7F\x7E\x81\x01\xAB\x63\x03\x7C\xD7\x47\x80\x75\x82\x0F\x83\x88\x82\x84\x11\x85\x85\x84\x81\x18\x93\x86\x87\x74\xFB\x7A\x7D\x7E\x86\x19\x97\x80\x8B\x88\x22\xA5\x8C\x87\x87\x26\x8D\x80\x87\x89\x0E\xAC\x8B\x8A\x8A\x14\xAE\x81\x8C\x8C\x1B\xB4\x81\x8A\x8C\x35\xBC\x7D\x8A\x8D\x24\xB8\x87\x8C\x8F\x29\xBA\x8F\x8A\x90\x33\x84\x99\x8E\x87\x3B\x86\x9F\x8E\x92\x3D\x80\x9E\x8D\x93\x4C\x81\x98\x93\x90\x53\x85\x95\x97\x91\xF5\x59\x97\x7E\x96\x01\x4C\x43\x6E\x93\x60\x91\x9F\x92\x94\x5C\x9D\x85\x98\x8A\x63\xA9\x9B\x71\x01\x0C\xA2\x91\x9B\x95\x4B\xB0\x90\x96\x9C\x64\x9B\x96\x9D\x7E\x67\x91\x76\x01\x9B\x74\xAA\x9E\x9B\x9F\x7D\xAF\x99\x9C\x95\x83\x96\x95\x9B\x46\x5F\x80\xA5\xA0\x96\x77\xA6\x9D\xA0\x9A\x82\x8F\xA9\x91\xA0\xD5\x48\x46\x40\x7D\x92\x84\xAD\xA1\x02\x7C\x8B\xA1\x9E\xA7\x73\xA0\xA5\x9C\x9E\x99\x86\xA5\xA8\xA3\xA4\xA9\xAE\xA2\xAA", - "\x90\x8A\xA7\xAB\xA7\xAF\xA1\xA1\xAF\xA8\xAB\xB5\xAD\xA8\xA5\xB8\xA2\xAE\x9D\xAE\xB3\xBB\xA5\x9A\x02\x9D\xBD\xA1\xA4\xAB\x93\xBA\xA3\xB2\xAD\xC5\x82\xBE\xA8\xB1\x9A\x8C\xB6\xAA\xB3\xA8\x88\xBD\xB1\xAD\x0E\x49\xAC\xAC\xB4\xB0\x98\xB2\xAE\xB6\xB4\xB7\xA6\xB3\xB2\xD2\x8F\xB1\xB9\xB4\xDE\x8D\xAC\x02\x42\xF2\x60\xB5\xB8\xB7\xBE\x8A\xB7\xB7\xB8\xD9\xB0\xBB\xB6\xBC\xDD\x89\xBC\xBB\xB1\xEB\xB4\xBD\xBB\xBD\xEA\xB6\xBA\xBF\xB1\x0E\x01\xBC\xBF\xBB\xF9\x85\xCE\xBE\xC1\xD3\x88\xC2\xBA\xC2\xE4\x87\xCE\xC1\xC2\x0F\xCB\xC1\xC5\xC3\xD3\x8F\x02\xC3\xBF\xFD\x90\xCA\xC6\xC4\x1B\xD4\xCC\xC7\xC7\x1E\xE1\xC1\xBC\xC3\x23\xD3\xC5\xC9\xC7\x27\xE0\xC9\xCA\xC8\xF3\xA4\xCD\xCA\xC9\xAB\x50\x07\xC6\xCB\xF5\xA8\xCF\xCA\xCD\x35\xEA\xC7\xCE\xCE\x39\xEC\xCD\xCC\x68\x11\x33\xC0\xCF\xCF\x3B\xFE\xCB\xBC\xC6\x04\xC3\xD7\xD0\xCD\x4B\xCA\xD8\xBE\xD3\x19\xFC\xCD\xD0\xCE\x53\xD2\xD7\xB0\x44\xD6\x9F\xB9\xD0\xD5\x4F\xDC\xD1\xD6\xD1\x5D\xD6\xDF\xD7\xCA\x64\xC5\xD0\x6B\x04\x42\xDE\xDB\xD6\xD8\x6B\xE0\xD3\xDA\xD9\x70\xC4\xD2\xDD\xD5\x6E\xED\xD5\xDB\xDC\x61", - "\xF5\xDA\xD7\xDE\xEE\xBC\xD3\xC2\xDF\x48\xC0\xEC\xD1\xDE\x77\xF4\xD5\xE0\xE1\x71\xC6\xE9\xE0\xE2\x78\xEF\xDD\xE2\xDD\x8B\xCE\xEA\xE3\xE3\x82\xD1\x74\x05\xDA\x6C\xD5\xEA\xDA\xE6\xA4\x55\x08\xE6\xDE\x7D\xE1\xEF\xDE\xE8\x81\xE4\xE3\xE2\xE4\x8C\xC7\xD6\x04\xBA\xA9\xCB\x78\x07\xE7\x87\xE8\xE2\xEC\xE4\x94\xE6\xE0\xD4\xED\x93\xF9\xED\xEB\xEC\x9C\xE0\xE3\xEB\xEF\xA5\xC0\xF7\xE8\xEE\xBB\xC4\xF5\x76\x44\x59\xF6\xEB\xE6\xF2\x99\xCC\xFE\xED\xF0\xD0\xC3\xFD\xED\xEC\xC6\xD5\xF3\xF7\xBC\x1A\x30\xE1\xE6\xF5\xCE\xD4\xF7\xF5\xED\xC2\xF7\xEF\xF6\xEE\xBC\xDD\xFB\xF7\xF8\xC5\xE8\xF5\xF9\xF8\xD3\x9B\x0A\xF4\xF8\xD1\xE2\xF6\xF8\xFC\xD2\xF3\xF4\xF8\xF7\xEC\xCD\xF9\xFF\xF3\xF5\xFB\xFE\xF6\xFD\xE9\x60\x83\xFA\x50\x7C\x03\xF7\x77\x78\x70\x1D\x06\x81\x00\xFE\x77\x7C\x01\xB8\x79\x7E\xCB\x6C\x80\xFD\x72\x72\x83\x03\x8E\x82\x7D\x0F\x9D\x7C\x04\xFA\x70\x00\x0F\x0A\x83\x80\x1A\x81\x84\x05\x9B\x8F\x79\x0F\x1F\x81\x83\x23\x82\x85\x04\xA4\x8F\x7F\x0A\x8B\x84\x85\x0D\x81\x20\x08\x27\x88\x83\x1A\xA4\x74\x22\xC9\x6E\x84\x08\xA9\x8C\x87\x15\xAA\x84", - "\x83\x3F\x9C\x7D\x74\x22\x04\x87\x0B\x86\x88\x78\x23\x05\x8A\x0E\xA8\x8E\x87\x1E\x80\x8E\x89\x42\x82\x34\x09\x4A\x80\x87\x09\x8D\x8F\x8A\x4F\x98\x89\x14\xD9\x8C\x8B\x2D\x9E\x8D\x85\x55\x9C\x40\x40\x39\x80\x00\x13\x14\x89\x88\x60\x88\x8D\x0C\xE1\x8F\x84\x35\x96\x8D\x8B\x69\x90\x89\x1C\xDA\x83\x8E\x38\xAB\x8E\x8D\x16\x8B\x8A\x0D\xFA\x87\x88\x36\xBB\x84\x8E\x77\x92\x8D\x20\x80\x9F\x8D\x2F\x83\x96\x8E\x85\x95\x8C\x67\x27\x07\x8D\x11\x96\x24\x8C\x78\x8D\x8E\x20\x89\x97\x90\x43\x94\x97\x92\x79\x9E\x8C\x13\x88\x97\x69\x14\x0D\x94\x90\x99\x91\x93\x1F\x9C\x92\x92\x50\xA5\x94\x94\xA3\x96\x91\x28\x93\x9B\x94\x53\xA9\x92\x91\xB0\x95\x90\x18\xAA\x0F\x92\x0E\xAB\x05\x96\xAA\x87\x95\x2E\xAF\x92\x97\x5E\x98\x92\x97\xB1\x9F\x94\x2F\xB4\x58\x22\x32\xAD\x07\x62\x2E\x18\x95\x30\xAD\x98\x95\x4D\xBB\x96\x99\xCB\x80\x9A\x2F\xCC\x9F\x99\x3D\x9A\x96\x9A\xA2\x90\x9B\x34\xD2\x92\x98\x6D\xB0\x7F\x05\xCA\x9B\x9B\x30\xD4\x91\x9B\x71\x9C\x9C\x9C\xE2\x9E\x99\x26\xB0\x01\x9D\x6E\x98\x9C\x95\xE7\x91\x9E\x39\xF3\x9A\x9C\x79\xB5\x99\x21\x31\x17", - "\x62\x0C\x17\x63\x07\x76\xA8\x9E\x9D\x7D\x99\x9B\x3B\xAE\x97\x9F\x82\x83\xA5\x99\x07\xB5\x99\x40\xF0\x94\x9F\x84\xA5\x9E\xA0\x0B\xAB\x84\x0D\x54\x85\x07\x8B\x76\x07\x62\x37\x1E\x9E\x3D\x8E\xA9\x9C\x8E\x80\xA4\x8F\x20\xB7\x99\x44\xE2\x58\x06\x2A\xB9\x07\x62\x3A\x17\x63\x0E\x1A\xAD\xA1\x91\x8A\xA1\xA4\x02\xAE\xA7\x43\x9E\xA9\x92\x2D\x2C\x71\x21\xC0\x51\x4A\x4C\x1C\x59\x20\xAC\x7B\x2C\x4D\x5E\x32\x25\xBA\x06\x2C\xA6\x3A\x7B\xA2\x21\x29\xBE\x2B\x50\x83\x29\xA6\xA3\xA9\x25\xA8\x03\x3E\xA4\x6A\x4B\xA2\x21\xA6\xA2\x57\xA8\x3D\xBC\x28\x50\xFB\x28\x44\xAC\x86\x25\x01\x40\x5E\xAB\x40\x60\xAE\x2A\x4C\x68\x2F\x39\x50\xA2\x23\xB9\x65\xA7\xA7\xBD\x29\xA9\x20\x6B\xBB\x2E\x59\xB1\x3C\x2B\xB7\x80\x01\xAE\x53\xAA\x23\x56\xD7\xAF\xA9\x86\x21\xAD\xAF\x09\x24\xAE\x53\xA6\x26\xAE\xC1\xA8\x33\xAF\xAF\x3D\xA8\x60\x86\x29\xA9\xC1\xA3\x26\xAE\x76\xA2\xAA\x5E\xDC\x24\xAB\x80\x08\xB3\x38\x95\xA0\x02\x97\x7B\x29\xB3\xCD\xBC\xAC\xB0\x48\xBC\x2B\x5C\xF3\xA2\xAD\x83\x1A\xAC\x2B\x8A\xA0\xB5\x42\x0D\xB8\x35\xB9\xAC\x2E\xAE\x96\x47\xB0\x6A\xA9", - "\x2B\x41\xA0\xA9\x25\xB3\x5C\x35\xB4\x57\xB7\xBA\x20\xCF\xAF\x32\xB7\xA8\x32\xB1\x42\x11\xB9\x24\xDF\x83\x3A\x26\x97\xAF\x3A\x4C\x46\xBA\xB9\x94\x09\xBA\x26\xC2\xA6\x20\x70\xBF\xB3\xB6\x93\x38\xB2\xA9\x0A\x33\xBB\x70\x5A\xBD\xB8\xEB\xBD\xB4\xB2\xD9\xB9\xB5\x75\xA3\x29\xB2\xE2\xA6\x27\xB9\xD0\xA6\x24\x77\xE9\xBE\xBB\x84\x0C\xBA\x26\xEB\xAC\xBF\x47\x57\xBB\x2F\xF8\xB2\xBD\x23\xE5\xA7\xB6\x6D\xEA\xB3\xBD\xF9\x9F\xBE\x2B\xF6\xB7\xBC\x7D\xA8\x31\xC0\xF9\xB9\xBE\x2B\x76\xA1\x68\x82\x8A\x2A\xC0\xB7\x8A\x26\xAA\xAF\x36\xAC\x84\xC3\x36\xAE\x44\x4E\xC1\x21\x16\xC8\x35\x85\xDC\x2E\x83\xB3\xA9\x2D\xAD\x03\x39\xB1\x66\xDC\xBC\xB9\xE4\xBB\x48\xC3\x0A\x39\xC2\x69\xC3\xB9\xC4\x85\x1B\xC4\xC5\x09\x31\xB5\x55\xAD\xC8\xA6\x1A\xC6\x23\xC2\x04\x3E\xAC\x8A\x89\x25\x5A\x83\x2A\xC1\x20\x3D\xC3\x22\x8C\xF0\xAE\xC2\x21\xC5\xCE\xC3\x53\x17\x61\x48\x43\xC7\xC9\x81\x14\x0F\x62\x99\xB7\x01\x93\xF4\xA5\x3A\xEE\xA6\x83\xCA\x0A\x35\x0B\xC5\x56\xC8\xCA\x85\x16\x0F\x62\xCC\xB3\x89\x93\xA4\xB1\x3A\xE6\x8C\x93\xCC\x6B\x4A\x23\x2D\xCD\xC5\xC0\xD0", - "\x33\xAC\x96\x6C\xCB\x3B\x89\x86\x29\x99\x2E\xC6\x27\x0A\x17\x73\xCF\x40\x60\x96\xCF\x81\x18\x09\xCF\x0A\x3C\xCD\x9F\x81\x29\x0B\x8B\x7C\x03\xCA\x6D\xCB\x34\x96\xA3\xB0\xC5\x46\x59\xB4\xCC\xA2\x21\x24\x77\x90\xD2\x5C\xEE\x99\xB6\x39\x99\x8C\xBA\x9E\x8D\x51\x24\xE6\x94\xD1\x5A\x9B\xC1\x20\x8E\x98\xD9\xCD\x84\x17\xD1\x3A\x3F\xC0\x02\x79\xA4\x39\x93\x54\xC9\xD0\x36\x21\x29\xD7\x5C\xCC\xC9\xB3\x90\x33\xD6\xC5\xCB\x39\x90\x93\xAF\xD8\xCA\x1C\xF3\xA9\xC8\x02\x2F\xD3\xC5\x76\xA8\xBD\x48\xCA\x26\xB0\x02\x3F\xD1\xBC\x38\xC9\xD4\x52\xC3\x80\xD8\x01\x28\xDA\xAA\x19\x90\xDA\x00\x32\x65\x3A\x1C\x41\x62\xA9\xCB\x35\xDB\x06\xE5\x4C\x43\xD7\xC6\x23\xA9\xA2\x32\xDB\xBB\xB9\xD7\x21\x8D\xC0\x7A\xB6\x86\x28\xAE\x4E\xCA\x27\x72\xDB\xC0\x5E\xC5\x09\x2B\xDD\x6F\xEF\x81\xDC\x03\x2D\xDF\xB4\x8A\x2B\x75\x78\xEF\x5E\xDB\x02\x33\xDE\x7E\x19\x92\xAA\x81\x30\xDB\xE0\x0A\x2F\x74\x24\xFE\x57\xE1\x81\x0A\xE0\xE1\xC7\x69\xDD\xAD\x1E\x71\xB1\x73\xE0\x5A\xD8\x09\x34\xE2\x41\x78\xDE\xDD\xEA\x2E\x7E\xDF\x03\x33\xD2\x42\x1A\xE3\x20\x80\xFB\xDD\x3A", - "\x09\x80\xE7\x42\x17\x6D\xDE\x83\x28\x68\xDB\x0A\x37\xCB\xA5\x47\x52\xCB\x84\x2D\xE6\xDE\x03\x8F\xE3\x40\x24\xED\xE3\x07\x88\x7E\x20\x1F\xF0\xE2\x7E\x33\x8A\xE4\x55\x41\xEB\x20\x1D\xC2\xEA\x35\xC7\xE2\x21\x02\xB0\xE3\x80\x4E\xE6\x21\xCA\xCA\xED\x50\x22\x85\xED\x56\x53\xE8\xEA\xC5\x8F\x89\xE9\x81\x0D\xE5\xE7\x03\x22\xCF\xCC\xD5\x39\xB9\xB9\x9D\xEA\x20\x44\xF4\xE9\x48\xB2\xEE\xEB\xAD\xC3\x23\x8C\x63\xFA\x3D\xA8\xD4\xC6\x20\xB6\xE8\xEE\xED\x7D\x89\xEF\x40\x59\x7F\xE9\x07\xB8\x86\x20\x70\xF8\xE6\x41\x66\x8B\xE1\x69\x7F\xEB\x20\x84\xEA\xEC\x00\x67\xC1\xEE\xC0\x49\x89\x21\x4C\xE7\xE6\x7E\x0F\x92\xDC\x1B\xDF\xC1\x21\x62\xE3\x22\xD5\x8A\xF0\xCE\xE9\x87\x59\xF0\x02\x2F\xF2\xE2\x9A\x89\xF1\x81\x11\xF5\x56\x1C\x47\x9B\xD5\xCC\xC3\xAE\xC6\xDA\xF0\xEF\x01\x22\xD1\xC8\xC7\x54\xF3\xB7\xF0\xF0\x00\xFB\x97\xEA\x73\x76\xA3\xAF\xDA\xC2\x25\xF4\x60\xE2\x23\x44\xBA\xF1\x3A\x5F\xD5\x22\x21\x73\xEE\xDA\x41\x17\xA4\xF8\xD1\x15\xDF\xCD\x0A\x3E\x91\xDF\x83\x25\xA5\xE6\xE2\x5B\xCD\x06\x32\xFA\xE2\xAC\xB1\xD9\x63\x45\x98\xF0\xB7\xE7\xD1", - "\x42\x3C\xDA\x20\x7D\xC0\x01\xB3\xDF\xE8\xF3\xED\xBF\x01\xBD\xEA\x35\xDD\xFB\x09\x29\xFE\x40\x49\xF1\x3B\x90\x02\x0D\xFD\xFA\x3C\xE1\x40\x19\xB5\xCE\x83\x2A\xF2\xF1\x45\x0C\x52\x74\x6A\x10\xA0\x72\x79\x03\x16\x04\x12\x7E\x1C\x05\x7B\x7F\x0A\x1D\x7F\xEA\x73\x7D\x02\x18\x04\x09\x86\x39\x12\x7E\x80\xF3\x77\x7B\x4A\x03\x81\xA2\x17\x73\xF0\x76\x10\xB2\x72\x10\xFF\x72\x78\x03\x1C\x04\x02\x8B\x67\x04\x87\x7B\x4D\x0A\x81\xA4\x1A\x73\x1D\x86\x82\x09\x10\x7C\x06\x82\x10\x4F\x0A\x82\x9C\x1C\x77\x95\x79\x10\x1F\x81\x10\xF4\x76\x6C\x09\x11\x05\x34\x80\x1A\x51\x71\x62\x0A\x1C\x4E\x4D\x68\x69\xD0\x53\x68\x68\x64\x17\xCA\x6E\x11\xAE\x56\x6B\x8B\x6F\x84\x53\x6D\x84\x3F\x80\x12\xE3\x6D\x5E\x4D\x62\x62\x21\x18\x85\x12\x7E\x5A\x5A\x83\x7E\x6B\x1F\x6A\xFF\x0C\x5D\x68\x12\x86\x92\x68\x65\x64\x88\x7F\x47\x6F\x5E\x35\x1A\x86\xC5\x58\x65\xCC\x58\x16\x6F\x8D\x69\x6E\x83\x87\x53\x65\x6C\x2E\x16\x87\x23\x15\x76\x21\x1A\x87\x93\x54\x46\x00\x09\x5C\x68\x10\x88\x21\x1B\x83\x2E\x14\x88\x23\x13\x77\x68\x18\x88\xB1\x6B\x16\xCD\x62\x13\xA9\x68", - "\x16\x8F\x88\x65", - }; - vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); - } + static const vl::vint dataLength = 2930; // 42808 bytes before compressing + static const vl::vint dataBlock = 256; + static const vl::vint dataRemain = 114; + static const vl::vint dataSolidRows = 11; + static const vl::vint dataRows = 12; + static const char* compressed[] = { + "\x38\xA7\x00\x00\x6A\x0B\x00\x00\x27\x00\x01\x82\x80\x08\x03\x82\x81\x82\x06\x89\x82\x84\x0A\x84\x06\x85\x09\x0A\x9A\x0A\x82\x1A\x80\x16\x84\x16\x0A\xB0\x47\x09\x8F\x7D\x8E\x8F\x8E\x0A\x80\x1F\x9F\x81\x93\x92\x8F\x92\x26\xFF\x68\x86\x9B\x93\x91\x96\x92\x0A\xA9\xAA\x91\x99\x97\x97\x92\x9A\x2C\xB8\xAE\x9A\x90\x9C\x8D\x9A\x9E\x37\xBE\xB9\x82\xAB\x9C\xA1\x9E\x83\x32\xB6\xA0\x80\xAB\xA6\xA1\xA0\xA4\x3F\xCE\x8D\xB0\xA3\xA4\xA9\xA2\xAB\x47\x83\x89\xAC\xA3\x9A\xA9\xAE\xAC\x4F\xDA\x91\xA0\xB3\xAA\xB1\xAA\xB3\x57\xE8\x99\xA1\x92\x81\x00\xAE\xA5\x5F\xEA\xA1\xA2\x8B\xAE\xAC\xB9\xBB\x6F\xF9\xB6\xBA\xB4\xB1\xB8\xBB\xB1\x72\xE5\xBF\xA7\xB3\xC1\xB5\xC3\xB5\x01\xF5\xBD\xB8\xBB\xBD\xC7\xC4\xBE\x81\xFE\x89\xC0\xC7\xC3\xBB\xC8\xC2\x97\x86\xD9\xC8\xC2\x94\xCB\xCC\xCB\x9D\x98\xE1\xDA\xC3\xD4\xCE\xC5\xC8\x8C\x8F\xCE\xC8\xD0\xCD\xCA\xC1\xCF\xAF\xA5\xE0\xCE\xB9\x84\xDA\xD5\xDB\xAC\xAB\xEE\xD2\xC2\xD9\xDB\xD3\xDD\xA9\xB9\xF8\xC0\xED\xD0\xD8\xDF\xDF\xC6\xC1\xC4\xFA\xD9\xE5\xE1\xDF\xE3\x9E\xCF\xCA\xED\xEC\xE2\xEA\xE6\xE4\xD6\xD5\xD8\xFB", + "\xE1\xEC\xEE\xD0\xEF\xA4\xE0\xE6\xDD\xE4\xF7\xED\xF3\xF0\xE7\xE3\xE6\xEB\xF8\xF4\xF6\xF5\xF6\xF0\xEF\xF2\xE0\xD2\xF4\xF9\xF4\xD0\x02\x0A\xB6\xC2\xEC\xFB\xE7\xE0\xEA\xFF\x59\x71\x81\x7D\xBE\x77\x75\x82\x7B\xF6\x48\x87\x81\x7C\x09\x8C\x8B\x80\x67\x03\x3A\x77\x75\x74\x0C\x75\x63\x86\x82\xD0\x58\x83\x76\x80\xFD\x40\x8D\x84\x87\xFE\x5F\x84\x81\x86\x0E\xA4\x83\x7F\x83\x0D\xA7\x86\x89\x8A\x2C\xA8\x8E\x8B\x8A\x2F\x9B\x83\x8A\x8C\x06\xB0\x86\x8C\x8D\x1A\x97\x85\x88\x8E\x3B\xBA\x8A\x88\x8F\x3F\xBE\x8D\x8B\x8D\x42\xB1\x85\x90\x91\xDA\x75\x80\x93\x90\x4B\x86\x99\x91\x8E\x4F\xBD\x81\x95\x90\xD5\x45\x02\x87\x94\x4C\x87\x9D\x90\x92\x03\x8A\x9A\x97\x97\x58\x8E\x9D\x94\x94\x63\x92\x95\x98\x95\x67\x99\x91\x98\x97\x22\x9E\x9B\x9B\x96\x70\xA0\x99\x9A\x98\x6D\xA4\x95\x9E\x99\x77\xA8\x99\x9E\x9A\x73\xAC\x91\x8B\x9F\x1E\x80\xA0\x89\xA0\x84\x83\xA0\x02\x01\x57\xBD\x91\x9F\x9B\x72\xBB\x94\x9E\xA0\x33\x8D\xA0\xA6\x9B\x8A\x8A\x4B\x46\x85\x8C\x99\xA5\xA6\xA6\x8E\xBE\x95\xA1\xA4\x9C\x93\xA2\x68\x42\x06\x7B\x72\xA8\x9E\xA7\xBA\x99\xA8\x9F", + "\x9D\x8B\xAB\xA7\xAB\xAD\x92\xA1\x41\x02\x89\xB1\xA1\xAB\xA7\x94\xB6\xA0\xAF\xAA\x8F\xB8\xA6\x9E\xA0\x0A\x35\xAC\xAE\xA7\x86\x8B\x02\xB2\xAF\xA8\x88\xBA\xAA\xB2\xAC\x83\xBE\xAA\xAE\xD0\x8E\xB2\xAE\xA1\xA0\xBB\xAC\xB1\xAF\xD4\xB9\xA2\xB7\xAD\xD9\xBF\xA7\xB4\xB1\xD5\x91\xBF\xB7\xB3\xDB\x96\xBD\xB4\x69\x0E\x58\xA6\xB9\xB8\xE5\xA2\xB7\xBB\xB2\xEF\x8D\xB3\xBB\xB4\xEC\xB3\xBC\xB5\xBD\xF1\x98\xB8\xBC\xBE\x0D\x07\xB9\xBC\xB8\xDA\xB6\xBB\xB9\xC0\xFF\xA4\xB2\xC2\xBB\xFB\x84\xC9\xC2\x68\x0E\x0A\x49\x7F\xBD\x0A\xD1\xCE\xB5\xC1\xF4\x92\xC9\xB0\xC5\x10\xD3\xCB\xC3\xC5\x1B\xF0\xBD\xC6\xBC\x18\xC3\xCA\xC6\xC5\x1E\xD1\x70\x06\xBF\x1F\xFA\xB4\xC8\xC8\x29\xC0\xC3\xCB\xCB\x1C\xEB\xCA\xC8\xCC\x25\xF4\xCC\xCA\xCC\x2E\xF1\xC6\xCC\xB6\x11\x28\xC8\xCE\xC1\x21\xC8\xCF\xCD\xC5\x3B\xF9\xC5\xCE\xCE\x48\xC7\xDA\xD3\xCD\x45\xC0\xDD\xCA\xD3\x43\xD9\xC9\xD0\xD3\x53\xF3\xC7\xC6\x04\x3E\xCD\xD4\xD1\xD5\x46\xD4\xDB\xD2\xD5\x5F\xDD\xD0\xDA\xD7\x20\xD0\x4A\xBA\xD0\x5A\xD2\xD1\xD8\xD4\x69\xE2\xCC\xD4\xDB\x6F\xDB\xDB\xDA\xDC\x64\xE3\xD6\xDE\xD8\x78", + "\xF0\xD3\xDE\xDA\x75\xC4\xB4\x05\xD6\x71\xFC\xD7\xDE\xDE\x7D\xC4\xE3\xE0\xDD\x87\xC2\xE9\xDC\xE2\x8B\xC9\x45\x04\xE0\x7B\xEE\xD1\xE4\xDA\x81\xD2\xE5\xE0\xE3\x86\xCD\xE6\xE5\xE2\x9B\xDA\xE4\xE7\xE4\xED\xA1\xE7\xC2\xE8\x41\xE4\xEF\xD0\xE6\xA8\xCA\xE9\xE7\xEA\xA9\xDD\xEC\xEA\xEA\xAD\xDF\xE7\xE4\xEC\xB4\xEE\xE1\xEE\xE9\x51\xE6\xB6\x04\xE4\xB3\xF6\xE5\xEE\xEC\xD8\x97\x0C\xEC\xE7\xC0\xDE\xE8\xED\xDB\xC5\xEF\xEE\xEF\xF2\x1F\x98\x0E\xC3\xED\x85\x92\x47\xDB\xF1\x95\xC9\xF0\xF5\xE9\xA3\xD9\xF8\xF7\xF6\xA7\xFF\xE4\xF4\xE8\xDA\xDD\xFC\xF3\xF7\xBD\xD6\xFE\xF5\xF8\xB9\xE6\xF3\xFA\xF6\x1B\x03\xF6\xF0\xFA\xC8\xE4\xF4\xF2\xFC\xEF\xDC\xF9\xF8\xFD\xCA\xEA\xFA\xFC\xFE\xCE\x5C\x0E\xF9\xFE\xFC\x67\x7E\xFD\x71\x70\x7F\xEA\x41\x83\x7D\x03\x86\x81\x01\xE0\x79\x80\x06\xA2\x7B\x7F\x0B\x85\x7E\xA0\x1D\x0F\x7F\xEB\x4F\x87\x80\x10\x8D\x82\x04\x91\x83\x7E\x0E\xB5\x7F\x82\x1E\x80\x81\x08\x96\x87\x7F\x11\x82\x80\x84\x1A\x9D\x82\xA1\x1E\x05\x83\x13\x84\x67\x03\x2D\x88\x80\x0A\xB3\x85\x85\x14\x9F\x85\x86\x34\x84\x82\x0D\xA2\x8B\x86\x12\xBA\x81", + "\x87\x0A\x9D\x84\xB7\x20\x01\x87\x0C\x80\x8E\x81\x38\x89\x8B\x0F\xD1\x31\x05\x22\x98\x87\x89\x26\x92\x86\x12\xC1\x87\x89\x0D\x82\x88\x81\x14\x33\x79\x14\xC6\x85\x87\x11\x0E\x8B\x8B\x50\x97\x88\x17\xCB\x84\x8C\x2A\x93\x88\x89\x13\x64\x07\x17\xE2\x81\x8C\x7C\x65\x03\x8D\x55\x8A\x85\x1C\xB7\x85\x8C\x34\xA6\x8A\x34\x26\x10\x8F\x19\xD6\x83\x8E\x1E\xBD\x8E\x87\x77\x81\x92\x1D\x83\x9C\x8F\x3D\xAA\x80\x20\x5A\x80\x02\x45\x09\x98\x3B\x14\x3A\x8D\x8E\x85\x90\x92\x1C\x86\x94\x8E\x41\x91\x96\x92\x93\x92\x91\x25\x84\x99\x92\x4C\x9B\x97\x92\x9C\x9F\x91\x27\xA1\x9E\x8E\x4A\xA5\x92\x87\x2A\x0F\x90\x69\x2B\x0A\x94\x52\x80\x96\x95\x2E\x9A\x93\x29\x9E\x93\x96\x58\x92\x8A\x96\x17\x2D\x94\x28\xBB\x93\x94\x5E\xA2\x97\x97\xB5\x9E\x95\x30\xBD\x94\x98\x60\xAF\x92\x98\xC7\x85\x9B\x30\xC6\x91\x96\x5A\x97\x7D\x05\xBA\x8A\x86\x0B\x51\x9C\x99\x5B\x8E\x9D\x99\xB6\x83\x8F\x35\xD6\x99\x9B\x36\xA6\x93\x5A\x2F\x1E\x5C\x0C\x4F\x75\x3A\x19\x3E\x5B\x06\xD4\x8B\x9A\x3A\xC9\x95\x9A\x6D\x9D\x98\x8C\xF0\x8C\x8D\x3C\xFF\x88\x9A\x64\xB5\x9A\x99\xEC\x8B", + "\x9F\x3D\xED\x9E\x9A\x1D\xB4\x01\x9D\xF9\x81\xA3\x3E\xFA\x9C\x9A\x7B\x85\xA0\x9F\x03\xA2\xA2\x41\x35\x00\xA1\x84\x8E\xA7\xA0\xFC\x93\x9F\x37\x8F\xAE\x9C\x83\x95\xA0\xA1\x06\x36\x06\xBF\x37\x04\x9D\x00\x79\x06\x5F\x3A\x0D\xA0\x44\x84\xA7\xA3\x88\xB2\x9F\xA4\xF4\x83\xA6\x42\xA5\xA4\xA5\x7E\x9B\x9C\xA5\x2B\xAE\xA7\x3B\xA8\xA3\xA2\x04\xBB\x03\x8D\x3C\x1E\x5D\x0F\x1D\xAF\x43\x1F\x3E\x58\x08\x22\xB0\xA4\x45\xB2\xA6\xA2\xA2\x98\xA2\xA8\x2A\xBC\x59\x10\x6B\x82\x08\x7F\x43\x0C\xA7\x82\x45\x0A\xBF\x46\x01\xA8\xA3\xA6\xA1\xA5\x48\xB9\xAA\x55\xAD\xA2\xA3\x89\x47\x10\xAA\x01\x21\x5B\x9A\x32\x24\x57\x84\x18\x6E\x2B\x56\x5E\x2A\x4C\x0F\x66\x21\xB2\xBD\x4C\xAC\x0A\x39\xA6\x57\x6C\xA3\x20\xB7\x9D\x50\xAE\x09\x3B\xA7\x5C\x8A\x22\xAD\xB7\xA9\x26\xAE\x02\x27\xAD\x5F\x74\xA2\x21\xBE\xB7\xAF\xAF\x0A\x22\xB1\x64\x69\xAD\x2F\x11\x78\xAE\x20\xFD\x43\xAC\x62\x89\x21\xB3\xBE\x26\x54\x2D\xCF\x20\xB1\x40\x69\x56\xB2\xB0\x99\xB5\x21\x5C\x37\xB0\x00\x22\xBF\xB1\x81\x1C\xB1\x32\x84\xA1\x20\x63\x87\xB6\x24\xCD\x80\x06\x58\x92\xAD\xB6\x42\x15", + "\xBC\xB5\x91\x2E\xB4\xB6\xBB\x2B\xB7\x6E\x0E\xB3\xB2\x83\x3A\xAE\xAF\xB2\xA9\x22\x6B\xEB\xAA\x20\xDD\x86\x39\xB5\x00\x06\xBB\x73\x48\xB5\x42\xE0\xB6\xB2\x21\xA4\x48\xB6\x42\x4D\xB5\xB7\x8F\x2E\xB2\xAE\x83\xB3\xBB\x91\x25\xB7\x21\xED\xBD\xB3\x20\xBF\xAB\xB0\x57\x32\x21\x42\xB5\xA9\x24\xB9\xDE\xA1\xBA\x41\x51\xBB\x37\xF2\x8D\xB7\xBC\x0A\x23\xB9\x8D\x5C\xB1\x20\xEC\x91\x36\xBD\x91\x24\xB9\x42\x54\xB3\x58\xFA\x80\x06\xBE\xED\xA3\xBC\x7C\xFB\xBC\x2A\xFC\xBB\xB3\xC0\x6D\xBC\x28\x7F\xC6\x32\x26\xE5\xB2\x22\x26\x0B\xCF\x39\x83\x82\xC6\x24\xE4\x86\xC6\x38\x17\xD2\xC0\x82\x83\x21\xC2\xDE\xAA\xBB\x20\xEC\xA7\xBA\x42\x19\xC4\xBC\x0A\xE3\x20\xB9\xF2\xB8\x42\x7F\x80\xC2\xC5\x84\x24\xC1\x25\x2F\xCF\xC3\x89\xDA\xB1\xB7\xE7\x89\x24\xC5\xCB\xA3\xC5\x81\xA6\xCF\x22\xF4\xBB\xAE\xC5\x3B\xC6\xBD\x85\xF1\xBC\x2A\x07\xF2\xC3\x24\x31\xC7\xC9\x47\x3E\xCE\xB8\xEB\x90\xB9\xC8\xEF\xA3\xCA\x70\xE9\xB6\xC6\x83\x38\xC5\xC4\x42\xD3\xC4\x81\xB5\xCE\xC9\x1B\xD0\xC9\xBF\x1B\xCB\x23\x97\x87\xC2\xCB\x04\xE8\xAC\xC7\x1E\x29\xCA\x92\xCC\xC5\xBA\x8F", + "\x2E\xB1\xC4\xCF\x2A\xCF\x91\xA8\xC4\xCB\x2E\xD6\xCB\xCC\x0C\xC1\xCD\x40\x1D\xC3\xBF\xEF\x82\x27\xCA\x30\xC8\xCF\x92\xB4\xCD\x2E\x39\xF2\xC4\xCE\x5E\x2E\xB5\xCF\x09\xDA\x21\x45\xFD\x2E\xB5\x86\xBB\x34\xA4\xDC\x2E\xB5\x4B\x4F\xD6\x52\x94\xD8\xD2\x57\x2C\x98\xB3\x81\x22\xB0\xB9\xA0\xDA\xC7\x96\x86\x2A\xB8\x44\x49\x26\xD2\x03\x26\xD6\x41\x2A\xD3\x20\x54\xDD\xB9\x21\xAC\xCF\xD6\x41\x2E\xD1\x20\x38\xF1\xD5\xD6\x0A\x37\xD4\x41\x1A\xD6\xCD\x55\xC4\xCF\xD4\xBF\xDE\xD7\x94\xB0\xD1\xD9\x56\xFC\xA9\xD7\xC7\xC0\xD9\x42\x11\xD1\x20\x5D\xCC\xDF\x50\xC9\xD3\xD6\x42\x30\xBD\xD3\x59\x55\xDD\xD3\x80\x1E\x5D\x48\x2E\xB7\xDA\x81\x01\x16\x5F\xC8\xAE\x79\xB7\xA4\xB1\x3B\x0C\xC4\x8D\xDB\x21\x22\x12\xBF\x66\xD8\xDD\x90\x03\x16\x5F\x11\xC8\x93\xB5\xE4\xD2\x34\xE5\x9C\xD7\xDA\x86\xDC\x36\x68\xA9\x9D\xDB\x7C\xE1\x22\xD7\xD3\x8D\xDD\x42\x04\x1E\x5E\x5D\xE1\x9A\xE0\x06\x25\x11\xC1\x8A\x27\xE0\x84\xC2\x26\x10\xFE\x47\x08\xBA\xFE\xDE\xE0\x4F\xE0\xDE\x39\xC8\xB4\xDC\x69\x21\x29\xC2\x8D\xF0\x59\xC3\xC8\xB8\x38\x0F\x91\xCA\xD6\x91\xC4\xD6\xE2", + "\x09\x2A\xB9\xC8\x94\x4C\xD7\x0F\x61\x24\xD6\xA3\xB3\x5A\xAE\xB0\xE6\xE4\x01\xB0\xE4\xDA\x2E\xEE\x38\x9C\xAB\xE3\x55\x68\xF9\xE2\x80\x70\xD4\xE1\xB7\xCF\xD2\xB4\x9C\xC2\x20\xB9\x21\x22\xB7\xA4\xD5\x3C\x86\xD7\x82\xEF\xDA\xB8\xA1\x22\x68\x8D\x69\x21\x8C\xFE\x5F\xD9\x46\xC2\x35\x48\x27\x6C\x90\x82\x46\xE8\xD7\x4C\xF7\x7B\x69\x82\x24\xEB\x00\x7C\x83\xEC\x01\x2E\xD3\xCF\x81\x4A\xED\xA3\xCE\x38\xED\x00\x0A\xB2\xA0\x1B\x46\x6C\x83\x3C\xE4\x34\x65\xE3\x21\xD4\x86\x51\x25\xC7\x55\xEB\x5A\x0F\x13\xB6\x73\x21\x22\x79\xBF\xDC\x5C\xEB\x06\x21\xF1\xD8\x82\x8D\xED\x80\x3B\xED\xE6\x06\x39\x02\x67\xF8\x52\xEF\x80\x08\xF3\xED\x19\x95\xEF\x40\x7E\xE6\xEC\x85\x2D\x7D\xEB\x13\x7C\xF3\x40\x12\xFB\xF1\x00\x7E\x7E\xF0\x01\x5B\x75\x42\x79\xE3\xEF\x69\x56\xE9\x21\xAA\xE6\x21\xE3\xFC\xEE\x38\x16\xA8\xF3\x20\x1D\xEA\x21\xEC\x83\x25\xF2\xDA\xD5\x3F\xDC\x76\xE7\xE5\x5B\x0A\x25\xF0\x83\x3F\x6D\xF4\x03\x39\x89\xA9\x53\x52\xDC\x83\x05\xF8\xF3\x61\x84\xF6\x41\x3B\xFD\xF4\x01\x92\x7E\x20\xA7\xFD\xF1\x75\x5E\x87\xF6\x41\x59\xFB\x20\x30\x88\xF9", + "\x18\xDF\xF2\x20\x0A\xA2\xF9\x9E\xE6\xE6\x22\xED\xDA\xF1\x41\x37\x9D\xFD\x50\xEB\xE0\xFF\xE0\xD7\x71\xFC\x83\x22\xF5\xFA\x06\x32\xDC\xCA\x81\x4A\xB8\xD1\xB5\xFB\x20\x4D\x47\x7E\x27\x50\x7C\x9B\x73\x7F\x09\x1B\x48\xCB\x75\x1D\xBA\x62\x5A\x04\x82\x10\x01\x8C\x7E\x19\x4F\x80\x03\x1F\x79\x10\x81\x46\xCA\x73\x10\xEE\x75\x81\x01\x1E\x48\x89\x4C\x6F\xC1\x75\x1D\x17\x82\x10\x6A\x42\x80\x18\x19\x48\xD0\x4F\x7E\x86\x21\x82\x01\x19\x47\x02\x8D\x70\xFB\x7E\x2E\x23\x86\x10\x19\x80\x7D\x85\x23\x4E\x28\x88\x1D\x31\x83\x10\x2C\x8A\x81\x27\x53\x83\x02\x1B\x83\x34\x87\x52\x40\x82\x10\xE4\x75\x28\x1B\x26\x4E\x28\x80\x73\xA2\x5A\x7F\x02\x1C\x7D\x3C\x8F\x4F\xA0\x77\x31\x08\x88\x81\x06\x8B\x50\x9E\x5C\x51\x28\x80\x67\xA2\x53\x85\x02\x15\x72\xD1\x11\x12\x1F\x58\x82\x37\x58\x82\xAE\x5B\x85\x0A\x19\x83\xF8\x70\x5E\x9E\x5E\x53\x28\x84\x74\x15\x1A\x10\x43\x86\x84\x0A\x1B\x54\x37\x81\x1D\x5F\x71\x73\x07\x8D\x72\x69\x82\x10\x4F\x55\x87\xA2\x10\x77\xFB\x6A\x10\x1C\x8C\x83\x52\x5E\x87\x17\x37\x6F\x03\x13\x88\x41\x82\x71\x86\x80\x2F\x25\x82", + "\x83\x55\x83\x10\x49\x02\x6A\x06\x1C\x04\x9E\x5B\x77\xC8\x5F\x88\xA9\x61\x89\x02\x1E\x04\x94\x83\x10\x51\x0E\x59\x8A\x7F\x81\x06\x1A\x89\x22\x8C\x89\x01\x13\x05\x9F\x82\x10\x56\x0E\x59\xB3\x79\x89\x70\x88\x8A\x00\x08\x05\xAB\x85\x28\x9A\x7E\x76\x09\x16\x8A\x01\x14\x73\x5F\x8A\x10\x5B\x05\x8B\x86\x27\x7F\x01\x18\x5C\x01\x76\x10\x27\x8C\x83\x5E\x05\x55\x01\x15\x8C\x54\x82\x80\x5F\x0E\x59\x61\x0E\x59\xCF\x78\x8B\x06\x1C\x8C\x5D\x82\x8B\x63\x0E\x59\x65\x0E\x59\xD2\x73\x10\xC4\x87\x86\xB2\x87\x06\x9E\x59\x06\x9E\x54\x81\xDE\x8A\x10\xD6\x8B\x82\xB2\x8B\x06\x93\x71\x1D\xE9\x77\x8E\x09\x19\x8E\x00\x0C\x8B\x5A\x7A\x10\x6D\x0D\x8E\xA2\x1F\x7F\xD4\x83\x10\x2E\x82\x10\xC7\x81\x84\x6F\x0A\x8C\x00\x0D\x8F\x01\x1E\x83\x72\x89\x10\x70\x0E\x59\x72\x0E\x59\x12\x8B\x8F\x02\x14\x90\xD0\x62\x80\x74\x0E\x59\x76\x0E\x59\x4E\x80\x8F\x06\x10\x91\x68\x87\x90\x06\x18\x07\x9E\x5A\x07\x9E\x56\x90\x00\x08\x5C\x10\x91\x87\xBE\x76\x10\x7C\x08\x8F\xA4\x1C\x84\xC3\x8C\x70\x7A\x8C\x91\x03\x1E\x07\x2A\x9C\x19\x8A\x8E\x90\x01\x16\x83\xD7\x62\x72", + "\x0F\x65\x71\xE3\x6F\x16\x1E\x7F\x11\xA2\x5C\x16\x41\x99\x74\xED\x63\x94\xDA\x64\x94\xE8\x67\x77\x24\x1A\x94\x3D\x6D\x6E\xA1\x6E\x59\x48\x7F\x7A\x28\x88\x74\xFE\x69\x6F\xFF\x09\x61\x6C\x18\x95\x1C\x7D\x6E\x5A\x90\x8C\x6C\x1C\x67\x2C\x10\x96\x26\x11\x61\x5F\x9D\x6E\x64\x91\x12\x67\x92\x7C\x9D\x69\x96\x29\x7F\x16\x59\x76\x12\xCA\x5C\x16\x71\x91\x12\x73\x95\x5C\xED\x6E\x85\x2C\x18\x97\x26\x1A\x6B\x6C\x1C\x97\x2F\x7F\x16\xF4\x86\x12\x30\x7C\x16\x83\x9D\x6E", + }; + vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); + } - const wchar_t* TypeParserRuleName(vl::vint index) - { - static const wchar_t* results[] = { - L"EnumItem", - L"Enum", - L"ClassPropType", - L"classProp", - L"ClassBody", - L"Class", - L"Type", - L"File", - }; - return results[index]; - } + const wchar_t* TypeParserRuleName(vl::vint index) + { + static const wchar_t* results[] = { + L"EnumItem", + L"Enum", + L"ClassPropType", + L"classProp", + L"ClassBody", + L"Class", + L"Type", + L"File", + }; + return results[index]; + } - const wchar_t* TypeParserStateLabel(vl::vint index) - { - static const wchar_t* results[] = { - L"[0][EnumItem] BEGIN ", - L"[1][EnumItem] END [ENDING]", - L"[2][EnumItem]< ID \",\" @ >", - L"[3][EnumItem]< ID @ \",\" >", - L"[4][Enum] BEGIN ", - L"[5][Enum] END [ENDING]", - L"[6][Enum]< \"enum\" @ ID \"{\" { EnumItem } \"}\" >", - L"[7][Enum]< \"enum\" ID \"{\" @ { EnumItem } \"}\" >", - L"[8][Enum]< \"enum\" ID \"{\" { EnumItem @ } \"}\" >", - L"[9][Enum]< \"enum\" ID \"{\" { EnumItem } \"}\" @ >", - L"[10][Enum]< \"enum\" ID @ \"{\" { EnumItem } \"}\" >", - L"[11][ClassPropType] BEGIN ", - L"[12][ClassPropType] END [ENDING]", - L"[13][ClassPropType]\"token\" @", - L"[14][ClassPropType]ID \"[\" \"]\" @", - L"[15][ClassPropType]ID \"[\" @ \"]\"", - L"[16][ClassPropType]ID @", - L"[17][ClassPropType]ID @ \"[\" \"]\"", - L"[18][classProp] BEGIN ", - L"[19][classProp] END [ENDING]", - L"[20][classProp]< \"var\" @ ID \":\" ClassPropType \";\" >", - L"[21][classProp]< \"var\" ID \":\" @ ClassPropType \";\" >", - L"[22][classProp]< \"var\" ID \":\" ClassPropType \";\" @ >", - L"[23][classProp]< \"var\" ID \":\" ClassPropType @ \";\" >", - L"[24][classProp]< \"var\" ID @ \":\" ClassPropType \";\" >", - L"[25][ClassBody] BEGIN ", - L"[26][ClassBody] END [ENDING]", - L"[27][ClassBody]ID @ [ \":\" ID ] \"{\" { classProp } \"}\"", - L"[28][ClassBody]ID [ \":\" @ ID ] \"{\" { classProp } \"}\"", - L"[29][ClassBody]ID [ \":\" ID @ ] \"{\" { classProp } \"}\"", - L"[30][ClassBody]ID [ \":\" ID ] \"{\" @ { classProp } \"}\"", - L"[31][ClassBody]ID [ \":\" ID ] \"{\" { classProp @ } \"}\"", - L"[32][ClassBody]ID [ \":\" ID ] \"{\" { classProp } \"}\" @", - L"[33][Class] BEGIN ", - L"[34][Class] END [ENDING]", - L"[35][Class]< \"ambiguous\" \"class\" @ ClassBody >", - L"[36][Class]< \"ambiguous\" \"class\" ClassBody @ >", - L"[37][Class]< \"ambiguous\" @ \"class\" ClassBody >", - L"[38][Class]< \"class\" @ ClassBody >", - L"[39][Class]< \"class\" ClassBody @ >", - L"[40][Type] BEGIN ", - L"[41][Type] END [ENDING]", - L"[42][Type]<< ( !Enum @ | !Class ) >>", - L"[43][Type]<< ( !Enum | !Class @ ) >>", - L"[44][File] BEGIN ", - L"[45][File] END [ENDING]", - L"[46][File]< Type @ { Type } >", - L"[47][File]< Type { Type @ } >", - }; - return results[index]; - } + const wchar_t* TypeParserStateLabel(vl::vint index) + { + static const wchar_t* results[] = { + L"[0][EnumItem] BEGIN ", + L"[1][EnumItem] END [ENDING]", + L"[2][EnumItem]< ID \",\" @ >", + L"[3][EnumItem]< ID @ \",\" >", + L"[4][Enum] BEGIN ", + L"[5][Enum] END [ENDING]", + L"[6][Enum]< [ \"@public\" @ ] \"enum\" ID \"{\" { EnumItem } \"}\" >", + L"[7][Enum]< [ \"@public\" ] \"enum\" @ ID \"{\" { EnumItem } \"}\" >", + L"[8][Enum]< [ \"@public\" ] \"enum\" ID \"{\" @ { EnumItem } \"}\" >", + L"[9][Enum]< [ \"@public\" ] \"enum\" ID \"{\" { EnumItem @ } \"}\" >", + L"[10][Enum]< [ \"@public\" ] \"enum\" ID \"{\" { EnumItem } \"}\" @ >", + L"[11][Enum]< [ \"@public\" ] \"enum\" ID @ \"{\" { EnumItem } \"}\" >", + L"[12][ClassPropType] BEGIN ", + L"[13][ClassPropType] END [ENDING]", + L"[14][ClassPropType]\"token\" @", + L"[15][ClassPropType]ID \"[\" \"]\" @", + L"[16][ClassPropType]ID \"[\" @ \"]\"", + L"[17][ClassPropType]ID @", + L"[18][ClassPropType]ID @ \"[\" \"]\"", + L"[19][classProp] BEGIN ", + L"[20][classProp] END [ENDING]", + L"[21][classProp]< \"var\" @ ID \":\" ClassPropType \";\" >", + L"[22][classProp]< \"var\" ID \":\" @ ClassPropType \";\" >", + L"[23][classProp]< \"var\" ID \":\" ClassPropType \";\" @ >", + L"[24][classProp]< \"var\" ID \":\" ClassPropType @ \";\" >", + L"[25][classProp]< \"var\" ID @ \":\" ClassPropType \";\" >", + L"[26][ClassBody] BEGIN ", + L"[27][ClassBody] END [ENDING]", + L"[28][ClassBody]ID @ [ \":\" ID ] \"{\" { classProp } \"}\"", + L"[29][ClassBody]ID [ \":\" @ ID ] \"{\" { classProp } \"}\"", + L"[30][ClassBody]ID [ \":\" ID @ ] \"{\" { classProp } \"}\"", + L"[31][ClassBody]ID [ \":\" ID ] \"{\" @ { classProp } \"}\"", + L"[32][ClassBody]ID [ \":\" ID ] \"{\" { classProp @ } \"}\"", + L"[33][ClassBody]ID [ \":\" ID ] \"{\" { classProp } \"}\" @", + L"[34][Class] BEGIN ", + L"[35][Class] END [ENDING]", + L"[36][Class]< [ \"@public\" @ ] [ \"@ambiguous\" ] \"class\" ClassBody >", + L"[37][Class]< [ \"@public\" ] [ \"@ambiguous\" @ ] \"class\" ClassBody >", + L"[38][Class]< [ \"@public\" ] [ \"@ambiguous\" ] \"class\" @ ClassBody >", + L"[39][Class]< [ \"@public\" ] [ \"@ambiguous\" ] \"class\" ClassBody @ >", + L"[40][Type] BEGIN ", + L"[41][Type] END [ENDING]", + L"[42][Type]<< ( !Enum @ | !Class ) >>", + L"[43][Type]<< ( !Enum | !Class @ ) >>", + L"[44][File] BEGIN ", + L"[45][File] END [ENDING]", + L"[46][File]< Type @ { Type } >", + L"[47][File]< Type { Type @ } >", + }; + return results[index]; + } - TypeParser::TypeParser() - : vl::glr::ParserBase(&ParserGenTokenDeleter, &ParserGenLexerData, &ParserGenTypeParserData) - { - }; + TypeParser::TypeParser() + : vl::glr::ParserBase(&ParserGenTokenDeleter, &ParserGenLexerData, &ParserGenTypeParserData) + { + } - vl::vint32_t TypeParser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const - { - return -1; - }; + vl::WString TypeParser::GetClassName(vl::vint32_t classIndex) const + { + return vl::WString::Unmanaged(ParserGenTypeName((ParserGenClasses)classIndex)); + } - vl::Ptr TypeParser::ParseFile(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); - }; + vl::vint32_t TypeParser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const + { + return -1; + } - vl::Ptr TypeParser::ParseFile(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; - } + vl::Ptr TypeParser::ParseFile(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } + + vl::Ptr TypeParser::ParseFile(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); } } @@ -14215,464 +14158,470 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen { - namespace glr - { - namespace parsergen - { /*********************************************************************** ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase ***********************************************************************/ - vl::Ptr ParserGenAstInsReceiver::CreateAstNode(vl::vint32_t type) - { - auto cppTypeName = ParserGenCppTypeName((ParserGenClasses)type); - switch((ParserGenClasses)type) - { - case ParserGenClasses::AlternativeSyntax: - return vl::Ptr(new vl::glr::parsergen::GlrAlternativeSyntax); - case ParserGenClasses::AndCondition: - return vl::Ptr(new vl::glr::parsergen::GlrAndCondition); - case ParserGenClasses::Assignment: - return vl::Ptr(new vl::glr::parsergen::GlrAssignment); - case ParserGenClasses::AstFile: - return vl::Ptr(new vl::glr::parsergen::GlrAstFile); - case ParserGenClasses::Class: - return vl::Ptr(new vl::glr::parsergen::GlrClass); - case ParserGenClasses::ClassProp: - return vl::Ptr(new vl::glr::parsergen::GlrClassProp); - case ParserGenClasses::CreateClause: - return vl::Ptr(new vl::glr::parsergen::GlrCreateClause); - case ParserGenClasses::Enum: - return vl::Ptr(new vl::glr::parsergen::GlrEnum); - case ParserGenClasses::EnumItem: - return vl::Ptr(new vl::glr::parsergen::GlrEnumItem); - case ParserGenClasses::LeftRecursionInjectClause: - return vl::Ptr(new vl::glr::parsergen::GlrLeftRecursionInjectClause); - case ParserGenClasses::LeftRecursionInjectContinuation: - return vl::Ptr(new vl::glr::parsergen::GlrLeftRecursionInjectContinuation); - case ParserGenClasses::LeftRecursionPlaceholder: - return vl::Ptr(new vl::glr::parsergen::GlrLeftRecursionPlaceholder); - case ParserGenClasses::LeftRecursionPlaceholderClause: - return vl::Ptr(new vl::glr::parsergen::GlrLeftRecursionPlaceholderClause); - case ParserGenClasses::LoopSyntax: - return vl::Ptr(new vl::glr::parsergen::GlrLoopSyntax); - case ParserGenClasses::NotCondition: - return vl::Ptr(new vl::glr::parsergen::GlrNotCondition); - case ParserGenClasses::OptionalSyntax: - return vl::Ptr(new vl::glr::parsergen::GlrOptionalSyntax); - case ParserGenClasses::OrCondition: - return vl::Ptr(new vl::glr::parsergen::GlrOrCondition); - case ParserGenClasses::PartialClause: - return vl::Ptr(new vl::glr::parsergen::GlrPartialClause); - case ParserGenClasses::PrefixMergeClause: - return vl::Ptr(new vl::glr::parsergen::GlrPrefixMergeClause); - case ParserGenClasses::PushConditionSyntax: - return vl::Ptr(new vl::glr::parsergen::GlrPushConditionSyntax); - case ParserGenClasses::RefCondition: - return vl::Ptr(new vl::glr::parsergen::GlrRefCondition); - case ParserGenClasses::RefSyntax: - return vl::Ptr(new vl::glr::parsergen::GlrRefSyntax); - case ParserGenClasses::ReuseClause: - return vl::Ptr(new vl::glr::parsergen::GlrReuseClause); - case ParserGenClasses::Rule: - return vl::Ptr(new vl::glr::parsergen::GlrRule); - case ParserGenClasses::SequenceSyntax: - return vl::Ptr(new vl::glr::parsergen::GlrSequenceSyntax); - case ParserGenClasses::SwitchItem: - return vl::Ptr(new vl::glr::parsergen::GlrSwitchItem); - case ParserGenClasses::SyntaxFile: - return vl::Ptr(new vl::glr::parsergen::GlrSyntaxFile); - case ParserGenClasses::TestConditionBranch: - return vl::Ptr(new vl::glr::parsergen::GlrTestConditionBranch); - case ParserGenClasses::TestConditionSyntax: - return vl::Ptr(new vl::glr::parsergen::GlrTestConditionSyntax); - case ParserGenClasses::UseSyntax: - return vl::Ptr(new vl::glr::parsergen::GlrUseSyntax); - default: - return vl::glr::AssemblyThrowCannotCreateAbstractType(type, cppTypeName); - } - } - - void ParserGenAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) - { - auto cppFieldName = ParserGenCppFieldName((ParserGenFields)field); - switch((ParserGenFields)field) - { - case ParserGenFields::AlternativeSyntax_first: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAlternativeSyntax::first, object, field, value, cppFieldName); - case ParserGenFields::AlternativeSyntax_second: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAlternativeSyntax::second, object, field, value, cppFieldName); - case ParserGenFields::AndCondition_first: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAndCondition::first, object, field, value, cppFieldName); - case ParserGenFields::AndCondition_second: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAndCondition::second, object, field, value, cppFieldName); - case ParserGenFields::AstFile_types: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAstFile::types, object, field, value, cppFieldName); - case ParserGenFields::Class_props: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrClass::props, object, field, value, cppFieldName); - case ParserGenFields::CreateClause_assignments: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrCreateClause::assignments, object, field, value, cppFieldName); - case ParserGenFields::CreateClause_syntax: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrCreateClause::syntax, object, field, value, cppFieldName); - case ParserGenFields::Enum_items: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrEnum::items, object, field, value, cppFieldName); - case ParserGenFields::LeftRecursionInjectClause_continuation: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectClause::continuation, object, field, value, cppFieldName); - case ParserGenFields::LeftRecursionInjectClause_rule: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectClause::rule, object, field, value, cppFieldName); - case ParserGenFields::LeftRecursionInjectContinuation_flags: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::flags, object, field, value, cppFieldName); - case ParserGenFields::LeftRecursionInjectContinuation_injectionTargets: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::injectionTargets, object, field, value, cppFieldName); - case ParserGenFields::LeftRecursionPlaceholderClause_flags: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionPlaceholderClause::flags, object, field, value, cppFieldName); - case ParserGenFields::LoopSyntax_delimiter: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLoopSyntax::delimiter, object, field, value, cppFieldName); - case ParserGenFields::LoopSyntax_syntax: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLoopSyntax::syntax, object, field, value, cppFieldName); - case ParserGenFields::NotCondition_condition: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrNotCondition::condition, object, field, value, cppFieldName); - case ParserGenFields::OptionalSyntax_syntax: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrOptionalSyntax::syntax, object, field, value, cppFieldName); - case ParserGenFields::OrCondition_first: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrOrCondition::first, object, field, value, cppFieldName); - case ParserGenFields::OrCondition_second: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrOrCondition::second, object, field, value, cppFieldName); - case ParserGenFields::PartialClause_assignments: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPartialClause::assignments, object, field, value, cppFieldName); - case ParserGenFields::PartialClause_syntax: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPartialClause::syntax, object, field, value, cppFieldName); - case ParserGenFields::PrefixMergeClause_rule: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPrefixMergeClause::rule, object, field, value, cppFieldName); - case ParserGenFields::PushConditionSyntax_switches: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPushConditionSyntax::switches, object, field, value, cppFieldName); - case ParserGenFields::PushConditionSyntax_syntax: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPushConditionSyntax::syntax, object, field, value, cppFieldName); - case ParserGenFields::ReuseClause_assignments: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrReuseClause::assignments, object, field, value, cppFieldName); - case ParserGenFields::ReuseClause_syntax: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrReuseClause::syntax, object, field, value, cppFieldName); - case ParserGenFields::Rule_clauses: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrRule::clauses, object, field, value, cppFieldName); - case ParserGenFields::SequenceSyntax_first: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrSequenceSyntax::first, object, field, value, cppFieldName); - case ParserGenFields::SequenceSyntax_second: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrSequenceSyntax::second, object, field, value, cppFieldName); - case ParserGenFields::SyntaxFile_rules: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrSyntaxFile::rules, object, field, value, cppFieldName); - case ParserGenFields::SyntaxFile_switches: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrSyntaxFile::switches, object, field, value, cppFieldName); - case ParserGenFields::TestConditionBranch_condition: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrTestConditionBranch::condition, object, field, value, cppFieldName); - case ParserGenFields::TestConditionBranch_syntax: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrTestConditionBranch::syntax, object, field, value, cppFieldName); - case ParserGenFields::TestConditionSyntax_branches: - return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrTestConditionSyntax::branches, object, field, value, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotObject(field, cppFieldName); - } - } - - void ParserGenAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) - { - auto cppFieldName = ParserGenCppFieldName((ParserGenFields)field); - switch((ParserGenFields)field) - { - case ParserGenFields::Assignment_field: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrAssignment::field, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::Assignment_value: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrAssignment::value, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::Class_baseClass: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrClass::baseClass, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::ClassProp_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrClassProp::name, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::ClassProp_propTypeName: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrClassProp::propTypeName, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::CreateClause_type: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrCreateClause::type, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::EnumItem_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrEnumItem::name, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::LeftRecursionPlaceholder_flag: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrLeftRecursionPlaceholder::flag, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::PartialClause_type: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrPartialClause::type, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::RefCondition_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRefCondition::name, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::RefSyntax_field: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRefSyntax::field, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::RefSyntax_literal: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRefSyntax::literal, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::Rule_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRule::name, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::Rule_type: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRule::type, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::SwitchItem_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrSwitchItem::name, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::Type_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrType::name, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::UseSyntax_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrUseSyntax::name, object, field, token, tokenIndex, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotToken(field, cppFieldName); - } - } - - void ParserGenAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) - { - auto cppFieldName = ParserGenCppFieldName((ParserGenFields)field); - switch((ParserGenFields)field) - { - case ParserGenFields::Assignment_type: - return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrAssignment::type, object, field, enumItem, weakAssignment, cppFieldName); - case ParserGenFields::Class_ambiguity: - return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrClass::ambiguity, object, field, enumItem, weakAssignment, cppFieldName); - case ParserGenFields::ClassProp_propType: - return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrClassProp::propType, object, field, enumItem, weakAssignment, cppFieldName); - case ParserGenFields::LeftRecursionInjectContinuation_configuration: - return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::configuration, object, field, enumItem, weakAssignment, cppFieldName); - case ParserGenFields::LeftRecursionInjectContinuation_type: - return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::type, object, field, enumItem, weakAssignment, cppFieldName); - case ParserGenFields::OptionalSyntax_priority: - return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrOptionalSyntax::priority, object, field, enumItem, weakAssignment, cppFieldName); - case ParserGenFields::RefSyntax_refType: - return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrRefSyntax::refType, object, field, enumItem, weakAssignment, cppFieldName); - case ParserGenFields::SwitchItem_value: - return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrSwitchItem::value, object, field, enumItem, weakAssignment, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); - } - } - - const wchar_t* ParserGenTypeName(ParserGenClasses type) - { - const wchar_t* results[] = { - L"AlternativeSyntax", - L"AndCondition", - L"Assignment", - L"AstFile", - L"Class", - L"ClassProp", - L"Clause", - L"Condition", - L"CreateClause", - L"Enum", - L"EnumItem", - L"LeftRecursionInjectClause", - L"LeftRecursionInjectContinuation", - L"LeftRecursionPlaceholder", - L"LeftRecursionPlaceholderClause", - L"LoopSyntax", - L"NotCondition", - L"OptionalSyntax", - L"OrCondition", - L"PartialClause", - L"PrefixMergeClause", - L"PushConditionSyntax", - L"RefCondition", - L"RefSyntax", - L"ReuseClause", - L"Rule", - L"SequenceSyntax", - L"SwitchItem", - L"Syntax", - L"SyntaxFile", - L"TestConditionBranch", - L"TestConditionSyntax", - L"Type", - L"UseSyntax", - }; - vl::vint index = (vl::vint)type; - return 0 <= index && index < 34 ? results[index] : nullptr; - } - - const wchar_t* ParserGenCppTypeName(ParserGenClasses type) - { - const wchar_t* results[] = { - L"vl::glr::parsergen::GlrAlternativeSyntax", - L"vl::glr::parsergen::GlrAndCondition", - L"vl::glr::parsergen::GlrAssignment", - L"vl::glr::parsergen::GlrAstFile", - L"vl::glr::parsergen::GlrClass", - L"vl::glr::parsergen::GlrClassProp", - L"vl::glr::parsergen::GlrClause", - L"vl::glr::parsergen::GlrCondition", - L"vl::glr::parsergen::GlrCreateClause", - L"vl::glr::parsergen::GlrEnum", - L"vl::glr::parsergen::GlrEnumItem", - L"vl::glr::parsergen::GlrLeftRecursionInjectClause", - L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation", - L"vl::glr::parsergen::GlrLeftRecursionPlaceholder", - L"vl::glr::parsergen::GlrLeftRecursionPlaceholderClause", - L"vl::glr::parsergen::GlrLoopSyntax", - L"vl::glr::parsergen::GlrNotCondition", - L"vl::glr::parsergen::GlrOptionalSyntax", - L"vl::glr::parsergen::GlrOrCondition", - L"vl::glr::parsergen::GlrPartialClause", - L"vl::glr::parsergen::GlrPrefixMergeClause", - L"vl::glr::parsergen::GlrPushConditionSyntax", - L"vl::glr::parsergen::GlrRefCondition", - L"vl::glr::parsergen::GlrRefSyntax", - L"vl::glr::parsergen::GlrReuseClause", - L"vl::glr::parsergen::GlrRule", - L"vl::glr::parsergen::GlrSequenceSyntax", - L"vl::glr::parsergen::GlrSwitchItem", - L"vl::glr::parsergen::GlrSyntax", - L"vl::glr::parsergen::GlrSyntaxFile", - L"vl::glr::parsergen::GlrTestConditionBranch", - L"vl::glr::parsergen::GlrTestConditionSyntax", - L"vl::glr::parsergen::GlrType", - L"vl::glr::parsergen::GlrUseSyntax", - }; - vl::vint index = (vl::vint)type; - return 0 <= index && index < 34 ? results[index] : nullptr; - } - - const wchar_t* ParserGenFieldName(ParserGenFields field) - { - const wchar_t* results[] = { - L"AlternativeSyntax::first", - L"AlternativeSyntax::second", - L"AndCondition::first", - L"AndCondition::second", - L"Assignment::field", - L"Assignment::type", - L"Assignment::value", - L"AstFile::types", - L"Class::ambiguity", - L"Class::baseClass", - L"Class::props", - L"ClassProp::name", - L"ClassProp::propType", - L"ClassProp::propTypeName", - L"CreateClause::assignments", - L"CreateClause::syntax", - L"CreateClause::type", - L"Enum::items", - L"EnumItem::name", - L"LeftRecursionInjectClause::continuation", - L"LeftRecursionInjectClause::rule", - L"LeftRecursionInjectContinuation::configuration", - L"LeftRecursionInjectContinuation::flags", - L"LeftRecursionInjectContinuation::injectionTargets", - L"LeftRecursionInjectContinuation::type", - L"LeftRecursionPlaceholder::flag", - L"LeftRecursionPlaceholderClause::flags", - L"LoopSyntax::delimiter", - L"LoopSyntax::syntax", - L"NotCondition::condition", - L"OptionalSyntax::priority", - L"OptionalSyntax::syntax", - L"OrCondition::first", - L"OrCondition::second", - L"PartialClause::assignments", - L"PartialClause::syntax", - L"PartialClause::type", - L"PrefixMergeClause::rule", - L"PushConditionSyntax::switches", - L"PushConditionSyntax::syntax", - L"RefCondition::name", - L"RefSyntax::field", - L"RefSyntax::literal", - L"RefSyntax::refType", - L"ReuseClause::assignments", - L"ReuseClause::syntax", - L"Rule::clauses", - L"Rule::name", - L"Rule::type", - L"SequenceSyntax::first", - L"SequenceSyntax::second", - L"SwitchItem::name", - L"SwitchItem::value", - L"SyntaxFile::rules", - L"SyntaxFile::switches", - L"TestConditionBranch::condition", - L"TestConditionBranch::syntax", - L"TestConditionSyntax::branches", - L"Type::name", - L"UseSyntax::name", - }; - vl::vint index = (vl::vint)field; - return 0 <= index && index < 60 ? results[index] : nullptr; - } - - const wchar_t* ParserGenCppFieldName(ParserGenFields field) - { - const wchar_t* results[] = { - L"vl::glr::parsergen::GlrAlternativeSyntax::first", - L"vl::glr::parsergen::GlrAlternativeSyntax::second", - L"vl::glr::parsergen::GlrAndCondition::first", - L"vl::glr::parsergen::GlrAndCondition::second", - L"vl::glr::parsergen::GlrAssignment::field", - L"vl::glr::parsergen::GlrAssignment::type", - L"vl::glr::parsergen::GlrAssignment::value", - L"vl::glr::parsergen::GlrAstFile::types", - L"vl::glr::parsergen::GlrClass::ambiguity", - L"vl::glr::parsergen::GlrClass::baseClass", - L"vl::glr::parsergen::GlrClass::props", - L"vl::glr::parsergen::GlrClassProp::name", - L"vl::glr::parsergen::GlrClassProp::propType", - L"vl::glr::parsergen::GlrClassProp::propTypeName", - L"vl::glr::parsergen::GlrCreateClause::assignments", - L"vl::glr::parsergen::GlrCreateClause::syntax", - L"vl::glr::parsergen::GlrCreateClause::type", - L"vl::glr::parsergen::GlrEnum::items", - L"vl::glr::parsergen::GlrEnumItem::name", - L"vl::glr::parsergen::GlrLeftRecursionInjectClause::continuation", - L"vl::glr::parsergen::GlrLeftRecursionInjectClause::rule", - L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::configuration", - L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::flags", - L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::injectionTargets", - L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::type", - L"vl::glr::parsergen::GlrLeftRecursionPlaceholder::flag", - L"vl::glr::parsergen::GlrLeftRecursionPlaceholderClause::flags", - L"vl::glr::parsergen::GlrLoopSyntax::delimiter", - L"vl::glr::parsergen::GlrLoopSyntax::syntax", - L"vl::glr::parsergen::GlrNotCondition::condition", - L"vl::glr::parsergen::GlrOptionalSyntax::priority", - L"vl::glr::parsergen::GlrOptionalSyntax::syntax", - L"vl::glr::parsergen::GlrOrCondition::first", - L"vl::glr::parsergen::GlrOrCondition::second", - L"vl::glr::parsergen::GlrPartialClause::assignments", - L"vl::glr::parsergen::GlrPartialClause::syntax", - L"vl::glr::parsergen::GlrPartialClause::type", - L"vl::glr::parsergen::GlrPrefixMergeClause::rule", - L"vl::glr::parsergen::GlrPushConditionSyntax::switches", - L"vl::glr::parsergen::GlrPushConditionSyntax::syntax", - L"vl::glr::parsergen::GlrRefCondition::name", - L"vl::glr::parsergen::GlrRefSyntax::field", - L"vl::glr::parsergen::GlrRefSyntax::literal", - L"vl::glr::parsergen::GlrRefSyntax::refType", - L"vl::glr::parsergen::GlrReuseClause::assignments", - L"vl::glr::parsergen::GlrReuseClause::syntax", - L"vl::glr::parsergen::GlrRule::clauses", - L"vl::glr::parsergen::GlrRule::name", - L"vl::glr::parsergen::GlrRule::type", - L"vl::glr::parsergen::GlrSequenceSyntax::first", - L"vl::glr::parsergen::GlrSequenceSyntax::second", - L"vl::glr::parsergen::GlrSwitchItem::name", - L"vl::glr::parsergen::GlrSwitchItem::value", - L"vl::glr::parsergen::GlrSyntaxFile::rules", - L"vl::glr::parsergen::GlrSyntaxFile::switches", - L"vl::glr::parsergen::GlrTestConditionBranch::condition", - L"vl::glr::parsergen::GlrTestConditionBranch::syntax", - L"vl::glr::parsergen::GlrTestConditionSyntax::branches", - L"vl::glr::parsergen::GlrType::name", - L"vl::glr::parsergen::GlrUseSyntax::name", - }; - vl::vint index = (vl::vint)field; - return 0 <= index && index < 60 ? results[index] : nullptr; - } - - vl::Ptr ParserGenAstInsReceiver::ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) - { - auto cppTypeName = ParserGenCppTypeName((ParserGenClasses)type); - return vl::glr::AssemblyThrowTypeNotAllowAmbiguity(type, cppTypeName); - } + vl::Ptr ParserGenAstInsReceiver::CreateAstNode(vl::vint32_t type) + { + auto cppTypeName = ParserGenCppTypeName((ParserGenClasses)type); + switch((ParserGenClasses)type) + { + case ParserGenClasses::AlternativeSyntax: + return vl::Ptr(new vl::glr::parsergen::GlrAlternativeSyntax); + case ParserGenClasses::AndCondition: + return vl::Ptr(new vl::glr::parsergen::GlrAndCondition); + case ParserGenClasses::Assignment: + return vl::Ptr(new vl::glr::parsergen::GlrAssignment); + case ParserGenClasses::AstFile: + return vl::Ptr(new vl::glr::parsergen::GlrAstFile); + case ParserGenClasses::Class: + return vl::Ptr(new vl::glr::parsergen::GlrClass); + case ParserGenClasses::ClassProp: + return vl::Ptr(new vl::glr::parsergen::GlrClassProp); + case ParserGenClasses::CreateClause: + return vl::Ptr(new vl::glr::parsergen::GlrCreateClause); + case ParserGenClasses::Enum: + return vl::Ptr(new vl::glr::parsergen::GlrEnum); + case ParserGenClasses::EnumItem: + return vl::Ptr(new vl::glr::parsergen::GlrEnumItem); + case ParserGenClasses::LeftRecursionInjectClause: + return vl::Ptr(new vl::glr::parsergen::GlrLeftRecursionInjectClause); + case ParserGenClasses::LeftRecursionInjectContinuation: + return vl::Ptr(new vl::glr::parsergen::GlrLeftRecursionInjectContinuation); + case ParserGenClasses::LeftRecursionPlaceholder: + return vl::Ptr(new vl::glr::parsergen::GlrLeftRecursionPlaceholder); + case ParserGenClasses::LeftRecursionPlaceholderClause: + return vl::Ptr(new vl::glr::parsergen::GlrLeftRecursionPlaceholderClause); + case ParserGenClasses::LoopSyntax: + return vl::Ptr(new vl::glr::parsergen::GlrLoopSyntax); + case ParserGenClasses::NotCondition: + return vl::Ptr(new vl::glr::parsergen::GlrNotCondition); + case ParserGenClasses::OptionalSyntax: + return vl::Ptr(new vl::glr::parsergen::GlrOptionalSyntax); + case ParserGenClasses::OrCondition: + return vl::Ptr(new vl::glr::parsergen::GlrOrCondition); + case ParserGenClasses::PartialClause: + return vl::Ptr(new vl::glr::parsergen::GlrPartialClause); + case ParserGenClasses::PrefixMergeClause: + return vl::Ptr(new vl::glr::parsergen::GlrPrefixMergeClause); + case ParserGenClasses::PushConditionSyntax: + return vl::Ptr(new vl::glr::parsergen::GlrPushConditionSyntax); + case ParserGenClasses::RefCondition: + return vl::Ptr(new vl::glr::parsergen::GlrRefCondition); + case ParserGenClasses::RefSyntax: + return vl::Ptr(new vl::glr::parsergen::GlrRefSyntax); + case ParserGenClasses::ReuseClause: + return vl::Ptr(new vl::glr::parsergen::GlrReuseClause); + case ParserGenClasses::Rule: + return vl::Ptr(new vl::glr::parsergen::GlrRule); + case ParserGenClasses::SequenceSyntax: + return vl::Ptr(new vl::glr::parsergen::GlrSequenceSyntax); + case ParserGenClasses::SwitchItem: + return vl::Ptr(new vl::glr::parsergen::GlrSwitchItem); + case ParserGenClasses::SyntaxFile: + return vl::Ptr(new vl::glr::parsergen::GlrSyntaxFile); + case ParserGenClasses::TestConditionBranch: + return vl::Ptr(new vl::glr::parsergen::GlrTestConditionBranch); + case ParserGenClasses::TestConditionSyntax: + return vl::Ptr(new vl::glr::parsergen::GlrTestConditionSyntax); + case ParserGenClasses::UseSyntax: + return vl::Ptr(new vl::glr::parsergen::GlrUseSyntax); + default: + return vl::glr::AssemblyThrowCannotCreateAbstractType(type, cppTypeName); } } + + void ParserGenAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) + { + auto cppFieldName = ParserGenCppFieldName((ParserGenFields)field); + switch((ParserGenFields)field) + { + case ParserGenFields::AlternativeSyntax_first: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAlternativeSyntax::first, object, field, value, cppFieldName); + case ParserGenFields::AlternativeSyntax_second: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAlternativeSyntax::second, object, field, value, cppFieldName); + case ParserGenFields::AndCondition_first: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAndCondition::first, object, field, value, cppFieldName); + case ParserGenFields::AndCondition_second: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAndCondition::second, object, field, value, cppFieldName); + case ParserGenFields::AstFile_types: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAstFile::types, object, field, value, cppFieldName); + case ParserGenFields::Class_props: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrClass::props, object, field, value, cppFieldName); + case ParserGenFields::CreateClause_assignments: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrCreateClause::assignments, object, field, value, cppFieldName); + case ParserGenFields::CreateClause_syntax: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrCreateClause::syntax, object, field, value, cppFieldName); + case ParserGenFields::Enum_items: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrEnum::items, object, field, value, cppFieldName); + case ParserGenFields::LeftRecursionInjectClause_continuation: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectClause::continuation, object, field, value, cppFieldName); + case ParserGenFields::LeftRecursionInjectClause_rule: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectClause::rule, object, field, value, cppFieldName); + case ParserGenFields::LeftRecursionInjectContinuation_flags: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::flags, object, field, value, cppFieldName); + case ParserGenFields::LeftRecursionInjectContinuation_injectionTargets: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::injectionTargets, object, field, value, cppFieldName); + case ParserGenFields::LeftRecursionPlaceholderClause_flags: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionPlaceholderClause::flags, object, field, value, cppFieldName); + case ParserGenFields::LoopSyntax_delimiter: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLoopSyntax::delimiter, object, field, value, cppFieldName); + case ParserGenFields::LoopSyntax_syntax: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLoopSyntax::syntax, object, field, value, cppFieldName); + case ParserGenFields::NotCondition_condition: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrNotCondition::condition, object, field, value, cppFieldName); + case ParserGenFields::OptionalSyntax_syntax: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrOptionalSyntax::syntax, object, field, value, cppFieldName); + case ParserGenFields::OrCondition_first: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrOrCondition::first, object, field, value, cppFieldName); + case ParserGenFields::OrCondition_second: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrOrCondition::second, object, field, value, cppFieldName); + case ParserGenFields::PartialClause_assignments: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPartialClause::assignments, object, field, value, cppFieldName); + case ParserGenFields::PartialClause_syntax: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPartialClause::syntax, object, field, value, cppFieldName); + case ParserGenFields::PrefixMergeClause_rule: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPrefixMergeClause::rule, object, field, value, cppFieldName); + case ParserGenFields::PushConditionSyntax_switches: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPushConditionSyntax::switches, object, field, value, cppFieldName); + case ParserGenFields::PushConditionSyntax_syntax: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPushConditionSyntax::syntax, object, field, value, cppFieldName); + case ParserGenFields::ReuseClause_assignments: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrReuseClause::assignments, object, field, value, cppFieldName); + case ParserGenFields::ReuseClause_syntax: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrReuseClause::syntax, object, field, value, cppFieldName); + case ParserGenFields::Rule_clauses: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrRule::clauses, object, field, value, cppFieldName); + case ParserGenFields::SequenceSyntax_first: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrSequenceSyntax::first, object, field, value, cppFieldName); + case ParserGenFields::SequenceSyntax_second: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrSequenceSyntax::second, object, field, value, cppFieldName); + case ParserGenFields::SyntaxFile_rules: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrSyntaxFile::rules, object, field, value, cppFieldName); + case ParserGenFields::SyntaxFile_switches: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrSyntaxFile::switches, object, field, value, cppFieldName); + case ParserGenFields::TestConditionBranch_condition: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrTestConditionBranch::condition, object, field, value, cppFieldName); + case ParserGenFields::TestConditionBranch_syntax: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrTestConditionBranch::syntax, object, field, value, cppFieldName); + case ParserGenFields::TestConditionSyntax_branches: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrTestConditionSyntax::branches, object, field, value, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotObject(field, cppFieldName); + } + } + + void ParserGenAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) + { + auto cppFieldName = ParserGenCppFieldName((ParserGenFields)field); + switch((ParserGenFields)field) + { + case ParserGenFields::Assignment_field: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrAssignment::field, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::Assignment_value: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrAssignment::value, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::Class_attAmbiguous: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrClass::attAmbiguous, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::Class_baseClass: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrClass::baseClass, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::ClassProp_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrClassProp::name, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::ClassProp_propTypeName: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrClassProp::propTypeName, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::CreateClause_type: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrCreateClause::type, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::EnumItem_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrEnumItem::name, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::LeftRecursionPlaceholder_flag: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrLeftRecursionPlaceholder::flag, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::PartialClause_type: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrPartialClause::type, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::RefCondition_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRefCondition::name, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::RefSyntax_field: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRefSyntax::field, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::RefSyntax_literal: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRefSyntax::literal, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::Rule_attParser: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRule::attParser, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::Rule_attPublic: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRule::attPublic, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::Rule_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRule::name, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::Rule_type: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRule::type, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::SwitchItem_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrSwitchItem::name, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::Type_attPublic: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrType::attPublic, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::Type_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrType::name, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::UseSyntax_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrUseSyntax::name, object, field, token, tokenIndex, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotToken(field, cppFieldName); + } + } + + void ParserGenAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) + { + auto cppFieldName = ParserGenCppFieldName((ParserGenFields)field); + switch((ParserGenFields)field) + { + case ParserGenFields::Assignment_type: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrAssignment::type, object, field, enumItem, weakAssignment, cppFieldName); + case ParserGenFields::ClassProp_propType: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrClassProp::propType, object, field, enumItem, weakAssignment, cppFieldName); + case ParserGenFields::LeftRecursionInjectContinuation_configuration: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::configuration, object, field, enumItem, weakAssignment, cppFieldName); + case ParserGenFields::LeftRecursionInjectContinuation_type: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::type, object, field, enumItem, weakAssignment, cppFieldName); + case ParserGenFields::OptionalSyntax_priority: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrOptionalSyntax::priority, object, field, enumItem, weakAssignment, cppFieldName); + case ParserGenFields::RefSyntax_refType: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrRefSyntax::refType, object, field, enumItem, weakAssignment, cppFieldName); + case ParserGenFields::SwitchItem_value: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrSwitchItem::value, object, field, enumItem, weakAssignment, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); + } + } + + const wchar_t* ParserGenTypeName(ParserGenClasses type) + { + const wchar_t* results[] = { + L"AlternativeSyntax", + L"AndCondition", + L"Assignment", + L"AstFile", + L"Class", + L"ClassProp", + L"Clause", + L"Condition", + L"CreateClause", + L"Enum", + L"EnumItem", + L"LeftRecursionInjectClause", + L"LeftRecursionInjectContinuation", + L"LeftRecursionPlaceholder", + L"LeftRecursionPlaceholderClause", + L"LoopSyntax", + L"NotCondition", + L"OptionalSyntax", + L"OrCondition", + L"PartialClause", + L"PrefixMergeClause", + L"PushConditionSyntax", + L"RefCondition", + L"RefSyntax", + L"ReuseClause", + L"Rule", + L"SequenceSyntax", + L"SwitchItem", + L"Syntax", + L"SyntaxFile", + L"TestConditionBranch", + L"TestConditionSyntax", + L"Type", + L"UseSyntax", + }; + vl::vint index = (vl::vint)type; + return 0 <= index && index < 34 ? results[index] : nullptr; + } + + const wchar_t* ParserGenCppTypeName(ParserGenClasses type) + { + const wchar_t* results[] = { + L"vl::glr::parsergen::GlrAlternativeSyntax", + L"vl::glr::parsergen::GlrAndCondition", + L"vl::glr::parsergen::GlrAssignment", + L"vl::glr::parsergen::GlrAstFile", + L"vl::glr::parsergen::GlrClass", + L"vl::glr::parsergen::GlrClassProp", + L"vl::glr::parsergen::GlrClause", + L"vl::glr::parsergen::GlrCondition", + L"vl::glr::parsergen::GlrCreateClause", + L"vl::glr::parsergen::GlrEnum", + L"vl::glr::parsergen::GlrEnumItem", + L"vl::glr::parsergen::GlrLeftRecursionInjectClause", + L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation", + L"vl::glr::parsergen::GlrLeftRecursionPlaceholder", + L"vl::glr::parsergen::GlrLeftRecursionPlaceholderClause", + L"vl::glr::parsergen::GlrLoopSyntax", + L"vl::glr::parsergen::GlrNotCondition", + L"vl::glr::parsergen::GlrOptionalSyntax", + L"vl::glr::parsergen::GlrOrCondition", + L"vl::glr::parsergen::GlrPartialClause", + L"vl::glr::parsergen::GlrPrefixMergeClause", + L"vl::glr::parsergen::GlrPushConditionSyntax", + L"vl::glr::parsergen::GlrRefCondition", + L"vl::glr::parsergen::GlrRefSyntax", + L"vl::glr::parsergen::GlrReuseClause", + L"vl::glr::parsergen::GlrRule", + L"vl::glr::parsergen::GlrSequenceSyntax", + L"vl::glr::parsergen::GlrSwitchItem", + L"vl::glr::parsergen::GlrSyntax", + L"vl::glr::parsergen::GlrSyntaxFile", + L"vl::glr::parsergen::GlrTestConditionBranch", + L"vl::glr::parsergen::GlrTestConditionSyntax", + L"vl::glr::parsergen::GlrType", + L"vl::glr::parsergen::GlrUseSyntax", + }; + vl::vint index = (vl::vint)type; + return 0 <= index && index < 34 ? results[index] : nullptr; + } + + const wchar_t* ParserGenFieldName(ParserGenFields field) + { + const wchar_t* results[] = { + L"AlternativeSyntax::first", + L"AlternativeSyntax::second", + L"AndCondition::first", + L"AndCondition::second", + L"Assignment::field", + L"Assignment::type", + L"Assignment::value", + L"AstFile::types", + L"Class::attAmbiguous", + L"Class::baseClass", + L"Class::props", + L"ClassProp::name", + L"ClassProp::propType", + L"ClassProp::propTypeName", + L"CreateClause::assignments", + L"CreateClause::syntax", + L"CreateClause::type", + L"Enum::items", + L"EnumItem::name", + L"LeftRecursionInjectClause::continuation", + L"LeftRecursionInjectClause::rule", + L"LeftRecursionInjectContinuation::configuration", + L"LeftRecursionInjectContinuation::flags", + L"LeftRecursionInjectContinuation::injectionTargets", + L"LeftRecursionInjectContinuation::type", + L"LeftRecursionPlaceholder::flag", + L"LeftRecursionPlaceholderClause::flags", + L"LoopSyntax::delimiter", + L"LoopSyntax::syntax", + L"NotCondition::condition", + L"OptionalSyntax::priority", + L"OptionalSyntax::syntax", + L"OrCondition::first", + L"OrCondition::second", + L"PartialClause::assignments", + L"PartialClause::syntax", + L"PartialClause::type", + L"PrefixMergeClause::rule", + L"PushConditionSyntax::switches", + L"PushConditionSyntax::syntax", + L"RefCondition::name", + L"RefSyntax::field", + L"RefSyntax::literal", + L"RefSyntax::refType", + L"ReuseClause::assignments", + L"ReuseClause::syntax", + L"Rule::attParser", + L"Rule::attPublic", + L"Rule::clauses", + L"Rule::name", + L"Rule::type", + L"SequenceSyntax::first", + L"SequenceSyntax::second", + L"SwitchItem::name", + L"SwitchItem::value", + L"SyntaxFile::rules", + L"SyntaxFile::switches", + L"TestConditionBranch::condition", + L"TestConditionBranch::syntax", + L"TestConditionSyntax::branches", + L"Type::attPublic", + L"Type::name", + L"UseSyntax::name", + }; + vl::vint index = (vl::vint)field; + return 0 <= index && index < 63 ? results[index] : nullptr; + } + + const wchar_t* ParserGenCppFieldName(ParserGenFields field) + { + const wchar_t* results[] = { + L"vl::glr::parsergen::GlrAlternativeSyntax::first", + L"vl::glr::parsergen::GlrAlternativeSyntax::second", + L"vl::glr::parsergen::GlrAndCondition::first", + L"vl::glr::parsergen::GlrAndCondition::second", + L"vl::glr::parsergen::GlrAssignment::field", + L"vl::glr::parsergen::GlrAssignment::type", + L"vl::glr::parsergen::GlrAssignment::value", + L"vl::glr::parsergen::GlrAstFile::types", + L"vl::glr::parsergen::GlrClass::attAmbiguous", + L"vl::glr::parsergen::GlrClass::baseClass", + L"vl::glr::parsergen::GlrClass::props", + L"vl::glr::parsergen::GlrClassProp::name", + L"vl::glr::parsergen::GlrClassProp::propType", + L"vl::glr::parsergen::GlrClassProp::propTypeName", + L"vl::glr::parsergen::GlrCreateClause::assignments", + L"vl::glr::parsergen::GlrCreateClause::syntax", + L"vl::glr::parsergen::GlrCreateClause::type", + L"vl::glr::parsergen::GlrEnum::items", + L"vl::glr::parsergen::GlrEnumItem::name", + L"vl::glr::parsergen::GlrLeftRecursionInjectClause::continuation", + L"vl::glr::parsergen::GlrLeftRecursionInjectClause::rule", + L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::configuration", + L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::flags", + L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::injectionTargets", + L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::type", + L"vl::glr::parsergen::GlrLeftRecursionPlaceholder::flag", + L"vl::glr::parsergen::GlrLeftRecursionPlaceholderClause::flags", + L"vl::glr::parsergen::GlrLoopSyntax::delimiter", + L"vl::glr::parsergen::GlrLoopSyntax::syntax", + L"vl::glr::parsergen::GlrNotCondition::condition", + L"vl::glr::parsergen::GlrOptionalSyntax::priority", + L"vl::glr::parsergen::GlrOptionalSyntax::syntax", + L"vl::glr::parsergen::GlrOrCondition::first", + L"vl::glr::parsergen::GlrOrCondition::second", + L"vl::glr::parsergen::GlrPartialClause::assignments", + L"vl::glr::parsergen::GlrPartialClause::syntax", + L"vl::glr::parsergen::GlrPartialClause::type", + L"vl::glr::parsergen::GlrPrefixMergeClause::rule", + L"vl::glr::parsergen::GlrPushConditionSyntax::switches", + L"vl::glr::parsergen::GlrPushConditionSyntax::syntax", + L"vl::glr::parsergen::GlrRefCondition::name", + L"vl::glr::parsergen::GlrRefSyntax::field", + L"vl::glr::parsergen::GlrRefSyntax::literal", + L"vl::glr::parsergen::GlrRefSyntax::refType", + L"vl::glr::parsergen::GlrReuseClause::assignments", + L"vl::glr::parsergen::GlrReuseClause::syntax", + L"vl::glr::parsergen::GlrRule::attParser", + L"vl::glr::parsergen::GlrRule::attPublic", + L"vl::glr::parsergen::GlrRule::clauses", + L"vl::glr::parsergen::GlrRule::name", + L"vl::glr::parsergen::GlrRule::type", + L"vl::glr::parsergen::GlrSequenceSyntax::first", + L"vl::glr::parsergen::GlrSequenceSyntax::second", + L"vl::glr::parsergen::GlrSwitchItem::name", + L"vl::glr::parsergen::GlrSwitchItem::value", + L"vl::glr::parsergen::GlrSyntaxFile::rules", + L"vl::glr::parsergen::GlrSyntaxFile::switches", + L"vl::glr::parsergen::GlrTestConditionBranch::condition", + L"vl::glr::parsergen::GlrTestConditionBranch::syntax", + L"vl::glr::parsergen::GlrTestConditionSyntax::branches", + L"vl::glr::parsergen::GlrType::attPublic", + L"vl::glr::parsergen::GlrType::name", + L"vl::glr::parsergen::GlrUseSyntax::name", + }; + vl::vint index = (vl::vint)field; + return 0 <= index && index < 63 ? results[index] : nullptr; + } + + vl::Ptr ParserGenAstInsReceiver::ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) + { + auto cppTypeName = ParserGenCppTypeName((ParserGenClasses)type); + return vl::glr::AssemblyThrowTypeNotAllowAmbiguity(type, cppTypeName); + } } @@ -14686,181 +14635,182 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::glr::parsergen { - namespace glr + bool ParserGenTokenDeleter(vl::vint token) { - namespace parsergen + switch((ParserGenTokens)token) { - bool ParserGenTokenDeleter(vl::vint token) - { - switch((ParserGenTokens)token) - { - case ParserGenTokens::COMMENT: - case ParserGenTokens::SPACE: - return true; - default: - return false; - } - } - - const wchar_t* ParserGenTokenId(ParserGenTokens token) - { - static const wchar_t* results[] = { - L"AMBIGUOUS", - L"CLASS", - L"ENUM", - L"VAR", - L"SWITCH", - L"TOKEN", - L"AS", - L"PARTIAL", - L"OPEN_ROUND", - L"CLOSE_ROUND", - L"OPEN_SQUARE", - L"CLOSE_SQUARE", - L"OPEN_CURLY", - L"CLOSE_CURLY", - L"OPEN_PUSH", - L"OPEN_TEST", - L"AND", - L"OR", - L"COMMA", - L"COLON", - L"SEMICOLON", - L"INFER", - L"ALTERNATIVE", - L"USE", - L"ASSIGN", - L"WEAK_ASSIGN", - L"POSITIVE", - L"NEGATIVE", - L"LS_PH", - L"LS_I", - L"LS_IM", - L"LS_PM", - L"ID", - L"STRING", - L"CONDITIONAL_LITERAL", - L"SPACE", - L"COMMENT", - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < ParserGenTokenCount ? results[index] : nullptr; - } - - const wchar_t* ParserGenTokenDisplayText(ParserGenTokens token) - { - static const wchar_t* results[] = { - L"ambiguous", - L"class", - L"enum", - L"var", - L"switch", - L"token", - L"as", - L"partial", - L"(", - L")", - L"[", - L"]", - L"{", - L"}", - L"!(", - L"?(", - L"&&", - L"||", - L",", - L":", - L";", - L"::=", - L"|", - L"!", - L"=", - L"?=", - L"+", - L"-", - L"left_recursion_placeholder", - L"left_recursion_inject", - L"left_recursion_inject_multiple", - L"prefix_merge", - nullptr, - nullptr, - nullptr, - nullptr, - nullptr, - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < ParserGenTokenCount ? results[index] : nullptr; - } - - const wchar_t* ParserGenTokenRegex(ParserGenTokens token) - { - static const wchar_t* results[] = { - L"ambiguous", - L"class", - L"enum", - L"var", - L"switch", - L"token", - L"as", - L"partial", - L"/(", - L"/)", - L"/[", - L"/]", - L"/{", - L"/}", - L"!/(", - L"/?/(", - L"&&", - L"/|/|", - L",", - L":", - L";", - L"::=", - L"/|", - L"!", - L"=", - L"/?=", - L"/+", - L"-", - L"left_recursion_placeholder", - L"left_recursion_inject", - L"left_recursion_inject_multiple", - L"prefix_merge", - L"[a-zA-Z_][a-zA-Z0-9_]*", - L"(\"[^\"]*\")+", - L"(\'[^\']*\')+", - L"/s+", - L"////[^/r/n]*", - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < ParserGenTokenCount ? results[index] : nullptr; - } - - void ParserGenLexerData(vl::stream::IStream& outputStream) - { - static const vl::vint dataLength = 2299; // 36189 bytes before compressing - static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 251; - static const vl::vint dataSolidRows = 8; - static const vl::vint dataRows = 9; - static const char* compressed[] = { - "\x5D\x8D\x00\x00\xF3\x08\x00\x00\x87\x00\x01\x81\x21\x84\x81\x80\x20\x82\x01\x04\x88\x04\x89\x04\x84\x82\x05\x0F\x84\x8B\x04\x8C\x04\x81\x06\x8B\x04\x8E\x04\x9F\x04\x80\x11\x8E\x82\x21\x20\x84\x82\x13\x94\x83\x10\x82\x25\x04\xA6\x0A\x94\x87\x11\x96\x82\x28\x30\x84\x89\x13\x9C\x82\x14\x9B\x04\xAB\x39\x84\x8C\x14\x9C\x83\x16\x3F\x84\xAE\x02\xA4\x87\x15\xA2\x82\x30\x04\xB9\x04\x8A\x1C\xA4\x83\x1D\x4F\x84\xBC\x12\xA4\x85\x1D\xAA\x82\x3E\x58\x84\x9F\x1B\xAC\x83\x82\x83\x04\x83\x81\x9A\x24\x83\x2D\xB2\x82\x5C\x68\x84\x9D\x2B\xB4\x82\x2E\xB7\x04\xDF\x31\xA4\x80\x34\xB8\x83\x30\x77\x84\xA2\x3A\xB4\x83\x31\xBE\x82\x64\x00\xC4\x85\x33\xC4\x82\x32\xC3\x04\xE7\x09\xC4\x88\x34\xC4\x83\x34\x8F\x84\xAA\x32\xC4\x83\x35\xCA\x82\x6C\x18\xC4\x8D\x3B\xCC\x82\x36\xCF\x04\xEF\x21\xC4\x80\x3C\xD0\x83\x38\xA7\x84\xB2\x2A\xD4\x83\x39\xD6\x82\x74\x30\xC4\x95\x33\xDC\x82\x3A\xDB\x04\xF7\x39\xC4\x88\x3C\xDC\x83\x3C\x04\xFA\x04\x9B\x33\xE4\x80\x3E\xE3\x04\xFD\x09\xE4\x8E\x3C\x83\x7F\x7F\x10\x00\x0F\xEF\xEC\x0C\x81\xEB\x80\xD3\xFF\x57\xF2", - "\xE3\xEB\xEE\x8D\x80\x1A\x4E\xD3\xF1\xE1\x83\x0E\x84\x87\xD8\xD3\xD6\x04\x82\x0C\x83\x0A\xF1\xCF\x9D\x30\xFF\x73\x0C\x80\x0B\xF9\x15\x73\xCF\x13\xF9\x09\x89\xF5\xE7\x13\x7F\x7F\x3D\x7F\x02\x89\x41\x40\x81\x00\x02\x04\x40\x82\x03\x0B\x8E\x83\x81\x0F\x80\x08\x80\x82\x18\x11\x83\x84\x41\x07\x16\x84\x41\x01\x04\x46\x01\x84\x01\x1A\x90\x81\x41\x45\x01\x51\x08\x46\x80\xD9\x69\x8A\x8B\x8A\x2C\xAD\x8E\x8B\x8B\x30\xB0\x8E\x44\x8A\x31\xAE\x83\x8C\x77\x35\xB7\x89\x77\x8D\x3C\x9F\x41\x41\x8F\x3F\xBE\x80\x00\x90\x43\x82\x9E\x06\x90\x44\x84\x9C\x45\x90\x4C\x85\x9D\x90\x91\x35\x91\x92\x97\x94\x54\x95\x9F\x3E\x8E\x56\xAB\x88\x95\x8E\xF3\x49\x98\x93\x97\x4F\xA0\x90\x01\x48\x61\xA5\x9E\x93\x99\x5E\xA6\x90\x95\x96\x6C\xAD\x9E\x99\x8B\x5B\xAF\x91\x9E\x8C\x5D\xA2\x99\x98\x9A\x76\xA2\x94\x4A\x9A\x79\xBC\x96\x9B\x9B\x80\x81\xAC\x9B\x9C\x6D\x84\xA6\x8F\x7C\x27\x7E\x98\x9E\xA2\x77\x8D\xAD\x9F\xA2\x90\xAB\x92\xA3\xA4\x94\xAF\x86\xA1\x96\x97\xAC\x81\x9E\xA3\x8C\x8F\xAC\xA5\xA4\x9E\x84\x44\x0A\x98\x95\xA5\xA6\xAB\x8E\xF3\x6E\x99\xA6\x96", - "\x75\x9D\xAE\xA8\xA8\x66\xA9\x4F\xAB\xA7\x92\xA7\xA6\xAE\xA0\xAB\x94\x99\xAD\x8A\x71\xAB\x43\xAD\xA8\xBF\xA6\x9E\x49\xB0\x90\xB7\xA6\xB3\xB1\xC8\x89\xBA\xB3\xB2\xCC\x8D\xBE\xB3\xB3\xD0\x91\xB2\xB7\xB4\xD4\x95\xB6\xB7\xB5\xD8\x99\xBA\xB7\xB6\xDC\x9D\xBE\xB7\xB7\xE0\xA1\xB2\xBB\xB8\xD0\xB1\x44\x8C\xB9\xE8\xA9\xBF\xB0\x4D\xE7\x86\xB7\x4D\xBB\xEA\xB1\xB4\xB6\x4E\xF0\xB2\xB6\xBF\xBD\xF8\xB9\xBA\xBD\x76\x3D\x75\xBB\xBF\xBF\x00\xC1\xC2\xA0\x50\xFE\x82\xC6\xC3\xC1\x08\xC9\xCA\xC3\xC2\x0C\xCD\xCE\xC3\xC3\x10\xD1\xC2\xC7\xB2\xBB\x92\x95\xC7\x74\x9B\x8F\xA3\x50\xB1\xB4\x80\xB0\xAF\xC7\x13\xE8\xA5\xC2\xC5\xA9\x96\xAD\xAB\xC7\x1D\xDC\xCE\xC5\xCA\x67\x96\x96\x51\x40\x2F\xC0\x01\xCF\xCC\x47\x70\xC5\xCC\x00\x49\x76\xCA\xCE\xCC\x37\xF4\xCB\xCE\xCF\x3C\xFF\xCD\xCF\xD0\x42\xC5\xD1\xD3\xD1\x40\xC9\xD4\xD0\xD2\x4B\xCA\xD6\xD2\xD3\x4C\xCF\xDD\xD3\xD4\x52\xC2\x81\x0C\x41\x57\xC1\x49\xD4\x00\x5B\xDD\xD8\xD7\xD7\x5A\xE0\xDC\xD4\x41\x32\x22\xDE\xD5\xD8\x68\xE3\xD9\xDB\xD9\x6A\xED\xDC\xDB\xDB\x66\xF1\xDB\xDA\xDC\x6E\xF4\xD0\xDF\xDC\x78", - "\xF5\xD9\xDF\xDD\x7A\xFD\xDC\xDC\xDF\x2C\xB3\x04\x42\xE0\x02\x84\xE8\x8F\x3F\x86\xE1\xCA\xE3\xE2\x35\xB4\x05\xC8\xE3\x90\xD6\xB7\xC4\x97\x23\xD8\xC7\xC9\x0D\x2B\xD9\xEA\xCB\xE6\x2D\xCB\xE3\xE5\x8C\x9F\xD9\xCC\xE4\xCB\xA4\xDA\xE5\xB2\xE7\x8F\xD8\xA9\xEA\xA6\x27\xE5\xE3\xEA\xE9\xAE\xC7\xE3\xC7\xE7\x74\x95\xEF\x71\x9C\x36\x30\xEA\xEF\xEB\xC4\x8C\xE4\xEE\xC9\xB6\xD7\x9D\xEB\xEE\x28\xC4\xF4\x93\x0D\x1E\xFE\xEB\xE9\x95\xA1\xC3\xFC\xED\xF1\xAF\xB8\x06\xF3\xF2\x0D\xFF\xE7\xA1\xF0\xA2\xD0\xFF\xC7\x52\xCF\xF1\xE7\x9E\xF2\xC1\xF5\xE2\xEC\xF0\x87\xDE\xFF\xA1\x53\xDD\xC4\xF0\xFB\xF8\x83\x94\xFC\xAE\xF3\xDA\xE6\xFF\xA8\x54\xCF\xEB\xF8\xAE\xFB\x22\xE5\xFF\xA3\x54\xE9\xFD\xFA\xF5\xE4\x00\x81\x82\x00\x83\x84\x81\x02\x86\x87\x80\x08\x89\x82\x02\x8B\x80\x46\xAB\x21\x7C\x81\x05\x96\x78\x9C\x78\x76\x72\x01\x6C\x61\x2B\xFE\x72\x7F\xFF\x55\x40\x6B\x0E\xB7\x61\x67\x51\x61\x86\x07\xD5\x62\x84\xAA\x65\x84\x84\x23\x87\x86\x0A\xA9\x8C\x84\x13\xAD\x80\x85\x37\x77\x54\x57\x0F\x80\x83\x86\x7F\x6E\x6E\x38\x89\x6D\xD9\x7B\x69\x86\xBF\x7D\x87", - "\x86\x3C\x81\x8A\x0F\xC2\x80\x89\x21\x86\x8D\x88\x48\x9F\x86\xD8\x51\x5F\x2A\xF6\x75\x87\x61\x86\x69\x73\x74\x52\x8F\x38\x2A\x8F\x88\x81\x62\x20\x01\x16\xD9\x3B\x8B\xE9\x19\x8F\x8B\x61\x21\x8E\x40\x62\x8A\x8A\x32\xA0\x8B\x8C\x68\x85\x8D\x1A\xE7\x8A\x8D\x36\xAC\x8F\x8D\x66\x91\x8F\x1A\xF2\x8E\x8C\x3A\xB0\x8B\x8E\x78\x95\x8D\x1E\xF7\x8A\x8F\x3E\xBC\x8C\x8D\x07\x72\x80\xEB\x58\x70\x7F\xD8\x42\x0B\x7A\x19\x94\x81\xC2\x02\x9C\x54\x42\x96\x80\x91\xF1\x66\x77\x10\x6A\x78\x74\x1A\x93\x86\x91\xFA\x69\x92\x99\x44\x00\x92\x96\x76\x79\x50\xCD\x6F\x92\x26\x91\x93\x94\x46\xBB\x5E\x94\xEF\x78\x91\xFE\x1A\x8C\x95\x47\x45\x0E\x74\x9F\x80\x51\x28\x99\x9F\x62\x23\x1D\x97\x96\xAF\x51\x96\x9C\x0A\x92\x78\x51\xA4\x97\x97\xAD\x81\x23\x11\x30\x95\x92\x27\x96\x4B\x96\xAB\x8F\x50\x12\x38\x90\x98\x62\x97\x8F\x99\x57\x88\x95\xFE\x24\x6E\x97\x60\x8D\x9F\x55\x49\x0E\x9B\x94\x4A\x04\x20\x6E\x81\x26\x9B\x00\x00\x9E\x38\xDD\x94\x9D\x80\x0B\x0D\x9C\xE1\x88\x9F\x38\xDF\x9A\x9D\x76\xAC\x9F\x9D\xE9\x90\x9F\x3A\xF1\x94\x9F\x79\xB6\x9E\x9D\xF5\x98", - "\x9F\x3D\xF2\x9A\x9F\x7E\xBC\x9F\x9F\xF9\x80\xA3\x3E\x81\xA4\xA1\xEC\x0C\x0C\x20\x07\xA1\x21\x42\x80\x0B\xA1\x86\x88\xA7\xA1\x0A\xB0\xA0\x43\x84\x2D\x08\x89\x8E\xA1\xA2\x18\xB3\xA1\x46\x97\xAA\xA3\x8E\x9C\xA7\xA3\x16\xA1\xA7\x46\xA2\xAE\xA2\x92\xA0\xA3\xA4\x28\xA5\xA5\x4A\xA7\xAA\xA5\x96\xAC\xA4\xA5\x5C\x84\x8D\x4C\x82\x4F\x8E\x3B\xB6\xA3\x8F\x37\xBE\x8D\x4E\xB5\xA8\xA7\x9E\xBA\xA6\xA7\x3C\xBF\xA6\x50\xC1\xA4\xA8\x3A\x81\x94\x97\xE2\x74\x98\x2D\xAC\x6E\x08\x66\x96\x9D\x56\xB3\x68\xA8\xF9\x4A\xA9\x99\x52\x84\x7F\x09\x94\x8A\x72\x34\x95\x86\x99\x46\x8B\xAE\xA9\x60\xBD\x75\x31\xF7\x7A\x94\xAE\xB7\x40\x0A\x61\xB7\x9A\x5A\xDB\xA7\x5E\xB6\xBD\x95\xAB\x2A\x59\x7B\x53\x8F\x51\x0B\xB4\x90\xAA\x62\x6E\xA8\x9A\x59\xC4\x72\x0A\xBB\x99\xA9\x64\x79\xBC\x96\x5C\xC4\x73\x0A\xBF\x9C\x72\x97\xAA\x5C\x94\x15\x05\x96\xB1\xB5\x9A\x9A\x4A\x03\xB1\xB0\x3A\xE7\x92\xA0\x7F\x84\xA2\xB2\x95\xB9\xB3\x65\x96\xB8\xB3\xCD\x9A\xB5\xB3\xA0\xBC\xB2\x68\x9F\xB2\xAA\x2A\x73\x80\xAE\xD0\x8F\x63\x4B\xA6\xAC\xB5\x8C\x95\xA3\xA5\xAD\xAE\xA5\x6C\xAB", - "\xB0\xB7\xDA\xB2\xB6\xB6\xB4\xB7\xB6\x6E\xB9\xBC\xB7\xD9\x92\xA4\x89\xA5\xA9\xB6\x70\xE4\xA8\xB4\xAA\x91\x4B\xB0\x56\xBE\x7D\x15\x49\x73\xAC\x50\x82\xB4\xB1\xC9\xAE\xB2\x58\xDA\xA1\xB9\x41\x85\xBC\xAB\x55\xBF\x96\x15\x0D\xBA\x82\xC4\x85\x57\xB9\xD5\x9C\xBA\x78\xCD\x4E\xBB\xF6\x65\xAF\x39\x57\x03\xBE\x74\xEA\xA5\xBC\xD5\x67\xBF\xAD\x73\xB1\xBB\x9D\x58\x02\x49\xF6\x87\x98\xBC\x5F\xB2\xBE\xC7\x59\x00\x92\xFB\x8C\x78\xBF\xD9\xB1\xBF\xC7\x64\x21\xBA\xFF\xBA\x50\xC0\x7B\xBA\xBE\x82\x9D\x74\xBA\x4B\x96\xBE\xB8\xB7\x6D\xB2\x59\x0B\xC7\xAF\x88\x41\xB1\x78\x69\x21\xBC\x85\xEA\xB6\xC1\x29\x7A\xA9\xC2\x8A\x4C\x2F\x86\xFE\x7D\xC2\x08\xE0\x70\xBA\xEB\xA2\xC3\x8D\x6F\x29\x97\xE6\xB2\x90\xC1\x20\xC9\xC6\x7A\x9E\x9E\xC5\x5D\xAF\xBA\xC5\x62\x52\x2F\x88\xD7\xBB\x91\xEA\x9E\xAE\xC4\x44\x55\x2F\x8E\xB8\xCE\xC1\x7F\x57\xC4\xC7\x6F\xA1\xC3\x8C\x8F\x58\x2F\xC3\xB5\xC1\xB1\x37\xCF\x53\x5E\x43\xCD\xBF\x27\xDF\xB9\xCA\x54\xDC\x72\x5F\x2D\xCD\xC0\x24\xC9\xAF\xB8\x28\xC4\xCA\x8C\xDC\xC0\xB0\x1F\xF1\xA8\xC6\xF0\xAB\xCA\xA2\x01\x35\x7E\x2B", - "\xE6\xB8\xC9\xC8\xA3\xCF\x7A\x84\x3D\xCD\x2E\xC4\xB8\xC8\xA6\x67\x31\x96\xBF\x95\xC4\x30\xD8\xCA\xCE\x02\xCA\x32\x93\xF6\xCE\xB9\x3F\xF7\x4D\x31\x7B\xDD\xBA\x9B\xEE\xB0\xCF\x30\xDE\x60\x32\x89\xC4\x57\xA2\xF7\xB6\xD0\x35\xC0\xD2\xD2\x84\xCF\xC5\xA5\xBB\xC3\x33\x02\xD3\xD7\xBF\x9B\xD7\xD2\x99\x16\x3B\xC1\x3E\xD4\x70\xC9\x99\x3A\xC2\xA8\xAB\xD4\xC7\x4C\xF6\xC5\xD1\xAA\xD1\x77\x67\x1C\x7C\x33\x51\xA6\xD7\xC4\xA1\xC2\xC2\x68\x7B\xC7\xD7\x2F\xE7\xD2\xC9\xD1\xA5\x35\xA9\x9F\xD7\xC1\xF7\xA8\x31\xD2\x9E\xCE\xD4\x94\xB0\xD9\xBF\xF5\xAB\x30\xD9\x0C\xC5\xCD\x91\xE7\xC1\xD4\xD7\x10\xDE\x9A\xBD\xD3\xAA\x9F\xCD\xD4\x49\xD8\x17\xDF\xB1\x78\xA6\xCD\x2A\xCC\xD0\xD9\x33\x74\x37\xDB\xD3\xB2\xDA\x97\xDA\xDF\xD7\x04\xC0\x07\x36\xE8\xCB\xBD\xB6\xD7\x74\xDC\x77\xEC\x62\x37\xF1\xD5\xC0\xC4\x47\xC8\xCF\x7C\xE2\x4D\x37\xE9\xD1\xAB\xB4\xE3\xDD\xDE\x56\xCF\x50\x38\xC9\xCA\xDF\x9D\xD1\x42\x39\x58\xD6\xD2\xCC\xF3\xD7\x91\xBD\xB1\xC2\xCC\xE2\x3C\xD4\xD8\x1E\xC8\xCE\x98\xC4\x47\x39\x1D\xD1\xE7\xC1\xDB\xC5\xDE\x72\x7E\xD1\xE1\x70\xC3\xE3\x9A", - "\x21\xF6\xDF\xC3\x9E\x6D\x38\x32\xC2\xE3\xDD\xF4\xC5\xE3\x9D\x7F\x0B\xE5\x3A\xCA\xE5\xD0\x13\xE9\xCF\x28\x80\x15\xE6\x98\xC1\x64\xDF\x29\xF4\xE1\xCF\xC4\x41\x11\x2A\xCA\xDF\xCA\x39\xFB\xE0\x33\x82\x10\xDC\x0B\xE2\xD8\xE5\xED\xC2\xE8\xC9\xF2\xD8\xE2\x13\xFE\xD2\xE7\x6A\xA3\x13\xD0\x98\xD7\xE6\x4D\xC9\xEB\xEB\x01\x24\x11\x5A\x9F\xEF\xC7\xA0\xD8\xEA\xC0\x85\x1D\xE4\xD9\xD4\xDF\xEA\x45\x46\x10\xEC\xEC\xB5\xEA\xD9\xD7\xEA\xE8\x68\xD6\x4E\x1F\x7F\x1E\x1F\x34\x7F\x1F\x0B\x7E\x39\xEB\x1D\x2A\x5F\x0C\x40\x05\x2F\x79\x85\x01\x25\x21\x01\x30\x21\x40\x01\x40\x00\x12\x40\x07\x22\x01\x2F\x3D\x40\x32\x50\x00\xCA\xEB\x39\x20\xED\x21\x21\x7D\x01\x27\x3F\x80\x15\x40\x3C\x04\x26\x3D\xAC\x28\x26\x24\xD2\xCD\x4E\x43\xFE\x7F\x38\x00\x7B\x32\x44\x00\x24\x38\x00\x26\x53\xF2\x90\x14\xF4\x4D\xCA\xE5\x21\x20\x89\x40\x03\xA8\x0A\x5D\x41\x57\x79\x3D\x49\x94\xF4\xF3\xEE\x90\x5A\x40\x62\x74\xF6\xF4\x00\x1B\x4F\x99\x06\x47\x4C\x0E\x6F\x50\x44\xAF\x59\x40\xB1\x05\x21\x77\x25\x46\xE4\x58\xF2\x3E\x7F\x76\x1F\x57\x49\x80\x00", - }; - vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); - } + case ParserGenTokens::COMMENT: + case ParserGenTokens::SPACE: + return true; + default: + return false; } } + + const wchar_t* ParserGenTokenId(ParserGenTokens token) + { + static const wchar_t* results[] = { + L"ATT_AMBIGUOUS", + L"ATT_PUBLIC", + L"ATT_PARSER", + L"CLASS", + L"ENUM", + L"VAR", + L"SWITCH", + L"TOKEN", + L"AS", + L"PARTIAL", + L"OPEN_ROUND", + L"CLOSE_ROUND", + L"OPEN_SQUARE", + L"CLOSE_SQUARE", + L"OPEN_CURLY", + L"CLOSE_CURLY", + L"OPEN_PUSH", + L"OPEN_TEST", + L"AND", + L"OR", + L"COMMA", + L"COLON", + L"SEMICOLON", + L"INFER", + L"ALTERNATIVE", + L"USE", + L"ASSIGN", + L"WEAK_ASSIGN", + L"POSITIVE", + L"NEGATIVE", + L"LS_PH", + L"LS_I", + L"LS_IM", + L"LS_PM", + L"ID", + L"STRING", + L"CONDITIONAL_LITERAL", + L"SPACE", + L"COMMENT", + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < ParserGenTokenCount ? results[index] : nullptr; + } + + const wchar_t* ParserGenTokenDisplayText(ParserGenTokens token) + { + static const wchar_t* results[] = { + L"@ambiguous", + L"@public", + L"@parser", + L"class", + L"enum", + L"var", + L"switch", + L"token", + L"as", + L"partial", + L"(", + L")", + L"[", + L"]", + L"{", + L"}", + L"!(", + L"?(", + L"&&", + L"||", + L",", + L":", + L";", + L"::=", + L"|", + L"!", + L"=", + L"?=", + L"+", + L"-", + L"left_recursion_placeholder", + L"left_recursion_inject", + L"left_recursion_inject_multiple", + L"prefix_merge", + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < ParserGenTokenCount ? results[index] : nullptr; + } + + const wchar_t* ParserGenTokenRegex(ParserGenTokens token) + { + static const wchar_t* results[] = { + L"@ambiguous", + L"@public", + L"@parser", + L"class", + L"enum", + L"var", + L"switch", + L"token", + L"as", + L"partial", + L"/(", + L"/)", + L"/[", + L"/]", + L"/{", + L"/}", + L"!/(", + L"/?/(", + L"&&", + L"/|/|", + L",", + L":", + L";", + L"::=", + L"/|", + L"!", + L"=", + L"/?=", + L"/+", + L"-", + L"left_recursion_placeholder", + L"left_recursion_inject", + L"left_recursion_inject_multiple", + L"prefix_merge", + L"[a-zA-Z_][a-zA-Z0-9_]*", + L"(\"[^\"]*\")+", + L"(\'[^\']*\')+", + L"/s+", + L"////[^/r/n]*", + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < ParserGenTokenCount ? results[index] : nullptr; + } + + void ParserGenLexerData(vl::stream::IStream& outputStream) + { + static const vl::vint dataLength = 2348; // 39623 bytes before compressing + static const vl::vint dataBlock = 256; + static const vl::vint dataRemain = 44; + static const vl::vint dataSolidRows = 9; + static const vl::vint dataRows = 10; + static const char* compressed[] = { + "\xC7\x9A\x00\x00\x24\x09\x00\x00\x94\x00\x01\x81\x21\x84\x81\x80\x20\x82\x01\x04\x88\x04\x89\x04\x84\x82\x05\x0F\x84\x8B\x04\x8C\x04\x81\x06\x8B\x04\x8E\x04\x9F\x04\x80\x11\x8E\x82\x21\x20\x84\x82\x13\x94\x83\x10\x82\x25\x04\xA6\x0A\x94\x87\x11\x96\x82\x28\x30\x84\x89\x13\x9C\x82\x14\x9B\x04\xAB\x39\x84\x8C\x14\x9C\x83\x16\x3F\x84\xAE\x02\xA4\x87\x15\xA2\x82\x30\x04\xB9\x04\x8A\x1C\xA4\x83\x1D\x4F\x84\xBC\x12\xA4\x85\x1D\xAA\x82\x3E\x58\x84\x9F\x1B\xAC\x83\x82\x83\x04\x83\x81\x9A\x24\x83\x2D\xB2\x82\x5C\x68\x84\x9D\x2B\xB4\x82\x2E\xB7\x04\xDF\x31\xA4\x80\x34\xB8\x83\x30\x77\x84\xA2\x3A\xB4\x83\x31\xBE\x82\x64\x00\xC4\x85\x33\xC4\x82\x32\xC3\x04\xE7\x09\xC4\x88\x34\xC4\x83\x34\x8F\x84\xAA\x32\xC4\x83\x35\xCA\x82\x6C\x18\xC4\x8D\x3B\xCC\x82\x36\xCF\x04\xEF\x21\xC4\x80\x3C\xD0\x83\x38\xA7\x84\xB2\x2A\xD4\x83\x39\xD6\x82\x74\x30\xC4\x95\x33\xDC\x82\x3A\xDB\x04\xF7\x39\xC4\x88\x3C\xDC\x83\x3C\x04\xFA\x04\x9B\x33\xE4\x80\x3E\xE3\x04\xFD\x09\xE4\x8E\x3C\x83\x7F\x7F\x10\x00\x0F\xEF\xED\x0C\x81\xEB\x80\xD3\xFF\x57\xF2", + "\xE3\xEB\xEF\x06\x82\x1B\x4E\xD3\xF1\x04\x84\x0E\x87\x80\x10\xD8\xD3\xF7\x04\x83\x08\x82\x0C\xE2\xCF\xDE\x11\xFF\x7C\x08\x83\x0A\xF4\x96\x34\xF1\xE1\x81\x85\x80\x0D\x12\x74\x75\x46\x7A\xCF\x40\x84\x83\x3F\x07\x04\x46\x80\x00\x02\x0A\x84\x43\x00\x0E\xBF\x71\x84\x00\x0B\x95\x84\x41\x06\x13\x96\x81\x43\x42\x12\x9D\x80\x01\x01\x04\x46\x03\x84\x01\x19\x93\x87\x45\x40\x12\x19\x44\x7D\x76\x2C\xAD\x8E\x8B\x8B\x30\xB1\x82\x8F\x8C\x34\xB5\x86\x8F\x8D\x35\x9C\x47\x80\x8E\x3C\xB8\x8E\x47\x8E\x3D\x81\x92\x93\x90\x44\x85\x9F\x70\x49\x40\x83\x98\x90\x77\x35\x8B\x99\x77\x92\x50\xA5\x41\x41\x94\x53\x92\x90\x00\x95\x57\xA2\x45\x97\x96\x59\x9C\x98\x97\x97\x56\xA0\x99\x92\x91\x64\xA5\x96\x8E\x93\x65\xA8\x9D\x90\x7D\x62\x9D\x9E\x99\x9B\x70\x96\x97\x4A\x97\x61\xB5\x94\x9F\x9D\x6E\xA6\x9A\x9F\x9E\x34\xAA\x96\x92\x9F\x33\xBE\x94\x0A\x9D\x6F\x84\xA1\x9C\x9E\x87\x85\xA8\xA2\xA1\x2B\xBC\x9E\xA2\xA3\x80\x84\x91\xA5\x8C\x7E\x89\xA6\xA4\xA3\x8B\x99\xAA\xA3\xA6\x29\x78\x9F\xA3\xA7\x8F\x93\xA2\x92\xA8\x2F\x95\xA8\xA7\xA6\x97\x9A\xAB\x4A\xA6", + "\xA9\x9B\xA0\xAB\xAB\x7A\xA4\xAD\x8E\xAC\x2D\xA6\xAC\xAB\xA9\xAD\xAD\xAE\x4B\xAD\x9E\xB0\xAE\xAD\x91\xB4\xB8\x81\xB3\x93\xF4\x71\x4C\xAC\xAA\xB8\x89\xBC\x94\x4D\xC7\xAD\x9F\xAF\xB3\xD0\x91\xB2\xB7\xB4\xD4\x95\xB6\xB7\xB5\xD8\x99\xBA\xB7\xB6\xDC\x9D\xBE\xB7\xB7\xE0\xA1\xB2\xBB\xB8\xE4\xA5\xB6\xBB\xB9\xE8\xA9\xBA\xBB\xBA\x44\xB7\x43\x98\xBB\xF0\xB1\xBE\xAE\x4E\xEF\xA0\xAD\x4D\xBD\xF2\xB9\xB4\xB4\x50\xF8\xBA\xBE\xBF\xBF\x00\xC1\xCC\xBB\x50\xFD\x82\xC6\xC3\xC1\x08\xC3\x96\x51\xC1\x09\xCD\xCE\xC3\xC3\x10\xD1\xC2\xC7\xC4\x14\xD5\xC6\xC7\xC5\x18\xD9\xC4\x9B\xB0\x67\x8D\xA4\xA4\x9B\xA7\x89\x5D\xB2\xB2\xC8\xA3\xCA\xA6\xC6\xD3\x5C\xCB\x98\xC3\x47\xA0\xC6\xC9\xC9\x30\xF9\xA4\xCA\xB3\x3D\xB1\x04\x42\xCD\x01\x78\xC0\x02\xCE\x3C\xF7\xCE\xCD\x40\x32\x3F\xCB\xCE\xD0\x3D\xF9\xC4\xD3\xD1\x46\xC9\xD3\xD2\xD2\x45\xCB\xDE\xD1\xD3\x50\xC8\xDF\xD2\xD4\x51\xCC\xD4\xD7\xD5\x56\xD9\xD3\xD6\xD6\x55\xDB\xDE\xD5\x76\x33\x04\x41\xD9\x40\x63\xC0\x05\xDB\xD9\x62\xE9\xD4\xDA\xDA\x66\xC4\x44\x0C\xDB\x68\xEB\xD2\xDD\xDB\x73\xF1\xD4\xDF\xDD\x76", + "\xF9\xD0\xDF\xDE\x75\xFC\xD8\xDE\xDF\x7A\xFD\xD2\xE3\xDF\x83\xC1\xE4\xE3\xE1\x86\xC6\xEF\x89\x0D\x04\x4C\xE7\x82\xE3\x4C\xBF\x30\xE4\xCA\x94\xD5\xE2\x8E\x0D\x1E\xD6\xEA\xE7\xE6\xDE\xB7\x09\xE4\xE7\x19\xCB\x5C\xC8\xB9\x38\x1F\xE0\xE9\xCB\xA3\xC1\xA6\xE9\xAD\xF4\x4D\x5F\xCA\xCC\xAF\xF3\xC4\xA1\xE5\x2A\xFD\x9B\xE8\x8B\xB6\xB1\xC2\xED\xEC\xBC\xF0\xC4\xEF\xED\x37\xB5\xE9\xEC\xEC\xBA\xFD\xED\x98\x54\xC7\xBF\xE9\xEA\x8C\xC2\xEE\xC5\xF3\xF3\xC4\xD8\x93\x56\xF1\xC0\xD0\xC5\xEE\xEA\xA3\xC3\xFB\xEE\x9B\x56\x54\xFE\xF6\xAB\x94\xD7\xFC\xF1\xF5\xA8\xD1\xE1\xF7\xA9\x59\x5F\xF7\xFB\xF2\x08\xE2\xFF\xC5\xF6\xCE\xEB\xF0\xF7\xF6\xF2\xCA\xF1\xE4\xB0\xE4\xFF\x3A\xF6\xFA\xF4\xD6\x9C\x57\xF7\xF6\x66\x4D\xF3\x07\x49\x51\xAF\x33\x7C\x7F\x00\x87\x76\x02\x8B\x8C\x81\x06\x8E\x87\x81\x10\x91\x82\x04\x93\x84\x82\x80\x62\x2F\x7E\x15\x94\x82\xFB\x30\x43\x80\xF3\x64\x62\x08\xFD\x68\x83\x01\x98\x85\x47\xAE\x66\x82\x68\x41\x7C\x68\xD6\x5E\x67\x84\x15\xAE\x84\x85\x2B\x8D\x84\x0C\xAF\x82\x87\x1A\xB1\x87\x86\x34\x99\x7D\x90\x43\x0A\x87\x0C\x91\x61", + "\x71\x80\x61\x8B\xDC\x6F\x65\x70\x21\x88\x76\x88\x40\x85\x8A\x12\xC7\x8B\x89\x24\x8C\x8F\x89\x4E\x91\x88\x12\xEC\x67\x5A\x22\x3D\x86\x87\x01\x70\x73\xE4\x53\x3B\x8B\xE7\x1D\x88\x8B\x0B\x85\x08\x41\x62\x87\x40\x32\x91\x76\x8C\x68\x83\x8E\x1A\x81\x29\x8C\x36\xAB\x88\x00\x6D\x90\x8F\x1B\xF1\x84\x8F\x39\xB6\x8E\x8D\x78\x92\x8D\x1E\xF5\x8B\x8F\x3B\xBA\x8F\x8F\x7C\x80\x92\x1F\x81\x94\x91\x41\x86\x95\x8F\x88\x84\x84\x18\xBD\x46\x09\x2B\x8B\x91\x82\x47\x0E\x93\x23\x93\x9A\x5A\x24\x12\x92\x81\x1B\x85\x55\xFE\x7B\x73\x84\xF9\x49\x51\x09\x21\x8A\x91\xC5\x19\x9E\x45\x0E\x84\x5A\x84\x6D\x4A\x09\x28\xC4\x71\x81\x34\x5B\x91\x7E\xAB\x91\x94\x2A\x97\x91\x60\x52\xAC\x70\x7E\x04\x92\x95\x27\xDB\x7B\x09\xED\x6D\x93\x63\xAF\x99\x96\xA6\x4C\x0A\x96\x4F\xBE\x91\x7C\xB4\x98\x75\x30\x9E\x83\x97\x66\x80\x05\x09\xC7\x88\x66\x2D\xCA\x98\x96\x66\x8F\x7E\x09\xC5\x99\x9B\xC9\x14\x9C\x9B\xD3\x53\x9F\x94\xA2\x85\x94\x2C\xCE\x96\x99\x80\x0F\x09\x9A\x38\x50\x08\x41\x6A\x91\x20\x76\x80\x06\x9D\xF0\x8B\x9E\x3C\x81\x21\x0B\x79\xAF\x9E\x9E\xF1\x8D", + "\x9C\x3E\xFB\x9A\x9F\x7E\xB7\x9E\x9F\xF9\x9F\x9E\x40\x81\xA4\xA0\x7E\x83\xA6\xA0\x05\xA0\xA0\x42\x8B\xAA\xA1\x86\x87\xA6\xA1\x09\xAF\xA2\x44\xD9\x32\x0A\x82\x15\xA1\x20\x17\xA0\x01\x46\x9B\xA6\xA3\x8E\x98\xA6\xA3\x1A\xA4\x23\x14\x20\xAC\xA3\x8F\xA6\xA1\xA4\x27\xA5\xA4\x4A\xAB\xAA\xA5\x96\xA4\xA7\xA5\x29\xB0\xA4\x4B\xB2\xAE\xA5\x98\xB6\xA3\xA6\x37\xB5\xA4\x4E\xBB\xAA\xA6\x9D\x99\x39\x8E\x3F\xB4\x3D\x21\x89\x93\xA8\x41\x84\xAF\x90\x46\xA9\xA9\x51\xCB\xA8\xA8\xA6\x87\xAF\xA9\x4A\xAD\xAA\x54\xD0\xAD\x9B\x6B\x54\x09\x99\x55\xB2\x81\x15\x58\xA9\xAB\xAA\x96\x0C\xAB\xD2\x80\xAE\xFE\x4B\x90\x9D\x72\xBB\x92\x53\x57\x01\x97\x2F\xFF\x44\xAD\x94\x5A\x9F\xAC\x70\xA9\x53\x5A\xF8\x75\x9B\xB2\x84\x20\x0B\x6F\xA6\xAC\x2B\xC8\x9C\x7C\x0E\xAD\xAD\x7C\x7A\xA7\x55\x16\x79\xA3\x76\xBE\xA1\x9C\x47\xA6\x8E\xAF\xF7\x64\x24\x9C\xB5\x86\xB2\x80\x7F\xA3\xAF\xF7\x66\x2D\xB1\xDE\x73\xAA\x52\xF9\x69\x2E\x30\xF1\xA4\xB0\x11\x81\x49\xA2\xA0\xB6\x9D\x3D\x90\xAC\xA0\x89\xA1\xB4\xB4\xA8\xA6\xB5\x69\xA7\xBA\xB5\xD4\xAC\xB7\xB5\xAB\xB1\xB6\x6B\xE2", + "\xAF\x44\x1E\xBD\xAD\xAB\xF9\x5D\xA4\x4D\xBB\xB7\xA5\x91\xB9\xA4\xB7\x3C\xA0\xBA\x6E\xBF\xB4\xB9\xE0\x85\xBB\xB8\xC6\xA9\xB8\x72\xCB\xB2\xB8\x90\x95\x8C\xB6\xB8\xB1\xB8\xC2\x6C\x27\xB6\xE9\x8C\x87\x2D\xD5\xB6\xB9\xC2\x72\x29\xBA\xED\xA3\x52\xAC\x89\xA0\xB1\x67\x9C\xB9\x81\xB0\x9D\xB8\x9C\xC1\x63\x9F\x08\xF5\x25\xB2\xF2\x87\xB2\x62\xDF\x8A\xB3\x7B\xE8\xB2\xBF\xC0\xAD\xBD\x55\x97\xAA\x49\x64\xF8\x27\xBF\xF1\xB2\xAF\xB1\xAE\x95\xAD\x7D\xFE\xB4\xC0\x2E\x7B\x2C\x4B\xF9\xBF\xBA\x80\xE2\xBD\xBF\x63\x7E\x2D\xBC\xDE\xB5\x71\x60\x67\xB1\xC2\x21\x44\x34\xC2\x15\xD9\xC2\x8C\x07\x38\xC2\xCB\x71\xBD\x7C\xE9\xBB\xB2\x7D\xEE\xB6\xAD\x04\xC1\x49\xBC\x92\xA4\xC4\xA1\x0A\x3D\xC0\xF0\x66\xBB\xBE\x1D\x63\x75\x63\x22\xC5\xC0\x15\xEF\x66\xC4\xB3\x51\xB1\xA2\x10\x3D\xC5\x11\xDA\xC6\x5F\x93\x3D\xC3\x8F\xC3\xC4\xC9\x22\xE1\x5F\xC3\x29\xC1\xC6\x35\xA3\xCC\xC8\x74\x99\x60\xC9\x28\xCD\xC8\x9E\x16\x3D\xC6\xE8\xB0\x58\xCA\x3A\xD6\x49\x66\x55\xCD\xBC\x23\xD7\x64\x33\x42\xD6\x78\x78\xD9\xCA\x53\xCF\x1C\xCE\xC6\x30\xCF\x60\x96\x8B\xC9\xC4\x29", + "\xE8\xCB\x49\xA2\x29\x7A\x97\x8D\x65\x35\x30\xD7\x63\xCD\x69\xC9\xCB\x80\xE7\xCD\x4C\xD4\x10\xC7\xC9\x63\xCC\xCE\x9B\xF2\x7B\x35\x3F\xF3\xCF\xD0\x47\xC1\xD1\x9E\x9C\x99\x50\xD7\x3C\xCE\xC9\x18\x78\xCE\x92\xF6\xAF\xD0\x4D\x71\x36\xB2\x00\xC0\x9A\xA0\xA7\x54\x37\x4A\xEE\xB8\xC7\x88\xA4\xCE\x7B\xB7\x3E\xD2\x9A\x6F\xC0\xB2\x9B\xC5\xD5\x8D\xA0\xD2\x58\x51\xC3\xD4\x50\xBA\x3D\xC9\xA6\xEC\xA9\xD5\x37\xE7\x55\x37\x2D\xCC\xD7\xA4\xB6\x40\x38\x1A\xEA\xD6\x99\xBA\xD1\xC7\xA2\xEA\xB4\x78\xE2\x3D\x72\x38\xC0\xD3\xD4\x5D\xC3\xDE\xD6\x5B\xC1\x27\x38\x9E\xC1\xDB\xCA\x4C\xDB\xC9\x1A\xCB\x4A\x39\xB9\xCA\xD8\x66\xEC\xCD\x39\x5F\xCE\xD9\x4F\xDA\xDA\xBD\xAD\xE6\xAF\x0E\x6B\xE4\x62\xDA\xB6\x63\xDC\x41\x00\x16\xDD\x6C\xE7\xD1\xC0\xD4\xD4\xD3\xA6\x01\x1D\xDD\x6F\xE8\xD8\x7B\xF1\xDB\xCF\xA6\x02\x15\xDE\x1F\xE1\xDA\xC1\xF9\xCC\xC0\x00\x03\x1D\xDF\x55\xFF\xDF\xC4\xAE\xDB\x78\x21\x05\xE7\xC7\x83\xF9\xC2\xDD\xDE\xCD\x4D\x21\x10\xD7\xCE\x45\xFB\xD2\xE0\xAF\xDC\x4A\x21\x06\xEF\xDC\x4D\xF9\xCF\x10\xC4\xCC\xE3\xB7\xC8\xC2\x5E\x49\xC2\xDA\xDE", + "\x23\xC8\x12\xC8\xA4\xE1\x5E\x93\xD3\xD8\xE5\xE3\xA9\x12\xC8\xF7\xD3\x7C\x88\xEE\x4A\x11\x2B\xEF\xAC\xCD\xEF\x71\xE1\x36\xF9\xE7\x65\x8B\x07\xDE\xC3\xA1\xD6\xE6\x2C\x4C\x17\xE7\x9F\xC3\xE9\xAB\xC5\xEF\xAD\x46\x08\xEB\xE7\x7E\xAC\xEA\xB7\x8E\x1A\x96\xA8\xDA\x92\xEA\x23\xE1\x97\x23\x14\xE6\x62\x97\xE9\xDD\xDA\x11\xFA\xE6\xD2\x97\xEF\xEA\x98\xEF\x60\x12\x48\xE6\xD6\xC6\x5E\xE8\xDE\xB3\xD9\xE8\x4F\x91\x03\xBE\xD5\xE2\x98\xEA\xB3\x92\x17\xE9\x63\xE7\xE6\xDE\x98\xE6\x4B\x49\x29\xEE\xB1\x1D\xF4\xD5\xCF\x99\xEF\xED\xE7\x41\x4C\x1F\xFF\x1C\x1F\x09\x7E\x1F\x0F\x3A\x0A\xF6\x1F\x8A\x1F\x03\x3B\x5B\x19\x3B\x07\x00\x25\x20\x01\x3B\x56\x7B\xE9\x30\x01\x89\x01\x23\x40\x00\x07\x44\x00\x1A\x21\x21\xEF\x01\x20\x43\x99\xEF\x25\x40\x70\x31\x20\xFB\x01\x20\x3F\x01\x3A\x3E\x87\x66\x31\x21\xED\x18\x4A\xF3\x9A\xFD\x50\x00\x38\xFA\xF4\xB8\x9C\x43\x53\xFC\x20\x00\x79\x01\x21\x3C\x14\x6D\x3D\xF7\x4B\x5A\xF3\x9C\x3B\xF4\x21\x41\x41\x22\xF7\xAB\x4C\xF9\xEA\xD3\xFB\x52\x10\x47\x5C\x3D\x5C\x5C\xF5\x40\x51\xFA\xFA\xE9\xEE\x4C\x44\x2F\x6A\xF9", + "\xEF\xCE\xFE\xFB\xEE\xD0\x44\x4B\x09\x5A\x51\xF7\x9A\xF2\x44\xF5\xC8\x24\x20\x0D\x41\x21\x43\x78\x4A\xF3\xDB\xC4\x55\x20\x89\x41\x25\xD8\x81\x2A\x46\x34\xF3\x3F\x58\x3F\x20\x00", + }; + vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); + } } @@ -14891,6 +14841,17 @@ GenerateSyntaxFileNames return syntaxOutput; } + WString AstClassSymbolToString(AstClassSymbol* astType) + { + return GenerateToStream([&](StreamWriter& writer) + { + WriteNssName(astType->Owner()->cppNss, writer); + writer.WriteString(L"::"); + writer.WriteString(astType->Owner()->classPrefix); + writer.WriteString(astType->Name()); + }); + } + /*********************************************************************** WriteSyntaxHeaderFile ***********************************************************************/ @@ -14940,6 +14901,7 @@ WriteSyntaxHeaderFile writer.WriteLine(prefix + L"\t, protected vl::glr::automaton::IExecutor::ITypeCallback"); writer.WriteLine(prefix + L"{"); writer.WriteLine(prefix + L"protected:"); + writer.WriteLine(prefix + L"\tvl::WString GetClassName(vl::vint32_t classIndex) const override;"); writer.WriteLine(prefix + L"\tvl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override;"); writer.WriteLine(prefix + L"public:"); writer.WriteLine(prefix + L"\t" + manager.name + L"();"); @@ -14947,9 +14909,9 @@ WriteSyntaxHeaderFile for (auto ruleName : manager.RuleOrder()) { auto ruleSymbol = manager.Rules()[ruleName]; - if (manager.parsableRules.Contains(ruleSymbol)) + if (ruleSymbol->isParser) { - auto astType = manager.ruleTypes[ruleSymbol]; + auto astType = AstClassSymbolToString(ruleSymbol->ruleType); writer.WriteLine(prefix + L"\tvl::Ptr<" + astType + L"> Parse" + ruleName + L"(const vl::WString& input, vl::vint codeIndex = -1) const;"); writer.WriteLine(prefix + L"\tvl::Ptr<" + astType + L"> Parse" + ruleName + L"(vl::collections::List& tokens, vl::vint codeIndex = -1) const;"); } @@ -15021,7 +14983,15 @@ WriteSyntaxCppFile writer.WriteString(L"&" + manager.Global().name + L"LexerData, "); writer.WriteLine(L"&" + manager.Global().name + manager.name + L"Data)"); writer.WriteLine(prefix + L"{"); - writer.WriteLine(prefix + L"};"); + writer.WriteLine(prefix + L"}"); + } + + { + writer.WriteLine(L""); + writer.WriteLine(prefix + L"vl::WString " + manager.name + L"::GetClassName(vl::vint32_t classIndex) const"); + writer.WriteLine(prefix + L"{"); + writer.WriteLine(prefix + L"\treturn vl::WString::Unmanaged(" + manager.Global().name + L"TypeName((" + manager.Global().name + L"Classes)classIndex));"); + writer.WriteLine(prefix + L"}"); } { @@ -15065,25 +15035,25 @@ WriteSyntaxCppFile writer.WriteLine(prefix + L"\t};"); writer.WriteLine(prefix + L"\treturn vl::glr::AssemblerFindCommonBaseClass(class1, class2, results);"); } - writer.WriteLine(prefix + L"};"); + writer.WriteLine(prefix + L"}"); } for (auto ruleName : manager.RuleOrder()) { auto ruleSymbol = manager.Rules()[ruleName]; - if (manager.parsableRules.Contains(ruleSymbol)) + if (ruleSymbol->isParser) { - auto astType = manager.ruleTypes[ruleSymbol]; + auto astType = AstClassSymbolToString(ruleSymbol->ruleType); writer.WriteLine(L""); writer.WriteLine(prefix + L"vl::Ptr<" + astType + L"> " + manager.name + L"::Parse" + ruleName + L"(const vl::WString& input, vl::vint codeIndex) const"); writer.WriteLine(prefix + L"{"); writer.WriteLine(prefix + L"\t return ParseWithString<" + astType + L", " + manager.name + L"States::" + ruleName + L">(input, this, codeIndex);"); - writer.WriteLine(prefix + L"};"); + writer.WriteLine(prefix + L"}"); writer.WriteLine(L""); writer.WriteLine(prefix + L"vl::Ptr<" + astType + L"> " + manager.name + L"::Parse" + ruleName + L"(vl::collections::List& tokens, vl::vint codeIndex) const"); writer.WriteLine(prefix + L"{"); writer.WriteLine(prefix + L"\t return ParseWithTokens<" + astType + L", " + manager.name + L"States::" + ruleName + L">(tokens, this, codeIndex);"); - writer.WriteLine(prefix + L"};"); + writer.WriteLine(prefix + L"}"); } } WriteNssEnd(manager.Global().cppNss, writer); @@ -15140,42 +15110,38 @@ StateSymbol CopyFrom(orderedEdges, From(outEdges) .OrderBy([&](EdgeSymbol* e1, EdgeSymbol* e2) { - vint result = 0; - if (e1->input.type != e2->input.type) - { - result = (vint)e1->input.type - (vint)e2->input.type; - } - else + std::strong_ordering result = e1->input.type <=> e2->input.type; + if (result == 0) { switch (e1->input.type) { case EdgeInputType::Token: - result = e1->input.token - e2->input.token; + result = e1->input.token <=> e2->input.token; if (result == 0) { if (e1->input.condition && e2->input.condition) { - result = (vint)WString::Compare(e1->input.condition.Value(), e2->input.condition.Value()); + result = e1->input.condition.Value() <=> e2->input.condition.Value(); } else if (e1->input.condition) { - result = 1; + result = std::strong_ordering::greater; } else if (e2->input.condition) { - result = -1; + result = std::strong_ordering::less; } } break; case EdgeInputType::Rule: - result = ownerManager->RuleOrder().IndexOf(e1->input.rule->Name()) - ownerManager->RuleOrder().IndexOf(e2->input.rule->Name()); + result = ownerManager->RuleOrder().IndexOf(e1->input.rule->Name()) <=> ownerManager->RuleOrder().IndexOf(e2->input.rule->Name()); break; default:; } } if (result != 0) return result; - return orderedStates.IndexOf(e1->To()) - orderedStates.IndexOf(e2->To()); + return orderedStates.IndexOf(e1->To()) <=> orderedStates.IndexOf(e2->To()); })); } @@ -15299,9 +15265,9 @@ SyntaxSymbolManager { auto ruleSymbol = rules.map[ruleName]; auto orderedStates = From(groupedStates[ruleSymbol]) - .OrderBy([](StateSymbol* s1, StateSymbol* s2) + .OrderByKey([](StateSymbol* s) { - return WString::Compare(s1->label, s2->label); + return s->label; }); for (auto state : orderedStates) { @@ -15849,9 +15815,9 @@ SyntaxSymbolManager::BuildAutomaton return edge->input.type == EdgeInputType::Token && edge->input.token == input - automaton::Executable::TokenBegin; } }) - .OrderBy([&](EdgeSymbol* e1, EdgeSymbol* e2) + .OrderByKey([&](EdgeSymbol* e) { - return statesInOrder.IndexOf(e1->To()) - statesInOrder.IndexOf(e2->To()); + return statesInOrder.IndexOf(e->To()); }); transition.start = (vint32_t)edgesInOrder.Count(); CopyFrom(edgesInOrder, orderedEdges, true); @@ -15991,7 +15957,7 @@ namespace vl CreateParserGenRuleSyntax ***********************************************************************/ - void CreateParserGenRuleSyntax(SyntaxSymbolManager& manager) + void CreateParserGenRuleSyntax(AstSymbolManager& ast, SyntaxSymbolManager& manager) { manager.name = L"RuleParser"; @@ -16027,8 +15993,8 @@ CreateParserGenRuleSyntax _lriConfig->isPartial = true; _lriContinuationBody->isPartial = true; - manager.parsableRules.Add(_file); - manager.ruleTypes.Add(_file, L"vl::glr::parsergen::GlrSyntaxFile"); + _file->isParser = true; + _file->ruleType = dynamic_cast(ast.Symbols()[L"SyntaxFile"]); using T = ParserGenTokens; using C = ParserGenClasses; @@ -16222,8 +16188,8 @@ CreateParserGenRuleSyntax // File /////////////////////////////////////////////////////////////////////////////////// - // ID:name {"::=" Clause:clauses} ";" as Rule - Clause{ _rule } = create(tok(T::ID, F::Rule_name) + opt(tok(T::COLON) + tok(T::ID, F::Rule_type)) + loop(tok(T::INFER) + rule(_clause, F::Rule_clauses)) + tok(T::SEMICOLON), C::Rule); + // ["@public"] ["@parser"] ID:name {"::=" Clause:clauses} ";" as Rule + Clause{ _rule } = create(opt(tok(T::ATT_PUBLIC, F::Rule_attParser)) + opt(tok(T::ATT_PARSER, F::Rule_attParser)) + tok(T::ID, F::Rule_name) + opt(tok(T::COLON) + tok(T::ID, F::Rule_type)) + loop(tok(T::INFER) + rule(_clause, F::Rule_clauses)) + tok(T::SEMICOLON), C::Rule); // [Switches] Rule:rules {Rule:rules} as SyntaxFile Clause{ _file } = create(opt(prule(_switches)) + rule(_rule, F::SyntaxFile_rules) + loop(rule(_rule, F::SyntaxFile_rules)), C::SyntaxFile); @@ -16252,7 +16218,7 @@ namespace vl CreateParserGenTypeSyntax ***********************************************************************/ - void CreateParserGenTypeSyntax(SyntaxSymbolManager& manager) + void CreateParserGenTypeSyntax(AstSymbolManager& ast, SyntaxSymbolManager& manager) { manager.name = L"TypeParser"; @@ -16268,8 +16234,8 @@ CreateParserGenTypeSyntax _classPropType->isPartial = true; _classBody->isPartial = true; - manager.parsableRules.Add(_file); - manager.ruleTypes.Add(_file, L"vl::glr::parsergen::GlrAstFile"); + _file->isParser = true; + _file->ruleType = dynamic_cast(ast.Symbols()[L"AstFile"]); using T = ParserGenTokens; using C = ParserGenClasses; @@ -16278,8 +16244,8 @@ CreateParserGenTypeSyntax // ID:name "," as EnumItem Clause{ _enumItem } = create(tok(T::ID, F::EnumItem_name) + tok(T::COMMA), C::EnumItem); - // "enum" ID:name "{" {EnumItem} "}" as Enum - Clause{ _enum } = create(tok(T::ENUM) + tok(T::ID, F::Type_name) + tok(T::OPEN_CURLY) + loop(rule(_enumItem, F::Enum_items)) + tok(T::CLOSE_CURLY), C::Enum); + // ["@public"] "enum" ID:name "{" {EnumItem} "}" as Enum + Clause{ _enum } = create(opt(tok(T::ATT_PUBLIC, F::Type_attPublic)) + tok(T::ENUM) + tok(T::ID, F::Type_name) + tok(T::OPEN_CURLY) + loop(rule(_enumItem, F::Enum_items)) + tok(T::CLOSE_CURLY), C::Enum); // "token" as partial ClassProp {propType = "Token"} Clause{ _classPropType } = partial(tok(T::TOKEN)).with(F::ClassProp_propType, GlrPropType::Token); @@ -16296,11 +16262,8 @@ CreateParserGenTypeSyntax // ID:name [":" ID:baseClass] "{" {ClassProp} "}" as partial Class Clause{ _classBody } = partial(tok(T::ID, F::Type_name) + opt(tok(T::COLON) + tok(T::ID, F::Class_baseClass)) + tok(T::OPEN_CURLY) + loop(rule(_classProp, F::Class_props)) + tok(T::CLOSE_CURLY)); - // "class" ClassBody {ambiguity = No} - Clause{ _class } = create(tok(T::CLASS) + prule(_classBody), C::Class).with(F::Class_ambiguity, GlrClassAmbiguity::No); - - // "ambiguous" "class" ClassBody {ambiguity = Yes} - Clause{ _class } = create(tok(T::AMBIGUOUS) + tok(T::CLASS) + prule(_classBody), C::Class).with(F::Class_ambiguity, GlrClassAmbiguity::Yes); + // ["@public"] ["@ambiguous"] "class" ClassBody {ambiguity = Yes} + Clause{ _class } = create(opt(tok(T::ATT_PUBLIC, F::Type_attPublic)) + opt(tok(T::ATT_AMBIGUOUS, F::Class_attAmbiguous)) + tok(T::CLASS) + prule(_classBody), C::Class); // !Class | !Enum Clause{ _type } = use(_enum) | use(_class); @@ -16415,20 +16378,15 @@ StateSymbolSet return states ? *states.Obj() : EmptyStates; } - vint Compare(const StateSymbolSet& set) const + std::strong_ordering operator<=>(const StateSymbolSet& set) const { - if (!states && !set.states) return 0; - if (!states) return -1; - if (!set.states) return 1; + if (!states && !set.states) return std::strong_ordering::equal; + if (!states) return std::strong_ordering::less; + if (!set.states) return std::strong_ordering::greater; return CompareEnumerable(*states.Obj(), *set.states.Obj()); } - bool operator==(const StateSymbolSet& set) const { return Compare(set) == 0; } - bool operator!=(const StateSymbolSet& set) const { return Compare(set) != 0; } - bool operator< (const StateSymbolSet& set) const { return Compare(set) < 0; } - bool operator<=(const StateSymbolSet& set) const { return Compare(set) <= 0; } - bool operator> (const StateSymbolSet& set) const { return Compare(set) > 0; } - bool operator>=(const StateSymbolSet& set) const { return Compare(set) >= 0; } + bool operator==(const StateSymbolSet& set) const { return (*this <=> set) == 0; } }; const SortedList StateSymbolSet::EmptyStates; @@ -17186,21 +17144,18 @@ SyntaxSymbolManager::FixLeftRecursionInjectEdge List* returnEdges; vint returnEdgeCount; - vint Compare(const Entry& entry)const + std::strong_ordering operator<=>(const Entry& entry)const { - if (lrEdge < entry.lrEdge) return -1; - if (lrEdge > entry.lrEdge) return 1; - if (tokenEdge < entry.tokenEdge) return -1; - if (tokenEdge > entry.tokenEdge) return 1; + std::strong_ordering + result = lrEdge <=> entry.lrEdge; if (result != 0) return result; + result = tokenEdge <=> entry.tokenEdge; if (result != 0) return result; return CompareEnumerable( From(*returnEdges).Take(returnEdgeCount), From(*entry.returnEdges).Take(returnEdgeCount) ); } - bool operator< (const Entry& entry)const { return Compare(entry) < 0; } - bool operator> (const Entry& entry)const { return Compare(entry) > 0; } - bool operator==(const Entry& entry)const { return Compare(entry) == 0; } + bool operator==(const Entry& entry) const { return (*this <=> entry) == 0; } }; Group simpleUseRecords; diff --git a/Import/VlppGlrParserCompiler.h b/Import/VlppGlrParserCompiler.h index 761dd155..e5e03c48 100644 --- a/Import/VlppGlrParserCompiler.h +++ b/Import/VlppGlrParserCompiler.h @@ -289,6 +289,7 @@ AstSymbol AstSymbol(AstDefFile* _file, const WString& _name); public: + bool isPublic = false; AstDefFile* Owner() { return ownerFile; } const WString& Name() { return name; } }; @@ -591,6 +592,7 @@ Utility extern void WriteCppStringBody(const WString& body, stream::StreamWriter& writer); extern void WriteFileComment(const WString& name, stream::StreamWriter& writer); + extern void WriteNssName(const collections::List& cppNss, stream::StreamWriter& writer); extern WString WriteNssBegin(const collections::List& cppNss, stream::StreamWriter& writer); extern void WriteNssEnd(const collections::List& cppNss, stream::StreamWriter& writer); extern void WriteLoadDataFunctionHeader(const WString& prefix, const WString& functionName, stream::StreamWriter& writer); @@ -691,505 +693,495 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_RULEAST_AST -namespace vl +namespace vl::glr::parsergen { - namespace glr + class GlrAlternativeSyntax; + class GlrAndCondition; + class GlrAssignment; + class GlrClause; + class GlrCondition; + class GlrCreateClause; + class GlrLeftRecursionInjectClause; + class GlrLeftRecursionInjectContinuation; + class GlrLeftRecursionPlaceholder; + class GlrLeftRecursionPlaceholderClause; + class GlrLoopSyntax; + class GlrNotCondition; + class GlrOptionalSyntax; + class GlrOrCondition; + class GlrPartialClause; + class GlrPrefixMergeClause; + class GlrPushConditionSyntax; + class GlrRefCondition; + class GlrRefSyntax; + class GlrReuseClause; + class GlrRule; + class GlrSequenceSyntax; + class GlrSwitchItem; + class GlrSyntax; + class GlrSyntaxFile; + class GlrTestConditionBranch; + class GlrTestConditionSyntax; + class GlrUseSyntax; + + enum class GlrSwitchValue { - namespace parsergen + UNDEFINED_ENUM_ITEM_VALUE = -1, + False = 0, + True = 1, + }; + + enum class GlrRefType + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Id = 0, + Literal = 1, + ConditionalLiteral = 2, + }; + + enum class GlrOptionalPriority + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Equal = 0, + PreferTake = 1, + PreferSkip = 2, + }; + + enum class GlrAssignmentType + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Strong = 0, + Weak = 1, + }; + + enum class GlrLeftRecursionConfiguration + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Single = 0, + Multiple = 1, + }; + + enum class GlrLeftRecursionInjectContinuationType + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Optional = 0, + Required = 1, + }; + + class GlrCondition abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description { - class GlrAlternativeSyntax; - class GlrAndCondition; - class GlrAssignment; - class GlrClause; - class GlrCondition; - class GlrCreateClause; - class GlrLeftRecursionInjectClause; - class GlrLeftRecursionInjectContinuation; - class GlrLeftRecursionPlaceholder; - class GlrLeftRecursionPlaceholderClause; - class GlrLoopSyntax; - class GlrNotCondition; - class GlrOptionalSyntax; - class GlrOrCondition; - class GlrPartialClause; - class GlrPrefixMergeClause; - class GlrPushConditionSyntax; - class GlrRefCondition; - class GlrRefSyntax; - class GlrReuseClause; - class GlrRule; - class GlrSequenceSyntax; - class GlrSwitchItem; - class GlrSyntax; - class GlrSyntaxFile; - class GlrTestConditionBranch; - class GlrTestConditionSyntax; - class GlrUseSyntax; + public: + virtual void Visit(GlrRefCondition* node) = 0; + virtual void Visit(GlrNotCondition* node) = 0; + virtual void Visit(GlrAndCondition* node) = 0; + virtual void Visit(GlrOrCondition* node) = 0; + }; - enum class GlrSwitchValue - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - False = 0, - True = 1, - }; + virtual void Accept(GlrCondition::IVisitor* visitor) = 0; - enum class GlrRefType - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Id = 0, - Literal = 1, - ConditionalLiteral = 2, - }; + }; - enum class GlrOptionalPriority - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Equal = 0, - PreferTake = 1, - PreferSkip = 2, - }; + class GlrRefCondition : public GlrCondition, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; - enum class GlrAssignmentType - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Strong = 0, - Weak = 1, - }; + void Accept(GlrCondition::IVisitor* visitor) override; + }; - enum class GlrLeftRecursionConfiguration - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Single = 0, - Multiple = 1, - }; + class GlrNotCondition : public GlrCondition, vl::reflection::Description + { + public: + vl::Ptr condition; - enum class GlrLeftRecursionInjectContinuationType - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Optional = 0, - Required = 1, - }; + void Accept(GlrCondition::IVisitor* visitor) override; + }; - class GlrCondition abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(GlrRefCondition* node) = 0; - virtual void Visit(GlrNotCondition* node) = 0; - virtual void Visit(GlrAndCondition* node) = 0; - virtual void Visit(GlrOrCondition* node) = 0; - }; + class GlrAndCondition : public GlrCondition, vl::reflection::Description + { + public: + vl::Ptr first; + vl::Ptr second; - virtual void Accept(GlrCondition::IVisitor* visitor) = 0; + void Accept(GlrCondition::IVisitor* visitor) override; + }; - }; + class GlrOrCondition : public GlrCondition, vl::reflection::Description + { + public: + vl::Ptr first; + vl::Ptr second; - class GlrRefCondition : public GlrCondition, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; + void Accept(GlrCondition::IVisitor* visitor) override; + }; - void Accept(GlrCondition::IVisitor* visitor) override; - }; + class GlrSwitchItem : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + GlrSwitchValue value = GlrSwitchValue::UNDEFINED_ENUM_ITEM_VALUE; + }; - class GlrNotCondition : public GlrCondition, vl::reflection::Description - { - public: - vl::Ptr condition; + class GlrSyntax abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description + { + public: + virtual void Visit(GlrRefSyntax* node) = 0; + virtual void Visit(GlrUseSyntax* node) = 0; + virtual void Visit(GlrLoopSyntax* node) = 0; + virtual void Visit(GlrOptionalSyntax* node) = 0; + virtual void Visit(GlrSequenceSyntax* node) = 0; + virtual void Visit(GlrAlternativeSyntax* node) = 0; + virtual void Visit(GlrPushConditionSyntax* node) = 0; + virtual void Visit(GlrTestConditionSyntax* node) = 0; + }; - void Accept(GlrCondition::IVisitor* visitor) override; - }; + virtual void Accept(GlrSyntax::IVisitor* visitor) = 0; - class GlrAndCondition : public GlrCondition, vl::reflection::Description - { - public: - vl::Ptr first; - vl::Ptr second; + }; - void Accept(GlrCondition::IVisitor* visitor) override; - }; + class GlrRefSyntax : public GlrSyntax, vl::reflection::Description + { + public: + GlrRefType refType = GlrRefType::UNDEFINED_ENUM_ITEM_VALUE; + vl::glr::ParsingToken literal; + vl::glr::ParsingToken field; - class GlrOrCondition : public GlrCondition, vl::reflection::Description - { - public: - vl::Ptr first; - vl::Ptr second; + void Accept(GlrSyntax::IVisitor* visitor) override; + }; - void Accept(GlrCondition::IVisitor* visitor) override; - }; + class GlrUseSyntax : public GlrSyntax, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; - class GlrSwitchItem : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - GlrSwitchValue value = GlrSwitchValue::UNDEFINED_ENUM_ITEM_VALUE; - }; + void Accept(GlrSyntax::IVisitor* visitor) override; + }; - class GlrSyntax abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(GlrRefSyntax* node) = 0; - virtual void Visit(GlrUseSyntax* node) = 0; - virtual void Visit(GlrLoopSyntax* node) = 0; - virtual void Visit(GlrOptionalSyntax* node) = 0; - virtual void Visit(GlrSequenceSyntax* node) = 0; - virtual void Visit(GlrAlternativeSyntax* node) = 0; - virtual void Visit(GlrPushConditionSyntax* node) = 0; - virtual void Visit(GlrTestConditionSyntax* node) = 0; - }; + class GlrLoopSyntax : public GlrSyntax, vl::reflection::Description + { + public: + vl::Ptr syntax; + vl::Ptr delimiter; - virtual void Accept(GlrSyntax::IVisitor* visitor) = 0; + void Accept(GlrSyntax::IVisitor* visitor) override; + }; - }; + class GlrOptionalSyntax : public GlrSyntax, vl::reflection::Description + { + public: + GlrOptionalPriority priority = GlrOptionalPriority::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr syntax; - class GlrRefSyntax : public GlrSyntax, vl::reflection::Description - { - public: - GlrRefType refType = GlrRefType::UNDEFINED_ENUM_ITEM_VALUE; - vl::glr::ParsingToken literal; - vl::glr::ParsingToken field; + void Accept(GlrSyntax::IVisitor* visitor) override; + }; - void Accept(GlrSyntax::IVisitor* visitor) override; - }; + class GlrSequenceSyntax : public GlrSyntax, vl::reflection::Description + { + public: + vl::Ptr first; + vl::Ptr second; - class GlrUseSyntax : public GlrSyntax, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; + void Accept(GlrSyntax::IVisitor* visitor) override; + }; - void Accept(GlrSyntax::IVisitor* visitor) override; - }; + class GlrAlternativeSyntax : public GlrSyntax, vl::reflection::Description + { + public: + vl::Ptr first; + vl::Ptr second; - class GlrLoopSyntax : public GlrSyntax, vl::reflection::Description - { - public: - vl::Ptr syntax; - vl::Ptr delimiter; + void Accept(GlrSyntax::IVisitor* visitor) override; + }; - void Accept(GlrSyntax::IVisitor* visitor) override; - }; + class GlrPushConditionSyntax : public GlrSyntax, vl::reflection::Description + { + public: + vl::collections::List> switches; + vl::Ptr syntax; - class GlrOptionalSyntax : public GlrSyntax, vl::reflection::Description - { - public: - GlrOptionalPriority priority = GlrOptionalPriority::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr syntax; + void Accept(GlrSyntax::IVisitor* visitor) override; + }; - void Accept(GlrSyntax::IVisitor* visitor) override; - }; + class GlrTestConditionBranch : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::Ptr condition; + vl::Ptr syntax; + }; - class GlrSequenceSyntax : public GlrSyntax, vl::reflection::Description - { - public: - vl::Ptr first; - vl::Ptr second; + class GlrTestConditionSyntax : public GlrSyntax, vl::reflection::Description + { + public: + vl::collections::List> branches; - void Accept(GlrSyntax::IVisitor* visitor) override; - }; + void Accept(GlrSyntax::IVisitor* visitor) override; + }; - class GlrAlternativeSyntax : public GlrSyntax, vl::reflection::Description - { - public: - vl::Ptr first; - vl::Ptr second; + class GlrClause abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description + { + public: + virtual void Visit(GlrCreateClause* node) = 0; + virtual void Visit(GlrPartialClause* node) = 0; + virtual void Visit(GlrReuseClause* node) = 0; + virtual void Visit(GlrLeftRecursionPlaceholderClause* node) = 0; + virtual void Visit(GlrLeftRecursionInjectClause* node) = 0; + virtual void Visit(GlrPrefixMergeClause* node) = 0; + }; - void Accept(GlrSyntax::IVisitor* visitor) override; - }; + virtual void Accept(GlrClause::IVisitor* visitor) = 0; - class GlrPushConditionSyntax : public GlrSyntax, vl::reflection::Description - { - public: - vl::collections::List> switches; - vl::Ptr syntax; + }; - void Accept(GlrSyntax::IVisitor* visitor) override; - }; + class GlrAssignment : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + GlrAssignmentType type = GlrAssignmentType::UNDEFINED_ENUM_ITEM_VALUE; + vl::glr::ParsingToken field; + vl::glr::ParsingToken value; + }; - class GlrTestConditionBranch : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::Ptr condition; - vl::Ptr syntax; - }; + class GlrCreateClause : public GlrClause, vl::reflection::Description + { + public: + vl::glr::ParsingToken type; + vl::Ptr syntax; + vl::collections::List> assignments; - class GlrTestConditionSyntax : public GlrSyntax, vl::reflection::Description - { - public: - vl::collections::List> branches; + void Accept(GlrClause::IVisitor* visitor) override; + }; - void Accept(GlrSyntax::IVisitor* visitor) override; - }; + class GlrPartialClause : public GlrClause, vl::reflection::Description + { + public: + vl::glr::ParsingToken type; + vl::Ptr syntax; + vl::collections::List> assignments; - class GlrClause abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(GlrCreateClause* node) = 0; - virtual void Visit(GlrPartialClause* node) = 0; - virtual void Visit(GlrReuseClause* node) = 0; - virtual void Visit(GlrLeftRecursionPlaceholderClause* node) = 0; - virtual void Visit(GlrLeftRecursionInjectClause* node) = 0; - virtual void Visit(GlrPrefixMergeClause* node) = 0; - }; + void Accept(GlrClause::IVisitor* visitor) override; + }; - virtual void Accept(GlrClause::IVisitor* visitor) = 0; + class GlrReuseClause : public GlrClause, vl::reflection::Description + { + public: + vl::Ptr syntax; + vl::collections::List> assignments; - }; + void Accept(GlrClause::IVisitor* visitor) override; + }; - class GlrAssignment : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - GlrAssignmentType type = GlrAssignmentType::UNDEFINED_ENUM_ITEM_VALUE; - vl::glr::ParsingToken field; - vl::glr::ParsingToken value; - }; + class GlrLeftRecursionPlaceholder : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken flag; + }; - class GlrCreateClause : public GlrClause, vl::reflection::Description - { - public: - vl::glr::ParsingToken type; - vl::Ptr syntax; - vl::collections::List> assignments; + class GlrLeftRecursionPlaceholderClause : public GlrClause, vl::reflection::Description + { + public: + vl::collections::List> flags; - void Accept(GlrClause::IVisitor* visitor) override; - }; + void Accept(GlrClause::IVisitor* visitor) override; + }; - class GlrPartialClause : public GlrClause, vl::reflection::Description - { - public: - vl::glr::ParsingToken type; - vl::Ptr syntax; - vl::collections::List> assignments; + class GlrLeftRecursionInjectContinuation : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::collections::List> flags; + GlrLeftRecursionConfiguration configuration = GlrLeftRecursionConfiguration::UNDEFINED_ENUM_ITEM_VALUE; + GlrLeftRecursionInjectContinuationType type = GlrLeftRecursionInjectContinuationType::UNDEFINED_ENUM_ITEM_VALUE; + vl::collections::List> injectionTargets; + }; - void Accept(GlrClause::IVisitor* visitor) override; - }; + class GlrLeftRecursionInjectClause : public GlrClause, vl::reflection::Description + { + public: + vl::Ptr rule; + vl::Ptr continuation; - class GlrReuseClause : public GlrClause, vl::reflection::Description - { - public: - vl::Ptr syntax; - vl::collections::List> assignments; + void Accept(GlrClause::IVisitor* visitor) override; + }; - void Accept(GlrClause::IVisitor* visitor) override; - }; + class GlrPrefixMergeClause : public GlrClause, vl::reflection::Description + { + public: + vl::Ptr rule; - class GlrLeftRecursionPlaceholder : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken flag; - }; + void Accept(GlrClause::IVisitor* visitor) override; + }; - class GlrLeftRecursionPlaceholderClause : public GlrClause, vl::reflection::Description - { - public: - vl::collections::List> flags; + class GlrRule : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken attPublic; + vl::glr::ParsingToken attParser; + vl::glr::ParsingToken name; + vl::glr::ParsingToken type; + vl::collections::List> clauses; + }; - void Accept(GlrClause::IVisitor* visitor) override; - }; - - class GlrLeftRecursionInjectContinuation : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::collections::List> flags; - GlrLeftRecursionConfiguration configuration = GlrLeftRecursionConfiguration::UNDEFINED_ENUM_ITEM_VALUE; - GlrLeftRecursionInjectContinuationType type = GlrLeftRecursionInjectContinuationType::UNDEFINED_ENUM_ITEM_VALUE; - vl::collections::List> injectionTargets; - }; - - class GlrLeftRecursionInjectClause : public GlrClause, vl::reflection::Description - { - public: - vl::Ptr rule; - vl::Ptr continuation; - - void Accept(GlrClause::IVisitor* visitor) override; - }; - - class GlrPrefixMergeClause : public GlrClause, vl::reflection::Description - { - public: - vl::Ptr rule; - - void Accept(GlrClause::IVisitor* visitor) override; - }; - - class GlrRule : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - vl::glr::ParsingToken type; - vl::collections::List> clauses; - }; - - class GlrSyntaxFile : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::collections::List> switches; - vl::collections::List> rules; - }; - } - } + class GlrSyntaxFile : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::collections::List> switches; + vl::collections::List> rules; + }; } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - DECL_TYPE_INFO(vl::glr::parsergen::GlrCondition) - DECL_TYPE_INFO(vl::glr::parsergen::GlrCondition::IVisitor) - DECL_TYPE_INFO(vl::glr::parsergen::GlrRefCondition) - DECL_TYPE_INFO(vl::glr::parsergen::GlrNotCondition) - DECL_TYPE_INFO(vl::glr::parsergen::GlrAndCondition) - DECL_TYPE_INFO(vl::glr::parsergen::GlrOrCondition) - DECL_TYPE_INFO(vl::glr::parsergen::GlrSwitchValue) - DECL_TYPE_INFO(vl::glr::parsergen::GlrSwitchItem) - DECL_TYPE_INFO(vl::glr::parsergen::GlrSyntax) - DECL_TYPE_INFO(vl::glr::parsergen::GlrSyntax::IVisitor) - DECL_TYPE_INFO(vl::glr::parsergen::GlrRefType) - DECL_TYPE_INFO(vl::glr::parsergen::GlrRefSyntax) - DECL_TYPE_INFO(vl::glr::parsergen::GlrUseSyntax) - DECL_TYPE_INFO(vl::glr::parsergen::GlrLoopSyntax) - DECL_TYPE_INFO(vl::glr::parsergen::GlrOptionalPriority) - DECL_TYPE_INFO(vl::glr::parsergen::GlrOptionalSyntax) - DECL_TYPE_INFO(vl::glr::parsergen::GlrSequenceSyntax) - DECL_TYPE_INFO(vl::glr::parsergen::GlrAlternativeSyntax) - DECL_TYPE_INFO(vl::glr::parsergen::GlrPushConditionSyntax) - DECL_TYPE_INFO(vl::glr::parsergen::GlrTestConditionBranch) - DECL_TYPE_INFO(vl::glr::parsergen::GlrTestConditionSyntax) - DECL_TYPE_INFO(vl::glr::parsergen::GlrClause) - DECL_TYPE_INFO(vl::glr::parsergen::GlrClause::IVisitor) - DECL_TYPE_INFO(vl::glr::parsergen::GlrAssignmentType) - DECL_TYPE_INFO(vl::glr::parsergen::GlrAssignment) - DECL_TYPE_INFO(vl::glr::parsergen::GlrCreateClause) - DECL_TYPE_INFO(vl::glr::parsergen::GlrPartialClause) - DECL_TYPE_INFO(vl::glr::parsergen::GlrReuseClause) - DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholder) - DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) - DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionConfiguration) - DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) - DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) - DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectClause) - DECL_TYPE_INFO(vl::glr::parsergen::GlrPrefixMergeClause) - DECL_TYPE_INFO(vl::glr::parsergen::GlrRule) - DECL_TYPE_INFO(vl::glr::parsergen::GlrSyntaxFile) + DECL_TYPE_INFO(vl::glr::parsergen::GlrCondition) + DECL_TYPE_INFO(vl::glr::parsergen::GlrCondition::IVisitor) + DECL_TYPE_INFO(vl::glr::parsergen::GlrRefCondition) + DECL_TYPE_INFO(vl::glr::parsergen::GlrNotCondition) + DECL_TYPE_INFO(vl::glr::parsergen::GlrAndCondition) + DECL_TYPE_INFO(vl::glr::parsergen::GlrOrCondition) + DECL_TYPE_INFO(vl::glr::parsergen::GlrSwitchValue) + DECL_TYPE_INFO(vl::glr::parsergen::GlrSwitchItem) + DECL_TYPE_INFO(vl::glr::parsergen::GlrSyntax) + DECL_TYPE_INFO(vl::glr::parsergen::GlrSyntax::IVisitor) + DECL_TYPE_INFO(vl::glr::parsergen::GlrRefType) + DECL_TYPE_INFO(vl::glr::parsergen::GlrRefSyntax) + DECL_TYPE_INFO(vl::glr::parsergen::GlrUseSyntax) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLoopSyntax) + DECL_TYPE_INFO(vl::glr::parsergen::GlrOptionalPriority) + DECL_TYPE_INFO(vl::glr::parsergen::GlrOptionalSyntax) + DECL_TYPE_INFO(vl::glr::parsergen::GlrSequenceSyntax) + DECL_TYPE_INFO(vl::glr::parsergen::GlrAlternativeSyntax) + DECL_TYPE_INFO(vl::glr::parsergen::GlrPushConditionSyntax) + DECL_TYPE_INFO(vl::glr::parsergen::GlrTestConditionBranch) + DECL_TYPE_INFO(vl::glr::parsergen::GlrTestConditionSyntax) + DECL_TYPE_INFO(vl::glr::parsergen::GlrClause) + DECL_TYPE_INFO(vl::glr::parsergen::GlrClause::IVisitor) + DECL_TYPE_INFO(vl::glr::parsergen::GlrAssignmentType) + DECL_TYPE_INFO(vl::glr::parsergen::GlrAssignment) + DECL_TYPE_INFO(vl::glr::parsergen::GlrCreateClause) + DECL_TYPE_INFO(vl::glr::parsergen::GlrPartialClause) + DECL_TYPE_INFO(vl::glr::parsergen::GlrReuseClause) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholder) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionConfiguration) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectClause) + DECL_TYPE_INFO(vl::glr::parsergen::GlrPrefixMergeClause) + DECL_TYPE_INFO(vl::glr::parsergen::GlrRule) + DECL_TYPE_INFO(vl::glr::parsergen::GlrSyntaxFile) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrCondition::IVisitor) - void Visit(vl::glr::parsergen::GlrRefCondition* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrNotCondition* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrAndCondition* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrOrCondition* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::glr::parsergen::GlrCondition::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrSyntax::IVisitor) - void Visit(vl::glr::parsergen::GlrRefSyntax* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrUseSyntax* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrLoopSyntax* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrOptionalSyntax* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrSequenceSyntax* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrAlternativeSyntax* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrPushConditionSyntax* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrTestConditionSyntax* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::glr::parsergen::GlrSyntax::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrClause::IVisitor) - void Visit(vl::glr::parsergen::GlrCreateClause* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrPartialClause* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrReuseClause* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrLeftRecursionInjectClause* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrPrefixMergeClause* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::glr::parsergen::GlrClause::IVisitor) - -#endif -#endif - /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. - /// Returns true if this operation succeeded. - extern bool ParserGenRuleAstLoadTypes(); + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrCondition::IVisitor) + void Visit(vl::glr::parsergen::GlrRefCondition* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); } - } + + void Visit(vl::glr::parsergen::GlrNotCondition* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrAndCondition* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrOrCondition* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::glr::parsergen::GlrCondition::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrSyntax::IVisitor) + void Visit(vl::glr::parsergen::GlrRefSyntax* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrUseSyntax* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrLoopSyntax* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrOptionalSyntax* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrSequenceSyntax* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrAlternativeSyntax* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrPushConditionSyntax* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrTestConditionSyntax* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::glr::parsergen::GlrSyntax::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrClause::IVisitor) + void Visit(vl::glr::parsergen::GlrCreateClause* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrPartialClause* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrReuseClause* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrLeftRecursionInjectClause* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrPrefixMergeClause* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::glr::parsergen::GlrClause::IVisitor) + +#endif +#endif + /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. + /// Returns true if this operation succeeded. + extern bool ParserGenRuleAstLoadTypes(); } #endif @@ -1206,192 +1198,185 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_RULEAST_AST_BUILDER -namespace vl +namespace vl::glr::parsergen::builder { - namespace glr + class MakeAlternativeSyntax : public vl::glr::ParsingAstBuilder { - namespace parsergen - { - namespace builder - { - class MakeAlternativeSyntax : public vl::glr::ParsingAstBuilder - { - public: - MakeAlternativeSyntax& first(const vl::Ptr& value); - MakeAlternativeSyntax& second(const vl::Ptr& value); - }; + public: + MakeAlternativeSyntax& first(const vl::Ptr& value); + MakeAlternativeSyntax& second(const vl::Ptr& value); + }; - class MakeAndCondition : public vl::glr::ParsingAstBuilder - { - public: - MakeAndCondition& first(const vl::Ptr& value); - MakeAndCondition& second(const vl::Ptr& value); - }; + class MakeAndCondition : public vl::glr::ParsingAstBuilder + { + public: + MakeAndCondition& first(const vl::Ptr& value); + MakeAndCondition& second(const vl::Ptr& value); + }; - class MakeAssignment : public vl::glr::ParsingAstBuilder - { - public: - MakeAssignment& field(const vl::WString& value); - MakeAssignment& type(GlrAssignmentType value); - MakeAssignment& value(const vl::WString& value); - }; + class MakeAssignment : public vl::glr::ParsingAstBuilder + { + public: + MakeAssignment& field(const vl::WString& value); + MakeAssignment& type(GlrAssignmentType value); + MakeAssignment& value(const vl::WString& value); + }; - class MakeCreateClause : public vl::glr::ParsingAstBuilder - { - public: - MakeCreateClause& assignments(const vl::Ptr& value); - MakeCreateClause& syntax(const vl::Ptr& value); - MakeCreateClause& type(const vl::WString& value); - }; + class MakeCreateClause : public vl::glr::ParsingAstBuilder + { + public: + MakeCreateClause& assignments(const vl::Ptr& value); + MakeCreateClause& syntax(const vl::Ptr& value); + MakeCreateClause& type(const vl::WString& value); + }; - class MakeLeftRecursionInjectClause : public vl::glr::ParsingAstBuilder - { - public: - MakeLeftRecursionInjectClause& continuation(const vl::Ptr& value); - MakeLeftRecursionInjectClause& rule(const vl::Ptr& value); - }; + class MakeLeftRecursionInjectClause : public vl::glr::ParsingAstBuilder + { + public: + MakeLeftRecursionInjectClause& continuation(const vl::Ptr& value); + MakeLeftRecursionInjectClause& rule(const vl::Ptr& value); + }; - class MakeLeftRecursionInjectContinuation : public vl::glr::ParsingAstBuilder - { - public: - MakeLeftRecursionInjectContinuation& configuration(GlrLeftRecursionConfiguration value); - MakeLeftRecursionInjectContinuation& flags(const vl::Ptr& value); - MakeLeftRecursionInjectContinuation& injectionTargets(const vl::Ptr& value); - MakeLeftRecursionInjectContinuation& type(GlrLeftRecursionInjectContinuationType value); - }; + class MakeLeftRecursionInjectContinuation : public vl::glr::ParsingAstBuilder + { + public: + MakeLeftRecursionInjectContinuation& configuration(GlrLeftRecursionConfiguration value); + MakeLeftRecursionInjectContinuation& flags(const vl::Ptr& value); + MakeLeftRecursionInjectContinuation& injectionTargets(const vl::Ptr& value); + MakeLeftRecursionInjectContinuation& type(GlrLeftRecursionInjectContinuationType value); + }; - class MakeLeftRecursionPlaceholder : public vl::glr::ParsingAstBuilder - { - public: - MakeLeftRecursionPlaceholder& flag(const vl::WString& value); - }; + class MakeLeftRecursionPlaceholder : public vl::glr::ParsingAstBuilder + { + public: + MakeLeftRecursionPlaceholder& flag(const vl::WString& value); + }; - class MakeLeftRecursionPlaceholderClause : public vl::glr::ParsingAstBuilder - { - public: - MakeLeftRecursionPlaceholderClause& flags(const vl::Ptr& value); - }; + class MakeLeftRecursionPlaceholderClause : public vl::glr::ParsingAstBuilder + { + public: + MakeLeftRecursionPlaceholderClause& flags(const vl::Ptr& value); + }; - class MakeLoopSyntax : public vl::glr::ParsingAstBuilder - { - public: - MakeLoopSyntax& delimiter(const vl::Ptr& value); - MakeLoopSyntax& syntax(const vl::Ptr& value); - }; + class MakeLoopSyntax : public vl::glr::ParsingAstBuilder + { + public: + MakeLoopSyntax& delimiter(const vl::Ptr& value); + MakeLoopSyntax& syntax(const vl::Ptr& value); + }; - class MakeNotCondition : public vl::glr::ParsingAstBuilder - { - public: - MakeNotCondition& condition(const vl::Ptr& value); - }; + class MakeNotCondition : public vl::glr::ParsingAstBuilder + { + public: + MakeNotCondition& condition(const vl::Ptr& value); + }; - class MakeOptionalSyntax : public vl::glr::ParsingAstBuilder - { - public: - MakeOptionalSyntax& priority(GlrOptionalPriority value); - MakeOptionalSyntax& syntax(const vl::Ptr& value); - }; + class MakeOptionalSyntax : public vl::glr::ParsingAstBuilder + { + public: + MakeOptionalSyntax& priority(GlrOptionalPriority value); + MakeOptionalSyntax& syntax(const vl::Ptr& value); + }; - class MakeOrCondition : public vl::glr::ParsingAstBuilder - { - public: - MakeOrCondition& first(const vl::Ptr& value); - MakeOrCondition& second(const vl::Ptr& value); - }; + class MakeOrCondition : public vl::glr::ParsingAstBuilder + { + public: + MakeOrCondition& first(const vl::Ptr& value); + MakeOrCondition& second(const vl::Ptr& value); + }; - class MakePartialClause : public vl::glr::ParsingAstBuilder - { - public: - MakePartialClause& assignments(const vl::Ptr& value); - MakePartialClause& syntax(const vl::Ptr& value); - MakePartialClause& type(const vl::WString& value); - }; + class MakePartialClause : public vl::glr::ParsingAstBuilder + { + public: + MakePartialClause& assignments(const vl::Ptr& value); + MakePartialClause& syntax(const vl::Ptr& value); + MakePartialClause& type(const vl::WString& value); + }; - class MakePrefixMergeClause : public vl::glr::ParsingAstBuilder - { - public: - MakePrefixMergeClause& rule(const vl::Ptr& value); - }; + class MakePrefixMergeClause : public vl::glr::ParsingAstBuilder + { + public: + MakePrefixMergeClause& rule(const vl::Ptr& value); + }; - class MakePushConditionSyntax : public vl::glr::ParsingAstBuilder - { - public: - MakePushConditionSyntax& switches(const vl::Ptr& value); - MakePushConditionSyntax& syntax(const vl::Ptr& value); - }; + class MakePushConditionSyntax : public vl::glr::ParsingAstBuilder + { + public: + MakePushConditionSyntax& switches(const vl::Ptr& value); + MakePushConditionSyntax& syntax(const vl::Ptr& value); + }; - class MakeRefCondition : public vl::glr::ParsingAstBuilder - { - public: - MakeRefCondition& name(const vl::WString& value); - }; + class MakeRefCondition : public vl::glr::ParsingAstBuilder + { + public: + MakeRefCondition& name(const vl::WString& value); + }; - class MakeRefSyntax : public vl::glr::ParsingAstBuilder - { - public: - MakeRefSyntax& field(const vl::WString& value); - MakeRefSyntax& literal(const vl::WString& value); - MakeRefSyntax& refType(GlrRefType value); - }; + class MakeRefSyntax : public vl::glr::ParsingAstBuilder + { + public: + MakeRefSyntax& field(const vl::WString& value); + MakeRefSyntax& literal(const vl::WString& value); + MakeRefSyntax& refType(GlrRefType value); + }; - class MakeReuseClause : public vl::glr::ParsingAstBuilder - { - public: - MakeReuseClause& assignments(const vl::Ptr& value); - MakeReuseClause& syntax(const vl::Ptr& value); - }; + class MakeReuseClause : public vl::glr::ParsingAstBuilder + { + public: + MakeReuseClause& assignments(const vl::Ptr& value); + MakeReuseClause& syntax(const vl::Ptr& value); + }; - class MakeRule : public vl::glr::ParsingAstBuilder - { - public: - MakeRule& clauses(const vl::Ptr& value); - MakeRule& name(const vl::WString& value); - MakeRule& type(const vl::WString& value); - }; + class MakeRule : public vl::glr::ParsingAstBuilder + { + public: + MakeRule& attParser(const vl::WString& value); + MakeRule& attPublic(const vl::WString& value); + MakeRule& clauses(const vl::Ptr& value); + MakeRule& name(const vl::WString& value); + MakeRule& type(const vl::WString& value); + }; - class MakeSequenceSyntax : public vl::glr::ParsingAstBuilder - { - public: - MakeSequenceSyntax& first(const vl::Ptr& value); - MakeSequenceSyntax& second(const vl::Ptr& value); - }; + class MakeSequenceSyntax : public vl::glr::ParsingAstBuilder + { + public: + MakeSequenceSyntax& first(const vl::Ptr& value); + MakeSequenceSyntax& second(const vl::Ptr& value); + }; - class MakeSwitchItem : public vl::glr::ParsingAstBuilder - { - public: - MakeSwitchItem& name(const vl::WString& value); - MakeSwitchItem& value(GlrSwitchValue value); - }; + class MakeSwitchItem : public vl::glr::ParsingAstBuilder + { + public: + MakeSwitchItem& name(const vl::WString& value); + MakeSwitchItem& value(GlrSwitchValue value); + }; - class MakeSyntaxFile : public vl::glr::ParsingAstBuilder - { - public: - MakeSyntaxFile& rules(const vl::Ptr& value); - MakeSyntaxFile& switches(const vl::Ptr& value); - }; + class MakeSyntaxFile : public vl::glr::ParsingAstBuilder + { + public: + MakeSyntaxFile& rules(const vl::Ptr& value); + MakeSyntaxFile& switches(const vl::Ptr& value); + }; - class MakeTestConditionBranch : public vl::glr::ParsingAstBuilder - { - public: - MakeTestConditionBranch& condition(const vl::Ptr& value); - MakeTestConditionBranch& syntax(const vl::Ptr& value); - }; + class MakeTestConditionBranch : public vl::glr::ParsingAstBuilder + { + public: + MakeTestConditionBranch& condition(const vl::Ptr& value); + MakeTestConditionBranch& syntax(const vl::Ptr& value); + }; - class MakeTestConditionSyntax : public vl::glr::ParsingAstBuilder - { - public: - MakeTestConditionSyntax& branches(const vl::Ptr& value); - }; + class MakeTestConditionSyntax : public vl::glr::ParsingAstBuilder + { + public: + MakeTestConditionSyntax& branches(const vl::Ptr& value); + }; - class MakeUseSyntax : public vl::glr::ParsingAstBuilder - { - public: - MakeUseSyntax& name(const vl::WString& value); - }; + class MakeUseSyntax : public vl::glr::ParsingAstBuilder + { + public: + MakeUseSyntax& name(const vl::WString& value); + }; - } - } - } } #endif @@ -1408,115 +1393,106 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_RULEAST_AST_COPY_VISITOR -namespace vl +namespace vl::glr::parsergen::copy_visitor { - namespace glr + /// A copy visitor, overriding all abstract methods with AST copying code. + class RuleAstVisitor + : public virtual vl::glr::CopyVisitorBase + , protected virtual GlrCondition::IVisitor + , protected virtual GlrSyntax::IVisitor + , protected virtual GlrClause::IVisitor { - namespace parsergen - { - namespace copy_visitor - { - /// A copy visitor, overriding all abstract methods with AST copying code. - class RuleAstVisitor - : public virtual vl::glr::CopyVisitorBase - , protected virtual GlrCondition::IVisitor - , protected virtual GlrSyntax::IVisitor - , protected virtual GlrClause::IVisitor - { - protected: - void CopyFields(GlrAlternativeSyntax* from, GlrAlternativeSyntax* to); - void CopyFields(GlrAndCondition* from, GlrAndCondition* to); - void CopyFields(GlrAssignment* from, GlrAssignment* to); - void CopyFields(GlrClause* from, GlrClause* to); - void CopyFields(GlrCondition* from, GlrCondition* to); - void CopyFields(GlrCreateClause* from, GlrCreateClause* to); - void CopyFields(GlrLeftRecursionInjectClause* from, GlrLeftRecursionInjectClause* to); - void CopyFields(GlrLeftRecursionInjectContinuation* from, GlrLeftRecursionInjectContinuation* to); - void CopyFields(GlrLeftRecursionPlaceholder* from, GlrLeftRecursionPlaceholder* to); - void CopyFields(GlrLeftRecursionPlaceholderClause* from, GlrLeftRecursionPlaceholderClause* to); - void CopyFields(GlrLoopSyntax* from, GlrLoopSyntax* to); - void CopyFields(GlrNotCondition* from, GlrNotCondition* to); - void CopyFields(GlrOptionalSyntax* from, GlrOptionalSyntax* to); - void CopyFields(GlrOrCondition* from, GlrOrCondition* to); - void CopyFields(GlrPartialClause* from, GlrPartialClause* to); - void CopyFields(GlrPrefixMergeClause* from, GlrPrefixMergeClause* to); - void CopyFields(GlrPushConditionSyntax* from, GlrPushConditionSyntax* to); - void CopyFields(GlrRefCondition* from, GlrRefCondition* to); - void CopyFields(GlrRefSyntax* from, GlrRefSyntax* to); - void CopyFields(GlrReuseClause* from, GlrReuseClause* to); - void CopyFields(GlrRule* from, GlrRule* to); - void CopyFields(GlrSequenceSyntax* from, GlrSequenceSyntax* to); - void CopyFields(GlrSwitchItem* from, GlrSwitchItem* to); - void CopyFields(GlrSyntax* from, GlrSyntax* to); - void CopyFields(GlrSyntaxFile* from, GlrSyntaxFile* to); - void CopyFields(GlrTestConditionBranch* from, GlrTestConditionBranch* to); - void CopyFields(GlrTestConditionSyntax* from, GlrTestConditionSyntax* to); - void CopyFields(GlrUseSyntax* from, GlrUseSyntax* to); + protected: + void CopyFields(GlrAlternativeSyntax* from, GlrAlternativeSyntax* to); + void CopyFields(GlrAndCondition* from, GlrAndCondition* to); + void CopyFields(GlrAssignment* from, GlrAssignment* to); + void CopyFields(GlrClause* from, GlrClause* to); + void CopyFields(GlrCondition* from, GlrCondition* to); + void CopyFields(GlrCreateClause* from, GlrCreateClause* to); + void CopyFields(GlrLeftRecursionInjectClause* from, GlrLeftRecursionInjectClause* to); + void CopyFields(GlrLeftRecursionInjectContinuation* from, GlrLeftRecursionInjectContinuation* to); + void CopyFields(GlrLeftRecursionPlaceholder* from, GlrLeftRecursionPlaceholder* to); + void CopyFields(GlrLeftRecursionPlaceholderClause* from, GlrLeftRecursionPlaceholderClause* to); + void CopyFields(GlrLoopSyntax* from, GlrLoopSyntax* to); + void CopyFields(GlrNotCondition* from, GlrNotCondition* to); + void CopyFields(GlrOptionalSyntax* from, GlrOptionalSyntax* to); + void CopyFields(GlrOrCondition* from, GlrOrCondition* to); + void CopyFields(GlrPartialClause* from, GlrPartialClause* to); + void CopyFields(GlrPrefixMergeClause* from, GlrPrefixMergeClause* to); + void CopyFields(GlrPushConditionSyntax* from, GlrPushConditionSyntax* to); + void CopyFields(GlrRefCondition* from, GlrRefCondition* to); + void CopyFields(GlrRefSyntax* from, GlrRefSyntax* to); + void CopyFields(GlrReuseClause* from, GlrReuseClause* to); + void CopyFields(GlrRule* from, GlrRule* to); + void CopyFields(GlrSequenceSyntax* from, GlrSequenceSyntax* to); + void CopyFields(GlrSwitchItem* from, GlrSwitchItem* to); + void CopyFields(GlrSyntax* from, GlrSyntax* to); + void CopyFields(GlrSyntaxFile* from, GlrSyntaxFile* to); + void CopyFields(GlrTestConditionBranch* from, GlrTestConditionBranch* to); + void CopyFields(GlrTestConditionSyntax* from, GlrTestConditionSyntax* to); + void CopyFields(GlrUseSyntax* from, GlrUseSyntax* to); - protected: - virtual void Visit(GlrSwitchItem* node); - virtual void Visit(GlrTestConditionBranch* node); - virtual void Visit(GlrAssignment* node); - virtual void Visit(GlrLeftRecursionPlaceholder* node); - virtual void Visit(GlrLeftRecursionInjectContinuation* node); - virtual void Visit(GlrRule* node); - virtual void Visit(GlrSyntaxFile* node); + protected: + virtual void Visit(GlrSwitchItem* node); + virtual void Visit(GlrTestConditionBranch* node); + virtual void Visit(GlrAssignment* node); + virtual void Visit(GlrLeftRecursionPlaceholder* node); + virtual void Visit(GlrLeftRecursionInjectContinuation* node); + virtual void Visit(GlrRule* node); + virtual void Visit(GlrSyntaxFile* node); - void Visit(GlrRefCondition* node) override; - void Visit(GlrNotCondition* node) override; - void Visit(GlrAndCondition* node) override; - void Visit(GlrOrCondition* node) override; + void Visit(GlrRefCondition* node) override; + void Visit(GlrNotCondition* node) override; + void Visit(GlrAndCondition* node) override; + void Visit(GlrOrCondition* node) override; - void Visit(GlrRefSyntax* node) override; - void Visit(GlrUseSyntax* node) override; - void Visit(GlrLoopSyntax* node) override; - void Visit(GlrOptionalSyntax* node) override; - void Visit(GlrSequenceSyntax* node) override; - void Visit(GlrAlternativeSyntax* node) override; - void Visit(GlrPushConditionSyntax* node) override; - void Visit(GlrTestConditionSyntax* node) override; + void Visit(GlrRefSyntax* node) override; + void Visit(GlrUseSyntax* node) override; + void Visit(GlrLoopSyntax* node) override; + void Visit(GlrOptionalSyntax* node) override; + void Visit(GlrSequenceSyntax* node) override; + void Visit(GlrAlternativeSyntax* node) override; + void Visit(GlrPushConditionSyntax* node) override; + void Visit(GlrTestConditionSyntax* node) override; - void Visit(GlrCreateClause* node) override; - void Visit(GlrPartialClause* node) override; - void Visit(GlrReuseClause* node) override; - void Visit(GlrLeftRecursionPlaceholderClause* node) override; - void Visit(GlrLeftRecursionInjectClause* node) override; - void Visit(GlrPrefixMergeClause* node) override; + void Visit(GlrCreateClause* node) override; + void Visit(GlrPartialClause* node) override; + void Visit(GlrReuseClause* node) override; + void Visit(GlrLeftRecursionPlaceholderClause* node) override; + void Visit(GlrLeftRecursionInjectClause* node) override; + void Visit(GlrPrefixMergeClause* node) override; - public: - virtual vl::Ptr CopyNode(GlrCondition* node); - virtual vl::Ptr CopyNode(GlrSyntax* node); - virtual vl::Ptr CopyNode(GlrClause* node); - virtual vl::Ptr CopyNode(GlrSwitchItem* node); - virtual vl::Ptr CopyNode(GlrTestConditionBranch* node); - virtual vl::Ptr CopyNode(GlrAssignment* node); - virtual vl::Ptr CopyNode(GlrLeftRecursionPlaceholder* node); - virtual vl::Ptr CopyNode(GlrLeftRecursionInjectContinuation* node); - virtual vl::Ptr CopyNode(GlrRule* node); - virtual vl::Ptr CopyNode(GlrSyntaxFile* node); + public: + virtual vl::Ptr CopyNode(GlrCondition* node); + virtual vl::Ptr CopyNode(GlrSyntax* node); + virtual vl::Ptr CopyNode(GlrClause* node); + virtual vl::Ptr CopyNode(GlrSwitchItem* node); + virtual vl::Ptr CopyNode(GlrTestConditionBranch* node); + virtual vl::Ptr CopyNode(GlrAssignment* node); + virtual vl::Ptr CopyNode(GlrLeftRecursionPlaceholder* node); + virtual vl::Ptr CopyNode(GlrLeftRecursionInjectContinuation* node); + virtual vl::Ptr CopyNode(GlrRule* node); + virtual vl::Ptr CopyNode(GlrSyntaxFile* node); - vl::Ptr CopyNode(GlrAlternativeSyntax* node); - vl::Ptr CopyNode(GlrAndCondition* node); - vl::Ptr CopyNode(GlrCreateClause* node); - vl::Ptr CopyNode(GlrLeftRecursionInjectClause* node); - vl::Ptr CopyNode(GlrLeftRecursionPlaceholderClause* node); - vl::Ptr CopyNode(GlrLoopSyntax* node); - vl::Ptr CopyNode(GlrNotCondition* node); - vl::Ptr CopyNode(GlrOptionalSyntax* node); - vl::Ptr CopyNode(GlrOrCondition* node); - vl::Ptr CopyNode(GlrPartialClause* node); - vl::Ptr CopyNode(GlrPrefixMergeClause* node); - vl::Ptr CopyNode(GlrPushConditionSyntax* node); - vl::Ptr CopyNode(GlrRefCondition* node); - vl::Ptr CopyNode(GlrRefSyntax* node); - vl::Ptr CopyNode(GlrReuseClause* node); - vl::Ptr CopyNode(GlrSequenceSyntax* node); - vl::Ptr CopyNode(GlrTestConditionSyntax* node); - vl::Ptr CopyNode(GlrUseSyntax* node); - }; - } - } - } + vl::Ptr CopyNode(GlrAlternativeSyntax* node); + vl::Ptr CopyNode(GlrAndCondition* node); + vl::Ptr CopyNode(GlrCreateClause* node); + vl::Ptr CopyNode(GlrLeftRecursionInjectClause* node); + vl::Ptr CopyNode(GlrLeftRecursionPlaceholderClause* node); + vl::Ptr CopyNode(GlrLoopSyntax* node); + vl::Ptr CopyNode(GlrNotCondition* node); + vl::Ptr CopyNode(GlrOptionalSyntax* node); + vl::Ptr CopyNode(GlrOrCondition* node); + vl::Ptr CopyNode(GlrPartialClause* node); + vl::Ptr CopyNode(GlrPrefixMergeClause* node); + vl::Ptr CopyNode(GlrPushConditionSyntax* node); + vl::Ptr CopyNode(GlrRefCondition* node); + vl::Ptr CopyNode(GlrRefSyntax* node); + vl::Ptr CopyNode(GlrReuseClause* node); + vl::Ptr CopyNode(GlrSequenceSyntax* node); + vl::Ptr CopyNode(GlrTestConditionSyntax* node); + vl::Ptr CopyNode(GlrUseSyntax* node); + }; } #endif @@ -1533,65 +1509,56 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_RULEAST_AST_EMPTY_VISITOR -namespace vl +namespace vl::glr::parsergen::empty_visitor { - namespace glr + /// An empty visitor, overriding all abstract methods with empty implementations. + class ConditionVisitor : public vl::Object, public GlrCondition::IVisitor { - namespace parsergen - { - namespace empty_visitor - { - /// An empty visitor, overriding all abstract methods with empty implementations. - class ConditionVisitor : public vl::Object, public GlrCondition::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(GlrRefCondition* node) override; - void Visit(GlrNotCondition* node) override; - void Visit(GlrAndCondition* node) override; - void Visit(GlrOrCondition* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(GlrRefCondition* node) override; + void Visit(GlrNotCondition* node) override; + void Visit(GlrAndCondition* node) override; + void Visit(GlrOrCondition* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class SyntaxVisitor : public vl::Object, public GlrSyntax::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + /// An empty visitor, overriding all abstract methods with empty implementations. + class SyntaxVisitor : public vl::Object, public GlrSyntax::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(GlrRefSyntax* node) override; - void Visit(GlrUseSyntax* node) override; - void Visit(GlrLoopSyntax* node) override; - void Visit(GlrOptionalSyntax* node) override; - void Visit(GlrSequenceSyntax* node) override; - void Visit(GlrAlternativeSyntax* node) override; - void Visit(GlrPushConditionSyntax* node) override; - void Visit(GlrTestConditionSyntax* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(GlrRefSyntax* node) override; + void Visit(GlrUseSyntax* node) override; + void Visit(GlrLoopSyntax* node) override; + void Visit(GlrOptionalSyntax* node) override; + void Visit(GlrSequenceSyntax* node) override; + void Visit(GlrAlternativeSyntax* node) override; + void Visit(GlrPushConditionSyntax* node) override; + void Visit(GlrTestConditionSyntax* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class ClauseVisitor : public vl::Object, public GlrClause::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + /// An empty visitor, overriding all abstract methods with empty implementations. + class ClauseVisitor : public vl::Object, public GlrClause::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(GlrCreateClause* node) override; - void Visit(GlrPartialClause* node) override; - void Visit(GlrReuseClause* node) override; - void Visit(GlrLeftRecursionPlaceholderClause* node) override; - void Visit(GlrLeftRecursionInjectClause* node) override; - void Visit(GlrPrefixMergeClause* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(GlrCreateClause* node) override; + void Visit(GlrPartialClause* node) override; + void Visit(GlrReuseClause* node) override; + void Visit(GlrLeftRecursionPlaceholderClause* node) override; + void Visit(GlrLeftRecursionInjectClause* node) override; + void Visit(GlrPrefixMergeClause* node) override; + }; - } - } - } } #endif @@ -1608,90 +1575,81 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_RULEAST_AST_JSON_VISITOR -namespace vl +namespace vl::glr::parsergen::json_visitor { - namespace glr + /// A JSON visitor, overriding all abstract methods with AST to JSON serialization code. + class RuleAstVisitor + : public vl::glr::JsonVisitorBase + , protected virtual GlrCondition::IVisitor + , protected virtual GlrSyntax::IVisitor + , protected virtual GlrClause::IVisitor { - namespace parsergen - { - namespace json_visitor - { - /// A JSON visitor, overriding all abstract methods with AST to JSON serialization code. - class RuleAstVisitor - : public vl::glr::JsonVisitorBase - , protected virtual GlrCondition::IVisitor - , protected virtual GlrSyntax::IVisitor - , protected virtual GlrClause::IVisitor - { - protected: - virtual void PrintFields(GlrAlternativeSyntax* node); - virtual void PrintFields(GlrAndCondition* node); - virtual void PrintFields(GlrAssignment* node); - virtual void PrintFields(GlrClause* node); - virtual void PrintFields(GlrCondition* node); - virtual void PrintFields(GlrCreateClause* node); - virtual void PrintFields(GlrLeftRecursionInjectClause* node); - virtual void PrintFields(GlrLeftRecursionInjectContinuation* node); - virtual void PrintFields(GlrLeftRecursionPlaceholder* node); - virtual void PrintFields(GlrLeftRecursionPlaceholderClause* node); - virtual void PrintFields(GlrLoopSyntax* node); - virtual void PrintFields(GlrNotCondition* node); - virtual void PrintFields(GlrOptionalSyntax* node); - virtual void PrintFields(GlrOrCondition* node); - virtual void PrintFields(GlrPartialClause* node); - virtual void PrintFields(GlrPrefixMergeClause* node); - virtual void PrintFields(GlrPushConditionSyntax* node); - virtual void PrintFields(GlrRefCondition* node); - virtual void PrintFields(GlrRefSyntax* node); - virtual void PrintFields(GlrReuseClause* node); - virtual void PrintFields(GlrRule* node); - virtual void PrintFields(GlrSequenceSyntax* node); - virtual void PrintFields(GlrSwitchItem* node); - virtual void PrintFields(GlrSyntax* node); - virtual void PrintFields(GlrSyntaxFile* node); - virtual void PrintFields(GlrTestConditionBranch* node); - virtual void PrintFields(GlrTestConditionSyntax* node); - virtual void PrintFields(GlrUseSyntax* node); + protected: + virtual void PrintFields(GlrAlternativeSyntax* node); + virtual void PrintFields(GlrAndCondition* node); + virtual void PrintFields(GlrAssignment* node); + virtual void PrintFields(GlrClause* node); + virtual void PrintFields(GlrCondition* node); + virtual void PrintFields(GlrCreateClause* node); + virtual void PrintFields(GlrLeftRecursionInjectClause* node); + virtual void PrintFields(GlrLeftRecursionInjectContinuation* node); + virtual void PrintFields(GlrLeftRecursionPlaceholder* node); + virtual void PrintFields(GlrLeftRecursionPlaceholderClause* node); + virtual void PrintFields(GlrLoopSyntax* node); + virtual void PrintFields(GlrNotCondition* node); + virtual void PrintFields(GlrOptionalSyntax* node); + virtual void PrintFields(GlrOrCondition* node); + virtual void PrintFields(GlrPartialClause* node); + virtual void PrintFields(GlrPrefixMergeClause* node); + virtual void PrintFields(GlrPushConditionSyntax* node); + virtual void PrintFields(GlrRefCondition* node); + virtual void PrintFields(GlrRefSyntax* node); + virtual void PrintFields(GlrReuseClause* node); + virtual void PrintFields(GlrRule* node); + virtual void PrintFields(GlrSequenceSyntax* node); + virtual void PrintFields(GlrSwitchItem* node); + virtual void PrintFields(GlrSyntax* node); + virtual void PrintFields(GlrSyntaxFile* node); + virtual void PrintFields(GlrTestConditionBranch* node); + virtual void PrintFields(GlrTestConditionSyntax* node); + virtual void PrintFields(GlrUseSyntax* node); - protected: - void Visit(GlrRefCondition* node) override; - void Visit(GlrNotCondition* node) override; - void Visit(GlrAndCondition* node) override; - void Visit(GlrOrCondition* node) override; + protected: + void Visit(GlrRefCondition* node) override; + void Visit(GlrNotCondition* node) override; + void Visit(GlrAndCondition* node) override; + void Visit(GlrOrCondition* node) override; - void Visit(GlrRefSyntax* node) override; - void Visit(GlrUseSyntax* node) override; - void Visit(GlrLoopSyntax* node) override; - void Visit(GlrOptionalSyntax* node) override; - void Visit(GlrSequenceSyntax* node) override; - void Visit(GlrAlternativeSyntax* node) override; - void Visit(GlrPushConditionSyntax* node) override; - void Visit(GlrTestConditionSyntax* node) override; + void Visit(GlrRefSyntax* node) override; + void Visit(GlrUseSyntax* node) override; + void Visit(GlrLoopSyntax* node) override; + void Visit(GlrOptionalSyntax* node) override; + void Visit(GlrSequenceSyntax* node) override; + void Visit(GlrAlternativeSyntax* node) override; + void Visit(GlrPushConditionSyntax* node) override; + void Visit(GlrTestConditionSyntax* node) override; - void Visit(GlrCreateClause* node) override; - void Visit(GlrPartialClause* node) override; - void Visit(GlrReuseClause* node) override; - void Visit(GlrLeftRecursionPlaceholderClause* node) override; - void Visit(GlrLeftRecursionInjectClause* node) override; - void Visit(GlrPrefixMergeClause* node) override; + void Visit(GlrCreateClause* node) override; + void Visit(GlrPartialClause* node) override; + void Visit(GlrReuseClause* node) override; + void Visit(GlrLeftRecursionPlaceholderClause* node) override; + void Visit(GlrLeftRecursionInjectClause* node) override; + void Visit(GlrPrefixMergeClause* node) override; - public: - RuleAstVisitor(vl::stream::StreamWriter& _writer); + public: + RuleAstVisitor(vl::stream::StreamWriter& _writer); - void Print(GlrCondition* node); - void Print(GlrSyntax* node); - void Print(GlrClause* node); - void Print(GlrSwitchItem* node); - void Print(GlrTestConditionBranch* node); - void Print(GlrAssignment* node); - void Print(GlrLeftRecursionPlaceholder* node); - void Print(GlrLeftRecursionInjectContinuation* node); - void Print(GlrRule* node); - void Print(GlrSyntaxFile* node); - }; - } - } - } + void Print(GlrCondition* node); + void Print(GlrSyntax* node); + void Print(GlrClause* node); + void Print(GlrSwitchItem* node); + void Print(GlrTestConditionBranch* node); + void Print(GlrAssignment* node); + void Print(GlrLeftRecursionPlaceholder* node); + void Print(GlrLeftRecursionInjectContinuation* node); + void Print(GlrRule* node); + void Print(GlrSyntaxFile* node); + }; } #endif @@ -1708,121 +1666,112 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_RULEAST_AST_TRAVERSE_VISITOR -namespace vl +namespace vl::glr::parsergen::traverse_visitor { - namespace glr + /// A traverse visitor, overriding all abstract methods with AST visiting code. + class RuleAstVisitor + : public vl::Object + , protected virtual GlrCondition::IVisitor + , protected virtual GlrSyntax::IVisitor + , protected virtual GlrClause::IVisitor { - namespace parsergen - { - namespace traverse_visitor - { - /// A traverse visitor, overriding all abstract methods with AST visiting code. - class RuleAstVisitor - : public vl::Object - , protected virtual GlrCondition::IVisitor - , protected virtual GlrSyntax::IVisitor - , protected virtual GlrClause::IVisitor - { - protected: - virtual void Traverse(vl::glr::ParsingToken& token); - virtual void Traverse(vl::glr::ParsingAstBase* node); - virtual void Traverse(GlrAlternativeSyntax* node); - virtual void Traverse(GlrAndCondition* node); - virtual void Traverse(GlrAssignment* node); - virtual void Traverse(GlrClause* node); - virtual void Traverse(GlrCondition* node); - virtual void Traverse(GlrCreateClause* node); - virtual void Traverse(GlrLeftRecursionInjectClause* node); - virtual void Traverse(GlrLeftRecursionInjectContinuation* node); - virtual void Traverse(GlrLeftRecursionPlaceholder* node); - virtual void Traverse(GlrLeftRecursionPlaceholderClause* node); - virtual void Traverse(GlrLoopSyntax* node); - virtual void Traverse(GlrNotCondition* node); - virtual void Traverse(GlrOptionalSyntax* node); - virtual void Traverse(GlrOrCondition* node); - virtual void Traverse(GlrPartialClause* node); - virtual void Traverse(GlrPrefixMergeClause* node); - virtual void Traverse(GlrPushConditionSyntax* node); - virtual void Traverse(GlrRefCondition* node); - virtual void Traverse(GlrRefSyntax* node); - virtual void Traverse(GlrReuseClause* node); - virtual void Traverse(GlrRule* node); - virtual void Traverse(GlrSequenceSyntax* node); - virtual void Traverse(GlrSwitchItem* node); - virtual void Traverse(GlrSyntax* node); - virtual void Traverse(GlrSyntaxFile* node); - virtual void Traverse(GlrTestConditionBranch* node); - virtual void Traverse(GlrTestConditionSyntax* node); - virtual void Traverse(GlrUseSyntax* node); + protected: + virtual void Traverse(vl::glr::ParsingToken& token); + virtual void Traverse(vl::glr::ParsingAstBase* node); + virtual void Traverse(GlrAlternativeSyntax* node); + virtual void Traverse(GlrAndCondition* node); + virtual void Traverse(GlrAssignment* node); + virtual void Traverse(GlrClause* node); + virtual void Traverse(GlrCondition* node); + virtual void Traverse(GlrCreateClause* node); + virtual void Traverse(GlrLeftRecursionInjectClause* node); + virtual void Traverse(GlrLeftRecursionInjectContinuation* node); + virtual void Traverse(GlrLeftRecursionPlaceholder* node); + virtual void Traverse(GlrLeftRecursionPlaceholderClause* node); + virtual void Traverse(GlrLoopSyntax* node); + virtual void Traverse(GlrNotCondition* node); + virtual void Traverse(GlrOptionalSyntax* node); + virtual void Traverse(GlrOrCondition* node); + virtual void Traverse(GlrPartialClause* node); + virtual void Traverse(GlrPrefixMergeClause* node); + virtual void Traverse(GlrPushConditionSyntax* node); + virtual void Traverse(GlrRefCondition* node); + virtual void Traverse(GlrRefSyntax* node); + virtual void Traverse(GlrReuseClause* node); + virtual void Traverse(GlrRule* node); + virtual void Traverse(GlrSequenceSyntax* node); + virtual void Traverse(GlrSwitchItem* node); + virtual void Traverse(GlrSyntax* node); + virtual void Traverse(GlrSyntaxFile* node); + virtual void Traverse(GlrTestConditionBranch* node); + virtual void Traverse(GlrTestConditionSyntax* node); + virtual void Traverse(GlrUseSyntax* node); - protected: - virtual void Finishing(vl::glr::ParsingAstBase* node); - virtual void Finishing(GlrAlternativeSyntax* node); - virtual void Finishing(GlrAndCondition* node); - virtual void Finishing(GlrAssignment* node); - virtual void Finishing(GlrClause* node); - virtual void Finishing(GlrCondition* node); - virtual void Finishing(GlrCreateClause* node); - virtual void Finishing(GlrLeftRecursionInjectClause* node); - virtual void Finishing(GlrLeftRecursionInjectContinuation* node); - virtual void Finishing(GlrLeftRecursionPlaceholder* node); - virtual void Finishing(GlrLeftRecursionPlaceholderClause* node); - virtual void Finishing(GlrLoopSyntax* node); - virtual void Finishing(GlrNotCondition* node); - virtual void Finishing(GlrOptionalSyntax* node); - virtual void Finishing(GlrOrCondition* node); - virtual void Finishing(GlrPartialClause* node); - virtual void Finishing(GlrPrefixMergeClause* node); - virtual void Finishing(GlrPushConditionSyntax* node); - virtual void Finishing(GlrRefCondition* node); - virtual void Finishing(GlrRefSyntax* node); - virtual void Finishing(GlrReuseClause* node); - virtual void Finishing(GlrRule* node); - virtual void Finishing(GlrSequenceSyntax* node); - virtual void Finishing(GlrSwitchItem* node); - virtual void Finishing(GlrSyntax* node); - virtual void Finishing(GlrSyntaxFile* node); - virtual void Finishing(GlrTestConditionBranch* node); - virtual void Finishing(GlrTestConditionSyntax* node); - virtual void Finishing(GlrUseSyntax* node); + protected: + virtual void Finishing(vl::glr::ParsingAstBase* node); + virtual void Finishing(GlrAlternativeSyntax* node); + virtual void Finishing(GlrAndCondition* node); + virtual void Finishing(GlrAssignment* node); + virtual void Finishing(GlrClause* node); + virtual void Finishing(GlrCondition* node); + virtual void Finishing(GlrCreateClause* node); + virtual void Finishing(GlrLeftRecursionInjectClause* node); + virtual void Finishing(GlrLeftRecursionInjectContinuation* node); + virtual void Finishing(GlrLeftRecursionPlaceholder* node); + virtual void Finishing(GlrLeftRecursionPlaceholderClause* node); + virtual void Finishing(GlrLoopSyntax* node); + virtual void Finishing(GlrNotCondition* node); + virtual void Finishing(GlrOptionalSyntax* node); + virtual void Finishing(GlrOrCondition* node); + virtual void Finishing(GlrPartialClause* node); + virtual void Finishing(GlrPrefixMergeClause* node); + virtual void Finishing(GlrPushConditionSyntax* node); + virtual void Finishing(GlrRefCondition* node); + virtual void Finishing(GlrRefSyntax* node); + virtual void Finishing(GlrReuseClause* node); + virtual void Finishing(GlrRule* node); + virtual void Finishing(GlrSequenceSyntax* node); + virtual void Finishing(GlrSwitchItem* node); + virtual void Finishing(GlrSyntax* node); + virtual void Finishing(GlrSyntaxFile* node); + virtual void Finishing(GlrTestConditionBranch* node); + virtual void Finishing(GlrTestConditionSyntax* node); + virtual void Finishing(GlrUseSyntax* node); - protected: - void Visit(GlrRefCondition* node) override; - void Visit(GlrNotCondition* node) override; - void Visit(GlrAndCondition* node) override; - void Visit(GlrOrCondition* node) override; + protected: + void Visit(GlrRefCondition* node) override; + void Visit(GlrNotCondition* node) override; + void Visit(GlrAndCondition* node) override; + void Visit(GlrOrCondition* node) override; - void Visit(GlrRefSyntax* node) override; - void Visit(GlrUseSyntax* node) override; - void Visit(GlrLoopSyntax* node) override; - void Visit(GlrOptionalSyntax* node) override; - void Visit(GlrSequenceSyntax* node) override; - void Visit(GlrAlternativeSyntax* node) override; - void Visit(GlrPushConditionSyntax* node) override; - void Visit(GlrTestConditionSyntax* node) override; + void Visit(GlrRefSyntax* node) override; + void Visit(GlrUseSyntax* node) override; + void Visit(GlrLoopSyntax* node) override; + void Visit(GlrOptionalSyntax* node) override; + void Visit(GlrSequenceSyntax* node) override; + void Visit(GlrAlternativeSyntax* node) override; + void Visit(GlrPushConditionSyntax* node) override; + void Visit(GlrTestConditionSyntax* node) override; - void Visit(GlrCreateClause* node) override; - void Visit(GlrPartialClause* node) override; - void Visit(GlrReuseClause* node) override; - void Visit(GlrLeftRecursionPlaceholderClause* node) override; - void Visit(GlrLeftRecursionInjectClause* node) override; - void Visit(GlrPrefixMergeClause* node) override; + void Visit(GlrCreateClause* node) override; + void Visit(GlrPartialClause* node) override; + void Visit(GlrReuseClause* node) override; + void Visit(GlrLeftRecursionPlaceholderClause* node) override; + void Visit(GlrLeftRecursionInjectClause* node) override; + void Visit(GlrPrefixMergeClause* node) override; - public: - void InspectInto(GlrCondition* node); - void InspectInto(GlrSyntax* node); - void InspectInto(GlrClause* node); - void InspectInto(GlrSwitchItem* node); - void InspectInto(GlrTestConditionBranch* node); - void InspectInto(GlrAssignment* node); - void InspectInto(GlrLeftRecursionPlaceholder* node); - void InspectInto(GlrLeftRecursionInjectContinuation* node); - void InspectInto(GlrRule* node); - void InspectInto(GlrSyntaxFile* node); - }; - } - } - } + public: + void InspectInto(GlrCondition* node); + void InspectInto(GlrSyntax* node); + void InspectInto(GlrClause* node); + void InspectInto(GlrSwitchItem* node); + void InspectInto(GlrTestConditionBranch* node); + void InspectInto(GlrAssignment* node); + void InspectInto(GlrLeftRecursionPlaceholder* node); + void InspectInto(GlrLeftRecursionInjectContinuation* node); + void InspectInto(GlrRule* node); + void InspectInto(GlrSyntaxFile* node); + }; } #endif @@ -1839,128 +1788,109 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_TYPEAST_AST -namespace vl +namespace vl::glr::parsergen { - namespace glr + class GlrAstFile; + class GlrClass; + class GlrClassProp; + class GlrEnum; + class GlrEnumItem; + class GlrType; + + enum class GlrPropType { - namespace parsergen + UNDEFINED_ENUM_ITEM_VALUE = -1, + Token = 0, + Type = 1, + Array = 2, + }; + + class GlrType abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description { - class GlrAstFile; - class GlrClass; - class GlrClassProp; - class GlrEnum; - class GlrEnumItem; - class GlrType; + public: + virtual void Visit(GlrEnum* node) = 0; + virtual void Visit(GlrClass* node) = 0; + }; - enum class GlrPropType - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Token = 0, - Type = 1, - Array = 2, - }; + virtual void Accept(GlrType::IVisitor* visitor) = 0; - enum class GlrClassAmbiguity - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - No = 0, - Yes = 1, - }; + vl::glr::ParsingToken attPublic; + vl::glr::ParsingToken name; + }; - class GlrType abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(GlrEnum* node) = 0; - virtual void Visit(GlrClass* node) = 0; - }; + class GlrEnumItem : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + }; - virtual void Accept(GlrType::IVisitor* visitor) = 0; + class GlrEnum : public GlrType, vl::reflection::Description + { + public: + vl::collections::List> items; - vl::glr::ParsingToken name; - }; + void Accept(GlrType::IVisitor* visitor) override; + }; - class GlrEnumItem : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - }; + class GlrClassProp : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + GlrPropType propType = GlrPropType::UNDEFINED_ENUM_ITEM_VALUE; + vl::glr::ParsingToken propTypeName; + }; - class GlrEnum : public GlrType, vl::reflection::Description - { - public: - vl::collections::List> items; + class GlrClass : public GlrType, vl::reflection::Description + { + public: + vl::glr::ParsingToken attAmbiguous; + vl::glr::ParsingToken baseClass; + vl::collections::List> props; - void Accept(GlrType::IVisitor* visitor) override; - }; + void Accept(GlrType::IVisitor* visitor) override; + }; - class GlrClassProp : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - GlrPropType propType = GlrPropType::UNDEFINED_ENUM_ITEM_VALUE; - vl::glr::ParsingToken propTypeName; - }; - - class GlrClass : public GlrType, vl::reflection::Description - { - public: - vl::glr::ParsingToken baseClass; - GlrClassAmbiguity ambiguity = GlrClassAmbiguity::UNDEFINED_ENUM_ITEM_VALUE; - vl::collections::List> props; - - void Accept(GlrType::IVisitor* visitor) override; - }; - - class GlrAstFile : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::collections::List> types; - }; - } - } + class GlrAstFile : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::collections::List> types; + }; } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - DECL_TYPE_INFO(vl::glr::parsergen::GlrType) - DECL_TYPE_INFO(vl::glr::parsergen::GlrType::IVisitor) - DECL_TYPE_INFO(vl::glr::parsergen::GlrEnumItem) - DECL_TYPE_INFO(vl::glr::parsergen::GlrEnum) - DECL_TYPE_INFO(vl::glr::parsergen::GlrPropType) - DECL_TYPE_INFO(vl::glr::parsergen::GlrClassProp) - DECL_TYPE_INFO(vl::glr::parsergen::GlrClassAmbiguity) - DECL_TYPE_INFO(vl::glr::parsergen::GlrClass) - DECL_TYPE_INFO(vl::glr::parsergen::GlrAstFile) + DECL_TYPE_INFO(vl::glr::parsergen::GlrType) + DECL_TYPE_INFO(vl::glr::parsergen::GlrType::IVisitor) + DECL_TYPE_INFO(vl::glr::parsergen::GlrEnumItem) + DECL_TYPE_INFO(vl::glr::parsergen::GlrEnum) + DECL_TYPE_INFO(vl::glr::parsergen::GlrPropType) + DECL_TYPE_INFO(vl::glr::parsergen::GlrClassProp) + DECL_TYPE_INFO(vl::glr::parsergen::GlrClass) + DECL_TYPE_INFO(vl::glr::parsergen::GlrAstFile) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrType::IVisitor) - void Visit(vl::glr::parsergen::GlrEnum* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::glr::parsergen::GlrClass* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::glr::parsergen::GlrType::IVisitor) - -#endif -#endif - /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. - /// Returns true if this operation succeeded. - extern bool ParserGenTypeAstLoadTypes(); + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrType::IVisitor) + void Visit(vl::glr::parsergen::GlrEnum* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); } - } + + void Visit(vl::glr::parsergen::GlrClass* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::glr::parsergen::GlrType::IVisitor) + +#endif +#endif + /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. + /// Returns true if this operation succeeded. + extern bool ParserGenTypeAstLoadTypes(); } #endif @@ -1977,59 +1907,53 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_TYPEAST_AST_BUILDER -namespace vl +namespace vl::glr::parsergen::builder { - namespace glr + class MakeAstFile : public vl::glr::ParsingAstBuilder { - namespace parsergen - { - namespace builder - { - class MakeAstFile : public vl::glr::ParsingAstBuilder - { - public: - MakeAstFile& types(const vl::Ptr& value); - }; + public: + MakeAstFile& types(const vl::Ptr& value); + }; - class MakeClass : public vl::glr::ParsingAstBuilder - { - public: - MakeClass& ambiguity(GlrClassAmbiguity value); - MakeClass& baseClass(const vl::WString& value); - MakeClass& props(const vl::Ptr& value); - MakeClass& name(const vl::WString& value); - }; + class MakeClass : public vl::glr::ParsingAstBuilder + { + public: + MakeClass& attAmbiguous(const vl::WString& value); + MakeClass& baseClass(const vl::WString& value); + MakeClass& props(const vl::Ptr& value); + MakeClass& attPublic(const vl::WString& value); + MakeClass& name(const vl::WString& value); + }; - class MakeClassProp : public vl::glr::ParsingAstBuilder - { - public: - MakeClassProp& name(const vl::WString& value); - MakeClassProp& propType(GlrPropType value); - MakeClassProp& propTypeName(const vl::WString& value); - }; + class MakeClassProp : public vl::glr::ParsingAstBuilder + { + public: + MakeClassProp& name(const vl::WString& value); + MakeClassProp& propType(GlrPropType value); + MakeClassProp& propTypeName(const vl::WString& value); + }; - class MakeEnum : public vl::glr::ParsingAstBuilder - { - public: - MakeEnum& items(const vl::Ptr& value); - MakeEnum& name(const vl::WString& value); - }; + class MakeEnum : public vl::glr::ParsingAstBuilder + { + public: + MakeEnum& items(const vl::Ptr& value); + MakeEnum& attPublic(const vl::WString& value); + MakeEnum& name(const vl::WString& value); + }; - class MakeEnumItem : public vl::glr::ParsingAstBuilder - { - public: - MakeEnumItem& name(const vl::WString& value); - }; + class MakeEnumItem : public vl::glr::ParsingAstBuilder + { + public: + MakeEnumItem& name(const vl::WString& value); + }; - class MakeType : public vl::glr::ParsingAstBuilder - { - public: - MakeType& name(const vl::WString& value); - }; + class MakeType : public vl::glr::ParsingAstBuilder + { + public: + MakeType& attPublic(const vl::WString& value); + MakeType& name(const vl::WString& value); + }; - } - } - } } #endif @@ -2046,47 +1970,38 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_TYPEAST_AST_COPY_VISITOR -namespace vl +namespace vl::glr::parsergen::copy_visitor { - namespace glr + /// A copy visitor, overriding all abstract methods with AST copying code. + class TypeAstVisitor + : public virtual vl::glr::CopyVisitorBase + , protected virtual GlrType::IVisitor { - namespace parsergen - { - namespace copy_visitor - { - /// A copy visitor, overriding all abstract methods with AST copying code. - class TypeAstVisitor - : public virtual vl::glr::CopyVisitorBase - , protected virtual GlrType::IVisitor - { - protected: - void CopyFields(GlrAstFile* from, GlrAstFile* to); - void CopyFields(GlrClass* from, GlrClass* to); - void CopyFields(GlrClassProp* from, GlrClassProp* to); - void CopyFields(GlrEnum* from, GlrEnum* to); - void CopyFields(GlrEnumItem* from, GlrEnumItem* to); - void CopyFields(GlrType* from, GlrType* to); + protected: + void CopyFields(GlrAstFile* from, GlrAstFile* to); + void CopyFields(GlrClass* from, GlrClass* to); + void CopyFields(GlrClassProp* from, GlrClassProp* to); + void CopyFields(GlrEnum* from, GlrEnum* to); + void CopyFields(GlrEnumItem* from, GlrEnumItem* to); + void CopyFields(GlrType* from, GlrType* to); - protected: - virtual void Visit(GlrEnumItem* node); - virtual void Visit(GlrClassProp* node); - virtual void Visit(GlrAstFile* node); + protected: + virtual void Visit(GlrEnumItem* node); + virtual void Visit(GlrClassProp* node); + virtual void Visit(GlrAstFile* node); - void Visit(GlrEnum* node) override; - void Visit(GlrClass* node) override; + void Visit(GlrEnum* node) override; + void Visit(GlrClass* node) override; - public: - virtual vl::Ptr CopyNode(GlrType* node); - virtual vl::Ptr CopyNode(GlrEnumItem* node); - virtual vl::Ptr CopyNode(GlrClassProp* node); - virtual vl::Ptr CopyNode(GlrAstFile* node); + public: + virtual vl::Ptr CopyNode(GlrType* node); + virtual vl::Ptr CopyNode(GlrEnumItem* node); + virtual vl::Ptr CopyNode(GlrClassProp* node); + virtual vl::Ptr CopyNode(GlrAstFile* node); - vl::Ptr CopyNode(GlrClass* node); - vl::Ptr CopyNode(GlrEnum* node); - }; - } - } - } + vl::Ptr CopyNode(GlrClass* node); + vl::Ptr CopyNode(GlrEnum* node); + }; } #endif @@ -2103,29 +2018,20 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_TYPEAST_AST_EMPTY_VISITOR -namespace vl +namespace vl::glr::parsergen::empty_visitor { - namespace glr + /// An empty visitor, overriding all abstract methods with empty implementations. + class TypeVisitor : public vl::Object, public GlrType::IVisitor { - namespace parsergen - { - namespace empty_visitor - { - /// An empty visitor, overriding all abstract methods with empty implementations. - class TypeVisitor : public vl::Object, public GlrType::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(GlrEnum* node) override; - void Visit(GlrClass* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(GlrEnum* node) override; + void Visit(GlrClass* node) override; + }; - } - } - } } #endif @@ -2142,42 +2048,33 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_TYPEAST_AST_JSON_VISITOR -namespace vl +namespace vl::glr::parsergen::json_visitor { - namespace glr + /// A JSON visitor, overriding all abstract methods with AST to JSON serialization code. + class TypeAstVisitor + : public vl::glr::JsonVisitorBase + , protected virtual GlrType::IVisitor { - namespace parsergen - { - namespace json_visitor - { - /// A JSON visitor, overriding all abstract methods with AST to JSON serialization code. - class TypeAstVisitor - : public vl::glr::JsonVisitorBase - , protected virtual GlrType::IVisitor - { - protected: - virtual void PrintFields(GlrAstFile* node); - virtual void PrintFields(GlrClass* node); - virtual void PrintFields(GlrClassProp* node); - virtual void PrintFields(GlrEnum* node); - virtual void PrintFields(GlrEnumItem* node); - virtual void PrintFields(GlrType* node); + protected: + virtual void PrintFields(GlrAstFile* node); + virtual void PrintFields(GlrClass* node); + virtual void PrintFields(GlrClassProp* node); + virtual void PrintFields(GlrEnum* node); + virtual void PrintFields(GlrEnumItem* node); + virtual void PrintFields(GlrType* node); - protected: - void Visit(GlrEnum* node) override; - void Visit(GlrClass* node) override; + protected: + void Visit(GlrEnum* node) override; + void Visit(GlrClass* node) override; - public: - TypeAstVisitor(vl::stream::StreamWriter& _writer); + public: + TypeAstVisitor(vl::stream::StreamWriter& _writer); - void Print(GlrType* node); - void Print(GlrEnumItem* node); - void Print(GlrClassProp* node); - void Print(GlrAstFile* node); - }; - } - } - } + void Print(GlrType* node); + void Print(GlrEnumItem* node); + void Print(GlrClassProp* node); + void Print(GlrAstFile* node); + }; } #endif @@ -2194,51 +2091,42 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_TYPEAST_AST_TRAVERSE_VISITOR -namespace vl +namespace vl::glr::parsergen::traverse_visitor { - namespace glr + /// A traverse visitor, overriding all abstract methods with AST visiting code. + class TypeAstVisitor + : public vl::Object + , protected virtual GlrType::IVisitor { - namespace parsergen - { - namespace traverse_visitor - { - /// A traverse visitor, overriding all abstract methods with AST visiting code. - class TypeAstVisitor - : public vl::Object - , protected virtual GlrType::IVisitor - { - protected: - virtual void Traverse(vl::glr::ParsingToken& token); - virtual void Traverse(vl::glr::ParsingAstBase* node); - virtual void Traverse(GlrAstFile* node); - virtual void Traverse(GlrClass* node); - virtual void Traverse(GlrClassProp* node); - virtual void Traverse(GlrEnum* node); - virtual void Traverse(GlrEnumItem* node); - virtual void Traverse(GlrType* node); + protected: + virtual void Traverse(vl::glr::ParsingToken& token); + virtual void Traverse(vl::glr::ParsingAstBase* node); + virtual void Traverse(GlrAstFile* node); + virtual void Traverse(GlrClass* node); + virtual void Traverse(GlrClassProp* node); + virtual void Traverse(GlrEnum* node); + virtual void Traverse(GlrEnumItem* node); + virtual void Traverse(GlrType* node); - protected: - virtual void Finishing(vl::glr::ParsingAstBase* node); - virtual void Finishing(GlrAstFile* node); - virtual void Finishing(GlrClass* node); - virtual void Finishing(GlrClassProp* node); - virtual void Finishing(GlrEnum* node); - virtual void Finishing(GlrEnumItem* node); - virtual void Finishing(GlrType* node); + protected: + virtual void Finishing(vl::glr::ParsingAstBase* node); + virtual void Finishing(GlrAstFile* node); + virtual void Finishing(GlrClass* node); + virtual void Finishing(GlrClassProp* node); + virtual void Finishing(GlrEnum* node); + virtual void Finishing(GlrEnumItem* node); + virtual void Finishing(GlrType* node); - protected: - void Visit(GlrEnum* node) override; - void Visit(GlrClass* node) override; + protected: + void Visit(GlrEnum* node) override; + void Visit(GlrClass* node) override; - public: - void InspectInto(GlrType* node); - void InspectInto(GlrEnumItem* node); - void InspectInto(GlrClassProp* node); - void InspectInto(GlrAstFile* node); - }; - } - } - } + public: + void InspectInto(GlrType* node); + void InspectInto(GlrEnumItem* node); + void InspectInto(GlrClassProp* node); + void InspectInto(GlrAstFile* node); + }; } #endif @@ -2255,130 +2143,127 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_AST_ASSEMBLER -namespace vl +namespace vl::glr::parsergen { - namespace glr + enum class ParserGenClasses : vl::vint32_t { - namespace parsergen - { - enum class ParserGenClasses : vl::vint32_t - { - AlternativeSyntax = 0, - AndCondition = 1, - Assignment = 2, - AstFile = 3, - Class = 4, - ClassProp = 5, - Clause = 6, - Condition = 7, - CreateClause = 8, - Enum = 9, - EnumItem = 10, - LeftRecursionInjectClause = 11, - LeftRecursionInjectContinuation = 12, - LeftRecursionPlaceholder = 13, - LeftRecursionPlaceholderClause = 14, - LoopSyntax = 15, - NotCondition = 16, - OptionalSyntax = 17, - OrCondition = 18, - PartialClause = 19, - PrefixMergeClause = 20, - PushConditionSyntax = 21, - RefCondition = 22, - RefSyntax = 23, - ReuseClause = 24, - Rule = 25, - SequenceSyntax = 26, - SwitchItem = 27, - Syntax = 28, - SyntaxFile = 29, - TestConditionBranch = 30, - TestConditionSyntax = 31, - Type = 32, - UseSyntax = 33, - }; + AlternativeSyntax = 0, + AndCondition = 1, + Assignment = 2, + AstFile = 3, + Class = 4, + ClassProp = 5, + Clause = 6, + Condition = 7, + CreateClause = 8, + Enum = 9, + EnumItem = 10, + LeftRecursionInjectClause = 11, + LeftRecursionInjectContinuation = 12, + LeftRecursionPlaceholder = 13, + LeftRecursionPlaceholderClause = 14, + LoopSyntax = 15, + NotCondition = 16, + OptionalSyntax = 17, + OrCondition = 18, + PartialClause = 19, + PrefixMergeClause = 20, + PushConditionSyntax = 21, + RefCondition = 22, + RefSyntax = 23, + ReuseClause = 24, + Rule = 25, + SequenceSyntax = 26, + SwitchItem = 27, + Syntax = 28, + SyntaxFile = 29, + TestConditionBranch = 30, + TestConditionSyntax = 31, + Type = 32, + UseSyntax = 33, + }; - enum class ParserGenFields : vl::vint32_t - { - AlternativeSyntax_first = 0, - AlternativeSyntax_second = 1, - AndCondition_first = 2, - AndCondition_second = 3, - Assignment_field = 4, - Assignment_type = 5, - Assignment_value = 6, - AstFile_types = 7, - Class_ambiguity = 8, - Class_baseClass = 9, - Class_props = 10, - ClassProp_name = 11, - ClassProp_propType = 12, - ClassProp_propTypeName = 13, - CreateClause_assignments = 14, - CreateClause_syntax = 15, - CreateClause_type = 16, - Enum_items = 17, - EnumItem_name = 18, - LeftRecursionInjectClause_continuation = 19, - LeftRecursionInjectClause_rule = 20, - LeftRecursionInjectContinuation_configuration = 21, - LeftRecursionInjectContinuation_flags = 22, - LeftRecursionInjectContinuation_injectionTargets = 23, - LeftRecursionInjectContinuation_type = 24, - LeftRecursionPlaceholder_flag = 25, - LeftRecursionPlaceholderClause_flags = 26, - LoopSyntax_delimiter = 27, - LoopSyntax_syntax = 28, - NotCondition_condition = 29, - OptionalSyntax_priority = 30, - OptionalSyntax_syntax = 31, - OrCondition_first = 32, - OrCondition_second = 33, - PartialClause_assignments = 34, - PartialClause_syntax = 35, - PartialClause_type = 36, - PrefixMergeClause_rule = 37, - PushConditionSyntax_switches = 38, - PushConditionSyntax_syntax = 39, - RefCondition_name = 40, - RefSyntax_field = 41, - RefSyntax_literal = 42, - RefSyntax_refType = 43, - ReuseClause_assignments = 44, - ReuseClause_syntax = 45, - Rule_clauses = 46, - Rule_name = 47, - Rule_type = 48, - SequenceSyntax_first = 49, - SequenceSyntax_second = 50, - SwitchItem_name = 51, - SwitchItem_value = 52, - SyntaxFile_rules = 53, - SyntaxFile_switches = 54, - TestConditionBranch_condition = 55, - TestConditionBranch_syntax = 56, - TestConditionSyntax_branches = 57, - Type_name = 58, - UseSyntax_name = 59, - }; + enum class ParserGenFields : vl::vint32_t + { + AlternativeSyntax_first = 0, + AlternativeSyntax_second = 1, + AndCondition_first = 2, + AndCondition_second = 3, + Assignment_field = 4, + Assignment_type = 5, + Assignment_value = 6, + AstFile_types = 7, + Class_attAmbiguous = 8, + Class_baseClass = 9, + Class_props = 10, + ClassProp_name = 11, + ClassProp_propType = 12, + ClassProp_propTypeName = 13, + CreateClause_assignments = 14, + CreateClause_syntax = 15, + CreateClause_type = 16, + Enum_items = 17, + EnumItem_name = 18, + LeftRecursionInjectClause_continuation = 19, + LeftRecursionInjectClause_rule = 20, + LeftRecursionInjectContinuation_configuration = 21, + LeftRecursionInjectContinuation_flags = 22, + LeftRecursionInjectContinuation_injectionTargets = 23, + LeftRecursionInjectContinuation_type = 24, + LeftRecursionPlaceholder_flag = 25, + LeftRecursionPlaceholderClause_flags = 26, + LoopSyntax_delimiter = 27, + LoopSyntax_syntax = 28, + NotCondition_condition = 29, + OptionalSyntax_priority = 30, + OptionalSyntax_syntax = 31, + OrCondition_first = 32, + OrCondition_second = 33, + PartialClause_assignments = 34, + PartialClause_syntax = 35, + PartialClause_type = 36, + PrefixMergeClause_rule = 37, + PushConditionSyntax_switches = 38, + PushConditionSyntax_syntax = 39, + RefCondition_name = 40, + RefSyntax_field = 41, + RefSyntax_literal = 42, + RefSyntax_refType = 43, + ReuseClause_assignments = 44, + ReuseClause_syntax = 45, + Rule_attParser = 46, + Rule_attPublic = 47, + Rule_clauses = 48, + Rule_name = 49, + Rule_type = 50, + SequenceSyntax_first = 51, + SequenceSyntax_second = 52, + SwitchItem_name = 53, + SwitchItem_value = 54, + SyntaxFile_rules = 55, + SyntaxFile_switches = 56, + TestConditionBranch_condition = 57, + TestConditionBranch_syntax = 58, + TestConditionSyntax_branches = 59, + Type_attPublic = 60, + Type_name = 61, + UseSyntax_name = 62, + }; - extern const wchar_t* ParserGenTypeName(ParserGenClasses type); - extern const wchar_t* ParserGenCppTypeName(ParserGenClasses type); - extern const wchar_t* ParserGenFieldName(ParserGenFields field); - extern const wchar_t* ParserGenCppFieldName(ParserGenFields field); + extern const wchar_t* ParserGenTypeName(ParserGenClasses type); + extern const wchar_t* ParserGenCppTypeName(ParserGenClasses type); + extern const wchar_t* ParserGenFieldName(ParserGenFields field); + extern const wchar_t* ParserGenCppFieldName(ParserGenFields field); - class ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase - { - protected: - vl::Ptr CreateAstNode(vl::vint32_t type) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; - vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; - }; - } - } + class ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase + { + protected: + vl::Ptr CreateAstNode(vl::vint32_t type) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; + vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; + }; } #endif @@ -2395,61 +2280,57 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_LEXER -namespace vl +namespace vl::glr::parsergen { - namespace glr + enum class ParserGenTokens : vl::vint32_t { - namespace parsergen - { - enum class ParserGenTokens : vl::vint32_t - { - AMBIGUOUS = 0, - CLASS = 1, - ENUM = 2, - VAR = 3, - SWITCH = 4, - TOKEN = 5, - AS = 6, - PARTIAL = 7, - OPEN_ROUND = 8, - CLOSE_ROUND = 9, - OPEN_SQUARE = 10, - CLOSE_SQUARE = 11, - OPEN_CURLY = 12, - CLOSE_CURLY = 13, - OPEN_PUSH = 14, - OPEN_TEST = 15, - AND = 16, - OR = 17, - COMMA = 18, - COLON = 19, - SEMICOLON = 20, - INFER = 21, - ALTERNATIVE = 22, - USE = 23, - ASSIGN = 24, - WEAK_ASSIGN = 25, - POSITIVE = 26, - NEGATIVE = 27, - LS_PH = 28, - LS_I = 29, - LS_IM = 30, - LS_PM = 31, - ID = 32, - STRING = 33, - CONDITIONAL_LITERAL = 34, - SPACE = 35, - COMMENT = 36, - }; + ATT_AMBIGUOUS = 0, + ATT_PUBLIC = 1, + ATT_PARSER = 2, + CLASS = 3, + ENUM = 4, + VAR = 5, + SWITCH = 6, + TOKEN = 7, + AS = 8, + PARTIAL = 9, + OPEN_ROUND = 10, + CLOSE_ROUND = 11, + OPEN_SQUARE = 12, + CLOSE_SQUARE = 13, + OPEN_CURLY = 14, + CLOSE_CURLY = 15, + OPEN_PUSH = 16, + OPEN_TEST = 17, + AND = 18, + OR = 19, + COMMA = 20, + COLON = 21, + SEMICOLON = 22, + INFER = 23, + ALTERNATIVE = 24, + USE = 25, + ASSIGN = 26, + WEAK_ASSIGN = 27, + POSITIVE = 28, + NEGATIVE = 29, + LS_PH = 30, + LS_I = 31, + LS_IM = 32, + LS_PM = 33, + ID = 34, + STRING = 35, + CONDITIONAL_LITERAL = 36, + SPACE = 37, + COMMENT = 38, + }; - constexpr vl::vint ParserGenTokenCount = 37; - extern bool ParserGenTokenDeleter(vl::vint token); - extern const wchar_t* ParserGenTokenId(ParserGenTokens token); - extern const wchar_t* ParserGenTokenDisplayText(ParserGenTokens token); - extern const wchar_t* ParserGenTokenRegex(ParserGenTokens token); - extern void ParserGenLexerData(vl::stream::IStream& outputStream); - } - } + constexpr vl::vint ParserGenTokenCount = 39; + extern bool ParserGenTokenDeleter(vl::vint token); + extern const wchar_t* ParserGenTokenId(ParserGenTokens token); + extern const wchar_t* ParserGenTokenDisplayText(ParserGenTokens token); + extern const wchar_t* ParserGenTokenRegex(ParserGenTokens token); + extern void ParserGenLexerData(vl::stream::IStream& outputStream); } #endif @@ -2466,58 +2347,53 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_RULEPARSER_SYNTAX -namespace vl +namespace vl::glr::parsergen { - namespace glr + enum class RuleParserStates { - namespace parsergen - { - enum class RuleParserStates - { - Cond0 = 0, - Cond1 = 8, - Cond2 = 14, - Cond = 20, - SwitchItem = 23, - Switches = 28, - OptionalBody = 34, - TestBranch = 39, - Token = 45, - Syntax0 = 50, - Syntax1 = 81, - Syntax2 = 86, - Syntax = 92, - AssignmentOp = 95, - Assignment = 99, - Clause = 104, - Placeholder = 140, - RuleName = 143, - LriConfig = 146, - LriContinuationBody = 150, - LriContinuation = 161, - LriTarget = 167, - Rule = 174, - File = 182, - }; + Cond0 = 0, + Cond1 = 8, + Cond2 = 14, + Cond = 20, + SwitchItem = 23, + Switches = 28, + OptionalBody = 34, + TestBranch = 39, + Token = 45, + Syntax0 = 50, + Syntax1 = 81, + Syntax2 = 86, + Syntax = 92, + AssignmentOp = 95, + Assignment = 99, + Clause = 104, + Placeholder = 140, + RuleName = 143, + LriConfig = 146, + LriContinuationBody = 150, + LriContinuation = 161, + LriTarget = 167, + Rule = 174, + File = 184, + }; - const wchar_t* RuleParserRuleName(vl::vint index); - const wchar_t* RuleParserStateLabel(vl::vint index); - extern void ParserGenRuleParserData(vl::stream::IStream& outputStream); + const wchar_t* RuleParserRuleName(vl::vint index); + const wchar_t* RuleParserStateLabel(vl::vint index); + extern void ParserGenRuleParserData(vl::stream::IStream& outputStream); - class RuleParser - : public vl::glr::ParserBase - , protected vl::glr::automaton::IExecutor::ITypeCallback - { - protected: - vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; - public: - RuleParser(); + class RuleParser + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback + { + protected: + vl::WString GetClassName(vl::vint32_t classIndex) const override; + vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; + public: + RuleParser(); - vl::Ptr ParseFile(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr ParseFile(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - }; - } - } + vl::Ptr ParseFile(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr ParseFile(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + }; } #endif @@ -2534,42 +2410,37 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_PARSER2_PARSERGEN_TYPEPARSER_SYNTAX -namespace vl +namespace vl::glr::parsergen { - namespace glr + enum class TypeParserStates { - namespace parsergen - { - enum class TypeParserStates - { - EnumItem = 0, - Enum = 4, - ClassPropType = 11, - classProp = 18, - ClassBody = 25, - Class = 33, - Type = 40, - File = 44, - }; + EnumItem = 0, + Enum = 4, + ClassPropType = 12, + classProp = 19, + ClassBody = 26, + Class = 34, + Type = 40, + File = 44, + }; - const wchar_t* TypeParserRuleName(vl::vint index); - const wchar_t* TypeParserStateLabel(vl::vint index); - extern void ParserGenTypeParserData(vl::stream::IStream& outputStream); + const wchar_t* TypeParserRuleName(vl::vint index); + const wchar_t* TypeParserStateLabel(vl::vint index); + extern void ParserGenTypeParserData(vl::stream::IStream& outputStream); - class TypeParser - : public vl::glr::ParserBase - , protected vl::glr::automaton::IExecutor::ITypeCallback - { - protected: - vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; - public: - TypeParser(); + class TypeParser + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback + { + protected: + vl::WString GetClassName(vl::vint32_t classIndex) const override; + vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; + public: + TypeParser(); - vl::Ptr ParseFile(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr ParseFile(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - }; - } - } + vl::Ptr ParseFile(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr ParseFile(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + }; } #endif @@ -2591,6 +2462,7 @@ namespace vl { namespace parsergen { + class AstSymbolManager; class AstClassSymbol; class StateSymbol; class EdgeSymbol; @@ -2723,6 +2595,8 @@ RuleSymbol RuleSymbol(SyntaxSymbolManager* _ownerManager, const WString& _name); public: StateList startStates; + bool isPublic = false; + bool isParser = false; bool isPartial = false; bool assignedNonArrayField = false; AstClassSymbol* ruleType = nullptr; @@ -2759,8 +2633,6 @@ SyntaxSymbolManager { using StateList = collections::List>; using EdgeList = collections::List>; - using RuleTypeMap = collections::Dictionary; - using RuleList = collections::List; using LrpFlagList = collections::SortedList; protected: MappedOwning rules; @@ -2782,8 +2654,6 @@ SyntaxSymbolManager SyntaxSymbolManager(ParserSymbolManager& _global); WString name; - RuleTypeMap ruleTypes; - RuleList parsableRules; LrpFlagList lrpFlags; RuleSymbol* CreateRule(const WString& name, ParsingTextRange codeRange = {}); @@ -2810,8 +2680,8 @@ SyntaxSymbolManager } }; - extern void CreateParserGenTypeSyntax(SyntaxSymbolManager& manager); - extern void CreateParserGenRuleSyntax(SyntaxSymbolManager& manager); + extern void CreateParserGenTypeSyntax(AstSymbolManager& ast, SyntaxSymbolManager& manager); + extern void CreateParserGenRuleSyntax(AstSymbolManager& ast, SyntaxSymbolManager& manager); } } } diff --git a/Import/VlppOS.Windows.cpp b/Import/VlppOS.Windows.cpp index ed0bdb1a..f64f079a 100644 --- a/Import/VlppOS.Windows.cpp +++ b/Import/VlppOS.Windows.cpp @@ -406,9 +406,6 @@ Utilities , length(_length) { } - - bool operator==(const BufferPair& pair) { return false; } - bool operator!=(const BufferPair& pair) { return true; } }; bool HttpQuery(const HttpRequest& request, HttpResponse& response) diff --git a/Import/VlppOS.cpp b/Import/VlppOS.cpp index 6ecae3a8..9db69343 100644 --- a/Import/VlppOS.cpp +++ b/Import/VlppOS.cpp @@ -62,11 +62,6 @@ FilePath { } - vint FilePath::Compare(const FilePath& a, const FilePath& b) - { - return (vint)WString::Compare(a.fullPath, b.fullPath); - } - FilePath FilePath::operator/(const WString& relativePath)const { if (IsRoot()) @@ -449,10 +444,6 @@ Locale { } - Locale::~Locale() - { - } - const WString& Locale::GetName()const { return localeName; diff --git a/Import/VlppOS.h b/Import/VlppOS.h index ba3bd8d6..f9e5fd75 100644 --- a/Import/VlppOS.h +++ b/Import/VlppOS.h @@ -175,15 +175,18 @@ namespace vl /// In Windows, the specified locale need to be installed in order to take effect. /// In Linux and macOS, only en-US is supported. /// - Locale(const WString& _localeName=WString::Empty); - ~Locale(); + Locale() = default; + Locale(const Locale&) = default; + Locale(Locale&&) = default; + ~Locale() = default; - bool operator==(const Locale& value)const { return localeName==value.localeName; } - bool operator!=(const Locale& value)const { return localeName!=value.localeName; } - bool operator<(const Locale& value)const { return localeName(const Locale& value)const { return localeName>value.localeName; } - bool operator>=(const Locale& value)const { return localeName>=value.localeName; } + Locale& operator=(const Locale&) = default; + Locale& operator=(Locale&&) = default; + + Locale(const WString& _localeName); + + std::strong_ordering operator<=>(const Locale& locale)const { return localeName <=> locale.localeName; } + bool operator==(const Locale& locale)const { return localeName == locale.localeName; } /// Get the invariant locale. An invariant locale is neutral, it is not awared of any language specified thing. /// The invariant locale. @@ -1918,13 +1921,8 @@ namespace vl FilePath(const FilePath& _filePath); ~FilePath() = default; - static vint Compare(const FilePath& a, const FilePath& b); - bool operator==(const FilePath& filePath)const{ return Compare(*this, filePath) == 0; } - bool operator!=(const FilePath& filePath)const{ return Compare(*this, filePath) != 0; } - bool operator< (const FilePath& filePath)const{ return Compare(*this, filePath) < 0; } - bool operator<=(const FilePath& filePath)const{ return Compare(*this, filePath) <= 0; } - bool operator> (const FilePath& filePath)const{ return Compare(*this, filePath) > 0; } - bool operator>=(const FilePath& filePath)const{ return Compare(*this, filePath) >= 0; } + std::strong_ordering operator<=>(const FilePath& path)const { return fullPath <=> path.fullPath; } + bool operator==(const FilePath& path)const { return fullPath == path.fullPath; } /// Concat an absolute path and a relative path. /// The result absolute path. diff --git a/Import/VlppParser.cpp b/Import/VlppParser.cpp index e608fb1e..ddb13a14 100644 --- a/Import/VlppParser.cpp +++ b/Import/VlppParser.cpp @@ -3740,7 +3740,7 @@ GenerateTable i1 > i2 ? ParsingTable::TransitionItem::WrongOrder : ParsingTable::TransitionItem::SameOrder ; - return ParsingTable::TransitionItem::Compare(t1, t2, defaultOrder); + return ParsingTable::TransitionItem::Compare(t1, t2, defaultOrder) <=> 0; })); // build look ahead inside a transition @@ -4225,38 +4225,44 @@ IsMergableCandidate RearrangeState ***********************************************************************/ -#define COMPARE_SYMBOL(S1, S2)\ - if (S1 && S2)\ - {\ - if (S1->GetType() < S2->GetType()) return -1;\ - if (S1->GetType() > S2->GetType()) return 1;\ - if (S1->GetName() < S2->GetName()) return -1;\ - if (S1->GetName() > S2->GetName()) return 1;\ - }\ - else if (S1)\ - {\ - return 1;\ - }\ - else if (S2)\ - {\ - return -1;\ - }\ - - vint CompareTransitionForRearranging(Transition* t1, Transition* t2) + std::strong_ordering CompareParsingSymbol(ParsingSymbol* s1, ParsingSymbol* s2) { - if (t1->transitionType < t2->transitionType) return -1; - if (t1->transitionType > t2->transitionType) return 1; - COMPARE_SYMBOL(t1->transitionSymbol, t2->transitionSymbol); - return 0; + if (s1 && s2) + { + std::strong_ordering + result = s1->GetType() <=> s2->GetType(); if (result != 0) return result; + result = s1->GetName() <=> s2->GetName(); if (result != 0) return result; + return result; + } + else if (s1) + { + return std::strong_ordering::greater; + } + else if (s2) + { + return std::strong_ordering::less; + } + else + { + return std::strong_ordering::equal; + } } - vint CompareActionForRearranging(Ptr a1, Ptr a2) + std::strong_ordering CompareTransitionForRearranging(Transition* t1, Transition* t2) { - if(a1->actionTypeactionType) return -1; - if(a1->actionType>a2->actionType) return 1; - COMPARE_SYMBOL(a1->actionSource, a2->actionSource); - COMPARE_SYMBOL(a1->actionTarget, a2->actionTarget); - return 0; + std::strong_ordering + result = t1->transitionType <=> t2->transitionType; if (result != 0) return result; + result = CompareParsingSymbol(t1->transitionSymbol, t2->transitionSymbol); if (result != 0) return result; + return result; + } + + std::strong_ordering CompareActionForRearranging(Ptr a1, Ptr a2) + { + std::strong_ordering + result = a1->actionType <=> a2->actionType; if (result != 0) return result; + result = CompareParsingSymbol(a1->actionSource, a2->actionSource); if (result != 0) return result; + result = CompareParsingSymbol(a1->actionTarget, a2->actionTarget); if (result != 0) return result; + return result; } #undef COMPARE_SYMBOL @@ -8540,10 +8546,6 @@ namespace vl namespace parsing { - vint CompareTextRange(Ptr r1, Ptr r2) - { - return ParsingTextPos::Compare(r1->GetCodeRange().start, r2->GetCodeRange().start); - } /*********************************************************************** ParsingTreeNode::TraversalVisitor @@ -8719,7 +8721,7 @@ ParsingTreeNode const auto& range = node->GetCodeRange(); return !range.start.IsInvalid() && !range.end.IsInvalid(); }) - .OrderBy(&CompareTextRange) + .OrderByKey([](auto&& node) { return node->GetCodeRange().start; }) ); } } diff --git a/Import/VlppParser.h b/Import/VlppParser.h index 6d79924d..6d5056b7 100644 --- a/Import/VlppParser.h +++ b/Import/VlppParser.h @@ -74,47 +74,45 @@ Location return index < 0 && row < 0 && column < 0; } - static vint Compare(const ParsingTextPos& a, const ParsingTextPos& b) + friend std::strong_ordering operator<=>(const ParsingTextPos& a, const ParsingTextPos& b) { if (a.IsInvalid() && b.IsInvalid()) { - return 0; + return std::strong_ordering::equal; } else if (a.IsInvalid()) { - return -1; + return std::strong_ordering::less; } else if (b.IsInvalid()) { - return 1; + return std::strong_ordering::greater; } else if (a.index >= 0 && b.index >= 0) { - return a.index - b.index; + return a.index <=> b.index; } else if (a.row >= 0 && a.column >= 0 && b.row >= 0 && b.column >= 0) { if (a.row == b.row) { - return a.column - b.column; + return a.column <=> b.column; } else { - return a.row - b.row; + return a.row <=> b.row; } } else { - return 0; + return std::strong_ordering::equal; } } - bool operator==(const ParsingTextPos& pos)const{return Compare(*this, pos)==0;} - bool operator!=(const ParsingTextPos& pos)const{return Compare(*this, pos)!=0;} - bool operator<(const ParsingTextPos& pos)const{return Compare(*this, pos)<0;} - bool operator<=(const ParsingTextPos& pos)const{return Compare(*this, pos)<=0;} - bool operator>(const ParsingTextPos& pos)const{return Compare(*this, pos)>0;} - bool operator>=(const ParsingTextPos& pos)const{return Compare(*this, pos)>=0;} + friend bool operator==(const ParsingTextPos& a, const ParsingTextPos& b) + { + return (a <=> b) == 0; + } }; /// A type representing text range. @@ -1124,21 +1122,18 @@ DefinitionTypeScopePair { } - vint Compare(const DefinitionTypeScopePair& pair)const + std::strong_ordering operator<=>(const DefinitionTypeScopePair& pair)const { - if(typepair.type) return 1; - if(scopepair.scope) return 1; - return 0; + std::strong_ordering + result = type <=> pair.type; if (result != 0) return result; + result = scope <=> pair.scope; if (result != 0) return result; + return result; } - bool operator== (const DefinitionTypeScopePair& pair)const {return Compare(pair)==0;} - bool operator!= (const DefinitionTypeScopePair& pair)const {return Compare(pair)!=0;} - bool operator> (const DefinitionTypeScopePair& pair)const {return Compare(pair)>0;} - bool operator>= (const DefinitionTypeScopePair& pair)const {return Compare(pair)>=0;} - bool operator< (const DefinitionTypeScopePair& pair)const {return Compare(pair)<0;} - bool operator<= (const DefinitionTypeScopePair& pair)const {return Compare(pair)<=0;} + bool operator==(const DefinitionTypeScopePair& pair)const + { + return (*this <=> pair) == 0; + } }; /*********************************************************************** diff --git a/Import/VlppReflection.cpp b/Import/VlppReflection.cpp index 367d62dd..88380eec 100644 --- a/Import/VlppReflection.cpp +++ b/Import/VlppReflection.cpp @@ -2350,140 +2350,6 @@ description::Value { } - vint Value::Compare(const Value& a, const Value& b)const - { - switch (a.GetValueType()) - { - case Value::RawPtr: - case Value::SharedPtr: - switch (b.GetValueType()) - { - case Value::RawPtr: - case Value::SharedPtr: - { - auto pa = a.GetRawPtr(); - auto pb = b.GetRawPtr(); - if (pa < pb) return -1; - if (pa > pb) return 1; - return 0; - } - case Value::BoxedValue: - return -1; - default: - return 1; - } - case Value::BoxedValue: - switch (b.GetValueType()) - { - case Value::RawPtr: - case Value::SharedPtr: - return 1; - case Value::BoxedValue: - { -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - auto aSt = a.GetTypeDescriptor()->GetSerializableType(); - auto bSt = b.GetTypeDescriptor()->GetSerializableType(); - if (aSt) - { - if (bSt) - { - auto aSt = a.GetTypeDescriptor()->GetSerializableType(); - auto bSt = b.GetTypeDescriptor()->GetSerializableType(); - - WString aText; - WString bText; - aSt->Serialize(a, aText); - bSt->Serialize(b, bText); - if (aText < bText) return -1; - if (aText > bText) return 1; - return 0; - } - else - { - return 1; - } - } - else - { - if (bSt) - { - return -1; - } - else - { - if (a.GetTypeDescriptor() != b.GetTypeDescriptor()) - { - auto aText = a.GetTypeDescriptor()->GetTypeName(); - auto bText = b.GetTypeDescriptor()->GetTypeName(); - if (aText < bText) return -1; - if (aText > bText) return 1; - return 0; - } - - switch (a.GetTypeDescriptor()->GetTypeDescriptorFlags()) - { - case TypeDescriptorFlags::Struct: - { - auto td = a.GetTypeDescriptor(); - vint count = td->GetPropertyCount(); - for (vint i = 0; i < count; i++) - { - auto prop = td->GetProperty(i); - auto ap = prop->GetValue(a); - auto bp = prop->GetValue(b); - vint result = Compare(ap, bp); - if (result != 0) - { - return result; - } - } - } - return 0; - case TypeDescriptorFlags::FlagEnum: - case TypeDescriptorFlags::NormalEnum: - { - auto ai = a.GetTypeDescriptor()->GetEnumType()->FromEnum(a); - auto bi = a.GetTypeDescriptor()->GetEnumType()->FromEnum(b); - if (ai < bi) return -1; - if (ai > bi) return 1; - return 0; - } - default: - return 0; - } - } - } -#else - auto pa = a.GetBoxedValue(); - auto pb = b.GetBoxedValue(); - switch (pa->ComparePrimitive(pb)) - { - case IBoxedValue::Smaller: return -1; - case IBoxedValue::Greater: return 1; - case IBoxedValue::Equal: return 0; - default:; - } - if (pa.Obj() < pb.Obj()) return -1; - if (pa.Obj() > pb.Obj()) return 1; - return 0; -#endif - } - default: - return 1; - } - default: - switch (b.GetValueType()) - { - case Value::RawPtr: - case Value::SharedPtr: - case Value::BoxedValue: - return -1; - default: - return 0; - } - } - } - Value::Value() :valueType(Null) ,rawPtr(0) @@ -2516,6 +2382,126 @@ description::Value return *this; } + std::strong_ordering operator<=>(const Value& a, const Value& b) + { + switch (a.GetValueType()) + { + case Value::RawPtr: + case Value::SharedPtr: + switch (b.GetValueType()) + { + case Value::RawPtr: + case Value::SharedPtr: + { + auto pa = a.GetRawPtr(); + auto pb = b.GetRawPtr(); + return pa <=> pb; + } + case Value::BoxedValue: + return std::strong_ordering::less; + default: + return std::strong_ordering::greater; + } + case Value::BoxedValue: + switch (b.GetValueType()) + { + case Value::RawPtr: + case Value::SharedPtr: + return std::strong_ordering::greater; + case Value::BoxedValue: + { +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + auto aSt = a.GetTypeDescriptor()->GetSerializableType(); + auto bSt = b.GetTypeDescriptor()->GetSerializableType(); + if (aSt) + { + if (bSt) + { + auto aSt = a.GetTypeDescriptor()->GetSerializableType(); + auto bSt = b.GetTypeDescriptor()->GetSerializableType(); + + WString aText; + WString bText; + aSt->Serialize(a, aText); + bSt->Serialize(b, bText); + return aText <=> bText; + } + else + { + return std::strong_ordering::greater; + } + } + else + { + if (bSt) + { + return std::strong_ordering::less; + } + else + { + if (a.GetTypeDescriptor() != b.GetTypeDescriptor()) + { + auto aText = a.GetTypeDescriptor()->GetTypeName(); + auto bText = b.GetTypeDescriptor()->GetTypeName(); + return aText <=> bText; + } + + switch (a.GetTypeDescriptor()->GetTypeDescriptorFlags()) + { + case TypeDescriptorFlags::Struct: + { + auto td = a.GetTypeDescriptor(); + vint count = td->GetPropertyCount(); + for (vint i = 0; i < count; i++) + { + auto prop = td->GetProperty(i); + auto ap = prop->GetValue(a); + auto bp = prop->GetValue(b); + return ap <=> bp; + } + } + return std::strong_ordering::equal; + case TypeDescriptorFlags::FlagEnum: + case TypeDescriptorFlags::NormalEnum: + { + auto ai = a.GetTypeDescriptor()->GetEnumType()->FromEnum(a); + auto bi = a.GetTypeDescriptor()->GetEnumType()->FromEnum(b); + return ai <=> bi; + } + default: + return std::strong_ordering::equal; + } + } + } +#else + auto pa = a.GetBoxedValue(); + auto pb = b.GetBoxedValue(); + switch (pa->ComparePrimitive(pb)) + { + case IBoxedValue::Smaller: return std::strong_ordering::less; + case IBoxedValue::Greater: return std::strong_ordering::greater; + case IBoxedValue::Equal: return std::strong_ordering::equal; + default:; + } + return pa.Obj() <=> pb.Obj(); +#endif + } + default: + return std::strong_ordering::greater; + } + default: + switch (b.GetValueType()) + { + case Value::RawPtr: + case Value::SharedPtr: + case Value::BoxedValue: + return std::strong_ordering::less; + default: + return std::strong_ordering::equal; + } + } + } + Value::ValueType Value::GetValueType()const { return valueType; diff --git a/Import/VlppReflection.h b/Import/VlppReflection.h index fa3f8733..90fdff36 100644 --- a/Import/VlppReflection.h +++ b/Import/VlppReflection.h @@ -827,19 +827,14 @@ Value Value(DescriptableObject* value); Value(Ptr value); Value(Ptr value, ITypeDescriptor* associatedTypeDescriptor); - - vint Compare(const Value& a, const Value& b)const; public: /// Create a null value. Value(); Value(const Value& value); Value& operator=(const Value& value); - bool operator==(const Value& value)const { return Compare(*this, value) == 0; } - bool operator!=(const Value& value)const { return Compare(*this, value) != 0; } - bool operator<(const Value& value)const { return Compare(*this, value)<0; } - bool operator<=(const Value& value)const { return Compare(*this, value) <= 0; } - bool operator>(const Value& value)const { return Compare(*this, value)>0; } - bool operator>=(const Value& value)const { return Compare(*this, value) >= 0; } + + friend std::strong_ordering operator<=>(const Value& a, const Value& b); + friend bool operator==(const Value& a, const Value& b) { return (a <=> b) == 0; } /// Find out how the value is stored. /// Returns How the value is stored. diff --git a/Import/VlppRegex.cpp b/Import/VlppRegex.cpp index b69d201f..6c1a7940 100644 --- a/Import/VlppRegex.cpp +++ b/Import/VlppRegex.cpp @@ -1622,11 +1622,6 @@ Data Structures for Backtracking StateSaver(const StateSaver&) = default; StateSaver& operator=(const StateSaver&) = default; - bool operator==(const StateSaver& saver)const - { - CHECK_FAIL(L"This function is only created to satisfy List."); - } - void RestoreReaderTo(StateSaver& saver) { saver.reader = reader; @@ -1653,11 +1648,6 @@ Data Structures for Backtracking ExtensionSaver(const ExtensionSaver&) = default; ExtensionSaver& operator=(const ExtensionSaver&) = default; - bool operator==(const ExtensionSaver& saver)const - { - CHECK_FAIL(L"This function is only created to satisfy List."); - } - void RestoreReaderTo(StateSaver& saver) { saver.reader = reader; @@ -1717,14 +1707,6 @@ Data Structures for Backtracking namespace regex_internal { -/*********************************************************************** -CaptureRecord -***********************************************************************/ - - bool CaptureRecord::operator==(const CaptureRecord& record)const - { - return capture == record.capture && start == record.start && length == record.length; - } /*********************************************************************** RichInterpretor diff --git a/Import/VlppRegex.h b/Import/VlppRegex.h index 697b0859..c2d806df 100644 --- a/Import/VlppRegex.h +++ b/Import/VlppRegex.h @@ -1375,65 +1375,29 @@ CharRange CharRange() = default; CharRange(char32_t _begin, char32_t _end) : begin(_begin), end(_end) {} - bool operator<(CharRange item) const + std::partial_ordering operator<=>(const CharRange& cr)const { - return end < item.begin; + if (end < cr.begin) return std::partial_ordering::less; + if (cr.end < begin) return std::partial_ordering::greater; + return *this == cr ? std::partial_ordering::equivalent : std::partial_ordering::unordered; } - bool operator<=(CharRange item) const + bool operator==(const CharRange& cr)const { - return *this < item || *this == item; + return begin == cr.begin && end == cr.end; } - bool operator>(CharRange item) const + std::strong_ordering operator<=>(char32_t item)const { - return item.end < begin; + if (end < item) return std::strong_ordering::less; + if (begin > item) return std::strong_ordering::greater; + return std::strong_ordering::equal; } - bool operator>=(CharRange item) const - { - return *this > item || *this == item; - } - - bool operator==(CharRange item) const - { - return begin == item.begin && end == item.end; - } - - bool operator!=(CharRange item) const - { - return begin != item.begin || item.end != end; - } - - bool operator<(char32_t item) const - { - return end < item; - } - - bool operator<=(char32_t item) const - { - return begin <= item; - } - - bool operator>(char32_t item) const - { - return item < begin; - } - - bool operator>=(char32_t item) const - { - return item <= end; - } - - bool operator==(char32_t item) const + bool operator==(char32_t item)const { return begin <= item && item <= end; } - - bool operator!=(char32_t item) const - { - return item < begin || end < item; - } }; } } @@ -2092,8 +2056,6 @@ namespace vl vint capture; vint start; vint length; - - bool operator==(const CaptureRecord& record)const; }; } diff --git a/Import/VlppWorkflowCompiler.cpp b/Import/VlppWorkflowCompiler.cpp index c8534319..502eb829 100644 --- a/Import/VlppWorkflowCompiler.cpp +++ b/Import/VlppWorkflowCompiler.cpp @@ -2587,18 +2587,16 @@ CheckScopes_SymbolType { vint errorCount = manager->errors.Count(); for (auto scope : From(manager->nodeScopes) + .Select([](auto&& pair) -> Pair> { return pair; }) .OrderBy([](auto&& a, auto&& b) { auto rangeA = a.key->codeRange; auto rangeB = b.key->codeRange; - if (rangeA.codeIndex != rangeB.codeIndex) - { - return rangeA.codeIndex - rangeB.codeIndex; - } - else - { - return glr::ParsingTextPos::Compare(rangeA.start, rangeB.start); - } + + std::strong_ordering + result = rangeA.codeIndex <=> rangeB.codeIndex; if (result != 0) return result; + result = rangeA.start <=> rangeB.start; if (result != 0) return result; + return result; }) .Select([](auto&& pair) { return pair.value; }) ) @@ -3641,7 +3639,7 @@ namespace vl WString description; for (auto friendlyName : From(items) .Select(f) - .OrderBy([](auto&& a, auto&& b) { return WString::Compare(a, b); }) + .OrderBySelf() ) { description += L"\r\n\t"; @@ -7454,9 +7452,9 @@ ExpandNewCoroutineExpression ///////////////////////////////////////////////////////////////////////////// for (auto symbol : From(referenceRenaming.Keys()) - .OrderBy([&](WfLexicalSymbol* a, WfLexicalSymbol* b) + .OrderByKey([&](WfLexicalSymbol* a) { - return WString::Compare(referenceRenaming[a], referenceRenaming[b]); + return referenceRenaming[a]; })) { auto varDecl = Ptr(new WfVariableDeclaration); @@ -7688,9 +7686,9 @@ ExpandNewCoroutineExpression { return node->exceptionDestination; }) - .OrderBy([&](const GroupPair& p1, const GroupPair& p2) + .OrderByKey([&](const GroupPair& p) { - return nodeOrders.IndexOf(p1.key) - nodeOrders.IndexOf(p2.key); + return nodeOrders.IndexOf(p.key); }); for (auto group : nodeByCatches) @@ -7708,9 +7706,9 @@ ExpandNewCoroutineExpression { conditionRanges.Add({ state,state }); } - else if (conditionRanges[conditionRanges.Count() - 1].f1 == state - 1) + else if (conditionRanges[conditionRanges.Count() - 1].get<1>() == state - 1) { - conditionRanges[conditionRanges.Count() - 1].f1 = state; + conditionRanges[conditionRanges.Count() - 1].get<1>() = state; } else { @@ -7723,13 +7721,13 @@ ExpandNewCoroutineExpression auto range = conditionRanges[i]; Ptr singleCondition; - if (range.f0 == range.f1) + if (range.get<0>() == range.get<1>()) { auto refState = Ptr(new WfReferenceExpression); refState->name.value = L""; auto intState = Ptr(new WfIntegerExpression); - intState->value.value = itow(range.f0); + intState->value.value = itow(range.get<0>()); auto compExpr = Ptr(new WfBinaryExpression); compExpr->op = WfBinaryOperator::EQ; @@ -7744,10 +7742,10 @@ ExpandNewCoroutineExpression refState->name.value = L""; auto intState1 = Ptr(new WfIntegerExpression); - intState1->value.value = itow(range.f0); + intState1->value.value = itow(range.get<0>()); auto intState2 = Ptr(new WfIntegerExpression); - intState2->value.value = itow(range.f1); + intState2->value.value = itow(range.get<1>()); auto rangeExpr = Ptr(new WfRangeExpression); rangeExpr->begin = intState1; @@ -7855,9 +7853,9 @@ ExpandNewCoroutineExpression { return node->exceptionDestination; }) - .OrderBy([&](const GroupPair& p1, const GroupPair& p2) + .OrderByKey([&](const GroupPair& p) { - return nodeOrders.IndexOf(p1.key) - nodeOrders.IndexOf(p2.key); + return nodeOrders.IndexOf(p.key); }); for (auto group : nodeByCatches) @@ -12328,7 +12326,7 @@ ValidateSemantic(Expression) { vint aId = wtoi(a->name.Sub(1, a->name.Length() - 1)); vint bId = wtoi(b->name.Sub(1, a->name.Length() - 1)); - return aId - bId; + return aId <=> bId; }) ); Ptr resultType = expectedType; @@ -17297,7 +17295,7 @@ WfCppConfig::Collect SortLambda(&tds[0], tds.Count(), [](ITypeDescriptor* a, ITypeDescriptor* b) { - return WString::Compare(a->GetTypeName(), b->GetTypeName()); + return a->GetTypeName() <=> b->GetTypeName(); }); manager->errors.Add(WfErrors::CppUnableToDecideClassOrder(tdDecls[tds[0]].Cast().Obj(), tds)); } @@ -17389,7 +17387,7 @@ WfCppConfig::Collect SortLambda(&tds[0], tds.Count(), [](ITypeDescriptor* a, ITypeDescriptor* b) { - return WString::Compare(a->GetTypeName(), b->GetTypeName()); + return a->GetTypeName() <=> b->GetTypeName(); }); manager->errors.Add(WfErrors::CppUnableToSeparateCustomFile(tdDecls[tds[0]].Cast().Obj(), tds)); } @@ -17435,7 +17433,7 @@ WfCppConfig::Collect vint indexB = From(nodeB.firstSubClassItem, nodeB.firstSubClassItem + nodeB.subClassItemCount) .Select([&](vint index) {return globalDep.topLevelClasses[index]; }) .Min(); - return indexA - indexB; + return indexA <=> indexB; }); } }; @@ -17648,7 +17646,7 @@ WfCppConfig::Collect { vint aIndex = ordered.IndexOf(a.Obj()); vint bIndex = ordered.IndexOf(b.Obj()); - return aIndex - bIndex; + return aIndex <=> bIndex; }); } @@ -17659,7 +17657,7 @@ WfCppConfig::Collect { vint aIndex = ordered.IndexOf(a.Obj()); vint bIndex = ordered.IndexOf(b.Obj()); - return aIndex - bIndex; + return aIndex <=> bIndex; }); } } @@ -22144,7 +22142,7 @@ namespace vl { return scope->symbols.GetByIndex(index)[0]->name; }) - .OrderBy((vint64_t(*)(const WString&, const WString&))&WString::Compare) + .OrderBySelf() ); return WriteFunctionHeader(writer, typeInfo, arguments, name, writeReturnType); @@ -22809,9 +22807,9 @@ namespace vl CopyFrom( tds, From(config->manager->declarationTypes.Values()) - .OrderBy([](Ptr a, Ptr b) + .OrderByKey([](auto&& a) { - return WString::Compare(a->GetTypeName(), b->GetTypeName()); + return a->GetTypeName(); }) .Select([](Ptr td) { @@ -23369,7 +23367,7 @@ namespace vl { writer.WriteString(prefix); writer.WriteString(L"inline bool operator"); - writer.WriteString(op.f0); + writer.WriteString(op.get<0>()); writer.WriteString(L" (const "); writer.WriteString(name); writer.WriteString(L"& a, const "); @@ -23387,12 +23385,12 @@ namespace vl writer.WriteString(L" != b."); writer.WriteString(ConvertName(member->name.value)); writer.WriteString(L") return "); - writer.WriteString(op.f1); + writer.WriteString(op.get<1>()); writer.WriteLine(L";"); } writer.WriteString(prefix); writer.WriteString(L"\treturn "); - writer.WriteString(op.f2); + writer.WriteString(op.get<2>()); writer.WriteLine(L";"); writer.WriteString(prefix); @@ -24902,7 +24900,7 @@ GenerateInstructions(Closure) { vint aId = wtoi(a->name.Sub(1, a->name.Length() - 1)); vint bId = wtoi(b->name.Sub(1, a->name.Length() - 1)); - return aId - bId; + return aId <=> bId; }) ); @@ -28955,2010 +28953,2001 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::workflow { - namespace workflow - { /*********************************************************************** Visitor Pattern Implementation ***********************************************************************/ - void WfPredefinedType::Accept(WfType::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfTopQualifiedType::Accept(WfType::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfReferenceType::Accept(WfType::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfRawPointerType::Accept(WfType::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfSharedPointerType::Accept(WfType::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfNullableType::Accept(WfType::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfEnumerableType::Accept(WfType::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfMapType::Accept(WfType::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfObservableListType::Accept(WfType::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfFunctionType::Accept(WfType::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfChildType::Accept(WfType::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfNamespaceDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfFunctionDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfVariableDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfEventDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfPropertyDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfConstructorDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfDestructorDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfClassDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfEnumDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfStructDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfVirtualCfeDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfAutoPropertyDeclaration::Accept(WfVirtualCfeDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfCastResultInterfaceDeclaration::Accept(WfVirtualCfeDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfVirtualCseDeclaration::Accept(WfDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfStateMachineDeclaration::Accept(WfVirtualCseDeclaration::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfBreakStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfContinueStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfReturnStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfDeleteStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfRaiseExceptionStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfIfStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfWhileStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfTryStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfBlockStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfGotoStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfVariableStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfExpressionStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfVirtualCseStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfForEachStatement::Accept(WfVirtualCseStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfSwitchStatement::Accept(WfVirtualCseStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfCoProviderStatement::Accept(WfVirtualCseStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfCoroutineStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfCoPauseStatement::Accept(WfCoroutineStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfCoOperatorStatement::Accept(WfCoroutineStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfStateMachineStatement::Accept(WfStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfStateSwitchStatement::Accept(WfStateMachineStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfStateInvokeStatement::Accept(WfStateMachineStatement::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfThisExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfTopQualifiedExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfReferenceExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfOrderedNameExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfOrderedLambdaExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfMemberExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfChildExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfLiteralExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfFloatingExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfIntegerExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfStringExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfUnaryExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfBinaryExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfLetExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfIfExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfRangeExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfSetTestingExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfConstructorExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfInferExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfTypeCastingExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfTypeTestingExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfTypeOfTypeExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfTypeOfExpressionExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfAttachEventExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfDetachEventExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfObserveExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfCallExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfFunctionExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfNewClassExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfNewInterfaceExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfVirtualCfeExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfFormatExpression::Accept(WfVirtualCfeExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfVirtualCseExpression::Accept(WfExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfBindExpression::Accept(WfVirtualCseExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfNewCoroutineExpression::Accept(WfVirtualCseExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfMixinCastExpression::Accept(WfVirtualCseExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfExpectedTypeCastExpression::Accept(WfVirtualCseExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfCoOperatorExpression::Accept(WfVirtualCseExpression::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfModuleUsingNameFragment::Accept(WfModuleUsingFragment::IVisitor* visitor) - { - visitor->Visit(this); - } - - void WfModuleUsingWildCardFragment::Accept(WfModuleUsingFragment::IVisitor* visitor) - { - visitor->Visit(this); - } + void WfPredefinedType::Accept(WfType::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfTopQualifiedType::Accept(WfType::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfReferenceType::Accept(WfType::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfRawPointerType::Accept(WfType::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfSharedPointerType::Accept(WfType::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfNullableType::Accept(WfType::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfEnumerableType::Accept(WfType::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfMapType::Accept(WfType::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfObservableListType::Accept(WfType::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfFunctionType::Accept(WfType::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfChildType::Accept(WfType::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfNamespaceDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfFunctionDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfVariableDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfEventDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfPropertyDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfConstructorDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfDestructorDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfClassDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfEnumDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfStructDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfVirtualCfeDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfAutoPropertyDeclaration::Accept(WfVirtualCfeDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfCastResultInterfaceDeclaration::Accept(WfVirtualCfeDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfVirtualCseDeclaration::Accept(WfDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfStateMachineDeclaration::Accept(WfVirtualCseDeclaration::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfBreakStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfContinueStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfReturnStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfDeleteStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfRaiseExceptionStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfIfStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfWhileStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfTryStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfBlockStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfGotoStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfVariableStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfExpressionStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfVirtualCseStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfForEachStatement::Accept(WfVirtualCseStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfSwitchStatement::Accept(WfVirtualCseStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfCoProviderStatement::Accept(WfVirtualCseStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfCoroutineStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfCoPauseStatement::Accept(WfCoroutineStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfCoOperatorStatement::Accept(WfCoroutineStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfStateMachineStatement::Accept(WfStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfStateSwitchStatement::Accept(WfStateMachineStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfStateInvokeStatement::Accept(WfStateMachineStatement::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfThisExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfTopQualifiedExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfReferenceExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfOrderedNameExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfOrderedLambdaExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfMemberExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfChildExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfLiteralExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfFloatingExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfIntegerExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfStringExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfUnaryExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfBinaryExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfLetExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfIfExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfRangeExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfSetTestingExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfConstructorExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfInferExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfTypeCastingExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfTypeTestingExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfTypeOfTypeExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfTypeOfExpressionExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfAttachEventExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfDetachEventExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfObserveExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfCallExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfFunctionExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfNewClassExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfNewInterfaceExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfVirtualCfeExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfFormatExpression::Accept(WfVirtualCfeExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfVirtualCseExpression::Accept(WfExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfBindExpression::Accept(WfVirtualCseExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfNewCoroutineExpression::Accept(WfVirtualCseExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfMixinCastExpression::Accept(WfVirtualCseExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfExpectedTypeCastExpression::Accept(WfVirtualCseExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfCoOperatorExpression::Accept(WfVirtualCseExpression::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfModuleUsingNameFragment::Accept(WfModuleUsingFragment::IVisitor* visitor) + { + visitor->Visit(this); + } + + void WfModuleUsingWildCardFragment::Accept(WfModuleUsingFragment::IVisitor* visitor) + { + visitor->Visit(this); } } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - IMPL_TYPE_INFO_RENAME(vl::workflow::WfType, system::workflow::WfType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfType::IVisitor, system::workflow::WfType::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpression, system::workflow::WfExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpression::IVisitor, system::workflow::WfExpression::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStatement, system::workflow::WfStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStatement::IVisitor, system::workflow::WfStatement::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfAttribute, system::workflow::WfAttribute) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfDeclaration, system::workflow::WfDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfDeclaration::IVisitor, system::workflow::WfDeclaration::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionKind, system::workflow::WfFunctionKind) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfPredefinedTypeName, system::workflow::WfPredefinedTypeName) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfPredefinedType, system::workflow::WfPredefinedType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfTopQualifiedType, system::workflow::WfTopQualifiedType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfReferenceType, system::workflow::WfReferenceType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfRawPointerType, system::workflow::WfRawPointerType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfSharedPointerType, system::workflow::WfSharedPointerType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfNullableType, system::workflow::WfNullableType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumerableType, system::workflow::WfEnumerableType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfMapWritability, system::workflow::WfMapWritability) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfMapType, system::workflow::WfMapType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfObservableListType, system::workflow::WfObservableListType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionType, system::workflow::WfFunctionType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfChildType, system::workflow::WfChildType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfNamespaceDeclaration, system::workflow::WfNamespaceDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionArgument, system::workflow::WfFunctionArgument) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionAnonymity, system::workflow::WfFunctionAnonymity) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionDeclaration, system::workflow::WfFunctionDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVariableDeclaration, system::workflow::WfVariableDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfEventDeclaration, system::workflow::WfEventDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfPropertyDeclaration, system::workflow::WfPropertyDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfClassKind, system::workflow::WfClassKind) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorType, system::workflow::WfConstructorType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfBaseConstructorCall, system::workflow::WfBaseConstructorCall) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorDeclaration, system::workflow::WfConstructorDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfDestructorDeclaration, system::workflow::WfDestructorDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfClassDeclaration, system::workflow::WfClassDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumKind, system::workflow::WfEnumKind) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumItemKind, system::workflow::WfEnumItemKind) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumItemIntersection, system::workflow::WfEnumItemIntersection) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumItem, system::workflow::WfEnumItem) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumDeclaration, system::workflow::WfEnumDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStructMember, system::workflow::WfStructMember) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStructDeclaration, system::workflow::WfStructDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeDeclaration, system::workflow::WfVirtualCfeDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeDeclaration::IVisitor, system::workflow::WfVirtualCfeDeclaration::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfAPConst, system::workflow::WfAPConst) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfAPObserve, system::workflow::WfAPObserve) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfAutoPropertyDeclaration, system::workflow::WfAutoPropertyDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfCastResultInterfaceDeclaration, system::workflow::WfCastResultInterfaceDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseDeclaration, system::workflow::WfVirtualCseDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseDeclaration::IVisitor, system::workflow::WfVirtualCseDeclaration::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateInput, system::workflow::WfStateInput) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateDeclaration, system::workflow::WfStateDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateMachineDeclaration, system::workflow::WfStateMachineDeclaration) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfBreakStatement, system::workflow::WfBreakStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfContinueStatement, system::workflow::WfContinueStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfReturnStatement, system::workflow::WfReturnStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfDeleteStatement, system::workflow::WfDeleteStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfRaiseExceptionStatement, system::workflow::WfRaiseExceptionStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfIfStatement, system::workflow::WfIfStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfWhileStatement, system::workflow::WfWhileStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfTryStatement, system::workflow::WfTryStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfBlockStatement, system::workflow::WfBlockStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfGotoStatement, system::workflow::WfGotoStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVariableStatement, system::workflow::WfVariableStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpressionStatement, system::workflow::WfExpressionStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseStatement, system::workflow::WfVirtualCseStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseStatement::IVisitor, system::workflow::WfVirtualCseStatement::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfForEachDirection, system::workflow::WfForEachDirection) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfForEachStatement, system::workflow::WfForEachStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfSwitchCase, system::workflow::WfSwitchCase) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfSwitchStatement, system::workflow::WfSwitchStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoProviderStatement, system::workflow::WfCoProviderStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoroutineStatement, system::workflow::WfCoroutineStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoroutineStatement::IVisitor, system::workflow::WfCoroutineStatement::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoPauseStatement, system::workflow::WfCoPauseStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoOperatorStatement, system::workflow::WfCoOperatorStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchType, system::workflow::WfStateSwitchType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateInvokeType, system::workflow::WfStateInvokeType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateMachineStatement, system::workflow::WfStateMachineStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateMachineStatement::IVisitor, system::workflow::WfStateMachineStatement::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchArgument, system::workflow::WfStateSwitchArgument) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchCase, system::workflow::WfStateSwitchCase) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchStatement, system::workflow::WfStateSwitchStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateInvokeStatement, system::workflow::WfStateInvokeStatement) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfThisExpression, system::workflow::WfThisExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfTopQualifiedExpression, system::workflow::WfTopQualifiedExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfReferenceExpression, system::workflow::WfReferenceExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfOrderedNameExpression, system::workflow::WfOrderedNameExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfOrderedLambdaExpression, system::workflow::WfOrderedLambdaExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfMemberExpression, system::workflow::WfMemberExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfChildExpression, system::workflow::WfChildExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfLiteralValue, system::workflow::WfLiteralValue) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfLiteralExpression, system::workflow::WfLiteralExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfFloatingExpression, system::workflow::WfFloatingExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfIntegerExpression, system::workflow::WfIntegerExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfStringExpression, system::workflow::WfStringExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfUnaryOperator, system::workflow::WfUnaryOperator) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfUnaryExpression, system::workflow::WfUnaryExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfBinaryOperator, system::workflow::WfBinaryOperator) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfBinaryExpression, system::workflow::WfBinaryExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfLetVariable, system::workflow::WfLetVariable) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfLetExpression, system::workflow::WfLetExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfIfExpression, system::workflow::WfIfExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfRangeBoundary, system::workflow::WfRangeBoundary) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfRangeExpression, system::workflow::WfRangeExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfSetTesting, system::workflow::WfSetTesting) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfSetTestingExpression, system::workflow::WfSetTestingExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorArgument, system::workflow::WfConstructorArgument) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorExpression, system::workflow::WfConstructorExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfInferExpression, system::workflow::WfInferExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeCastingStrategy, system::workflow::WfTypeCastingStrategy) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeCastingExpression, system::workflow::WfTypeCastingExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeTesting, system::workflow::WfTypeTesting) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeTestingExpression, system::workflow::WfTypeTestingExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeOfTypeExpression, system::workflow::WfTypeOfTypeExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeOfExpressionExpression, system::workflow::WfTypeOfExpressionExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfAttachEventExpression, system::workflow::WfAttachEventExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfDetachEventExpression, system::workflow::WfDetachEventExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfObserveType, system::workflow::WfObserveType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfObserveExpression, system::workflow::WfObserveExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfCallExpression, system::workflow::WfCallExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionExpression, system::workflow::WfFunctionExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfNewClassExpression, system::workflow::WfNewClassExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfNewInterfaceExpression, system::workflow::WfNewInterfaceExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeExpression, system::workflow::WfVirtualCfeExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeExpression::IVisitor, system::workflow::WfVirtualCfeExpression::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfFormatExpression, system::workflow::WfFormatExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseExpression, system::workflow::WfVirtualCseExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseExpression::IVisitor, system::workflow::WfVirtualCseExpression::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfBindExpression, system::workflow::WfBindExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfNewCoroutineExpression, system::workflow::WfNewCoroutineExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfMixinCastExpression, system::workflow::WfMixinCastExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpectedTypeCastExpression, system::workflow::WfExpectedTypeCastExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoOperatorExpression, system::workflow::WfCoOperatorExpression) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingFragment, system::workflow::WfModuleUsingFragment) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingFragment::IVisitor, system::workflow::WfModuleUsingFragment::IVisitor) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingNameFragment, system::workflow::WfModuleUsingNameFragment) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingWildCardFragment, system::workflow::WfModuleUsingWildCardFragment) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingItem, system::workflow::WfModuleUsingItem) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingPath, system::workflow::WfModuleUsingPath) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleType, system::workflow::WfModuleType) - IMPL_TYPE_INFO_RENAME(vl::workflow::WfModule, system::workflow::WfModule) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfType, system::workflow::WfType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfType::IVisitor, system::workflow::WfType::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpression, system::workflow::WfExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpression::IVisitor, system::workflow::WfExpression::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStatement, system::workflow::WfStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStatement::IVisitor, system::workflow::WfStatement::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfAttribute, system::workflow::WfAttribute) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfDeclaration, system::workflow::WfDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfDeclaration::IVisitor, system::workflow::WfDeclaration::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionKind, system::workflow::WfFunctionKind) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfPredefinedTypeName, system::workflow::WfPredefinedTypeName) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfPredefinedType, system::workflow::WfPredefinedType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfTopQualifiedType, system::workflow::WfTopQualifiedType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfReferenceType, system::workflow::WfReferenceType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfRawPointerType, system::workflow::WfRawPointerType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfSharedPointerType, system::workflow::WfSharedPointerType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfNullableType, system::workflow::WfNullableType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumerableType, system::workflow::WfEnumerableType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfMapWritability, system::workflow::WfMapWritability) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfMapType, system::workflow::WfMapType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfObservableListType, system::workflow::WfObservableListType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionType, system::workflow::WfFunctionType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfChildType, system::workflow::WfChildType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfNamespaceDeclaration, system::workflow::WfNamespaceDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionArgument, system::workflow::WfFunctionArgument) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionAnonymity, system::workflow::WfFunctionAnonymity) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionDeclaration, system::workflow::WfFunctionDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVariableDeclaration, system::workflow::WfVariableDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfEventDeclaration, system::workflow::WfEventDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfPropertyDeclaration, system::workflow::WfPropertyDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfClassKind, system::workflow::WfClassKind) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorType, system::workflow::WfConstructorType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfBaseConstructorCall, system::workflow::WfBaseConstructorCall) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorDeclaration, system::workflow::WfConstructorDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfDestructorDeclaration, system::workflow::WfDestructorDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfClassDeclaration, system::workflow::WfClassDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumKind, system::workflow::WfEnumKind) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumItemKind, system::workflow::WfEnumItemKind) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumItemIntersection, system::workflow::WfEnumItemIntersection) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumItem, system::workflow::WfEnumItem) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumDeclaration, system::workflow::WfEnumDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStructMember, system::workflow::WfStructMember) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStructDeclaration, system::workflow::WfStructDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeDeclaration, system::workflow::WfVirtualCfeDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeDeclaration::IVisitor, system::workflow::WfVirtualCfeDeclaration::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfAPConst, system::workflow::WfAPConst) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfAPObserve, system::workflow::WfAPObserve) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfAutoPropertyDeclaration, system::workflow::WfAutoPropertyDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfCastResultInterfaceDeclaration, system::workflow::WfCastResultInterfaceDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseDeclaration, system::workflow::WfVirtualCseDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseDeclaration::IVisitor, system::workflow::WfVirtualCseDeclaration::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateInput, system::workflow::WfStateInput) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateDeclaration, system::workflow::WfStateDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateMachineDeclaration, system::workflow::WfStateMachineDeclaration) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfBreakStatement, system::workflow::WfBreakStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfContinueStatement, system::workflow::WfContinueStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfReturnStatement, system::workflow::WfReturnStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfDeleteStatement, system::workflow::WfDeleteStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfRaiseExceptionStatement, system::workflow::WfRaiseExceptionStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfIfStatement, system::workflow::WfIfStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfWhileStatement, system::workflow::WfWhileStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfTryStatement, system::workflow::WfTryStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfBlockStatement, system::workflow::WfBlockStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfGotoStatement, system::workflow::WfGotoStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVariableStatement, system::workflow::WfVariableStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpressionStatement, system::workflow::WfExpressionStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseStatement, system::workflow::WfVirtualCseStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseStatement::IVisitor, system::workflow::WfVirtualCseStatement::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfForEachDirection, system::workflow::WfForEachDirection) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfForEachStatement, system::workflow::WfForEachStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfSwitchCase, system::workflow::WfSwitchCase) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfSwitchStatement, system::workflow::WfSwitchStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoProviderStatement, system::workflow::WfCoProviderStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoroutineStatement, system::workflow::WfCoroutineStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoroutineStatement::IVisitor, system::workflow::WfCoroutineStatement::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoPauseStatement, system::workflow::WfCoPauseStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoOperatorStatement, system::workflow::WfCoOperatorStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchType, system::workflow::WfStateSwitchType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateInvokeType, system::workflow::WfStateInvokeType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateMachineStatement, system::workflow::WfStateMachineStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateMachineStatement::IVisitor, system::workflow::WfStateMachineStatement::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchArgument, system::workflow::WfStateSwitchArgument) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchCase, system::workflow::WfStateSwitchCase) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchStatement, system::workflow::WfStateSwitchStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateInvokeStatement, system::workflow::WfStateInvokeStatement) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfThisExpression, system::workflow::WfThisExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfTopQualifiedExpression, system::workflow::WfTopQualifiedExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfReferenceExpression, system::workflow::WfReferenceExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfOrderedNameExpression, system::workflow::WfOrderedNameExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfOrderedLambdaExpression, system::workflow::WfOrderedLambdaExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfMemberExpression, system::workflow::WfMemberExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfChildExpression, system::workflow::WfChildExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfLiteralValue, system::workflow::WfLiteralValue) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfLiteralExpression, system::workflow::WfLiteralExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfFloatingExpression, system::workflow::WfFloatingExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfIntegerExpression, system::workflow::WfIntegerExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfStringExpression, system::workflow::WfStringExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfUnaryOperator, system::workflow::WfUnaryOperator) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfUnaryExpression, system::workflow::WfUnaryExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfBinaryOperator, system::workflow::WfBinaryOperator) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfBinaryExpression, system::workflow::WfBinaryExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfLetVariable, system::workflow::WfLetVariable) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfLetExpression, system::workflow::WfLetExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfIfExpression, system::workflow::WfIfExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfRangeBoundary, system::workflow::WfRangeBoundary) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfRangeExpression, system::workflow::WfRangeExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfSetTesting, system::workflow::WfSetTesting) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfSetTestingExpression, system::workflow::WfSetTestingExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorArgument, system::workflow::WfConstructorArgument) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorExpression, system::workflow::WfConstructorExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfInferExpression, system::workflow::WfInferExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeCastingStrategy, system::workflow::WfTypeCastingStrategy) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeCastingExpression, system::workflow::WfTypeCastingExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeTesting, system::workflow::WfTypeTesting) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeTestingExpression, system::workflow::WfTypeTestingExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeOfTypeExpression, system::workflow::WfTypeOfTypeExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeOfExpressionExpression, system::workflow::WfTypeOfExpressionExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfAttachEventExpression, system::workflow::WfAttachEventExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfDetachEventExpression, system::workflow::WfDetachEventExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfObserveType, system::workflow::WfObserveType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfObserveExpression, system::workflow::WfObserveExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfCallExpression, system::workflow::WfCallExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionExpression, system::workflow::WfFunctionExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfNewClassExpression, system::workflow::WfNewClassExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfNewInterfaceExpression, system::workflow::WfNewInterfaceExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeExpression, system::workflow::WfVirtualCfeExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeExpression::IVisitor, system::workflow::WfVirtualCfeExpression::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfFormatExpression, system::workflow::WfFormatExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseExpression, system::workflow::WfVirtualCseExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseExpression::IVisitor, system::workflow::WfVirtualCseExpression::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfBindExpression, system::workflow::WfBindExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfNewCoroutineExpression, system::workflow::WfNewCoroutineExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfMixinCastExpression, system::workflow::WfMixinCastExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpectedTypeCastExpression, system::workflow::WfExpectedTypeCastExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoOperatorExpression, system::workflow::WfCoOperatorExpression) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingFragment, system::workflow::WfModuleUsingFragment) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingFragment::IVisitor, system::workflow::WfModuleUsingFragment::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingNameFragment, system::workflow::WfModuleUsingNameFragment) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingWildCardFragment, system::workflow::WfModuleUsingWildCardFragment) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingItem, system::workflow::WfModuleUsingItem) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingPath, system::workflow::WfModuleUsingPath) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleType, system::workflow::WfModuleType) + IMPL_TYPE_INFO_RENAME(vl::workflow::WfModule, system::workflow::WfModule) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_CLASS_MEMBER(vl::workflow::WfType) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfType) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - END_CLASS_MEMBER(vl::workflow::WfType) + END_CLASS_MEMBER(vl::workflow::WfType) - BEGIN_CLASS_MEMBER(vl::workflow::WfExpression) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfExpression) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - END_CLASS_MEMBER(vl::workflow::WfExpression) + END_CLASS_MEMBER(vl::workflow::WfExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfStatement) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfStatement) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - END_CLASS_MEMBER(vl::workflow::WfStatement) + END_CLASS_MEMBER(vl::workflow::WfStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfAttribute) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfAttribute) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(category) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::workflow::WfAttribute) + CLASS_MEMBER_FIELD(category) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::workflow::WfAttribute) - BEGIN_CLASS_MEMBER(vl::workflow::WfDeclaration) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfDeclaration) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_FIELD(attributes) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfDeclaration) + CLASS_MEMBER_FIELD(attributes) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfDeclaration) - BEGIN_ENUM_ITEM(vl::workflow::WfFunctionKind) - ENUM_ITEM_NAMESPACE(vl::workflow::WfFunctionKind) - ENUM_NAMESPACE_ITEM(Static) - ENUM_NAMESPACE_ITEM(Override) - ENUM_NAMESPACE_ITEM(Normal) - END_ENUM_ITEM(vl::workflow::WfFunctionKind) + BEGIN_ENUM_ITEM(vl::workflow::WfFunctionKind) + ENUM_ITEM_NAMESPACE(vl::workflow::WfFunctionKind) + ENUM_NAMESPACE_ITEM(Static) + ENUM_NAMESPACE_ITEM(Override) + ENUM_NAMESPACE_ITEM(Normal) + END_ENUM_ITEM(vl::workflow::WfFunctionKind) - BEGIN_ENUM_ITEM(vl::workflow::WfPredefinedTypeName) - ENUM_ITEM_NAMESPACE(vl::workflow::WfPredefinedTypeName) - ENUM_NAMESPACE_ITEM(Void) - ENUM_NAMESPACE_ITEM(Object) - ENUM_NAMESPACE_ITEM(Interface) - ENUM_NAMESPACE_ITEM(Int) - ENUM_NAMESPACE_ITEM(UInt) - ENUM_NAMESPACE_ITEM(Float) - ENUM_NAMESPACE_ITEM(Double) - ENUM_NAMESPACE_ITEM(String) - ENUM_NAMESPACE_ITEM(Char) - ENUM_NAMESPACE_ITEM(Bool) - END_ENUM_ITEM(vl::workflow::WfPredefinedTypeName) + BEGIN_ENUM_ITEM(vl::workflow::WfPredefinedTypeName) + ENUM_ITEM_NAMESPACE(vl::workflow::WfPredefinedTypeName) + ENUM_NAMESPACE_ITEM(Void) + ENUM_NAMESPACE_ITEM(Object) + ENUM_NAMESPACE_ITEM(Interface) + ENUM_NAMESPACE_ITEM(Int) + ENUM_NAMESPACE_ITEM(UInt) + ENUM_NAMESPACE_ITEM(Float) + ENUM_NAMESPACE_ITEM(Double) + ENUM_NAMESPACE_ITEM(String) + ENUM_NAMESPACE_ITEM(Char) + ENUM_NAMESPACE_ITEM(Bool) + END_ENUM_ITEM(vl::workflow::WfPredefinedTypeName) - BEGIN_CLASS_MEMBER(vl::workflow::WfPredefinedType) - CLASS_MEMBER_BASE(vl::workflow::WfType) + BEGIN_CLASS_MEMBER(vl::workflow::WfPredefinedType) + CLASS_MEMBER_BASE(vl::workflow::WfType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfPredefinedType) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfPredefinedType) - BEGIN_CLASS_MEMBER(vl::workflow::WfTopQualifiedType) - CLASS_MEMBER_BASE(vl::workflow::WfType) + BEGIN_CLASS_MEMBER(vl::workflow::WfTopQualifiedType) + CLASS_MEMBER_BASE(vl::workflow::WfType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfTopQualifiedType) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfTopQualifiedType) - BEGIN_CLASS_MEMBER(vl::workflow::WfReferenceType) - CLASS_MEMBER_BASE(vl::workflow::WfType) + BEGIN_CLASS_MEMBER(vl::workflow::WfReferenceType) + CLASS_MEMBER_BASE(vl::workflow::WfType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfReferenceType) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfReferenceType) - BEGIN_CLASS_MEMBER(vl::workflow::WfRawPointerType) - CLASS_MEMBER_BASE(vl::workflow::WfType) + BEGIN_CLASS_MEMBER(vl::workflow::WfRawPointerType) + CLASS_MEMBER_BASE(vl::workflow::WfType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(element) - END_CLASS_MEMBER(vl::workflow::WfRawPointerType) + CLASS_MEMBER_FIELD(element) + END_CLASS_MEMBER(vl::workflow::WfRawPointerType) - BEGIN_CLASS_MEMBER(vl::workflow::WfSharedPointerType) - CLASS_MEMBER_BASE(vl::workflow::WfType) + BEGIN_CLASS_MEMBER(vl::workflow::WfSharedPointerType) + CLASS_MEMBER_BASE(vl::workflow::WfType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(element) - END_CLASS_MEMBER(vl::workflow::WfSharedPointerType) + CLASS_MEMBER_FIELD(element) + END_CLASS_MEMBER(vl::workflow::WfSharedPointerType) - BEGIN_CLASS_MEMBER(vl::workflow::WfNullableType) - CLASS_MEMBER_BASE(vl::workflow::WfType) + BEGIN_CLASS_MEMBER(vl::workflow::WfNullableType) + CLASS_MEMBER_BASE(vl::workflow::WfType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(element) - END_CLASS_MEMBER(vl::workflow::WfNullableType) + CLASS_MEMBER_FIELD(element) + END_CLASS_MEMBER(vl::workflow::WfNullableType) - BEGIN_CLASS_MEMBER(vl::workflow::WfEnumerableType) - CLASS_MEMBER_BASE(vl::workflow::WfType) + BEGIN_CLASS_MEMBER(vl::workflow::WfEnumerableType) + CLASS_MEMBER_BASE(vl::workflow::WfType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(element) - END_CLASS_MEMBER(vl::workflow::WfEnumerableType) + CLASS_MEMBER_FIELD(element) + END_CLASS_MEMBER(vl::workflow::WfEnumerableType) - BEGIN_ENUM_ITEM(vl::workflow::WfMapWritability) - ENUM_ITEM_NAMESPACE(vl::workflow::WfMapWritability) - ENUM_NAMESPACE_ITEM(Readonly) - ENUM_NAMESPACE_ITEM(Writable) - END_ENUM_ITEM(vl::workflow::WfMapWritability) + BEGIN_ENUM_ITEM(vl::workflow::WfMapWritability) + ENUM_ITEM_NAMESPACE(vl::workflow::WfMapWritability) + ENUM_NAMESPACE_ITEM(Readonly) + ENUM_NAMESPACE_ITEM(Writable) + END_ENUM_ITEM(vl::workflow::WfMapWritability) - BEGIN_CLASS_MEMBER(vl::workflow::WfMapType) - CLASS_MEMBER_BASE(vl::workflow::WfType) + BEGIN_CLASS_MEMBER(vl::workflow::WfMapType) + CLASS_MEMBER_BASE(vl::workflow::WfType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(writability) - CLASS_MEMBER_FIELD(key) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::workflow::WfMapType) + CLASS_MEMBER_FIELD(writability) + CLASS_MEMBER_FIELD(key) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::workflow::WfMapType) - BEGIN_CLASS_MEMBER(vl::workflow::WfObservableListType) - CLASS_MEMBER_BASE(vl::workflow::WfType) + BEGIN_CLASS_MEMBER(vl::workflow::WfObservableListType) + CLASS_MEMBER_BASE(vl::workflow::WfType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(element) - END_CLASS_MEMBER(vl::workflow::WfObservableListType) + CLASS_MEMBER_FIELD(element) + END_CLASS_MEMBER(vl::workflow::WfObservableListType) - BEGIN_CLASS_MEMBER(vl::workflow::WfFunctionType) - CLASS_MEMBER_BASE(vl::workflow::WfType) + BEGIN_CLASS_MEMBER(vl::workflow::WfFunctionType) + CLASS_MEMBER_BASE(vl::workflow::WfType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(result) - CLASS_MEMBER_FIELD(arguments) - END_CLASS_MEMBER(vl::workflow::WfFunctionType) + CLASS_MEMBER_FIELD(result) + CLASS_MEMBER_FIELD(arguments) + END_CLASS_MEMBER(vl::workflow::WfFunctionType) - BEGIN_CLASS_MEMBER(vl::workflow::WfChildType) - CLASS_MEMBER_BASE(vl::workflow::WfType) + BEGIN_CLASS_MEMBER(vl::workflow::WfChildType) + CLASS_MEMBER_BASE(vl::workflow::WfType) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(parent) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfChildType) + CLASS_MEMBER_FIELD(parent) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfChildType) - BEGIN_CLASS_MEMBER(vl::workflow::WfNamespaceDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfNamespaceDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(declarations) - END_CLASS_MEMBER(vl::workflow::WfNamespaceDeclaration) + CLASS_MEMBER_FIELD(declarations) + END_CLASS_MEMBER(vl::workflow::WfNamespaceDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfFunctionArgument) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfFunctionArgument) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(attributes) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(type) - END_CLASS_MEMBER(vl::workflow::WfFunctionArgument) + CLASS_MEMBER_FIELD(attributes) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(type) + END_CLASS_MEMBER(vl::workflow::WfFunctionArgument) - BEGIN_ENUM_ITEM(vl::workflow::WfFunctionAnonymity) - ENUM_ITEM_NAMESPACE(vl::workflow::WfFunctionAnonymity) - ENUM_NAMESPACE_ITEM(Named) - ENUM_NAMESPACE_ITEM(Anonymous) - END_ENUM_ITEM(vl::workflow::WfFunctionAnonymity) + BEGIN_ENUM_ITEM(vl::workflow::WfFunctionAnonymity) + ENUM_ITEM_NAMESPACE(vl::workflow::WfFunctionAnonymity) + ENUM_NAMESPACE_ITEM(Named) + ENUM_NAMESPACE_ITEM(Anonymous) + END_ENUM_ITEM(vl::workflow::WfFunctionAnonymity) - BEGIN_CLASS_MEMBER(vl::workflow::WfFunctionDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfFunctionDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(functionKind) - CLASS_MEMBER_FIELD(anonymity) - CLASS_MEMBER_FIELD(arguments) - CLASS_MEMBER_FIELD(returnType) - CLASS_MEMBER_FIELD(statement) - END_CLASS_MEMBER(vl::workflow::WfFunctionDeclaration) + CLASS_MEMBER_FIELD(functionKind) + CLASS_MEMBER_FIELD(anonymity) + CLASS_MEMBER_FIELD(arguments) + CLASS_MEMBER_FIELD(returnType) + CLASS_MEMBER_FIELD(statement) + END_CLASS_MEMBER(vl::workflow::WfFunctionDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfVariableDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfVariableDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(expression) - END_CLASS_MEMBER(vl::workflow::WfVariableDeclaration) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(expression) + END_CLASS_MEMBER(vl::workflow::WfVariableDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfEventDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfEventDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(arguments) - END_CLASS_MEMBER(vl::workflow::WfEventDeclaration) + CLASS_MEMBER_FIELD(arguments) + END_CLASS_MEMBER(vl::workflow::WfEventDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfPropertyDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfPropertyDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(getter) - CLASS_MEMBER_FIELD(setter) - CLASS_MEMBER_FIELD(valueChangedEvent) - END_CLASS_MEMBER(vl::workflow::WfPropertyDeclaration) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(getter) + CLASS_MEMBER_FIELD(setter) + CLASS_MEMBER_FIELD(valueChangedEvent) + END_CLASS_MEMBER(vl::workflow::WfPropertyDeclaration) - BEGIN_ENUM_ITEM(vl::workflow::WfClassKind) - ENUM_ITEM_NAMESPACE(vl::workflow::WfClassKind) - ENUM_NAMESPACE_ITEM(Class) - ENUM_NAMESPACE_ITEM(Interface) - END_ENUM_ITEM(vl::workflow::WfClassKind) + BEGIN_ENUM_ITEM(vl::workflow::WfClassKind) + ENUM_ITEM_NAMESPACE(vl::workflow::WfClassKind) + ENUM_NAMESPACE_ITEM(Class) + ENUM_NAMESPACE_ITEM(Interface) + END_ENUM_ITEM(vl::workflow::WfClassKind) - BEGIN_ENUM_ITEM(vl::workflow::WfConstructorType) - ENUM_ITEM_NAMESPACE(vl::workflow::WfConstructorType) - ENUM_NAMESPACE_ITEM(Undefined) - ENUM_NAMESPACE_ITEM(SharedPtr) - ENUM_NAMESPACE_ITEM(RawPtr) - END_ENUM_ITEM(vl::workflow::WfConstructorType) + BEGIN_ENUM_ITEM(vl::workflow::WfConstructorType) + ENUM_ITEM_NAMESPACE(vl::workflow::WfConstructorType) + ENUM_NAMESPACE_ITEM(Undefined) + ENUM_NAMESPACE_ITEM(SharedPtr) + ENUM_NAMESPACE_ITEM(RawPtr) + END_ENUM_ITEM(vl::workflow::WfConstructorType) - BEGIN_CLASS_MEMBER(vl::workflow::WfBaseConstructorCall) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfBaseConstructorCall) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(arguments) - END_CLASS_MEMBER(vl::workflow::WfBaseConstructorCall) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(arguments) + END_CLASS_MEMBER(vl::workflow::WfBaseConstructorCall) - BEGIN_CLASS_MEMBER(vl::workflow::WfConstructorDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfConstructorDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(constructorType) - CLASS_MEMBER_FIELD(baseConstructorCalls) - CLASS_MEMBER_FIELD(arguments) - CLASS_MEMBER_FIELD(statement) - END_CLASS_MEMBER(vl::workflow::WfConstructorDeclaration) + CLASS_MEMBER_FIELD(constructorType) + CLASS_MEMBER_FIELD(baseConstructorCalls) + CLASS_MEMBER_FIELD(arguments) + CLASS_MEMBER_FIELD(statement) + END_CLASS_MEMBER(vl::workflow::WfConstructorDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfDestructorDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfDestructorDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(statement) - END_CLASS_MEMBER(vl::workflow::WfDestructorDeclaration) + CLASS_MEMBER_FIELD(statement) + END_CLASS_MEMBER(vl::workflow::WfDestructorDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfClassDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfClassDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(kind) - CLASS_MEMBER_FIELD(constructorType) - CLASS_MEMBER_FIELD(baseTypes) - CLASS_MEMBER_FIELD(declarations) - END_CLASS_MEMBER(vl::workflow::WfClassDeclaration) + CLASS_MEMBER_FIELD(kind) + CLASS_MEMBER_FIELD(constructorType) + CLASS_MEMBER_FIELD(baseTypes) + CLASS_MEMBER_FIELD(declarations) + END_CLASS_MEMBER(vl::workflow::WfClassDeclaration) - BEGIN_ENUM_ITEM(vl::workflow::WfEnumKind) - ENUM_ITEM_NAMESPACE(vl::workflow::WfEnumKind) - ENUM_NAMESPACE_ITEM(Normal) - ENUM_NAMESPACE_ITEM(Flag) - END_ENUM_ITEM(vl::workflow::WfEnumKind) + BEGIN_ENUM_ITEM(vl::workflow::WfEnumKind) + ENUM_ITEM_NAMESPACE(vl::workflow::WfEnumKind) + ENUM_NAMESPACE_ITEM(Normal) + ENUM_NAMESPACE_ITEM(Flag) + END_ENUM_ITEM(vl::workflow::WfEnumKind) - BEGIN_ENUM_ITEM(vl::workflow::WfEnumItemKind) - ENUM_ITEM_NAMESPACE(vl::workflow::WfEnumItemKind) - ENUM_NAMESPACE_ITEM(Constant) - ENUM_NAMESPACE_ITEM(Intersection) - END_ENUM_ITEM(vl::workflow::WfEnumItemKind) + BEGIN_ENUM_ITEM(vl::workflow::WfEnumItemKind) + ENUM_ITEM_NAMESPACE(vl::workflow::WfEnumItemKind) + ENUM_NAMESPACE_ITEM(Constant) + ENUM_NAMESPACE_ITEM(Intersection) + END_ENUM_ITEM(vl::workflow::WfEnumItemKind) - BEGIN_CLASS_MEMBER(vl::workflow::WfEnumItemIntersection) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfEnumItemIntersection) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfEnumItemIntersection) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfEnumItemIntersection) - BEGIN_CLASS_MEMBER(vl::workflow::WfEnumItem) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfEnumItem) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(attributes) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(kind) - CLASS_MEMBER_FIELD(number) - CLASS_MEMBER_FIELD(intersections) - END_CLASS_MEMBER(vl::workflow::WfEnumItem) + CLASS_MEMBER_FIELD(attributes) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(kind) + CLASS_MEMBER_FIELD(number) + CLASS_MEMBER_FIELD(intersections) + END_CLASS_MEMBER(vl::workflow::WfEnumItem) - BEGIN_CLASS_MEMBER(vl::workflow::WfEnumDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfEnumDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(kind) - CLASS_MEMBER_FIELD(items) - END_CLASS_MEMBER(vl::workflow::WfEnumDeclaration) + CLASS_MEMBER_FIELD(kind) + CLASS_MEMBER_FIELD(items) + END_CLASS_MEMBER(vl::workflow::WfEnumDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfStructMember) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfStructMember) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(attributes) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(type) - END_CLASS_MEMBER(vl::workflow::WfStructMember) + CLASS_MEMBER_FIELD(attributes) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(type) + END_CLASS_MEMBER(vl::workflow::WfStructMember) - BEGIN_CLASS_MEMBER(vl::workflow::WfStructDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfStructDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(members) - END_CLASS_MEMBER(vl::workflow::WfStructDeclaration) + CLASS_MEMBER_FIELD(members) + END_CLASS_MEMBER(vl::workflow::WfStructDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfVirtualCfeDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfVirtualCfeDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_FIELD(expandedDeclarations) - END_CLASS_MEMBER(vl::workflow::WfVirtualCfeDeclaration) + CLASS_MEMBER_FIELD(expandedDeclarations) + END_CLASS_MEMBER(vl::workflow::WfVirtualCfeDeclaration) - BEGIN_ENUM_ITEM(vl::workflow::WfAPConst) - ENUM_ITEM_NAMESPACE(vl::workflow::WfAPConst) - ENUM_NAMESPACE_ITEM(Readonly) - ENUM_NAMESPACE_ITEM(Writable) - END_ENUM_ITEM(vl::workflow::WfAPConst) + BEGIN_ENUM_ITEM(vl::workflow::WfAPConst) + ENUM_ITEM_NAMESPACE(vl::workflow::WfAPConst) + ENUM_NAMESPACE_ITEM(Readonly) + ENUM_NAMESPACE_ITEM(Writable) + END_ENUM_ITEM(vl::workflow::WfAPConst) - BEGIN_ENUM_ITEM(vl::workflow::WfAPObserve) - ENUM_ITEM_NAMESPACE(vl::workflow::WfAPObserve) - ENUM_NAMESPACE_ITEM(Observable) - ENUM_NAMESPACE_ITEM(NotObservable) - END_ENUM_ITEM(vl::workflow::WfAPObserve) + BEGIN_ENUM_ITEM(vl::workflow::WfAPObserve) + ENUM_ITEM_NAMESPACE(vl::workflow::WfAPObserve) + ENUM_NAMESPACE_ITEM(Observable) + ENUM_NAMESPACE_ITEM(NotObservable) + END_ENUM_ITEM(vl::workflow::WfAPObserve) - BEGIN_CLASS_MEMBER(vl::workflow::WfAutoPropertyDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCfeDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfAutoPropertyDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCfeDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(functionKind) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(configConst) - CLASS_MEMBER_FIELD(configObserve) - CLASS_MEMBER_FIELD(expression) - END_CLASS_MEMBER(vl::workflow::WfAutoPropertyDeclaration) + CLASS_MEMBER_FIELD(functionKind) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(configConst) + CLASS_MEMBER_FIELD(configObserve) + CLASS_MEMBER_FIELD(expression) + END_CLASS_MEMBER(vl::workflow::WfAutoPropertyDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfCastResultInterfaceDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCfeDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfCastResultInterfaceDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCfeDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(baseType) - CLASS_MEMBER_FIELD(elementType) - END_CLASS_MEMBER(vl::workflow::WfCastResultInterfaceDeclaration) + CLASS_MEMBER_FIELD(baseType) + CLASS_MEMBER_FIELD(elementType) + END_CLASS_MEMBER(vl::workflow::WfCastResultInterfaceDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfVirtualCseDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfVirtualCseDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfDeclaration) - CLASS_MEMBER_FIELD(expandedDeclarations) - END_CLASS_MEMBER(vl::workflow::WfVirtualCseDeclaration) + CLASS_MEMBER_FIELD(expandedDeclarations) + END_CLASS_MEMBER(vl::workflow::WfVirtualCseDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfStateInput) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfStateInput) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(arguments) - END_CLASS_MEMBER(vl::workflow::WfStateInput) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(arguments) + END_CLASS_MEMBER(vl::workflow::WfStateInput) - BEGIN_CLASS_MEMBER(vl::workflow::WfStateDeclaration) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfStateDeclaration) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(arguments) - CLASS_MEMBER_FIELD(statement) - END_CLASS_MEMBER(vl::workflow::WfStateDeclaration) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(arguments) + CLASS_MEMBER_FIELD(statement) + END_CLASS_MEMBER(vl::workflow::WfStateDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfStateMachineDeclaration) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseDeclaration) + BEGIN_CLASS_MEMBER(vl::workflow::WfStateMachineDeclaration) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseDeclaration) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(inputs) - CLASS_MEMBER_FIELD(states) - END_CLASS_MEMBER(vl::workflow::WfStateMachineDeclaration) + CLASS_MEMBER_FIELD(inputs) + CLASS_MEMBER_FIELD(states) + END_CLASS_MEMBER(vl::workflow::WfStateMachineDeclaration) - BEGIN_CLASS_MEMBER(vl::workflow::WfBreakStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfBreakStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - END_CLASS_MEMBER(vl::workflow::WfBreakStatement) + END_CLASS_MEMBER(vl::workflow::WfBreakStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfContinueStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfContinueStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - END_CLASS_MEMBER(vl::workflow::WfContinueStatement) + END_CLASS_MEMBER(vl::workflow::WfContinueStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfReturnStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfReturnStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(expression) - END_CLASS_MEMBER(vl::workflow::WfReturnStatement) + CLASS_MEMBER_FIELD(expression) + END_CLASS_MEMBER(vl::workflow::WfReturnStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfDeleteStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfDeleteStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(expression) - END_CLASS_MEMBER(vl::workflow::WfDeleteStatement) + CLASS_MEMBER_FIELD(expression) + END_CLASS_MEMBER(vl::workflow::WfDeleteStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfRaiseExceptionStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfRaiseExceptionStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(expression) - END_CLASS_MEMBER(vl::workflow::WfRaiseExceptionStatement) + CLASS_MEMBER_FIELD(expression) + END_CLASS_MEMBER(vl::workflow::WfRaiseExceptionStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfIfStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfIfStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(expression) - CLASS_MEMBER_FIELD(trueBranch) - CLASS_MEMBER_FIELD(falseBranch) - END_CLASS_MEMBER(vl::workflow::WfIfStatement) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(expression) + CLASS_MEMBER_FIELD(trueBranch) + CLASS_MEMBER_FIELD(falseBranch) + END_CLASS_MEMBER(vl::workflow::WfIfStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfWhileStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfWhileStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(condition) - CLASS_MEMBER_FIELD(statement) - END_CLASS_MEMBER(vl::workflow::WfWhileStatement) + CLASS_MEMBER_FIELD(condition) + CLASS_MEMBER_FIELD(statement) + END_CLASS_MEMBER(vl::workflow::WfWhileStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfTryStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfTryStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(protectedStatement) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(catchStatement) - CLASS_MEMBER_FIELD(finallyStatement) - END_CLASS_MEMBER(vl::workflow::WfTryStatement) + CLASS_MEMBER_FIELD(protectedStatement) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(catchStatement) + CLASS_MEMBER_FIELD(finallyStatement) + END_CLASS_MEMBER(vl::workflow::WfTryStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfBlockStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfBlockStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(statements) - CLASS_MEMBER_FIELD(endLabel) - END_CLASS_MEMBER(vl::workflow::WfBlockStatement) + CLASS_MEMBER_FIELD(statements) + CLASS_MEMBER_FIELD(endLabel) + END_CLASS_MEMBER(vl::workflow::WfBlockStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfGotoStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfGotoStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(label) - END_CLASS_MEMBER(vl::workflow::WfGotoStatement) + CLASS_MEMBER_FIELD(label) + END_CLASS_MEMBER(vl::workflow::WfGotoStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfVariableStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfVariableStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(variable) - END_CLASS_MEMBER(vl::workflow::WfVariableStatement) + CLASS_MEMBER_FIELD(variable) + END_CLASS_MEMBER(vl::workflow::WfVariableStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfExpressionStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfExpressionStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(expression) - END_CLASS_MEMBER(vl::workflow::WfExpressionStatement) + CLASS_MEMBER_FIELD(expression) + END_CLASS_MEMBER(vl::workflow::WfExpressionStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfVirtualCseStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfVirtualCseStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - CLASS_MEMBER_FIELD(expandedStatement) - END_CLASS_MEMBER(vl::workflow::WfVirtualCseStatement) + CLASS_MEMBER_FIELD(expandedStatement) + END_CLASS_MEMBER(vl::workflow::WfVirtualCseStatement) - BEGIN_ENUM_ITEM(vl::workflow::WfForEachDirection) - ENUM_ITEM_NAMESPACE(vl::workflow::WfForEachDirection) - ENUM_NAMESPACE_ITEM(Normal) - ENUM_NAMESPACE_ITEM(Reversed) - END_ENUM_ITEM(vl::workflow::WfForEachDirection) + BEGIN_ENUM_ITEM(vl::workflow::WfForEachDirection) + ENUM_ITEM_NAMESPACE(vl::workflow::WfForEachDirection) + ENUM_NAMESPACE_ITEM(Normal) + ENUM_NAMESPACE_ITEM(Reversed) + END_ENUM_ITEM(vl::workflow::WfForEachDirection) - BEGIN_CLASS_MEMBER(vl::workflow::WfForEachStatement) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfForEachStatement) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(direction) - CLASS_MEMBER_FIELD(collection) - CLASS_MEMBER_FIELD(statement) - END_CLASS_MEMBER(vl::workflow::WfForEachStatement) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(direction) + CLASS_MEMBER_FIELD(collection) + CLASS_MEMBER_FIELD(statement) + END_CLASS_MEMBER(vl::workflow::WfForEachStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfSwitchCase) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfSwitchCase) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(expression) - CLASS_MEMBER_FIELD(statement) - END_CLASS_MEMBER(vl::workflow::WfSwitchCase) + CLASS_MEMBER_FIELD(expression) + CLASS_MEMBER_FIELD(statement) + END_CLASS_MEMBER(vl::workflow::WfSwitchCase) - BEGIN_CLASS_MEMBER(vl::workflow::WfSwitchStatement) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfSwitchStatement) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(expression) - CLASS_MEMBER_FIELD(caseBranches) - CLASS_MEMBER_FIELD(defaultBranch) - END_CLASS_MEMBER(vl::workflow::WfSwitchStatement) + CLASS_MEMBER_FIELD(expression) + CLASS_MEMBER_FIELD(caseBranches) + CLASS_MEMBER_FIELD(defaultBranch) + END_CLASS_MEMBER(vl::workflow::WfSwitchStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfCoProviderStatement) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfCoProviderStatement) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(statement) - END_CLASS_MEMBER(vl::workflow::WfCoProviderStatement) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(statement) + END_CLASS_MEMBER(vl::workflow::WfCoProviderStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfCoroutineStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfCoroutineStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - END_CLASS_MEMBER(vl::workflow::WfCoroutineStatement) + END_CLASS_MEMBER(vl::workflow::WfCoroutineStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfCoPauseStatement) - CLASS_MEMBER_BASE(vl::workflow::WfCoroutineStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfCoPauseStatement) + CLASS_MEMBER_BASE(vl::workflow::WfCoroutineStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(statement) - END_CLASS_MEMBER(vl::workflow::WfCoPauseStatement) + CLASS_MEMBER_FIELD(statement) + END_CLASS_MEMBER(vl::workflow::WfCoPauseStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfCoOperatorStatement) - CLASS_MEMBER_BASE(vl::workflow::WfCoroutineStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfCoOperatorStatement) + CLASS_MEMBER_BASE(vl::workflow::WfCoroutineStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(varName) - CLASS_MEMBER_FIELD(opName) - CLASS_MEMBER_FIELD(arguments) - END_CLASS_MEMBER(vl::workflow::WfCoOperatorStatement) + CLASS_MEMBER_FIELD(varName) + CLASS_MEMBER_FIELD(opName) + CLASS_MEMBER_FIELD(arguments) + END_CLASS_MEMBER(vl::workflow::WfCoOperatorStatement) - BEGIN_ENUM_ITEM(vl::workflow::WfStateSwitchType) - ENUM_ITEM_NAMESPACE(vl::workflow::WfStateSwitchType) - ENUM_NAMESPACE_ITEM(Default) - ENUM_NAMESPACE_ITEM(Pass) - ENUM_NAMESPACE_ITEM(PassAndReturn) - ENUM_NAMESPACE_ITEM(Ignore) - ENUM_NAMESPACE_ITEM(IgnoreAndReturn) - END_ENUM_ITEM(vl::workflow::WfStateSwitchType) + BEGIN_ENUM_ITEM(vl::workflow::WfStateSwitchType) + ENUM_ITEM_NAMESPACE(vl::workflow::WfStateSwitchType) + ENUM_NAMESPACE_ITEM(Default) + ENUM_NAMESPACE_ITEM(Pass) + ENUM_NAMESPACE_ITEM(PassAndReturn) + ENUM_NAMESPACE_ITEM(Ignore) + ENUM_NAMESPACE_ITEM(IgnoreAndReturn) + END_ENUM_ITEM(vl::workflow::WfStateSwitchType) - BEGIN_ENUM_ITEM(vl::workflow::WfStateInvokeType) - ENUM_ITEM_NAMESPACE(vl::workflow::WfStateInvokeType) - ENUM_NAMESPACE_ITEM(Goto) - ENUM_NAMESPACE_ITEM(Push) - END_ENUM_ITEM(vl::workflow::WfStateInvokeType) + BEGIN_ENUM_ITEM(vl::workflow::WfStateInvokeType) + ENUM_ITEM_NAMESPACE(vl::workflow::WfStateInvokeType) + ENUM_NAMESPACE_ITEM(Goto) + ENUM_NAMESPACE_ITEM(Push) + END_ENUM_ITEM(vl::workflow::WfStateInvokeType) - BEGIN_CLASS_MEMBER(vl::workflow::WfStateMachineStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfStateMachineStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStatement) - END_CLASS_MEMBER(vl::workflow::WfStateMachineStatement) + END_CLASS_MEMBER(vl::workflow::WfStateMachineStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfStateSwitchArgument) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfStateSwitchArgument) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfStateSwitchArgument) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfStateSwitchArgument) - BEGIN_CLASS_MEMBER(vl::workflow::WfStateSwitchCase) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfStateSwitchCase) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(arguments) - CLASS_MEMBER_FIELD(statement) - END_CLASS_MEMBER(vl::workflow::WfStateSwitchCase) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(arguments) + CLASS_MEMBER_FIELD(statement) + END_CLASS_MEMBER(vl::workflow::WfStateSwitchCase) - BEGIN_CLASS_MEMBER(vl::workflow::WfStateSwitchStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStateMachineStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfStateSwitchStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStateMachineStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(caseBranches) - END_CLASS_MEMBER(vl::workflow::WfStateSwitchStatement) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(caseBranches) + END_CLASS_MEMBER(vl::workflow::WfStateSwitchStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfStateInvokeStatement) - CLASS_MEMBER_BASE(vl::workflow::WfStateMachineStatement) + BEGIN_CLASS_MEMBER(vl::workflow::WfStateInvokeStatement) + CLASS_MEMBER_BASE(vl::workflow::WfStateMachineStatement) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(arguments) - END_CLASS_MEMBER(vl::workflow::WfStateInvokeStatement) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(arguments) + END_CLASS_MEMBER(vl::workflow::WfStateInvokeStatement) - BEGIN_CLASS_MEMBER(vl::workflow::WfThisExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfThisExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - END_CLASS_MEMBER(vl::workflow::WfThisExpression) + END_CLASS_MEMBER(vl::workflow::WfThisExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfTopQualifiedExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfTopQualifiedExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfTopQualifiedExpression) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfTopQualifiedExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfReferenceExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfReferenceExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfReferenceExpression) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfReferenceExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfOrderedNameExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfOrderedNameExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfOrderedNameExpression) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfOrderedNameExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfOrderedLambdaExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfOrderedLambdaExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(body) - END_CLASS_MEMBER(vl::workflow::WfOrderedLambdaExpression) + CLASS_MEMBER_FIELD(body) + END_CLASS_MEMBER(vl::workflow::WfOrderedLambdaExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfMemberExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfMemberExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(parent) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfMemberExpression) + CLASS_MEMBER_FIELD(parent) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfMemberExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfChildExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfChildExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(parent) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfChildExpression) + CLASS_MEMBER_FIELD(parent) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfChildExpression) - BEGIN_ENUM_ITEM(vl::workflow::WfLiteralValue) - ENUM_ITEM_NAMESPACE(vl::workflow::WfLiteralValue) - ENUM_NAMESPACE_ITEM(Null) - ENUM_NAMESPACE_ITEM(True) - ENUM_NAMESPACE_ITEM(False) - END_ENUM_ITEM(vl::workflow::WfLiteralValue) + BEGIN_ENUM_ITEM(vl::workflow::WfLiteralValue) + ENUM_ITEM_NAMESPACE(vl::workflow::WfLiteralValue) + ENUM_NAMESPACE_ITEM(Null) + ENUM_NAMESPACE_ITEM(True) + ENUM_NAMESPACE_ITEM(False) + END_ENUM_ITEM(vl::workflow::WfLiteralValue) - BEGIN_CLASS_MEMBER(vl::workflow::WfLiteralExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfLiteralExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::workflow::WfLiteralExpression) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::workflow::WfLiteralExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfFloatingExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfFloatingExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::workflow::WfFloatingExpression) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::workflow::WfFloatingExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfIntegerExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfIntegerExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::workflow::WfIntegerExpression) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::workflow::WfIntegerExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfStringExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfStringExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::workflow::WfStringExpression) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::workflow::WfStringExpression) - BEGIN_ENUM_ITEM(vl::workflow::WfUnaryOperator) - ENUM_ITEM_NAMESPACE(vl::workflow::WfUnaryOperator) - ENUM_NAMESPACE_ITEM(Positive) - ENUM_NAMESPACE_ITEM(Negative) - ENUM_NAMESPACE_ITEM(Not) - END_ENUM_ITEM(vl::workflow::WfUnaryOperator) + BEGIN_ENUM_ITEM(vl::workflow::WfUnaryOperator) + ENUM_ITEM_NAMESPACE(vl::workflow::WfUnaryOperator) + ENUM_NAMESPACE_ITEM(Positive) + ENUM_NAMESPACE_ITEM(Negative) + ENUM_NAMESPACE_ITEM(Not) + END_ENUM_ITEM(vl::workflow::WfUnaryOperator) - BEGIN_CLASS_MEMBER(vl::workflow::WfUnaryExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfUnaryExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(op) - CLASS_MEMBER_FIELD(operand) - END_CLASS_MEMBER(vl::workflow::WfUnaryExpression) + CLASS_MEMBER_FIELD(op) + CLASS_MEMBER_FIELD(operand) + END_CLASS_MEMBER(vl::workflow::WfUnaryExpression) - BEGIN_ENUM_ITEM(vl::workflow::WfBinaryOperator) - ENUM_ITEM_NAMESPACE(vl::workflow::WfBinaryOperator) - ENUM_NAMESPACE_ITEM(Assign) - ENUM_NAMESPACE_ITEM(Index) - ENUM_NAMESPACE_ITEM(FlagAnd) - ENUM_NAMESPACE_ITEM(FlagOr) - ENUM_NAMESPACE_ITEM(FailedThen) - ENUM_NAMESPACE_ITEM(Exp) - ENUM_NAMESPACE_ITEM(Add) - ENUM_NAMESPACE_ITEM(Sub) - ENUM_NAMESPACE_ITEM(Mul) - ENUM_NAMESPACE_ITEM(Div) - ENUM_NAMESPACE_ITEM(Mod) - ENUM_NAMESPACE_ITEM(Shl) - ENUM_NAMESPACE_ITEM(Shr) - ENUM_NAMESPACE_ITEM(LT) - ENUM_NAMESPACE_ITEM(GT) - ENUM_NAMESPACE_ITEM(LE) - ENUM_NAMESPACE_ITEM(GE) - ENUM_NAMESPACE_ITEM(EQ) - ENUM_NAMESPACE_ITEM(NE) - ENUM_NAMESPACE_ITEM(Xor) - ENUM_NAMESPACE_ITEM(And) - ENUM_NAMESPACE_ITEM(Or) - END_ENUM_ITEM(vl::workflow::WfBinaryOperator) + BEGIN_ENUM_ITEM(vl::workflow::WfBinaryOperator) + ENUM_ITEM_NAMESPACE(vl::workflow::WfBinaryOperator) + ENUM_NAMESPACE_ITEM(Assign) + ENUM_NAMESPACE_ITEM(Index) + ENUM_NAMESPACE_ITEM(FlagAnd) + ENUM_NAMESPACE_ITEM(FlagOr) + ENUM_NAMESPACE_ITEM(FailedThen) + ENUM_NAMESPACE_ITEM(Exp) + ENUM_NAMESPACE_ITEM(Add) + ENUM_NAMESPACE_ITEM(Sub) + ENUM_NAMESPACE_ITEM(Mul) + ENUM_NAMESPACE_ITEM(Div) + ENUM_NAMESPACE_ITEM(Mod) + ENUM_NAMESPACE_ITEM(Shl) + ENUM_NAMESPACE_ITEM(Shr) + ENUM_NAMESPACE_ITEM(LT) + ENUM_NAMESPACE_ITEM(GT) + ENUM_NAMESPACE_ITEM(LE) + ENUM_NAMESPACE_ITEM(GE) + ENUM_NAMESPACE_ITEM(EQ) + ENUM_NAMESPACE_ITEM(NE) + ENUM_NAMESPACE_ITEM(Xor) + ENUM_NAMESPACE_ITEM(And) + ENUM_NAMESPACE_ITEM(Or) + END_ENUM_ITEM(vl::workflow::WfBinaryOperator) - BEGIN_CLASS_MEMBER(vl::workflow::WfBinaryExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfBinaryExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(op) - CLASS_MEMBER_FIELD(first) - CLASS_MEMBER_FIELD(second) - END_CLASS_MEMBER(vl::workflow::WfBinaryExpression) + CLASS_MEMBER_FIELD(op) + CLASS_MEMBER_FIELD(first) + CLASS_MEMBER_FIELD(second) + END_CLASS_MEMBER(vl::workflow::WfBinaryExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfLetVariable) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfLetVariable) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::workflow::WfLetVariable) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::workflow::WfLetVariable) - BEGIN_CLASS_MEMBER(vl::workflow::WfLetExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfLetExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(variables) - CLASS_MEMBER_FIELD(expression) - END_CLASS_MEMBER(vl::workflow::WfLetExpression) + CLASS_MEMBER_FIELD(variables) + CLASS_MEMBER_FIELD(expression) + END_CLASS_MEMBER(vl::workflow::WfLetExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfIfExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfIfExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(condition) - CLASS_MEMBER_FIELD(trueBranch) - CLASS_MEMBER_FIELD(falseBranch) - END_CLASS_MEMBER(vl::workflow::WfIfExpression) + CLASS_MEMBER_FIELD(condition) + CLASS_MEMBER_FIELD(trueBranch) + CLASS_MEMBER_FIELD(falseBranch) + END_CLASS_MEMBER(vl::workflow::WfIfExpression) - BEGIN_ENUM_ITEM(vl::workflow::WfRangeBoundary) - ENUM_ITEM_NAMESPACE(vl::workflow::WfRangeBoundary) - ENUM_NAMESPACE_ITEM(Inclusive) - ENUM_NAMESPACE_ITEM(Exclusive) - END_ENUM_ITEM(vl::workflow::WfRangeBoundary) + BEGIN_ENUM_ITEM(vl::workflow::WfRangeBoundary) + ENUM_ITEM_NAMESPACE(vl::workflow::WfRangeBoundary) + ENUM_NAMESPACE_ITEM(Inclusive) + ENUM_NAMESPACE_ITEM(Exclusive) + END_ENUM_ITEM(vl::workflow::WfRangeBoundary) - BEGIN_CLASS_MEMBER(vl::workflow::WfRangeExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfRangeExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(begin) - CLASS_MEMBER_FIELD(beginBoundary) - CLASS_MEMBER_FIELD(end) - CLASS_MEMBER_FIELD(endBoundary) - END_CLASS_MEMBER(vl::workflow::WfRangeExpression) + CLASS_MEMBER_FIELD(begin) + CLASS_MEMBER_FIELD(beginBoundary) + CLASS_MEMBER_FIELD(end) + CLASS_MEMBER_FIELD(endBoundary) + END_CLASS_MEMBER(vl::workflow::WfRangeExpression) - BEGIN_ENUM_ITEM(vl::workflow::WfSetTesting) - ENUM_ITEM_NAMESPACE(vl::workflow::WfSetTesting) - ENUM_NAMESPACE_ITEM(In) - ENUM_NAMESPACE_ITEM(NotIn) - END_ENUM_ITEM(vl::workflow::WfSetTesting) + BEGIN_ENUM_ITEM(vl::workflow::WfSetTesting) + ENUM_ITEM_NAMESPACE(vl::workflow::WfSetTesting) + ENUM_NAMESPACE_ITEM(In) + ENUM_NAMESPACE_ITEM(NotIn) + END_ENUM_ITEM(vl::workflow::WfSetTesting) - BEGIN_CLASS_MEMBER(vl::workflow::WfSetTestingExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfSetTestingExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(test) - CLASS_MEMBER_FIELD(element) - CLASS_MEMBER_FIELD(collection) - END_CLASS_MEMBER(vl::workflow::WfSetTestingExpression) + CLASS_MEMBER_FIELD(test) + CLASS_MEMBER_FIELD(element) + CLASS_MEMBER_FIELD(collection) + END_CLASS_MEMBER(vl::workflow::WfSetTestingExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfConstructorArgument) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfConstructorArgument) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(key) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::workflow::WfConstructorArgument) + CLASS_MEMBER_FIELD(key) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::workflow::WfConstructorArgument) - BEGIN_CLASS_MEMBER(vl::workflow::WfConstructorExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfConstructorExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(arguments) - END_CLASS_MEMBER(vl::workflow::WfConstructorExpression) + CLASS_MEMBER_FIELD(arguments) + END_CLASS_MEMBER(vl::workflow::WfConstructorExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfInferExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfInferExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(expression) - CLASS_MEMBER_FIELD(type) - END_CLASS_MEMBER(vl::workflow::WfInferExpression) + CLASS_MEMBER_FIELD(expression) + CLASS_MEMBER_FIELD(type) + END_CLASS_MEMBER(vl::workflow::WfInferExpression) - BEGIN_ENUM_ITEM(vl::workflow::WfTypeCastingStrategy) - ENUM_ITEM_NAMESPACE(vl::workflow::WfTypeCastingStrategy) - ENUM_NAMESPACE_ITEM(Strong) - ENUM_NAMESPACE_ITEM(Weak) - END_ENUM_ITEM(vl::workflow::WfTypeCastingStrategy) + BEGIN_ENUM_ITEM(vl::workflow::WfTypeCastingStrategy) + ENUM_ITEM_NAMESPACE(vl::workflow::WfTypeCastingStrategy) + ENUM_NAMESPACE_ITEM(Strong) + ENUM_NAMESPACE_ITEM(Weak) + END_ENUM_ITEM(vl::workflow::WfTypeCastingStrategy) - BEGIN_CLASS_MEMBER(vl::workflow::WfTypeCastingExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfTypeCastingExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(strategy) - CLASS_MEMBER_FIELD(expression) - CLASS_MEMBER_FIELD(type) - END_CLASS_MEMBER(vl::workflow::WfTypeCastingExpression) + CLASS_MEMBER_FIELD(strategy) + CLASS_MEMBER_FIELD(expression) + CLASS_MEMBER_FIELD(type) + END_CLASS_MEMBER(vl::workflow::WfTypeCastingExpression) - BEGIN_ENUM_ITEM(vl::workflow::WfTypeTesting) - ENUM_ITEM_NAMESPACE(vl::workflow::WfTypeTesting) - ENUM_NAMESPACE_ITEM(IsType) - ENUM_NAMESPACE_ITEM(IsNotType) - ENUM_NAMESPACE_ITEM(IsNull) - ENUM_NAMESPACE_ITEM(IsNotNull) - END_ENUM_ITEM(vl::workflow::WfTypeTesting) + BEGIN_ENUM_ITEM(vl::workflow::WfTypeTesting) + ENUM_ITEM_NAMESPACE(vl::workflow::WfTypeTesting) + ENUM_NAMESPACE_ITEM(IsType) + ENUM_NAMESPACE_ITEM(IsNotType) + ENUM_NAMESPACE_ITEM(IsNull) + ENUM_NAMESPACE_ITEM(IsNotNull) + END_ENUM_ITEM(vl::workflow::WfTypeTesting) - BEGIN_CLASS_MEMBER(vl::workflow::WfTypeTestingExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfTypeTestingExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(test) - CLASS_MEMBER_FIELD(expression) - CLASS_MEMBER_FIELD(type) - END_CLASS_MEMBER(vl::workflow::WfTypeTestingExpression) + CLASS_MEMBER_FIELD(test) + CLASS_MEMBER_FIELD(expression) + CLASS_MEMBER_FIELD(type) + END_CLASS_MEMBER(vl::workflow::WfTypeTestingExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfTypeOfTypeExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfTypeOfTypeExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - END_CLASS_MEMBER(vl::workflow::WfTypeOfTypeExpression) + CLASS_MEMBER_FIELD(type) + END_CLASS_MEMBER(vl::workflow::WfTypeOfTypeExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfTypeOfExpressionExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfTypeOfExpressionExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(expression) - END_CLASS_MEMBER(vl::workflow::WfTypeOfExpressionExpression) + CLASS_MEMBER_FIELD(expression) + END_CLASS_MEMBER(vl::workflow::WfTypeOfExpressionExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfAttachEventExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfAttachEventExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(event) - CLASS_MEMBER_FIELD(function) - END_CLASS_MEMBER(vl::workflow::WfAttachEventExpression) + CLASS_MEMBER_FIELD(event) + CLASS_MEMBER_FIELD(function) + END_CLASS_MEMBER(vl::workflow::WfAttachEventExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfDetachEventExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfDetachEventExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(event) - CLASS_MEMBER_FIELD(handler) - END_CLASS_MEMBER(vl::workflow::WfDetachEventExpression) + CLASS_MEMBER_FIELD(event) + CLASS_MEMBER_FIELD(handler) + END_CLASS_MEMBER(vl::workflow::WfDetachEventExpression) - BEGIN_ENUM_ITEM(vl::workflow::WfObserveType) - ENUM_ITEM_NAMESPACE(vl::workflow::WfObserveType) - ENUM_NAMESPACE_ITEM(SimpleObserve) - ENUM_NAMESPACE_ITEM(ExtendedObserve) - END_ENUM_ITEM(vl::workflow::WfObserveType) + BEGIN_ENUM_ITEM(vl::workflow::WfObserveType) + ENUM_ITEM_NAMESPACE(vl::workflow::WfObserveType) + ENUM_NAMESPACE_ITEM(SimpleObserve) + ENUM_NAMESPACE_ITEM(ExtendedObserve) + END_ENUM_ITEM(vl::workflow::WfObserveType) - BEGIN_CLASS_MEMBER(vl::workflow::WfObserveExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfObserveExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(parent) - CLASS_MEMBER_FIELD(observeType) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(expression) - CLASS_MEMBER_FIELD(events) - END_CLASS_MEMBER(vl::workflow::WfObserveExpression) + CLASS_MEMBER_FIELD(parent) + CLASS_MEMBER_FIELD(observeType) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(expression) + CLASS_MEMBER_FIELD(events) + END_CLASS_MEMBER(vl::workflow::WfObserveExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfCallExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfCallExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(function) - CLASS_MEMBER_FIELD(arguments) - END_CLASS_MEMBER(vl::workflow::WfCallExpression) + CLASS_MEMBER_FIELD(function) + CLASS_MEMBER_FIELD(arguments) + END_CLASS_MEMBER(vl::workflow::WfCallExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfFunctionExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfFunctionExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(function) - END_CLASS_MEMBER(vl::workflow::WfFunctionExpression) + CLASS_MEMBER_FIELD(function) + END_CLASS_MEMBER(vl::workflow::WfFunctionExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfNewClassExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfNewClassExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(arguments) - END_CLASS_MEMBER(vl::workflow::WfNewClassExpression) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(arguments) + END_CLASS_MEMBER(vl::workflow::WfNewClassExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfNewInterfaceExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfNewInterfaceExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(declarations) - END_CLASS_MEMBER(vl::workflow::WfNewInterfaceExpression) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(declarations) + END_CLASS_MEMBER(vl::workflow::WfNewInterfaceExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfVirtualCfeExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfVirtualCfeExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_FIELD(expandedExpression) - END_CLASS_MEMBER(vl::workflow::WfVirtualCfeExpression) + CLASS_MEMBER_FIELD(expandedExpression) + END_CLASS_MEMBER(vl::workflow::WfVirtualCfeExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfFormatExpression) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCfeExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfFormatExpression) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCfeExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::workflow::WfFormatExpression) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::workflow::WfFormatExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfVirtualCseExpression) - CLASS_MEMBER_BASE(vl::workflow::WfExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfVirtualCseExpression) + CLASS_MEMBER_BASE(vl::workflow::WfExpression) - CLASS_MEMBER_FIELD(expandedExpression) - END_CLASS_MEMBER(vl::workflow::WfVirtualCseExpression) + CLASS_MEMBER_FIELD(expandedExpression) + END_CLASS_MEMBER(vl::workflow::WfVirtualCseExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfBindExpression) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfBindExpression) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(expression) - END_CLASS_MEMBER(vl::workflow::WfBindExpression) + CLASS_MEMBER_FIELD(expression) + END_CLASS_MEMBER(vl::workflow::WfBindExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfNewCoroutineExpression) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfNewCoroutineExpression) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(statement) - END_CLASS_MEMBER(vl::workflow::WfNewCoroutineExpression) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(statement) + END_CLASS_MEMBER(vl::workflow::WfNewCoroutineExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfMixinCastExpression) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfMixinCastExpression) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(type) - CLASS_MEMBER_FIELD(expression) - END_CLASS_MEMBER(vl::workflow::WfMixinCastExpression) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(expression) + END_CLASS_MEMBER(vl::workflow::WfMixinCastExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfExpectedTypeCastExpression) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfExpectedTypeCastExpression) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(strategy) - CLASS_MEMBER_FIELD(expression) - END_CLASS_MEMBER(vl::workflow::WfExpectedTypeCastExpression) + CLASS_MEMBER_FIELD(strategy) + CLASS_MEMBER_FIELD(expression) + END_CLASS_MEMBER(vl::workflow::WfExpectedTypeCastExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfCoOperatorExpression) - CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseExpression) + BEGIN_CLASS_MEMBER(vl::workflow::WfCoOperatorExpression) + CLASS_MEMBER_BASE(vl::workflow::WfVirtualCseExpression) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfCoOperatorExpression) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfCoOperatorExpression) - BEGIN_CLASS_MEMBER(vl::workflow::WfModuleUsingFragment) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + BEGIN_CLASS_MEMBER(vl::workflow::WfModuleUsingFragment) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - END_CLASS_MEMBER(vl::workflow::WfModuleUsingFragment) + END_CLASS_MEMBER(vl::workflow::WfModuleUsingFragment) - BEGIN_CLASS_MEMBER(vl::workflow::WfModuleUsingNameFragment) - CLASS_MEMBER_BASE(vl::workflow::WfModuleUsingFragment) + BEGIN_CLASS_MEMBER(vl::workflow::WfModuleUsingNameFragment) + CLASS_MEMBER_BASE(vl::workflow::WfModuleUsingFragment) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) - END_CLASS_MEMBER(vl::workflow::WfModuleUsingNameFragment) + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::workflow::WfModuleUsingNameFragment) - BEGIN_CLASS_MEMBER(vl::workflow::WfModuleUsingWildCardFragment) - CLASS_MEMBER_BASE(vl::workflow::WfModuleUsingFragment) + BEGIN_CLASS_MEMBER(vl::workflow::WfModuleUsingWildCardFragment) + CLASS_MEMBER_BASE(vl::workflow::WfModuleUsingFragment) - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - - END_CLASS_MEMBER(vl::workflow::WfModuleUsingWildCardFragment) - - BEGIN_CLASS_MEMBER(vl::workflow::WfModuleUsingItem) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - - CLASS_MEMBER_FIELD(fragments) - END_CLASS_MEMBER(vl::workflow::WfModuleUsingItem) - - BEGIN_CLASS_MEMBER(vl::workflow::WfModuleUsingPath) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - - CLASS_MEMBER_FIELD(items) - END_CLASS_MEMBER(vl::workflow::WfModuleUsingPath) - - BEGIN_ENUM_ITEM(vl::workflow::WfModuleType) - ENUM_ITEM_NAMESPACE(vl::workflow::WfModuleType) - ENUM_NAMESPACE_ITEM(Module) - ENUM_NAMESPACE_ITEM(Unit) - END_ENUM_ITEM(vl::workflow::WfModuleType) - - BEGIN_CLASS_MEMBER(vl::workflow::WfModule) - CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) - - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - - CLASS_MEMBER_FIELD(moduleType) - CLASS_MEMBER_FIELD(name) - CLASS_MEMBER_FIELD(paths) - CLASS_MEMBER_FIELD(declarations) - END_CLASS_MEMBER(vl::workflow::WfModule) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfType::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfPredefinedType* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfTopQualifiedType* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfReferenceType* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfRawPointerType* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfSharedPointerType* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfNullableType* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfEnumerableType* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfMapType* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfObservableListType* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfFunctionType* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfChildType* node)) - END_INTERFACE_MEMBER(vl::workflow::WfType) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfExpression::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfThisExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfTopQualifiedExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfReferenceExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfOrderedNameExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfOrderedLambdaExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfMemberExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfChildExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfLiteralExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfFloatingExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfIntegerExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfStringExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfUnaryExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfBinaryExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfLetExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfIfExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfRangeExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfSetTestingExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfConstructorExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfInferExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfTypeCastingExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfTypeTestingExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfTypeOfTypeExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfTypeOfExpressionExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfAttachEventExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfDetachEventExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfObserveExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfCallExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfFunctionExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfNewClassExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfNewInterfaceExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfVirtualCfeExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfVirtualCseExpression* node)) - END_INTERFACE_MEMBER(vl::workflow::WfExpression) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfStatement::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfBreakStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfContinueStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfReturnStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfDeleteStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfRaiseExceptionStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfIfStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfWhileStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfTryStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfBlockStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfGotoStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfVariableStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfExpressionStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfVirtualCseStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfCoroutineStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfStateMachineStatement* node)) - END_INTERFACE_MEMBER(vl::workflow::WfStatement) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfDeclaration::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfNamespaceDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfFunctionDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfVariableDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfEventDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfPropertyDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfConstructorDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfDestructorDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfClassDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfEnumDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfStructDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfVirtualCfeDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfVirtualCseDeclaration* node)) - END_INTERFACE_MEMBER(vl::workflow::WfDeclaration) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfVirtualCfeDeclaration::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCfeDeclaration::IVisitor::*)(vl::workflow::WfAutoPropertyDeclaration* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCfeDeclaration::IVisitor::*)(vl::workflow::WfCastResultInterfaceDeclaration* node)) - END_INTERFACE_MEMBER(vl::workflow::WfVirtualCfeDeclaration) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfVirtualCseDeclaration::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseDeclaration::IVisitor::*)(vl::workflow::WfStateMachineDeclaration* node)) - END_INTERFACE_MEMBER(vl::workflow::WfVirtualCseDeclaration) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfVirtualCseStatement::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseStatement::IVisitor::*)(vl::workflow::WfForEachStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseStatement::IVisitor::*)(vl::workflow::WfSwitchStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseStatement::IVisitor::*)(vl::workflow::WfCoProviderStatement* node)) - END_INTERFACE_MEMBER(vl::workflow::WfVirtualCseStatement) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfCoroutineStatement::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfCoroutineStatement::IVisitor::*)(vl::workflow::WfCoPauseStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfCoroutineStatement::IVisitor::*)(vl::workflow::WfCoOperatorStatement* node)) - END_INTERFACE_MEMBER(vl::workflow::WfCoroutineStatement) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfStateMachineStatement::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStateMachineStatement::IVisitor::*)(vl::workflow::WfStateSwitchStatement* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStateMachineStatement::IVisitor::*)(vl::workflow::WfStateInvokeStatement* node)) - END_INTERFACE_MEMBER(vl::workflow::WfStateMachineStatement) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfVirtualCfeExpression::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCfeExpression::IVisitor::*)(vl::workflow::WfFormatExpression* node)) - END_INTERFACE_MEMBER(vl::workflow::WfVirtualCfeExpression) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfVirtualCseExpression::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseExpression::IVisitor::*)(vl::workflow::WfBindExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseExpression::IVisitor::*)(vl::workflow::WfNewCoroutineExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseExpression::IVisitor::*)(vl::workflow::WfMixinCastExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseExpression::IVisitor::*)(vl::workflow::WfExpectedTypeCastExpression* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseExpression::IVisitor::*)(vl::workflow::WfCoOperatorExpression* node)) - END_INTERFACE_MEMBER(vl::workflow::WfVirtualCseExpression) - - BEGIN_INTERFACE_MEMBER(vl::workflow::WfModuleUsingFragment::IVisitor) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfModuleUsingFragment::IVisitor::*)(vl::workflow::WfModuleUsingNameFragment* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfModuleUsingFragment::IVisitor::*)(vl::workflow::WfModuleUsingWildCardFragment* node)) - END_INTERFACE_MEMBER(vl::workflow::WfModuleUsingFragment) + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + END_CLASS_MEMBER(vl::workflow::WfModuleUsingWildCardFragment) + + BEGIN_CLASS_MEMBER(vl::workflow::WfModuleUsingItem) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(fragments) + END_CLASS_MEMBER(vl::workflow::WfModuleUsingItem) + + BEGIN_CLASS_MEMBER(vl::workflow::WfModuleUsingPath) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(items) + END_CLASS_MEMBER(vl::workflow::WfModuleUsingPath) + + BEGIN_ENUM_ITEM(vl::workflow::WfModuleType) + ENUM_ITEM_NAMESPACE(vl::workflow::WfModuleType) + ENUM_NAMESPACE_ITEM(Module) + ENUM_NAMESPACE_ITEM(Unit) + END_ENUM_ITEM(vl::workflow::WfModuleType) + + BEGIN_CLASS_MEMBER(vl::workflow::WfModule) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(moduleType) + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(paths) + CLASS_MEMBER_FIELD(declarations) + END_CLASS_MEMBER(vl::workflow::WfModule) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfType::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfPredefinedType* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfTopQualifiedType* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfReferenceType* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfRawPointerType* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfSharedPointerType* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfNullableType* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfEnumerableType* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfMapType* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfObservableListType* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfFunctionType* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfType::IVisitor::*)(vl::workflow::WfChildType* node)) + END_INTERFACE_MEMBER(vl::workflow::WfType) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfExpression::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfThisExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfTopQualifiedExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfReferenceExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfOrderedNameExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfOrderedLambdaExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfMemberExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfChildExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfLiteralExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfFloatingExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfIntegerExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfStringExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfUnaryExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfBinaryExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfLetExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfIfExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfRangeExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfSetTestingExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfConstructorExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfInferExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfTypeCastingExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfTypeTestingExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfTypeOfTypeExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfTypeOfExpressionExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfAttachEventExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfDetachEventExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfObserveExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfCallExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfFunctionExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfNewClassExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfNewInterfaceExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfVirtualCfeExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfExpression::IVisitor::*)(vl::workflow::WfVirtualCseExpression* node)) + END_INTERFACE_MEMBER(vl::workflow::WfExpression) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfStatement::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfBreakStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfContinueStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfReturnStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfDeleteStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfRaiseExceptionStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfIfStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfWhileStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfTryStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfBlockStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfGotoStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfVariableStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfExpressionStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfVirtualCseStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfCoroutineStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStatement::IVisitor::*)(vl::workflow::WfStateMachineStatement* node)) + END_INTERFACE_MEMBER(vl::workflow::WfStatement) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfDeclaration::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfNamespaceDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfFunctionDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfVariableDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfEventDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfPropertyDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfConstructorDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfDestructorDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfClassDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfEnumDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfStructDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfVirtualCfeDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfDeclaration::IVisitor::*)(vl::workflow::WfVirtualCseDeclaration* node)) + END_INTERFACE_MEMBER(vl::workflow::WfDeclaration) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfVirtualCfeDeclaration::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCfeDeclaration::IVisitor::*)(vl::workflow::WfAutoPropertyDeclaration* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCfeDeclaration::IVisitor::*)(vl::workflow::WfCastResultInterfaceDeclaration* node)) + END_INTERFACE_MEMBER(vl::workflow::WfVirtualCfeDeclaration) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfVirtualCseDeclaration::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseDeclaration::IVisitor::*)(vl::workflow::WfStateMachineDeclaration* node)) + END_INTERFACE_MEMBER(vl::workflow::WfVirtualCseDeclaration) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfVirtualCseStatement::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseStatement::IVisitor::*)(vl::workflow::WfForEachStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseStatement::IVisitor::*)(vl::workflow::WfSwitchStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseStatement::IVisitor::*)(vl::workflow::WfCoProviderStatement* node)) + END_INTERFACE_MEMBER(vl::workflow::WfVirtualCseStatement) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfCoroutineStatement::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfCoroutineStatement::IVisitor::*)(vl::workflow::WfCoPauseStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfCoroutineStatement::IVisitor::*)(vl::workflow::WfCoOperatorStatement* node)) + END_INTERFACE_MEMBER(vl::workflow::WfCoroutineStatement) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfStateMachineStatement::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStateMachineStatement::IVisitor::*)(vl::workflow::WfStateSwitchStatement* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfStateMachineStatement::IVisitor::*)(vl::workflow::WfStateInvokeStatement* node)) + END_INTERFACE_MEMBER(vl::workflow::WfStateMachineStatement) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfVirtualCfeExpression::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCfeExpression::IVisitor::*)(vl::workflow::WfFormatExpression* node)) + END_INTERFACE_MEMBER(vl::workflow::WfVirtualCfeExpression) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfVirtualCseExpression::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseExpression::IVisitor::*)(vl::workflow::WfBindExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseExpression::IVisitor::*)(vl::workflow::WfNewCoroutineExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseExpression::IVisitor::*)(vl::workflow::WfMixinCastExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseExpression::IVisitor::*)(vl::workflow::WfExpectedTypeCastExpression* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfVirtualCseExpression::IVisitor::*)(vl::workflow::WfCoOperatorExpression* node)) + END_INTERFACE_MEMBER(vl::workflow::WfVirtualCseExpression) + + BEGIN_INTERFACE_MEMBER(vl::workflow::WfModuleUsingFragment::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfModuleUsingFragment::IVisitor::*)(vl::workflow::WfModuleUsingNameFragment* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::workflow::WfModuleUsingFragment::IVisitor::*)(vl::workflow::WfModuleUsingWildCardFragment* node)) + END_INTERFACE_MEMBER(vl::workflow::WfModuleUsingFragment) #endif #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - class WorkflowAstTypeLoader : public vl::Object, public ITypeLoader - { - public: - void Load(ITypeManager* manager) - { - ADD_TYPE_INFO(vl::workflow::WfType) - ADD_TYPE_INFO(vl::workflow::WfType::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfExpression) - ADD_TYPE_INFO(vl::workflow::WfExpression::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfStatement) - ADD_TYPE_INFO(vl::workflow::WfStatement::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfAttribute) - ADD_TYPE_INFO(vl::workflow::WfDeclaration) - ADD_TYPE_INFO(vl::workflow::WfDeclaration::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfFunctionKind) - ADD_TYPE_INFO(vl::workflow::WfPredefinedTypeName) - ADD_TYPE_INFO(vl::workflow::WfPredefinedType) - ADD_TYPE_INFO(vl::workflow::WfTopQualifiedType) - ADD_TYPE_INFO(vl::workflow::WfReferenceType) - ADD_TYPE_INFO(vl::workflow::WfRawPointerType) - ADD_TYPE_INFO(vl::workflow::WfSharedPointerType) - ADD_TYPE_INFO(vl::workflow::WfNullableType) - ADD_TYPE_INFO(vl::workflow::WfEnumerableType) - ADD_TYPE_INFO(vl::workflow::WfMapWritability) - ADD_TYPE_INFO(vl::workflow::WfMapType) - ADD_TYPE_INFO(vl::workflow::WfObservableListType) - ADD_TYPE_INFO(vl::workflow::WfFunctionType) - ADD_TYPE_INFO(vl::workflow::WfChildType) - ADD_TYPE_INFO(vl::workflow::WfNamespaceDeclaration) - ADD_TYPE_INFO(vl::workflow::WfFunctionArgument) - ADD_TYPE_INFO(vl::workflow::WfFunctionAnonymity) - ADD_TYPE_INFO(vl::workflow::WfFunctionDeclaration) - ADD_TYPE_INFO(vl::workflow::WfVariableDeclaration) - ADD_TYPE_INFO(vl::workflow::WfEventDeclaration) - ADD_TYPE_INFO(vl::workflow::WfPropertyDeclaration) - ADD_TYPE_INFO(vl::workflow::WfClassKind) - ADD_TYPE_INFO(vl::workflow::WfConstructorType) - ADD_TYPE_INFO(vl::workflow::WfBaseConstructorCall) - ADD_TYPE_INFO(vl::workflow::WfConstructorDeclaration) - ADD_TYPE_INFO(vl::workflow::WfDestructorDeclaration) - ADD_TYPE_INFO(vl::workflow::WfClassDeclaration) - ADD_TYPE_INFO(vl::workflow::WfEnumKind) - ADD_TYPE_INFO(vl::workflow::WfEnumItemKind) - ADD_TYPE_INFO(vl::workflow::WfEnumItemIntersection) - ADD_TYPE_INFO(vl::workflow::WfEnumItem) - ADD_TYPE_INFO(vl::workflow::WfEnumDeclaration) - ADD_TYPE_INFO(vl::workflow::WfStructMember) - ADD_TYPE_INFO(vl::workflow::WfStructDeclaration) - ADD_TYPE_INFO(vl::workflow::WfVirtualCfeDeclaration) - ADD_TYPE_INFO(vl::workflow::WfVirtualCfeDeclaration::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfAPConst) - ADD_TYPE_INFO(vl::workflow::WfAPObserve) - ADD_TYPE_INFO(vl::workflow::WfAutoPropertyDeclaration) - ADD_TYPE_INFO(vl::workflow::WfCastResultInterfaceDeclaration) - ADD_TYPE_INFO(vl::workflow::WfVirtualCseDeclaration) - ADD_TYPE_INFO(vl::workflow::WfVirtualCseDeclaration::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfStateInput) - ADD_TYPE_INFO(vl::workflow::WfStateDeclaration) - ADD_TYPE_INFO(vl::workflow::WfStateMachineDeclaration) - ADD_TYPE_INFO(vl::workflow::WfBreakStatement) - ADD_TYPE_INFO(vl::workflow::WfContinueStatement) - ADD_TYPE_INFO(vl::workflow::WfReturnStatement) - ADD_TYPE_INFO(vl::workflow::WfDeleteStatement) - ADD_TYPE_INFO(vl::workflow::WfRaiseExceptionStatement) - ADD_TYPE_INFO(vl::workflow::WfIfStatement) - ADD_TYPE_INFO(vl::workflow::WfWhileStatement) - ADD_TYPE_INFO(vl::workflow::WfTryStatement) - ADD_TYPE_INFO(vl::workflow::WfBlockStatement) - ADD_TYPE_INFO(vl::workflow::WfGotoStatement) - ADD_TYPE_INFO(vl::workflow::WfVariableStatement) - ADD_TYPE_INFO(vl::workflow::WfExpressionStatement) - ADD_TYPE_INFO(vl::workflow::WfVirtualCseStatement) - ADD_TYPE_INFO(vl::workflow::WfVirtualCseStatement::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfForEachDirection) - ADD_TYPE_INFO(vl::workflow::WfForEachStatement) - ADD_TYPE_INFO(vl::workflow::WfSwitchCase) - ADD_TYPE_INFO(vl::workflow::WfSwitchStatement) - ADD_TYPE_INFO(vl::workflow::WfCoProviderStatement) - ADD_TYPE_INFO(vl::workflow::WfCoroutineStatement) - ADD_TYPE_INFO(vl::workflow::WfCoroutineStatement::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfCoPauseStatement) - ADD_TYPE_INFO(vl::workflow::WfCoOperatorStatement) - ADD_TYPE_INFO(vl::workflow::WfStateSwitchType) - ADD_TYPE_INFO(vl::workflow::WfStateInvokeType) - ADD_TYPE_INFO(vl::workflow::WfStateMachineStatement) - ADD_TYPE_INFO(vl::workflow::WfStateMachineStatement::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfStateSwitchArgument) - ADD_TYPE_INFO(vl::workflow::WfStateSwitchCase) - ADD_TYPE_INFO(vl::workflow::WfStateSwitchStatement) - ADD_TYPE_INFO(vl::workflow::WfStateInvokeStatement) - ADD_TYPE_INFO(vl::workflow::WfThisExpression) - ADD_TYPE_INFO(vl::workflow::WfTopQualifiedExpression) - ADD_TYPE_INFO(vl::workflow::WfReferenceExpression) - ADD_TYPE_INFO(vl::workflow::WfOrderedNameExpression) - ADD_TYPE_INFO(vl::workflow::WfOrderedLambdaExpression) - ADD_TYPE_INFO(vl::workflow::WfMemberExpression) - ADD_TYPE_INFO(vl::workflow::WfChildExpression) - ADD_TYPE_INFO(vl::workflow::WfLiteralValue) - ADD_TYPE_INFO(vl::workflow::WfLiteralExpression) - ADD_TYPE_INFO(vl::workflow::WfFloatingExpression) - ADD_TYPE_INFO(vl::workflow::WfIntegerExpression) - ADD_TYPE_INFO(vl::workflow::WfStringExpression) - ADD_TYPE_INFO(vl::workflow::WfUnaryOperator) - ADD_TYPE_INFO(vl::workflow::WfUnaryExpression) - ADD_TYPE_INFO(vl::workflow::WfBinaryOperator) - ADD_TYPE_INFO(vl::workflow::WfBinaryExpression) - ADD_TYPE_INFO(vl::workflow::WfLetVariable) - ADD_TYPE_INFO(vl::workflow::WfLetExpression) - ADD_TYPE_INFO(vl::workflow::WfIfExpression) - ADD_TYPE_INFO(vl::workflow::WfRangeBoundary) - ADD_TYPE_INFO(vl::workflow::WfRangeExpression) - ADD_TYPE_INFO(vl::workflow::WfSetTesting) - ADD_TYPE_INFO(vl::workflow::WfSetTestingExpression) - ADD_TYPE_INFO(vl::workflow::WfConstructorArgument) - ADD_TYPE_INFO(vl::workflow::WfConstructorExpression) - ADD_TYPE_INFO(vl::workflow::WfInferExpression) - ADD_TYPE_INFO(vl::workflow::WfTypeCastingStrategy) - ADD_TYPE_INFO(vl::workflow::WfTypeCastingExpression) - ADD_TYPE_INFO(vl::workflow::WfTypeTesting) - ADD_TYPE_INFO(vl::workflow::WfTypeTestingExpression) - ADD_TYPE_INFO(vl::workflow::WfTypeOfTypeExpression) - ADD_TYPE_INFO(vl::workflow::WfTypeOfExpressionExpression) - ADD_TYPE_INFO(vl::workflow::WfAttachEventExpression) - ADD_TYPE_INFO(vl::workflow::WfDetachEventExpression) - ADD_TYPE_INFO(vl::workflow::WfObserveType) - ADD_TYPE_INFO(vl::workflow::WfObserveExpression) - ADD_TYPE_INFO(vl::workflow::WfCallExpression) - ADD_TYPE_INFO(vl::workflow::WfFunctionExpression) - ADD_TYPE_INFO(vl::workflow::WfNewClassExpression) - ADD_TYPE_INFO(vl::workflow::WfNewInterfaceExpression) - ADD_TYPE_INFO(vl::workflow::WfVirtualCfeExpression) - ADD_TYPE_INFO(vl::workflow::WfVirtualCfeExpression::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfFormatExpression) - ADD_TYPE_INFO(vl::workflow::WfVirtualCseExpression) - ADD_TYPE_INFO(vl::workflow::WfVirtualCseExpression::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfBindExpression) - ADD_TYPE_INFO(vl::workflow::WfNewCoroutineExpression) - ADD_TYPE_INFO(vl::workflow::WfMixinCastExpression) - ADD_TYPE_INFO(vl::workflow::WfExpectedTypeCastExpression) - ADD_TYPE_INFO(vl::workflow::WfCoOperatorExpression) - ADD_TYPE_INFO(vl::workflow::WfModuleUsingFragment) - ADD_TYPE_INFO(vl::workflow::WfModuleUsingFragment::IVisitor) - ADD_TYPE_INFO(vl::workflow::WfModuleUsingNameFragment) - ADD_TYPE_INFO(vl::workflow::WfModuleUsingWildCardFragment) - ADD_TYPE_INFO(vl::workflow::WfModuleUsingItem) - ADD_TYPE_INFO(vl::workflow::WfModuleUsingPath) - ADD_TYPE_INFO(vl::workflow::WfModuleType) - ADD_TYPE_INFO(vl::workflow::WfModule) - } - - void Unload(ITypeManager* manager) - { - } - }; -#endif -#endif - - bool WorkflowAstLoadTypes() - { -#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - if (auto manager = GetGlobalTypeManager()) - { - auto loader = Ptr(new WorkflowAstTypeLoader); - return manager->AddTypeLoader(loader); - } -#endif - return false; - } + class WorkflowAstTypeLoader : public vl::Object, public ITypeLoader + { + public: + void Load(ITypeManager* manager) + { + ADD_TYPE_INFO(vl::workflow::WfType) + ADD_TYPE_INFO(vl::workflow::WfType::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfExpression) + ADD_TYPE_INFO(vl::workflow::WfExpression::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfStatement) + ADD_TYPE_INFO(vl::workflow::WfStatement::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfAttribute) + ADD_TYPE_INFO(vl::workflow::WfDeclaration) + ADD_TYPE_INFO(vl::workflow::WfDeclaration::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfFunctionKind) + ADD_TYPE_INFO(vl::workflow::WfPredefinedTypeName) + ADD_TYPE_INFO(vl::workflow::WfPredefinedType) + ADD_TYPE_INFO(vl::workflow::WfTopQualifiedType) + ADD_TYPE_INFO(vl::workflow::WfReferenceType) + ADD_TYPE_INFO(vl::workflow::WfRawPointerType) + ADD_TYPE_INFO(vl::workflow::WfSharedPointerType) + ADD_TYPE_INFO(vl::workflow::WfNullableType) + ADD_TYPE_INFO(vl::workflow::WfEnumerableType) + ADD_TYPE_INFO(vl::workflow::WfMapWritability) + ADD_TYPE_INFO(vl::workflow::WfMapType) + ADD_TYPE_INFO(vl::workflow::WfObservableListType) + ADD_TYPE_INFO(vl::workflow::WfFunctionType) + ADD_TYPE_INFO(vl::workflow::WfChildType) + ADD_TYPE_INFO(vl::workflow::WfNamespaceDeclaration) + ADD_TYPE_INFO(vl::workflow::WfFunctionArgument) + ADD_TYPE_INFO(vl::workflow::WfFunctionAnonymity) + ADD_TYPE_INFO(vl::workflow::WfFunctionDeclaration) + ADD_TYPE_INFO(vl::workflow::WfVariableDeclaration) + ADD_TYPE_INFO(vl::workflow::WfEventDeclaration) + ADD_TYPE_INFO(vl::workflow::WfPropertyDeclaration) + ADD_TYPE_INFO(vl::workflow::WfClassKind) + ADD_TYPE_INFO(vl::workflow::WfConstructorType) + ADD_TYPE_INFO(vl::workflow::WfBaseConstructorCall) + ADD_TYPE_INFO(vl::workflow::WfConstructorDeclaration) + ADD_TYPE_INFO(vl::workflow::WfDestructorDeclaration) + ADD_TYPE_INFO(vl::workflow::WfClassDeclaration) + ADD_TYPE_INFO(vl::workflow::WfEnumKind) + ADD_TYPE_INFO(vl::workflow::WfEnumItemKind) + ADD_TYPE_INFO(vl::workflow::WfEnumItemIntersection) + ADD_TYPE_INFO(vl::workflow::WfEnumItem) + ADD_TYPE_INFO(vl::workflow::WfEnumDeclaration) + ADD_TYPE_INFO(vl::workflow::WfStructMember) + ADD_TYPE_INFO(vl::workflow::WfStructDeclaration) + ADD_TYPE_INFO(vl::workflow::WfVirtualCfeDeclaration) + ADD_TYPE_INFO(vl::workflow::WfVirtualCfeDeclaration::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfAPConst) + ADD_TYPE_INFO(vl::workflow::WfAPObserve) + ADD_TYPE_INFO(vl::workflow::WfAutoPropertyDeclaration) + ADD_TYPE_INFO(vl::workflow::WfCastResultInterfaceDeclaration) + ADD_TYPE_INFO(vl::workflow::WfVirtualCseDeclaration) + ADD_TYPE_INFO(vl::workflow::WfVirtualCseDeclaration::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfStateInput) + ADD_TYPE_INFO(vl::workflow::WfStateDeclaration) + ADD_TYPE_INFO(vl::workflow::WfStateMachineDeclaration) + ADD_TYPE_INFO(vl::workflow::WfBreakStatement) + ADD_TYPE_INFO(vl::workflow::WfContinueStatement) + ADD_TYPE_INFO(vl::workflow::WfReturnStatement) + ADD_TYPE_INFO(vl::workflow::WfDeleteStatement) + ADD_TYPE_INFO(vl::workflow::WfRaiseExceptionStatement) + ADD_TYPE_INFO(vl::workflow::WfIfStatement) + ADD_TYPE_INFO(vl::workflow::WfWhileStatement) + ADD_TYPE_INFO(vl::workflow::WfTryStatement) + ADD_TYPE_INFO(vl::workflow::WfBlockStatement) + ADD_TYPE_INFO(vl::workflow::WfGotoStatement) + ADD_TYPE_INFO(vl::workflow::WfVariableStatement) + ADD_TYPE_INFO(vl::workflow::WfExpressionStatement) + ADD_TYPE_INFO(vl::workflow::WfVirtualCseStatement) + ADD_TYPE_INFO(vl::workflow::WfVirtualCseStatement::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfForEachDirection) + ADD_TYPE_INFO(vl::workflow::WfForEachStatement) + ADD_TYPE_INFO(vl::workflow::WfSwitchCase) + ADD_TYPE_INFO(vl::workflow::WfSwitchStatement) + ADD_TYPE_INFO(vl::workflow::WfCoProviderStatement) + ADD_TYPE_INFO(vl::workflow::WfCoroutineStatement) + ADD_TYPE_INFO(vl::workflow::WfCoroutineStatement::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfCoPauseStatement) + ADD_TYPE_INFO(vl::workflow::WfCoOperatorStatement) + ADD_TYPE_INFO(vl::workflow::WfStateSwitchType) + ADD_TYPE_INFO(vl::workflow::WfStateInvokeType) + ADD_TYPE_INFO(vl::workflow::WfStateMachineStatement) + ADD_TYPE_INFO(vl::workflow::WfStateMachineStatement::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfStateSwitchArgument) + ADD_TYPE_INFO(vl::workflow::WfStateSwitchCase) + ADD_TYPE_INFO(vl::workflow::WfStateSwitchStatement) + ADD_TYPE_INFO(vl::workflow::WfStateInvokeStatement) + ADD_TYPE_INFO(vl::workflow::WfThisExpression) + ADD_TYPE_INFO(vl::workflow::WfTopQualifiedExpression) + ADD_TYPE_INFO(vl::workflow::WfReferenceExpression) + ADD_TYPE_INFO(vl::workflow::WfOrderedNameExpression) + ADD_TYPE_INFO(vl::workflow::WfOrderedLambdaExpression) + ADD_TYPE_INFO(vl::workflow::WfMemberExpression) + ADD_TYPE_INFO(vl::workflow::WfChildExpression) + ADD_TYPE_INFO(vl::workflow::WfLiteralValue) + ADD_TYPE_INFO(vl::workflow::WfLiteralExpression) + ADD_TYPE_INFO(vl::workflow::WfFloatingExpression) + ADD_TYPE_INFO(vl::workflow::WfIntegerExpression) + ADD_TYPE_INFO(vl::workflow::WfStringExpression) + ADD_TYPE_INFO(vl::workflow::WfUnaryOperator) + ADD_TYPE_INFO(vl::workflow::WfUnaryExpression) + ADD_TYPE_INFO(vl::workflow::WfBinaryOperator) + ADD_TYPE_INFO(vl::workflow::WfBinaryExpression) + ADD_TYPE_INFO(vl::workflow::WfLetVariable) + ADD_TYPE_INFO(vl::workflow::WfLetExpression) + ADD_TYPE_INFO(vl::workflow::WfIfExpression) + ADD_TYPE_INFO(vl::workflow::WfRangeBoundary) + ADD_TYPE_INFO(vl::workflow::WfRangeExpression) + ADD_TYPE_INFO(vl::workflow::WfSetTesting) + ADD_TYPE_INFO(vl::workflow::WfSetTestingExpression) + ADD_TYPE_INFO(vl::workflow::WfConstructorArgument) + ADD_TYPE_INFO(vl::workflow::WfConstructorExpression) + ADD_TYPE_INFO(vl::workflow::WfInferExpression) + ADD_TYPE_INFO(vl::workflow::WfTypeCastingStrategy) + ADD_TYPE_INFO(vl::workflow::WfTypeCastingExpression) + ADD_TYPE_INFO(vl::workflow::WfTypeTesting) + ADD_TYPE_INFO(vl::workflow::WfTypeTestingExpression) + ADD_TYPE_INFO(vl::workflow::WfTypeOfTypeExpression) + ADD_TYPE_INFO(vl::workflow::WfTypeOfExpressionExpression) + ADD_TYPE_INFO(vl::workflow::WfAttachEventExpression) + ADD_TYPE_INFO(vl::workflow::WfDetachEventExpression) + ADD_TYPE_INFO(vl::workflow::WfObserveType) + ADD_TYPE_INFO(vl::workflow::WfObserveExpression) + ADD_TYPE_INFO(vl::workflow::WfCallExpression) + ADD_TYPE_INFO(vl::workflow::WfFunctionExpression) + ADD_TYPE_INFO(vl::workflow::WfNewClassExpression) + ADD_TYPE_INFO(vl::workflow::WfNewInterfaceExpression) + ADD_TYPE_INFO(vl::workflow::WfVirtualCfeExpression) + ADD_TYPE_INFO(vl::workflow::WfVirtualCfeExpression::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfFormatExpression) + ADD_TYPE_INFO(vl::workflow::WfVirtualCseExpression) + ADD_TYPE_INFO(vl::workflow::WfVirtualCseExpression::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfBindExpression) + ADD_TYPE_INFO(vl::workflow::WfNewCoroutineExpression) + ADD_TYPE_INFO(vl::workflow::WfMixinCastExpression) + ADD_TYPE_INFO(vl::workflow::WfExpectedTypeCastExpression) + ADD_TYPE_INFO(vl::workflow::WfCoOperatorExpression) + ADD_TYPE_INFO(vl::workflow::WfModuleUsingFragment) + ADD_TYPE_INFO(vl::workflow::WfModuleUsingFragment::IVisitor) + ADD_TYPE_INFO(vl::workflow::WfModuleUsingNameFragment) + ADD_TYPE_INFO(vl::workflow::WfModuleUsingWildCardFragment) + ADD_TYPE_INFO(vl::workflow::WfModuleUsingItem) + ADD_TYPE_INFO(vl::workflow::WfModuleUsingPath) + ADD_TYPE_INFO(vl::workflow::WfModuleType) + ADD_TYPE_INFO(vl::workflow::WfModule) } + + void Unload(ITypeManager* manager) + { + } + }; +#endif +#endif + + bool WorkflowAstLoadTypes() + { +#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + if (auto manager = GetGlobalTypeManager()) + { + auto loader = Ptr(new WorkflowAstTypeLoader); + return manager->AddTypeLoader(loader); + } +#endif + return false; } } @@ -30973,1843 +30962,1837 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::workflow::builder { - namespace workflow - { - namespace builder - { /*********************************************************************** MakeAttachEventExpression ***********************************************************************/ - MakeAttachEventExpression& MakeAttachEventExpression::event(const vl::Ptr& value) - { - node->event = value; - return *this; - } + MakeAttachEventExpression& MakeAttachEventExpression::event(const vl::Ptr& value) + { + node->event = value; + return *this; + } - MakeAttachEventExpression& MakeAttachEventExpression::function(const vl::Ptr& value) - { - node->function = value; - return *this; - } + MakeAttachEventExpression& MakeAttachEventExpression::function(const vl::Ptr& value) + { + node->function = value; + return *this; + } /*********************************************************************** MakeAttribute ***********************************************************************/ - MakeAttribute& MakeAttribute::category(const vl::WString& value) - { - node->category.value = value; - return *this; - } + MakeAttribute& MakeAttribute::category(const vl::WString& value) + { + node->category.value = value; + return *this; + } - MakeAttribute& MakeAttribute::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeAttribute& MakeAttribute::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeAttribute& MakeAttribute::value(const vl::Ptr& value) - { - node->value = value; - return *this; - } + MakeAttribute& MakeAttribute::value(const vl::Ptr& value) + { + node->value = value; + return *this; + } /*********************************************************************** MakeAutoPropertyDeclaration ***********************************************************************/ - MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::configConst(WfAPConst value) - { - node->configConst = value; - return *this; - } + MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::configConst(WfAPConst value) + { + node->configConst = value; + return *this; + } - MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::configObserve(WfAPObserve value) - { - node->configObserve = value; - return *this; - } + MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::configObserve(WfAPObserve value) + { + node->configObserve = value; + return *this; + } - MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::functionKind(WfFunctionKind value) - { - node->functionKind = value; - return *this; - } + MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::functionKind(WfFunctionKind value) + { + node->functionKind = value; + return *this; + } - MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } - MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::expandedDeclarations(const vl::Ptr& value) - { - node->expandedDeclarations.Add(value); - return *this; - } + MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::expandedDeclarations(const vl::Ptr& value) + { + node->expandedDeclarations.Add(value); + return *this; + } - MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeAutoPropertyDeclaration& MakeAutoPropertyDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeBaseConstructorCall ***********************************************************************/ - MakeBaseConstructorCall& MakeBaseConstructorCall::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeBaseConstructorCall& MakeBaseConstructorCall::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeBaseConstructorCall& MakeBaseConstructorCall::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeBaseConstructorCall& MakeBaseConstructorCall::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeBinaryExpression ***********************************************************************/ - MakeBinaryExpression& MakeBinaryExpression::first(const vl::Ptr& value) - { - node->first = value; - return *this; - } + MakeBinaryExpression& MakeBinaryExpression::first(const vl::Ptr& value) + { + node->first = value; + return *this; + } - MakeBinaryExpression& MakeBinaryExpression::op(WfBinaryOperator value) - { - node->op = value; - return *this; - } + MakeBinaryExpression& MakeBinaryExpression::op(WfBinaryOperator value) + { + node->op = value; + return *this; + } - MakeBinaryExpression& MakeBinaryExpression::second(const vl::Ptr& value) - { - node->second = value; - return *this; - } + MakeBinaryExpression& MakeBinaryExpression::second(const vl::Ptr& value) + { + node->second = value; + return *this; + } /*********************************************************************** MakeBindExpression ***********************************************************************/ - MakeBindExpression& MakeBindExpression::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeBindExpression& MakeBindExpression::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeBindExpression& MakeBindExpression::expandedExpression(const vl::Ptr& value) - { - node->expandedExpression = value; - return *this; - } + MakeBindExpression& MakeBindExpression::expandedExpression(const vl::Ptr& value) + { + node->expandedExpression = value; + return *this; + } /*********************************************************************** MakeBlockStatement ***********************************************************************/ - MakeBlockStatement& MakeBlockStatement::endLabel(const vl::WString& value) - { - node->endLabel.value = value; - return *this; - } + MakeBlockStatement& MakeBlockStatement::endLabel(const vl::WString& value) + { + node->endLabel.value = value; + return *this; + } - MakeBlockStatement& MakeBlockStatement::statements(const vl::Ptr& value) - { - node->statements.Add(value); - return *this; - } + MakeBlockStatement& MakeBlockStatement::statements(const vl::Ptr& value) + { + node->statements.Add(value); + return *this; + } /*********************************************************************** MakeCallExpression ***********************************************************************/ - MakeCallExpression& MakeCallExpression::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeCallExpression& MakeCallExpression::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeCallExpression& MakeCallExpression::function(const vl::Ptr& value) - { - node->function = value; - return *this; - } + MakeCallExpression& MakeCallExpression::function(const vl::Ptr& value) + { + node->function = value; + return *this; + } /*********************************************************************** MakeCastResultInterfaceDeclaration ***********************************************************************/ - MakeCastResultInterfaceDeclaration& MakeCastResultInterfaceDeclaration::baseType(const vl::Ptr& value) - { - node->baseType = value; - return *this; - } + MakeCastResultInterfaceDeclaration& MakeCastResultInterfaceDeclaration::baseType(const vl::Ptr& value) + { + node->baseType = value; + return *this; + } - MakeCastResultInterfaceDeclaration& MakeCastResultInterfaceDeclaration::elementType(const vl::Ptr& value) - { - node->elementType = value; - return *this; - } + MakeCastResultInterfaceDeclaration& MakeCastResultInterfaceDeclaration::elementType(const vl::Ptr& value) + { + node->elementType = value; + return *this; + } - MakeCastResultInterfaceDeclaration& MakeCastResultInterfaceDeclaration::expandedDeclarations(const vl::Ptr& value) - { - node->expandedDeclarations.Add(value); - return *this; - } + MakeCastResultInterfaceDeclaration& MakeCastResultInterfaceDeclaration::expandedDeclarations(const vl::Ptr& value) + { + node->expandedDeclarations.Add(value); + return *this; + } - MakeCastResultInterfaceDeclaration& MakeCastResultInterfaceDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeCastResultInterfaceDeclaration& MakeCastResultInterfaceDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeCastResultInterfaceDeclaration& MakeCastResultInterfaceDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeCastResultInterfaceDeclaration& MakeCastResultInterfaceDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeChildExpression ***********************************************************************/ - MakeChildExpression& MakeChildExpression::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeChildExpression& MakeChildExpression::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeChildExpression& MakeChildExpression::parent(const vl::Ptr& value) - { - node->parent = value; - return *this; - } + MakeChildExpression& MakeChildExpression::parent(const vl::Ptr& value) + { + node->parent = value; + return *this; + } /*********************************************************************** MakeChildType ***********************************************************************/ - MakeChildType& MakeChildType::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeChildType& MakeChildType::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeChildType& MakeChildType::parent(const vl::Ptr& value) - { - node->parent = value; - return *this; - } + MakeChildType& MakeChildType::parent(const vl::Ptr& value) + { + node->parent = value; + return *this; + } /*********************************************************************** MakeClassDeclaration ***********************************************************************/ - MakeClassDeclaration& MakeClassDeclaration::baseTypes(const vl::Ptr& value) - { - node->baseTypes.Add(value); - return *this; - } + MakeClassDeclaration& MakeClassDeclaration::baseTypes(const vl::Ptr& value) + { + node->baseTypes.Add(value); + return *this; + } - MakeClassDeclaration& MakeClassDeclaration::constructorType(WfConstructorType value) - { - node->constructorType = value; - return *this; - } + MakeClassDeclaration& MakeClassDeclaration::constructorType(WfConstructorType value) + { + node->constructorType = value; + return *this; + } - MakeClassDeclaration& MakeClassDeclaration::declarations(const vl::Ptr& value) - { - node->declarations.Add(value); - return *this; - } + MakeClassDeclaration& MakeClassDeclaration::declarations(const vl::Ptr& value) + { + node->declarations.Add(value); + return *this; + } - MakeClassDeclaration& MakeClassDeclaration::kind(WfClassKind value) - { - node->kind = value; - return *this; - } + MakeClassDeclaration& MakeClassDeclaration::kind(WfClassKind value) + { + node->kind = value; + return *this; + } - MakeClassDeclaration& MakeClassDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeClassDeclaration& MakeClassDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeClassDeclaration& MakeClassDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeClassDeclaration& MakeClassDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeCoOperatorExpression ***********************************************************************/ - MakeCoOperatorExpression& MakeCoOperatorExpression::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeCoOperatorExpression& MakeCoOperatorExpression::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeCoOperatorExpression& MakeCoOperatorExpression::expandedExpression(const vl::Ptr& value) - { - node->expandedExpression = value; - return *this; - } + MakeCoOperatorExpression& MakeCoOperatorExpression::expandedExpression(const vl::Ptr& value) + { + node->expandedExpression = value; + return *this; + } /*********************************************************************** MakeCoOperatorStatement ***********************************************************************/ - MakeCoOperatorStatement& MakeCoOperatorStatement::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeCoOperatorStatement& MakeCoOperatorStatement::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeCoOperatorStatement& MakeCoOperatorStatement::opName(const vl::WString& value) - { - node->opName.value = value; - return *this; - } + MakeCoOperatorStatement& MakeCoOperatorStatement::opName(const vl::WString& value) + { + node->opName.value = value; + return *this; + } - MakeCoOperatorStatement& MakeCoOperatorStatement::varName(const vl::WString& value) - { - node->varName.value = value; - return *this; - } + MakeCoOperatorStatement& MakeCoOperatorStatement::varName(const vl::WString& value) + { + node->varName.value = value; + return *this; + } /*********************************************************************** MakeCoPauseStatement ***********************************************************************/ - MakeCoPauseStatement& MakeCoPauseStatement::statement(const vl::Ptr& value) - { - node->statement = value; - return *this; - } + MakeCoPauseStatement& MakeCoPauseStatement::statement(const vl::Ptr& value) + { + node->statement = value; + return *this; + } /*********************************************************************** MakeCoProviderStatement ***********************************************************************/ - MakeCoProviderStatement& MakeCoProviderStatement::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeCoProviderStatement& MakeCoProviderStatement::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeCoProviderStatement& MakeCoProviderStatement::statement(const vl::Ptr& value) - { - node->statement = value; - return *this; - } + MakeCoProviderStatement& MakeCoProviderStatement::statement(const vl::Ptr& value) + { + node->statement = value; + return *this; + } - MakeCoProviderStatement& MakeCoProviderStatement::expandedStatement(const vl::Ptr& value) - { - node->expandedStatement = value; - return *this; - } + MakeCoProviderStatement& MakeCoProviderStatement::expandedStatement(const vl::Ptr& value) + { + node->expandedStatement = value; + return *this; + } /*********************************************************************** MakeConstructorArgument ***********************************************************************/ - MakeConstructorArgument& MakeConstructorArgument::key(const vl::Ptr& value) - { - node->key = value; - return *this; - } + MakeConstructorArgument& MakeConstructorArgument::key(const vl::Ptr& value) + { + node->key = value; + return *this; + } - MakeConstructorArgument& MakeConstructorArgument::value(const vl::Ptr& value) - { - node->value = value; - return *this; - } + MakeConstructorArgument& MakeConstructorArgument::value(const vl::Ptr& value) + { + node->value = value; + return *this; + } /*********************************************************************** MakeConstructorDeclaration ***********************************************************************/ - MakeConstructorDeclaration& MakeConstructorDeclaration::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeConstructorDeclaration& MakeConstructorDeclaration::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeConstructorDeclaration& MakeConstructorDeclaration::baseConstructorCalls(const vl::Ptr& value) - { - node->baseConstructorCalls.Add(value); - return *this; - } + MakeConstructorDeclaration& MakeConstructorDeclaration::baseConstructorCalls(const vl::Ptr& value) + { + node->baseConstructorCalls.Add(value); + return *this; + } - MakeConstructorDeclaration& MakeConstructorDeclaration::constructorType(WfConstructorType value) - { - node->constructorType = value; - return *this; - } + MakeConstructorDeclaration& MakeConstructorDeclaration::constructorType(WfConstructorType value) + { + node->constructorType = value; + return *this; + } - MakeConstructorDeclaration& MakeConstructorDeclaration::statement(const vl::Ptr& value) - { - node->statement = value; - return *this; - } + MakeConstructorDeclaration& MakeConstructorDeclaration::statement(const vl::Ptr& value) + { + node->statement = value; + return *this; + } - MakeConstructorDeclaration& MakeConstructorDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeConstructorDeclaration& MakeConstructorDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeConstructorDeclaration& MakeConstructorDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeConstructorDeclaration& MakeConstructorDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeConstructorExpression ***********************************************************************/ - MakeConstructorExpression& MakeConstructorExpression::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeConstructorExpression& MakeConstructorExpression::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } /*********************************************************************** MakeDeclaration ***********************************************************************/ - MakeDeclaration& MakeDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeDeclaration& MakeDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeDeclaration& MakeDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeDeclaration& MakeDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeDeleteStatement ***********************************************************************/ - MakeDeleteStatement& MakeDeleteStatement::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeDeleteStatement& MakeDeleteStatement::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } /*********************************************************************** MakeDestructorDeclaration ***********************************************************************/ - MakeDestructorDeclaration& MakeDestructorDeclaration::statement(const vl::Ptr& value) - { - node->statement = value; - return *this; - } + MakeDestructorDeclaration& MakeDestructorDeclaration::statement(const vl::Ptr& value) + { + node->statement = value; + return *this; + } - MakeDestructorDeclaration& MakeDestructorDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeDestructorDeclaration& MakeDestructorDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeDestructorDeclaration& MakeDestructorDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeDestructorDeclaration& MakeDestructorDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeDetachEventExpression ***********************************************************************/ - MakeDetachEventExpression& MakeDetachEventExpression::event(const vl::Ptr& value) - { - node->event = value; - return *this; - } + MakeDetachEventExpression& MakeDetachEventExpression::event(const vl::Ptr& value) + { + node->event = value; + return *this; + } - MakeDetachEventExpression& MakeDetachEventExpression::handler(const vl::Ptr& value) - { - node->handler = value; - return *this; - } + MakeDetachEventExpression& MakeDetachEventExpression::handler(const vl::Ptr& value) + { + node->handler = value; + return *this; + } /*********************************************************************** MakeEnumDeclaration ***********************************************************************/ - MakeEnumDeclaration& MakeEnumDeclaration::items(const vl::Ptr& value) - { - node->items.Add(value); - return *this; - } + MakeEnumDeclaration& MakeEnumDeclaration::items(const vl::Ptr& value) + { + node->items.Add(value); + return *this; + } - MakeEnumDeclaration& MakeEnumDeclaration::kind(WfEnumKind value) - { - node->kind = value; - return *this; - } + MakeEnumDeclaration& MakeEnumDeclaration::kind(WfEnumKind value) + { + node->kind = value; + return *this; + } - MakeEnumDeclaration& MakeEnumDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeEnumDeclaration& MakeEnumDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeEnumDeclaration& MakeEnumDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeEnumDeclaration& MakeEnumDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeEnumItem ***********************************************************************/ - MakeEnumItem& MakeEnumItem::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeEnumItem& MakeEnumItem::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeEnumItem& MakeEnumItem::intersections(const vl::Ptr& value) - { - node->intersections.Add(value); - return *this; - } + MakeEnumItem& MakeEnumItem::intersections(const vl::Ptr& value) + { + node->intersections.Add(value); + return *this; + } - MakeEnumItem& MakeEnumItem::kind(WfEnumItemKind value) - { - node->kind = value; - return *this; - } + MakeEnumItem& MakeEnumItem::kind(WfEnumItemKind value) + { + node->kind = value; + return *this; + } - MakeEnumItem& MakeEnumItem::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeEnumItem& MakeEnumItem::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeEnumItem& MakeEnumItem::number(const vl::WString& value) - { - node->number.value = value; - return *this; - } + MakeEnumItem& MakeEnumItem::number(const vl::WString& value) + { + node->number.value = value; + return *this; + } /*********************************************************************** MakeEnumItemIntersection ***********************************************************************/ - MakeEnumItemIntersection& MakeEnumItemIntersection::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeEnumItemIntersection& MakeEnumItemIntersection::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeEnumerableType ***********************************************************************/ - MakeEnumerableType& MakeEnumerableType::element(const vl::Ptr& value) - { - node->element = value; - return *this; - } + MakeEnumerableType& MakeEnumerableType::element(const vl::Ptr& value) + { + node->element = value; + return *this; + } /*********************************************************************** MakeEventDeclaration ***********************************************************************/ - MakeEventDeclaration& MakeEventDeclaration::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeEventDeclaration& MakeEventDeclaration::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeEventDeclaration& MakeEventDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeEventDeclaration& MakeEventDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeEventDeclaration& MakeEventDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeEventDeclaration& MakeEventDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeExpectedTypeCastExpression ***********************************************************************/ - MakeExpectedTypeCastExpression& MakeExpectedTypeCastExpression::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeExpectedTypeCastExpression& MakeExpectedTypeCastExpression::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeExpectedTypeCastExpression& MakeExpectedTypeCastExpression::strategy(WfTypeCastingStrategy value) - { - node->strategy = value; - return *this; - } + MakeExpectedTypeCastExpression& MakeExpectedTypeCastExpression::strategy(WfTypeCastingStrategy value) + { + node->strategy = value; + return *this; + } - MakeExpectedTypeCastExpression& MakeExpectedTypeCastExpression::expandedExpression(const vl::Ptr& value) - { - node->expandedExpression = value; - return *this; - } + MakeExpectedTypeCastExpression& MakeExpectedTypeCastExpression::expandedExpression(const vl::Ptr& value) + { + node->expandedExpression = value; + return *this; + } /*********************************************************************** MakeExpressionStatement ***********************************************************************/ - MakeExpressionStatement& MakeExpressionStatement::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeExpressionStatement& MakeExpressionStatement::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } /*********************************************************************** MakeFloatingExpression ***********************************************************************/ - MakeFloatingExpression& MakeFloatingExpression::value(const vl::WString& value) - { - node->value.value = value; - return *this; - } + MakeFloatingExpression& MakeFloatingExpression::value(const vl::WString& value) + { + node->value.value = value; + return *this; + } /*********************************************************************** MakeForEachStatement ***********************************************************************/ - MakeForEachStatement& MakeForEachStatement::collection(const vl::Ptr& value) - { - node->collection = value; - return *this; - } + MakeForEachStatement& MakeForEachStatement::collection(const vl::Ptr& value) + { + node->collection = value; + return *this; + } - MakeForEachStatement& MakeForEachStatement::direction(WfForEachDirection value) - { - node->direction = value; - return *this; - } + MakeForEachStatement& MakeForEachStatement::direction(WfForEachDirection value) + { + node->direction = value; + return *this; + } - MakeForEachStatement& MakeForEachStatement::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeForEachStatement& MakeForEachStatement::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeForEachStatement& MakeForEachStatement::statement(const vl::Ptr& value) - { - node->statement = value; - return *this; - } + MakeForEachStatement& MakeForEachStatement::statement(const vl::Ptr& value) + { + node->statement = value; + return *this; + } - MakeForEachStatement& MakeForEachStatement::expandedStatement(const vl::Ptr& value) - { - node->expandedStatement = value; - return *this; - } + MakeForEachStatement& MakeForEachStatement::expandedStatement(const vl::Ptr& value) + { + node->expandedStatement = value; + return *this; + } /*********************************************************************** MakeFormatExpression ***********************************************************************/ - MakeFormatExpression& MakeFormatExpression::value(const vl::WString& value) - { - node->value.value = value; - return *this; - } + MakeFormatExpression& MakeFormatExpression::value(const vl::WString& value) + { + node->value.value = value; + return *this; + } - MakeFormatExpression& MakeFormatExpression::expandedExpression(const vl::Ptr& value) - { - node->expandedExpression = value; - return *this; - } + MakeFormatExpression& MakeFormatExpression::expandedExpression(const vl::Ptr& value) + { + node->expandedExpression = value; + return *this; + } /*********************************************************************** MakeFunctionArgument ***********************************************************************/ - MakeFunctionArgument& MakeFunctionArgument::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeFunctionArgument& MakeFunctionArgument::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeFunctionArgument& MakeFunctionArgument::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeFunctionArgument& MakeFunctionArgument::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeFunctionArgument& MakeFunctionArgument::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeFunctionArgument& MakeFunctionArgument::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeFunctionDeclaration ***********************************************************************/ - MakeFunctionDeclaration& MakeFunctionDeclaration::anonymity(WfFunctionAnonymity value) - { - node->anonymity = value; - return *this; - } + MakeFunctionDeclaration& MakeFunctionDeclaration::anonymity(WfFunctionAnonymity value) + { + node->anonymity = value; + return *this; + } - MakeFunctionDeclaration& MakeFunctionDeclaration::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeFunctionDeclaration& MakeFunctionDeclaration::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeFunctionDeclaration& MakeFunctionDeclaration::functionKind(WfFunctionKind value) - { - node->functionKind = value; - return *this; - } + MakeFunctionDeclaration& MakeFunctionDeclaration::functionKind(WfFunctionKind value) + { + node->functionKind = value; + return *this; + } - MakeFunctionDeclaration& MakeFunctionDeclaration::returnType(const vl::Ptr& value) - { - node->returnType = value; - return *this; - } + MakeFunctionDeclaration& MakeFunctionDeclaration::returnType(const vl::Ptr& value) + { + node->returnType = value; + return *this; + } - MakeFunctionDeclaration& MakeFunctionDeclaration::statement(const vl::Ptr& value) - { - node->statement = value; - return *this; - } + MakeFunctionDeclaration& MakeFunctionDeclaration::statement(const vl::Ptr& value) + { + node->statement = value; + return *this; + } - MakeFunctionDeclaration& MakeFunctionDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeFunctionDeclaration& MakeFunctionDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeFunctionDeclaration& MakeFunctionDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeFunctionDeclaration& MakeFunctionDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeFunctionExpression ***********************************************************************/ - MakeFunctionExpression& MakeFunctionExpression::function(const vl::Ptr& value) - { - node->function = value; - return *this; - } + MakeFunctionExpression& MakeFunctionExpression::function(const vl::Ptr& value) + { + node->function = value; + return *this; + } /*********************************************************************** MakeFunctionType ***********************************************************************/ - MakeFunctionType& MakeFunctionType::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeFunctionType& MakeFunctionType::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeFunctionType& MakeFunctionType::result(const vl::Ptr& value) - { - node->result = value; - return *this; - } + MakeFunctionType& MakeFunctionType::result(const vl::Ptr& value) + { + node->result = value; + return *this; + } /*********************************************************************** MakeGotoStatement ***********************************************************************/ - MakeGotoStatement& MakeGotoStatement::label(const vl::WString& value) - { - node->label.value = value; - return *this; - } + MakeGotoStatement& MakeGotoStatement::label(const vl::WString& value) + { + node->label.value = value; + return *this; + } /*********************************************************************** MakeIfExpression ***********************************************************************/ - MakeIfExpression& MakeIfExpression::condition(const vl::Ptr& value) - { - node->condition = value; - return *this; - } + MakeIfExpression& MakeIfExpression::condition(const vl::Ptr& value) + { + node->condition = value; + return *this; + } - MakeIfExpression& MakeIfExpression::falseBranch(const vl::Ptr& value) - { - node->falseBranch = value; - return *this; - } + MakeIfExpression& MakeIfExpression::falseBranch(const vl::Ptr& value) + { + node->falseBranch = value; + return *this; + } - MakeIfExpression& MakeIfExpression::trueBranch(const vl::Ptr& value) - { - node->trueBranch = value; - return *this; - } + MakeIfExpression& MakeIfExpression::trueBranch(const vl::Ptr& value) + { + node->trueBranch = value; + return *this; + } /*********************************************************************** MakeIfStatement ***********************************************************************/ - MakeIfStatement& MakeIfStatement::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeIfStatement& MakeIfStatement::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeIfStatement& MakeIfStatement::falseBranch(const vl::Ptr& value) - { - node->falseBranch = value; - return *this; - } + MakeIfStatement& MakeIfStatement::falseBranch(const vl::Ptr& value) + { + node->falseBranch = value; + return *this; + } - MakeIfStatement& MakeIfStatement::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeIfStatement& MakeIfStatement::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeIfStatement& MakeIfStatement::trueBranch(const vl::Ptr& value) - { - node->trueBranch = value; - return *this; - } + MakeIfStatement& MakeIfStatement::trueBranch(const vl::Ptr& value) + { + node->trueBranch = value; + return *this; + } - MakeIfStatement& MakeIfStatement::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeIfStatement& MakeIfStatement::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeInferExpression ***********************************************************************/ - MakeInferExpression& MakeInferExpression::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeInferExpression& MakeInferExpression::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeInferExpression& MakeInferExpression::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeInferExpression& MakeInferExpression::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeIntegerExpression ***********************************************************************/ - MakeIntegerExpression& MakeIntegerExpression::value(const vl::WString& value) - { - node->value.value = value; - return *this; - } + MakeIntegerExpression& MakeIntegerExpression::value(const vl::WString& value) + { + node->value.value = value; + return *this; + } /*********************************************************************** MakeLetExpression ***********************************************************************/ - MakeLetExpression& MakeLetExpression::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeLetExpression& MakeLetExpression::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeLetExpression& MakeLetExpression::variables(const vl::Ptr& value) - { - node->variables.Add(value); - return *this; - } + MakeLetExpression& MakeLetExpression::variables(const vl::Ptr& value) + { + node->variables.Add(value); + return *this; + } /*********************************************************************** MakeLetVariable ***********************************************************************/ - MakeLetVariable& MakeLetVariable::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeLetVariable& MakeLetVariable::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeLetVariable& MakeLetVariable::value(const vl::Ptr& value) - { - node->value = value; - return *this; - } + MakeLetVariable& MakeLetVariable::value(const vl::Ptr& value) + { + node->value = value; + return *this; + } /*********************************************************************** MakeLiteralExpression ***********************************************************************/ - MakeLiteralExpression& MakeLiteralExpression::value(WfLiteralValue value) - { - node->value = value; - return *this; - } + MakeLiteralExpression& MakeLiteralExpression::value(WfLiteralValue value) + { + node->value = value; + return *this; + } /*********************************************************************** MakeMapType ***********************************************************************/ - MakeMapType& MakeMapType::key(const vl::Ptr& value) - { - node->key = value; - return *this; - } + MakeMapType& MakeMapType::key(const vl::Ptr& value) + { + node->key = value; + return *this; + } - MakeMapType& MakeMapType::value(const vl::Ptr& value) - { - node->value = value; - return *this; - } + MakeMapType& MakeMapType::value(const vl::Ptr& value) + { + node->value = value; + return *this; + } - MakeMapType& MakeMapType::writability(WfMapWritability value) - { - node->writability = value; - return *this; - } + MakeMapType& MakeMapType::writability(WfMapWritability value) + { + node->writability = value; + return *this; + } /*********************************************************************** MakeMemberExpression ***********************************************************************/ - MakeMemberExpression& MakeMemberExpression::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeMemberExpression& MakeMemberExpression::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeMemberExpression& MakeMemberExpression::parent(const vl::Ptr& value) - { - node->parent = value; - return *this; - } + MakeMemberExpression& MakeMemberExpression::parent(const vl::Ptr& value) + { + node->parent = value; + return *this; + } /*********************************************************************** MakeMixinCastExpression ***********************************************************************/ - MakeMixinCastExpression& MakeMixinCastExpression::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeMixinCastExpression& MakeMixinCastExpression::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeMixinCastExpression& MakeMixinCastExpression::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeMixinCastExpression& MakeMixinCastExpression::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } - MakeMixinCastExpression& MakeMixinCastExpression::expandedExpression(const vl::Ptr& value) - { - node->expandedExpression = value; - return *this; - } + MakeMixinCastExpression& MakeMixinCastExpression::expandedExpression(const vl::Ptr& value) + { + node->expandedExpression = value; + return *this; + } /*********************************************************************** MakeModule ***********************************************************************/ - MakeModule& MakeModule::declarations(const vl::Ptr& value) - { - node->declarations.Add(value); - return *this; - } + MakeModule& MakeModule::declarations(const vl::Ptr& value) + { + node->declarations.Add(value); + return *this; + } - MakeModule& MakeModule::moduleType(WfModuleType value) - { - node->moduleType = value; - return *this; - } + MakeModule& MakeModule::moduleType(WfModuleType value) + { + node->moduleType = value; + return *this; + } - MakeModule& MakeModule::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeModule& MakeModule::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeModule& MakeModule::paths(const vl::Ptr& value) - { - node->paths.Add(value); - return *this; - } + MakeModule& MakeModule::paths(const vl::Ptr& value) + { + node->paths.Add(value); + return *this; + } /*********************************************************************** MakeModuleUsingItem ***********************************************************************/ - MakeModuleUsingItem& MakeModuleUsingItem::fragments(const vl::Ptr& value) - { - node->fragments.Add(value); - return *this; - } + MakeModuleUsingItem& MakeModuleUsingItem::fragments(const vl::Ptr& value) + { + node->fragments.Add(value); + return *this; + } /*********************************************************************** MakeModuleUsingNameFragment ***********************************************************************/ - MakeModuleUsingNameFragment& MakeModuleUsingNameFragment::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeModuleUsingNameFragment& MakeModuleUsingNameFragment::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeModuleUsingPath ***********************************************************************/ - MakeModuleUsingPath& MakeModuleUsingPath::items(const vl::Ptr& value) - { - node->items.Add(value); - return *this; - } + MakeModuleUsingPath& MakeModuleUsingPath::items(const vl::Ptr& value) + { + node->items.Add(value); + return *this; + } /*********************************************************************** MakeNamespaceDeclaration ***********************************************************************/ - MakeNamespaceDeclaration& MakeNamespaceDeclaration::declarations(const vl::Ptr& value) - { - node->declarations.Add(value); - return *this; - } + MakeNamespaceDeclaration& MakeNamespaceDeclaration::declarations(const vl::Ptr& value) + { + node->declarations.Add(value); + return *this; + } - MakeNamespaceDeclaration& MakeNamespaceDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeNamespaceDeclaration& MakeNamespaceDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeNamespaceDeclaration& MakeNamespaceDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeNamespaceDeclaration& MakeNamespaceDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeNewClassExpression ***********************************************************************/ - MakeNewClassExpression& MakeNewClassExpression::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeNewClassExpression& MakeNewClassExpression::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeNewClassExpression& MakeNewClassExpression::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeNewClassExpression& MakeNewClassExpression::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeNewCoroutineExpression ***********************************************************************/ - MakeNewCoroutineExpression& MakeNewCoroutineExpression::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeNewCoroutineExpression& MakeNewCoroutineExpression::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeNewCoroutineExpression& MakeNewCoroutineExpression::statement(const vl::Ptr& value) - { - node->statement = value; - return *this; - } + MakeNewCoroutineExpression& MakeNewCoroutineExpression::statement(const vl::Ptr& value) + { + node->statement = value; + return *this; + } - MakeNewCoroutineExpression& MakeNewCoroutineExpression::expandedExpression(const vl::Ptr& value) - { - node->expandedExpression = value; - return *this; - } + MakeNewCoroutineExpression& MakeNewCoroutineExpression::expandedExpression(const vl::Ptr& value) + { + node->expandedExpression = value; + return *this; + } /*********************************************************************** MakeNewInterfaceExpression ***********************************************************************/ - MakeNewInterfaceExpression& MakeNewInterfaceExpression::declarations(const vl::Ptr& value) - { - node->declarations.Add(value); - return *this; - } + MakeNewInterfaceExpression& MakeNewInterfaceExpression::declarations(const vl::Ptr& value) + { + node->declarations.Add(value); + return *this; + } - MakeNewInterfaceExpression& MakeNewInterfaceExpression::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeNewInterfaceExpression& MakeNewInterfaceExpression::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeNullableType ***********************************************************************/ - MakeNullableType& MakeNullableType::element(const vl::Ptr& value) - { - node->element = value; - return *this; - } + MakeNullableType& MakeNullableType::element(const vl::Ptr& value) + { + node->element = value; + return *this; + } /*********************************************************************** MakeObservableListType ***********************************************************************/ - MakeObservableListType& MakeObservableListType::element(const vl::Ptr& value) - { - node->element = value; - return *this; - } + MakeObservableListType& MakeObservableListType::element(const vl::Ptr& value) + { + node->element = value; + return *this; + } /*********************************************************************** MakeObserveExpression ***********************************************************************/ - MakeObserveExpression& MakeObserveExpression::events(const vl::Ptr& value) - { - node->events.Add(value); - return *this; - } + MakeObserveExpression& MakeObserveExpression::events(const vl::Ptr& value) + { + node->events.Add(value); + return *this; + } - MakeObserveExpression& MakeObserveExpression::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeObserveExpression& MakeObserveExpression::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeObserveExpression& MakeObserveExpression::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeObserveExpression& MakeObserveExpression::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeObserveExpression& MakeObserveExpression::observeType(WfObserveType value) - { - node->observeType = value; - return *this; - } + MakeObserveExpression& MakeObserveExpression::observeType(WfObserveType value) + { + node->observeType = value; + return *this; + } - MakeObserveExpression& MakeObserveExpression::parent(const vl::Ptr& value) - { - node->parent = value; - return *this; - } + MakeObserveExpression& MakeObserveExpression::parent(const vl::Ptr& value) + { + node->parent = value; + return *this; + } /*********************************************************************** MakeOrderedLambdaExpression ***********************************************************************/ - MakeOrderedLambdaExpression& MakeOrderedLambdaExpression::body(const vl::Ptr& value) - { - node->body = value; - return *this; - } + MakeOrderedLambdaExpression& MakeOrderedLambdaExpression::body(const vl::Ptr& value) + { + node->body = value; + return *this; + } /*********************************************************************** MakeOrderedNameExpression ***********************************************************************/ - MakeOrderedNameExpression& MakeOrderedNameExpression::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeOrderedNameExpression& MakeOrderedNameExpression::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakePredefinedType ***********************************************************************/ - MakePredefinedType& MakePredefinedType::name(WfPredefinedTypeName value) - { - node->name = value; - return *this; - } + MakePredefinedType& MakePredefinedType::name(WfPredefinedTypeName value) + { + node->name = value; + return *this; + } /*********************************************************************** MakePropertyDeclaration ***********************************************************************/ - MakePropertyDeclaration& MakePropertyDeclaration::getter(const vl::WString& value) - { - node->getter.value = value; - return *this; - } + MakePropertyDeclaration& MakePropertyDeclaration::getter(const vl::WString& value) + { + node->getter.value = value; + return *this; + } - MakePropertyDeclaration& MakePropertyDeclaration::setter(const vl::WString& value) - { - node->setter.value = value; - return *this; - } + MakePropertyDeclaration& MakePropertyDeclaration::setter(const vl::WString& value) + { + node->setter.value = value; + return *this; + } - MakePropertyDeclaration& MakePropertyDeclaration::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakePropertyDeclaration& MakePropertyDeclaration::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } - MakePropertyDeclaration& MakePropertyDeclaration::valueChangedEvent(const vl::WString& value) - { - node->valueChangedEvent.value = value; - return *this; - } + MakePropertyDeclaration& MakePropertyDeclaration::valueChangedEvent(const vl::WString& value) + { + node->valueChangedEvent.value = value; + return *this; + } - MakePropertyDeclaration& MakePropertyDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakePropertyDeclaration& MakePropertyDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakePropertyDeclaration& MakePropertyDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakePropertyDeclaration& MakePropertyDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeRaiseExceptionStatement ***********************************************************************/ - MakeRaiseExceptionStatement& MakeRaiseExceptionStatement::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeRaiseExceptionStatement& MakeRaiseExceptionStatement::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } /*********************************************************************** MakeRangeExpression ***********************************************************************/ - MakeRangeExpression& MakeRangeExpression::begin(const vl::Ptr& value) - { - node->begin = value; - return *this; - } + MakeRangeExpression& MakeRangeExpression::begin(const vl::Ptr& value) + { + node->begin = value; + return *this; + } - MakeRangeExpression& MakeRangeExpression::beginBoundary(WfRangeBoundary value) - { - node->beginBoundary = value; - return *this; - } + MakeRangeExpression& MakeRangeExpression::beginBoundary(WfRangeBoundary value) + { + node->beginBoundary = value; + return *this; + } - MakeRangeExpression& MakeRangeExpression::end(const vl::Ptr& value) - { - node->end = value; - return *this; - } + MakeRangeExpression& MakeRangeExpression::end(const vl::Ptr& value) + { + node->end = value; + return *this; + } - MakeRangeExpression& MakeRangeExpression::endBoundary(WfRangeBoundary value) - { - node->endBoundary = value; - return *this; - } + MakeRangeExpression& MakeRangeExpression::endBoundary(WfRangeBoundary value) + { + node->endBoundary = value; + return *this; + } /*********************************************************************** MakeRawPointerType ***********************************************************************/ - MakeRawPointerType& MakeRawPointerType::element(const vl::Ptr& value) - { - node->element = value; - return *this; - } + MakeRawPointerType& MakeRawPointerType::element(const vl::Ptr& value) + { + node->element = value; + return *this; + } /*********************************************************************** MakeReferenceExpression ***********************************************************************/ - MakeReferenceExpression& MakeReferenceExpression::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeReferenceExpression& MakeReferenceExpression::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeReferenceType ***********************************************************************/ - MakeReferenceType& MakeReferenceType::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeReferenceType& MakeReferenceType::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeReturnStatement ***********************************************************************/ - MakeReturnStatement& MakeReturnStatement::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeReturnStatement& MakeReturnStatement::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } /*********************************************************************** MakeSetTestingExpression ***********************************************************************/ - MakeSetTestingExpression& MakeSetTestingExpression::collection(const vl::Ptr& value) - { - node->collection = value; - return *this; - } + MakeSetTestingExpression& MakeSetTestingExpression::collection(const vl::Ptr& value) + { + node->collection = value; + return *this; + } - MakeSetTestingExpression& MakeSetTestingExpression::element(const vl::Ptr& value) - { - node->element = value; - return *this; - } + MakeSetTestingExpression& MakeSetTestingExpression::element(const vl::Ptr& value) + { + node->element = value; + return *this; + } - MakeSetTestingExpression& MakeSetTestingExpression::test(WfSetTesting value) - { - node->test = value; - return *this; - } + MakeSetTestingExpression& MakeSetTestingExpression::test(WfSetTesting value) + { + node->test = value; + return *this; + } /*********************************************************************** MakeSharedPointerType ***********************************************************************/ - MakeSharedPointerType& MakeSharedPointerType::element(const vl::Ptr& value) - { - node->element = value; - return *this; - } + MakeSharedPointerType& MakeSharedPointerType::element(const vl::Ptr& value) + { + node->element = value; + return *this; + } /*********************************************************************** MakeStateDeclaration ***********************************************************************/ - MakeStateDeclaration& MakeStateDeclaration::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeStateDeclaration& MakeStateDeclaration::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeStateDeclaration& MakeStateDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeStateDeclaration& MakeStateDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeStateDeclaration& MakeStateDeclaration::statement(const vl::Ptr& value) - { - node->statement = value; - return *this; - } + MakeStateDeclaration& MakeStateDeclaration::statement(const vl::Ptr& value) + { + node->statement = value; + return *this; + } /*********************************************************************** MakeStateInput ***********************************************************************/ - MakeStateInput& MakeStateInput::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeStateInput& MakeStateInput::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeStateInput& MakeStateInput::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeStateInput& MakeStateInput::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeStateInvokeStatement ***********************************************************************/ - MakeStateInvokeStatement& MakeStateInvokeStatement::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeStateInvokeStatement& MakeStateInvokeStatement::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeStateInvokeStatement& MakeStateInvokeStatement::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeStateInvokeStatement& MakeStateInvokeStatement::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeStateInvokeStatement& MakeStateInvokeStatement::type(WfStateInvokeType value) - { - node->type = value; - return *this; - } + MakeStateInvokeStatement& MakeStateInvokeStatement::type(WfStateInvokeType value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeStateMachineDeclaration ***********************************************************************/ - MakeStateMachineDeclaration& MakeStateMachineDeclaration::inputs(const vl::Ptr& value) - { - node->inputs.Add(value); - return *this; - } + MakeStateMachineDeclaration& MakeStateMachineDeclaration::inputs(const vl::Ptr& value) + { + node->inputs.Add(value); + return *this; + } - MakeStateMachineDeclaration& MakeStateMachineDeclaration::states(const vl::Ptr& value) - { - node->states.Add(value); - return *this; - } + MakeStateMachineDeclaration& MakeStateMachineDeclaration::states(const vl::Ptr& value) + { + node->states.Add(value); + return *this; + } - MakeStateMachineDeclaration& MakeStateMachineDeclaration::expandedDeclarations(const vl::Ptr& value) - { - node->expandedDeclarations.Add(value); - return *this; - } + MakeStateMachineDeclaration& MakeStateMachineDeclaration::expandedDeclarations(const vl::Ptr& value) + { + node->expandedDeclarations.Add(value); + return *this; + } - MakeStateMachineDeclaration& MakeStateMachineDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeStateMachineDeclaration& MakeStateMachineDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeStateMachineDeclaration& MakeStateMachineDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeStateMachineDeclaration& MakeStateMachineDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeStateSwitchArgument ***********************************************************************/ - MakeStateSwitchArgument& MakeStateSwitchArgument::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeStateSwitchArgument& MakeStateSwitchArgument::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeStateSwitchCase ***********************************************************************/ - MakeStateSwitchCase& MakeStateSwitchCase::arguments(const vl::Ptr& value) - { - node->arguments.Add(value); - return *this; - } + MakeStateSwitchCase& MakeStateSwitchCase::arguments(const vl::Ptr& value) + { + node->arguments.Add(value); + return *this; + } - MakeStateSwitchCase& MakeStateSwitchCase::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeStateSwitchCase& MakeStateSwitchCase::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeStateSwitchCase& MakeStateSwitchCase::statement(const vl::Ptr& value) - { - node->statement = value; - return *this; - } + MakeStateSwitchCase& MakeStateSwitchCase::statement(const vl::Ptr& value) + { + node->statement = value; + return *this; + } /*********************************************************************** MakeStateSwitchStatement ***********************************************************************/ - MakeStateSwitchStatement& MakeStateSwitchStatement::caseBranches(const vl::Ptr& value) - { - node->caseBranches.Add(value); - return *this; - } + MakeStateSwitchStatement& MakeStateSwitchStatement::caseBranches(const vl::Ptr& value) + { + node->caseBranches.Add(value); + return *this; + } - MakeStateSwitchStatement& MakeStateSwitchStatement::type(WfStateSwitchType value) - { - node->type = value; - return *this; - } + MakeStateSwitchStatement& MakeStateSwitchStatement::type(WfStateSwitchType value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeStringExpression ***********************************************************************/ - MakeStringExpression& MakeStringExpression::value(const vl::WString& value) - { - node->value.value = value; - return *this; - } + MakeStringExpression& MakeStringExpression::value(const vl::WString& value) + { + node->value.value = value; + return *this; + } /*********************************************************************** MakeStructDeclaration ***********************************************************************/ - MakeStructDeclaration& MakeStructDeclaration::members(const vl::Ptr& value) - { - node->members.Add(value); - return *this; - } + MakeStructDeclaration& MakeStructDeclaration::members(const vl::Ptr& value) + { + node->members.Add(value); + return *this; + } - MakeStructDeclaration& MakeStructDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeStructDeclaration& MakeStructDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeStructDeclaration& MakeStructDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeStructDeclaration& MakeStructDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeStructMember ***********************************************************************/ - MakeStructMember& MakeStructMember::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeStructMember& MakeStructMember::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeStructMember& MakeStructMember::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeStructMember& MakeStructMember::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeStructMember& MakeStructMember::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeStructMember& MakeStructMember::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeSwitchCase ***********************************************************************/ - MakeSwitchCase& MakeSwitchCase::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeSwitchCase& MakeSwitchCase::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeSwitchCase& MakeSwitchCase::statement(const vl::Ptr& value) - { - node->statement = value; - return *this; - } + MakeSwitchCase& MakeSwitchCase::statement(const vl::Ptr& value) + { + node->statement = value; + return *this; + } /*********************************************************************** MakeSwitchStatement ***********************************************************************/ - MakeSwitchStatement& MakeSwitchStatement::caseBranches(const vl::Ptr& value) - { - node->caseBranches.Add(value); - return *this; - } + MakeSwitchStatement& MakeSwitchStatement::caseBranches(const vl::Ptr& value) + { + node->caseBranches.Add(value); + return *this; + } - MakeSwitchStatement& MakeSwitchStatement::defaultBranch(const vl::Ptr& value) - { - node->defaultBranch = value; - return *this; - } + MakeSwitchStatement& MakeSwitchStatement::defaultBranch(const vl::Ptr& value) + { + node->defaultBranch = value; + return *this; + } - MakeSwitchStatement& MakeSwitchStatement::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeSwitchStatement& MakeSwitchStatement::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeSwitchStatement& MakeSwitchStatement::expandedStatement(const vl::Ptr& value) - { - node->expandedStatement = value; - return *this; - } + MakeSwitchStatement& MakeSwitchStatement::expandedStatement(const vl::Ptr& value) + { + node->expandedStatement = value; + return *this; + } /*********************************************************************** MakeTopQualifiedExpression ***********************************************************************/ - MakeTopQualifiedExpression& MakeTopQualifiedExpression::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeTopQualifiedExpression& MakeTopQualifiedExpression::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeTopQualifiedType ***********************************************************************/ - MakeTopQualifiedType& MakeTopQualifiedType::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeTopQualifiedType& MakeTopQualifiedType::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeTryStatement ***********************************************************************/ - MakeTryStatement& MakeTryStatement::catchStatement(const vl::Ptr& value) - { - node->catchStatement = value; - return *this; - } + MakeTryStatement& MakeTryStatement::catchStatement(const vl::Ptr& value) + { + node->catchStatement = value; + return *this; + } - MakeTryStatement& MakeTryStatement::finallyStatement(const vl::Ptr& value) - { - node->finallyStatement = value; - return *this; - } + MakeTryStatement& MakeTryStatement::finallyStatement(const vl::Ptr& value) + { + node->finallyStatement = value; + return *this; + } - MakeTryStatement& MakeTryStatement::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeTryStatement& MakeTryStatement::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } - MakeTryStatement& MakeTryStatement::protectedStatement(const vl::Ptr& value) - { - node->protectedStatement = value; - return *this; - } + MakeTryStatement& MakeTryStatement::protectedStatement(const vl::Ptr& value) + { + node->protectedStatement = value; + return *this; + } /*********************************************************************** MakeTypeCastingExpression ***********************************************************************/ - MakeTypeCastingExpression& MakeTypeCastingExpression::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeTypeCastingExpression& MakeTypeCastingExpression::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeTypeCastingExpression& MakeTypeCastingExpression::strategy(WfTypeCastingStrategy value) - { - node->strategy = value; - return *this; - } + MakeTypeCastingExpression& MakeTypeCastingExpression::strategy(WfTypeCastingStrategy value) + { + node->strategy = value; + return *this; + } - MakeTypeCastingExpression& MakeTypeCastingExpression::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeTypeCastingExpression& MakeTypeCastingExpression::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeTypeOfExpressionExpression ***********************************************************************/ - MakeTypeOfExpressionExpression& MakeTypeOfExpressionExpression::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeTypeOfExpressionExpression& MakeTypeOfExpressionExpression::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } /*********************************************************************** MakeTypeOfTypeExpression ***********************************************************************/ - MakeTypeOfTypeExpression& MakeTypeOfTypeExpression::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeTypeOfTypeExpression& MakeTypeOfTypeExpression::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeTypeTestingExpression ***********************************************************************/ - MakeTypeTestingExpression& MakeTypeTestingExpression::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeTypeTestingExpression& MakeTypeTestingExpression::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeTypeTestingExpression& MakeTypeTestingExpression::test(WfTypeTesting value) - { - node->test = value; - return *this; - } + MakeTypeTestingExpression& MakeTypeTestingExpression::test(WfTypeTesting value) + { + node->test = value; + return *this; + } - MakeTypeTestingExpression& MakeTypeTestingExpression::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeTypeTestingExpression& MakeTypeTestingExpression::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } /*********************************************************************** MakeUnaryExpression ***********************************************************************/ - MakeUnaryExpression& MakeUnaryExpression::op(WfUnaryOperator value) - { - node->op = value; - return *this; - } + MakeUnaryExpression& MakeUnaryExpression::op(WfUnaryOperator value) + { + node->op = value; + return *this; + } - MakeUnaryExpression& MakeUnaryExpression::operand(const vl::Ptr& value) - { - node->operand = value; - return *this; - } + MakeUnaryExpression& MakeUnaryExpression::operand(const vl::Ptr& value) + { + node->operand = value; + return *this; + } /*********************************************************************** MakeVariableDeclaration ***********************************************************************/ - MakeVariableDeclaration& MakeVariableDeclaration::expression(const vl::Ptr& value) - { - node->expression = value; - return *this; - } + MakeVariableDeclaration& MakeVariableDeclaration::expression(const vl::Ptr& value) + { + node->expression = value; + return *this; + } - MakeVariableDeclaration& MakeVariableDeclaration::type(const vl::Ptr& value) - { - node->type = value; - return *this; - } + MakeVariableDeclaration& MakeVariableDeclaration::type(const vl::Ptr& value) + { + node->type = value; + return *this; + } - MakeVariableDeclaration& MakeVariableDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeVariableDeclaration& MakeVariableDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeVariableDeclaration& MakeVariableDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeVariableDeclaration& MakeVariableDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeVariableStatement ***********************************************************************/ - MakeVariableStatement& MakeVariableStatement::variable(const vl::Ptr& value) - { - node->variable = value; - return *this; - } + MakeVariableStatement& MakeVariableStatement::variable(const vl::Ptr& value) + { + node->variable = value; + return *this; + } /*********************************************************************** MakeVirtualCfeDeclaration ***********************************************************************/ - MakeVirtualCfeDeclaration& MakeVirtualCfeDeclaration::expandedDeclarations(const vl::Ptr& value) - { - node->expandedDeclarations.Add(value); - return *this; - } + MakeVirtualCfeDeclaration& MakeVirtualCfeDeclaration::expandedDeclarations(const vl::Ptr& value) + { + node->expandedDeclarations.Add(value); + return *this; + } - MakeVirtualCfeDeclaration& MakeVirtualCfeDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeVirtualCfeDeclaration& MakeVirtualCfeDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeVirtualCfeDeclaration& MakeVirtualCfeDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeVirtualCfeDeclaration& MakeVirtualCfeDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeVirtualCfeExpression ***********************************************************************/ - MakeVirtualCfeExpression& MakeVirtualCfeExpression::expandedExpression(const vl::Ptr& value) - { - node->expandedExpression = value; - return *this; - } + MakeVirtualCfeExpression& MakeVirtualCfeExpression::expandedExpression(const vl::Ptr& value) + { + node->expandedExpression = value; + return *this; + } /*********************************************************************** MakeVirtualCseDeclaration ***********************************************************************/ - MakeVirtualCseDeclaration& MakeVirtualCseDeclaration::expandedDeclarations(const vl::Ptr& value) - { - node->expandedDeclarations.Add(value); - return *this; - } + MakeVirtualCseDeclaration& MakeVirtualCseDeclaration::expandedDeclarations(const vl::Ptr& value) + { + node->expandedDeclarations.Add(value); + return *this; + } - MakeVirtualCseDeclaration& MakeVirtualCseDeclaration::attributes(const vl::Ptr& value) - { - node->attributes.Add(value); - return *this; - } + MakeVirtualCseDeclaration& MakeVirtualCseDeclaration::attributes(const vl::Ptr& value) + { + node->attributes.Add(value); + return *this; + } - MakeVirtualCseDeclaration& MakeVirtualCseDeclaration::name(const vl::WString& value) - { - node->name.value = value; - return *this; - } + MakeVirtualCseDeclaration& MakeVirtualCseDeclaration::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } /*********************************************************************** MakeVirtualCseExpression ***********************************************************************/ - MakeVirtualCseExpression& MakeVirtualCseExpression::expandedExpression(const vl::Ptr& value) - { - node->expandedExpression = value; - return *this; - } + MakeVirtualCseExpression& MakeVirtualCseExpression::expandedExpression(const vl::Ptr& value) + { + node->expandedExpression = value; + return *this; + } /*********************************************************************** MakeVirtualCseStatement ***********************************************************************/ - MakeVirtualCseStatement& MakeVirtualCseStatement::expandedStatement(const vl::Ptr& value) - { - node->expandedStatement = value; - return *this; - } + MakeVirtualCseStatement& MakeVirtualCseStatement::expandedStatement(const vl::Ptr& value) + { + node->expandedStatement = value; + return *this; + } /*********************************************************************** MakeWhileStatement ***********************************************************************/ - MakeWhileStatement& MakeWhileStatement::condition(const vl::Ptr& value) - { - node->condition = value; - return *this; - } + MakeWhileStatement& MakeWhileStatement::condition(const vl::Ptr& value) + { + node->condition = value; + return *this; + } - MakeWhileStatement& MakeWhileStatement::statement(const vl::Ptr& value) - { - node->statement = value; - return *this; - } - } + MakeWhileStatement& MakeWhileStatement::statement(const vl::Ptr& value) + { + node->statement = value; + return *this; } } @@ -32824,2259 +32807,2253 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::workflow::copy_visitor { - namespace workflow + void AstVisitor::CopyFields(WfAttachEventExpression* from, WfAttachEventExpression* to) { - namespace copy_visitor + CopyFields(static_cast(from), static_cast(to)); + to->event = CopyNode(from->event.Obj()); + to->function = CopyNode(from->function.Obj()); + } + + void AstVisitor::CopyFields(WfAttribute* from, WfAttribute* to) + { + to->category = from->category; + to->name = from->name; + to->value = CopyNode(from->value.Obj()); + } + + void AstVisitor::CopyFields(WfAutoPropertyDeclaration* from, WfAutoPropertyDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->configConst = from->configConst; + to->configObserve = from->configObserve; + to->expression = CopyNode(from->expression.Obj()); + to->functionKind = from->functionKind; + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfBaseConstructorCall* from, WfBaseConstructorCall* to) + { + for (auto&& listItem : from->arguments) { - void AstVisitor::CopyFields(WfAttachEventExpression* from, WfAttachEventExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->event = CopyNode(from->event.Obj()); - to->function = CopyNode(from->function.Obj()); - } - - void AstVisitor::CopyFields(WfAttribute* from, WfAttribute* to) - { - to->category = from->category; - to->name = from->name; - to->value = CopyNode(from->value.Obj()); - } - - void AstVisitor::CopyFields(WfAutoPropertyDeclaration* from, WfAutoPropertyDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->configConst = from->configConst; - to->configObserve = from->configObserve; - to->expression = CopyNode(from->expression.Obj()); - to->functionKind = from->functionKind; - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfBaseConstructorCall* from, WfBaseConstructorCall* to) - { - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfBinaryExpression* from, WfBinaryExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->first = CopyNode(from->first.Obj()); - to->op = from->op; - to->second = CopyNode(from->second.Obj()); - } - - void AstVisitor::CopyFields(WfBindExpression* from, WfBindExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - } - - void AstVisitor::CopyFields(WfBlockStatement* from, WfBlockStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->endLabel = from->endLabel; - for (auto&& listItem : from->statements) - { - to->statements.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfBreakStatement* from, WfBreakStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - } - - void AstVisitor::CopyFields(WfCallExpression* from, WfCallExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - to->function = CopyNode(from->function.Obj()); - } - - void AstVisitor::CopyFields(WfCastResultInterfaceDeclaration* from, WfCastResultInterfaceDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->baseType = CopyNode(from->baseType.Obj()); - to->elementType = CopyNode(from->elementType.Obj()); - } - - void AstVisitor::CopyFields(WfChildExpression* from, WfChildExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - to->parent = CopyNode(from->parent.Obj()); - } - - void AstVisitor::CopyFields(WfChildType* from, WfChildType* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - to->parent = CopyNode(from->parent.Obj()); - } - - void AstVisitor::CopyFields(WfClassDeclaration* from, WfClassDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->baseTypes) - { - to->baseTypes.Add(CopyNode(listItem.Obj())); - } - to->constructorType = from->constructorType; - for (auto&& listItem : from->declarations) - { - to->declarations.Add(CopyNode(listItem.Obj())); - } - to->kind = from->kind; - } - - void AstVisitor::CopyFields(WfCoOperatorExpression* from, WfCoOperatorExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - } - - void AstVisitor::CopyFields(WfCoOperatorStatement* from, WfCoOperatorStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - to->opName = from->opName; - to->varName = from->varName; - } - - void AstVisitor::CopyFields(WfCoPauseStatement* from, WfCoPauseStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->statement = CopyNode(from->statement.Obj()); - } - - void AstVisitor::CopyFields(WfCoProviderStatement* from, WfCoProviderStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - to->statement = CopyNode(from->statement.Obj()); - } - - void AstVisitor::CopyFields(WfConstructorArgument* from, WfConstructorArgument* to) - { - to->key = CopyNode(from->key.Obj()); - to->value = CopyNode(from->value.Obj()); - } - - void AstVisitor::CopyFields(WfConstructorDeclaration* from, WfConstructorDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - for (auto&& listItem : from->baseConstructorCalls) - { - to->baseConstructorCalls.Add(CopyNode(listItem.Obj())); - } - to->constructorType = from->constructorType; - to->statement = CopyNode(from->statement.Obj()); - } - - void AstVisitor::CopyFields(WfConstructorExpression* from, WfConstructorExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfContinueStatement* from, WfContinueStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - } - - void AstVisitor::CopyFields(WfCoroutineStatement* from, WfCoroutineStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - } - - void AstVisitor::CopyFields(WfDeclaration* from, WfDeclaration* to) - { - for (auto&& listItem : from->attributes) - { - to->attributes.Add(CopyNode(listItem.Obj())); - } - to->name = from->name; - } - - void AstVisitor::CopyFields(WfDeleteStatement* from, WfDeleteStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - } - - void AstVisitor::CopyFields(WfDestructorDeclaration* from, WfDestructorDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->statement = CopyNode(from->statement.Obj()); - } - - void AstVisitor::CopyFields(WfDetachEventExpression* from, WfDetachEventExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->event = CopyNode(from->event.Obj()); - to->handler = CopyNode(from->handler.Obj()); - } - - void AstVisitor::CopyFields(WfEnumDeclaration* from, WfEnumDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->items) - { - to->items.Add(CopyNode(listItem.Obj())); - } - to->kind = from->kind; - } - - void AstVisitor::CopyFields(WfEnumItem* from, WfEnumItem* to) - { - for (auto&& listItem : from->attributes) - { - to->attributes.Add(CopyNode(listItem.Obj())); - } - for (auto&& listItem : from->intersections) - { - to->intersections.Add(CopyNode(listItem.Obj())); - } - to->kind = from->kind; - to->name = from->name; - to->number = from->number; - } - - void AstVisitor::CopyFields(WfEnumItemIntersection* from, WfEnumItemIntersection* to) - { - to->name = from->name; - } - - void AstVisitor::CopyFields(WfEnumerableType* from, WfEnumerableType* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->element = CopyNode(from->element.Obj()); - } - - void AstVisitor::CopyFields(WfEventDeclaration* from, WfEventDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfExpectedTypeCastExpression* from, WfExpectedTypeCastExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - to->strategy = from->strategy; - } - - void AstVisitor::CopyFields(WfExpression* from, WfExpression* to) - { - } - - void AstVisitor::CopyFields(WfExpressionStatement* from, WfExpressionStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - } - - void AstVisitor::CopyFields(WfFloatingExpression* from, WfFloatingExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->value = from->value; - } - - void AstVisitor::CopyFields(WfForEachStatement* from, WfForEachStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->collection = CopyNode(from->collection.Obj()); - to->direction = from->direction; - to->name = from->name; - to->statement = CopyNode(from->statement.Obj()); - } - - void AstVisitor::CopyFields(WfFormatExpression* from, WfFormatExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->value = from->value; - } - - void AstVisitor::CopyFields(WfFunctionArgument* from, WfFunctionArgument* to) - { - for (auto&& listItem : from->attributes) - { - to->attributes.Add(CopyNode(listItem.Obj())); - } - to->name = from->name; - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfFunctionDeclaration* from, WfFunctionDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->anonymity = from->anonymity; - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - to->functionKind = from->functionKind; - to->returnType = CopyNode(from->returnType.Obj()); - to->statement = CopyNode(from->statement.Obj()); - } - - void AstVisitor::CopyFields(WfFunctionExpression* from, WfFunctionExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->function = CopyNode(from->function.Obj()); - } - - void AstVisitor::CopyFields(WfFunctionType* from, WfFunctionType* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - to->result = CopyNode(from->result.Obj()); - } - - void AstVisitor::CopyFields(WfGotoStatement* from, WfGotoStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->label = from->label; - } - - void AstVisitor::CopyFields(WfIfExpression* from, WfIfExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->condition = CopyNode(from->condition.Obj()); - to->falseBranch = CopyNode(from->falseBranch.Obj()); - to->trueBranch = CopyNode(from->trueBranch.Obj()); - } - - void AstVisitor::CopyFields(WfIfStatement* from, WfIfStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - to->falseBranch = CopyNode(from->falseBranch.Obj()); - to->name = from->name; - to->trueBranch = CopyNode(from->trueBranch.Obj()); - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfInferExpression* from, WfInferExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfIntegerExpression* from, WfIntegerExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->value = from->value; - } - - void AstVisitor::CopyFields(WfLetExpression* from, WfLetExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - for (auto&& listItem : from->variables) - { - to->variables.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfLetVariable* from, WfLetVariable* to) - { - to->name = from->name; - to->value = CopyNode(from->value.Obj()); - } - - void AstVisitor::CopyFields(WfLiteralExpression* from, WfLiteralExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->value = from->value; - } - - void AstVisitor::CopyFields(WfMapType* from, WfMapType* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->key = CopyNode(from->key.Obj()); - to->value = CopyNode(from->value.Obj()); - to->writability = from->writability; - } - - void AstVisitor::CopyFields(WfMemberExpression* from, WfMemberExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - to->parent = CopyNode(from->parent.Obj()); - } - - void AstVisitor::CopyFields(WfMixinCastExpression* from, WfMixinCastExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfModule* from, WfModule* to) - { - for (auto&& listItem : from->declarations) - { - to->declarations.Add(CopyNode(listItem.Obj())); - } - to->moduleType = from->moduleType; - to->name = from->name; - for (auto&& listItem : from->paths) - { - to->paths.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfModuleUsingFragment* from, WfModuleUsingFragment* to) - { - } - - void AstVisitor::CopyFields(WfModuleUsingItem* from, WfModuleUsingItem* to) - { - for (auto&& listItem : from->fragments) - { - to->fragments.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfModuleUsingNameFragment* from, WfModuleUsingNameFragment* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - } - - void AstVisitor::CopyFields(WfModuleUsingPath* from, WfModuleUsingPath* to) - { - for (auto&& listItem : from->items) - { - to->items.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfModuleUsingWildCardFragment* from, WfModuleUsingWildCardFragment* to) - { - CopyFields(static_cast(from), static_cast(to)); - } - - void AstVisitor::CopyFields(WfNamespaceDeclaration* from, WfNamespaceDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->declarations) - { - to->declarations.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfNewClassExpression* from, WfNewClassExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfNewCoroutineExpression* from, WfNewCoroutineExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - to->statement = CopyNode(from->statement.Obj()); - } - - void AstVisitor::CopyFields(WfNewInterfaceExpression* from, WfNewInterfaceExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->declarations) - { - to->declarations.Add(CopyNode(listItem.Obj())); - } - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfNullableType* from, WfNullableType* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->element = CopyNode(from->element.Obj()); - } - - void AstVisitor::CopyFields(WfObservableListType* from, WfObservableListType* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->element = CopyNode(from->element.Obj()); - } - - void AstVisitor::CopyFields(WfObserveExpression* from, WfObserveExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->events) - { - to->events.Add(CopyNode(listItem.Obj())); - } - to->expression = CopyNode(from->expression.Obj()); - to->name = from->name; - to->observeType = from->observeType; - to->parent = CopyNode(from->parent.Obj()); - } - - void AstVisitor::CopyFields(WfOrderedLambdaExpression* from, WfOrderedLambdaExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->body = CopyNode(from->body.Obj()); - } - - void AstVisitor::CopyFields(WfOrderedNameExpression* from, WfOrderedNameExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - } - - void AstVisitor::CopyFields(WfPredefinedType* from, WfPredefinedType* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - } - - void AstVisitor::CopyFields(WfPropertyDeclaration* from, WfPropertyDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->getter = from->getter; - to->setter = from->setter; - to->type = CopyNode(from->type.Obj()); - to->valueChangedEvent = from->valueChangedEvent; - } - - void AstVisitor::CopyFields(WfRaiseExceptionStatement* from, WfRaiseExceptionStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - } - - void AstVisitor::CopyFields(WfRangeExpression* from, WfRangeExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->begin = CopyNode(from->begin.Obj()); - to->beginBoundary = from->beginBoundary; - to->end = CopyNode(from->end.Obj()); - to->endBoundary = from->endBoundary; - } - - void AstVisitor::CopyFields(WfRawPointerType* from, WfRawPointerType* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->element = CopyNode(from->element.Obj()); - } - - void AstVisitor::CopyFields(WfReferenceExpression* from, WfReferenceExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - } - - void AstVisitor::CopyFields(WfReferenceType* from, WfReferenceType* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - } - - void AstVisitor::CopyFields(WfReturnStatement* from, WfReturnStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - } - - void AstVisitor::CopyFields(WfSetTestingExpression* from, WfSetTestingExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->collection = CopyNode(from->collection.Obj()); - to->element = CopyNode(from->element.Obj()); - to->test = from->test; - } - - void AstVisitor::CopyFields(WfSharedPointerType* from, WfSharedPointerType* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->element = CopyNode(from->element.Obj()); - } - - void AstVisitor::CopyFields(WfStateDeclaration* from, WfStateDeclaration* to) - { - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - to->name = from->name; - to->statement = CopyNode(from->statement.Obj()); - } - - void AstVisitor::CopyFields(WfStateInput* from, WfStateInput* to) - { - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - to->name = from->name; - } - - void AstVisitor::CopyFields(WfStateInvokeStatement* from, WfStateInvokeStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - to->name = from->name; - to->type = from->type; - } - - void AstVisitor::CopyFields(WfStateMachineDeclaration* from, WfStateMachineDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->inputs) - { - to->inputs.Add(CopyNode(listItem.Obj())); - } - for (auto&& listItem : from->states) - { - to->states.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfStateMachineStatement* from, WfStateMachineStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - } - - void AstVisitor::CopyFields(WfStateSwitchArgument* from, WfStateSwitchArgument* to) - { - to->name = from->name; - } - - void AstVisitor::CopyFields(WfStateSwitchCase* from, WfStateSwitchCase* to) - { - for (auto&& listItem : from->arguments) - { - to->arguments.Add(CopyNode(listItem.Obj())); - } - to->name = from->name; - to->statement = CopyNode(from->statement.Obj()); - } - - void AstVisitor::CopyFields(WfStateSwitchStatement* from, WfStateSwitchStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->caseBranches) - { - to->caseBranches.Add(CopyNode(listItem.Obj())); - } - to->type = from->type; - } - - void AstVisitor::CopyFields(WfStatement* from, WfStatement* to) - { - } - - void AstVisitor::CopyFields(WfStringExpression* from, WfStringExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->value = from->value; - } - - void AstVisitor::CopyFields(WfStructDeclaration* from, WfStructDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->members) - { - to->members.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfStructMember* from, WfStructMember* to) - { - for (auto&& listItem : from->attributes) - { - to->attributes.Add(CopyNode(listItem.Obj())); - } - to->name = from->name; - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfSwitchCase* from, WfSwitchCase* to) - { - to->expression = CopyNode(from->expression.Obj()); - to->statement = CopyNode(from->statement.Obj()); - } - - void AstVisitor::CopyFields(WfSwitchStatement* from, WfSwitchStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->caseBranches) - { - to->caseBranches.Add(CopyNode(listItem.Obj())); - } - to->defaultBranch = CopyNode(from->defaultBranch.Obj()); - to->expression = CopyNode(from->expression.Obj()); - } - - void AstVisitor::CopyFields(WfThisExpression* from, WfThisExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - } - - void AstVisitor::CopyFields(WfTopQualifiedExpression* from, WfTopQualifiedExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - } - - void AstVisitor::CopyFields(WfTopQualifiedType* from, WfTopQualifiedType* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->name = from->name; - } - - void AstVisitor::CopyFields(WfTryStatement* from, WfTryStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->catchStatement = CopyNode(from->catchStatement.Obj()); - to->finallyStatement = CopyNode(from->finallyStatement.Obj()); - to->name = from->name; - to->protectedStatement = CopyNode(from->protectedStatement.Obj()); - } - - void AstVisitor::CopyFields(WfType* from, WfType* to) - { - } - - void AstVisitor::CopyFields(WfTypeCastingExpression* from, WfTypeCastingExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - to->strategy = from->strategy; - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfTypeOfExpressionExpression* from, WfTypeOfExpressionExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - } - - void AstVisitor::CopyFields(WfTypeOfTypeExpression* from, WfTypeOfTypeExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfTypeTestingExpression* from, WfTypeTestingExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - to->test = from->test; - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfUnaryExpression* from, WfUnaryExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->op = from->op; - to->operand = CopyNode(from->operand.Obj()); - } - - void AstVisitor::CopyFields(WfVariableDeclaration* from, WfVariableDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expression = CopyNode(from->expression.Obj()); - to->type = CopyNode(from->type.Obj()); - } - - void AstVisitor::CopyFields(WfVariableStatement* from, WfVariableStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->variable = CopyNode(from->variable.Obj()); - } - - void AstVisitor::CopyFields(WfVirtualCfeDeclaration* from, WfVirtualCfeDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->expandedDeclarations) - { - to->expandedDeclarations.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfVirtualCfeExpression* from, WfVirtualCfeExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expandedExpression = CopyNode(from->expandedExpression.Obj()); - } - - void AstVisitor::CopyFields(WfVirtualCseDeclaration* from, WfVirtualCseDeclaration* to) - { - CopyFields(static_cast(from), static_cast(to)); - for (auto&& listItem : from->expandedDeclarations) - { - to->expandedDeclarations.Add(CopyNode(listItem.Obj())); - } - } - - void AstVisitor::CopyFields(WfVirtualCseExpression* from, WfVirtualCseExpression* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expandedExpression = CopyNode(from->expandedExpression.Obj()); - } - - void AstVisitor::CopyFields(WfVirtualCseStatement* from, WfVirtualCseStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->expandedStatement = CopyNode(from->expandedStatement.Obj()); - } - - void AstVisitor::CopyFields(WfWhileStatement* from, WfWhileStatement* to) - { - CopyFields(static_cast(from), static_cast(to)); - to->condition = CopyNode(from->condition.Obj()); - to->statement = CopyNode(from->statement.Obj()); - } - - void AstVisitor::Visit(WfAttribute* node) - { - auto newNode = vl::Ptr(new WfAttribute); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfFunctionArgument* node) - { - auto newNode = vl::Ptr(new WfFunctionArgument); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfBaseConstructorCall* node) - { - auto newNode = vl::Ptr(new WfBaseConstructorCall); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfEnumItemIntersection* node) - { - auto newNode = vl::Ptr(new WfEnumItemIntersection); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfEnumItem* node) - { - auto newNode = vl::Ptr(new WfEnumItem); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfStructMember* node) - { - auto newNode = vl::Ptr(new WfStructMember); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfStateInput* node) - { - auto newNode = vl::Ptr(new WfStateInput); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfStateDeclaration* node) - { - auto newNode = vl::Ptr(new WfStateDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfSwitchCase* node) - { - auto newNode = vl::Ptr(new WfSwitchCase); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfStateSwitchArgument* node) - { - auto newNode = vl::Ptr(new WfStateSwitchArgument); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfStateSwitchCase* node) - { - auto newNode = vl::Ptr(new WfStateSwitchCase); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfLetVariable* node) - { - auto newNode = vl::Ptr(new WfLetVariable); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfConstructorArgument* node) - { - auto newNode = vl::Ptr(new WfConstructorArgument); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfModuleUsingItem* node) - { - auto newNode = vl::Ptr(new WfModuleUsingItem); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfModuleUsingPath* node) - { - auto newNode = vl::Ptr(new WfModuleUsingPath); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfModule* node) - { - auto newNode = vl::Ptr(new WfModule); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfPredefinedType* node) - { - auto newNode = vl::Ptr(new WfPredefinedType); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfTopQualifiedType* node) - { - auto newNode = vl::Ptr(new WfTopQualifiedType); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfReferenceType* node) - { - auto newNode = vl::Ptr(new WfReferenceType); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfRawPointerType* node) - { - auto newNode = vl::Ptr(new WfRawPointerType); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfSharedPointerType* node) - { - auto newNode = vl::Ptr(new WfSharedPointerType); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfNullableType* node) - { - auto newNode = vl::Ptr(new WfNullableType); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfEnumerableType* node) - { - auto newNode = vl::Ptr(new WfEnumerableType); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfMapType* node) - { - auto newNode = vl::Ptr(new WfMapType); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfObservableListType* node) - { - auto newNode = vl::Ptr(new WfObservableListType); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfFunctionType* node) - { - auto newNode = vl::Ptr(new WfFunctionType); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfChildType* node) - { - auto newNode = vl::Ptr(new WfChildType); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfThisExpression* node) - { - auto newNode = vl::Ptr(new WfThisExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfTopQualifiedExpression* node) - { - auto newNode = vl::Ptr(new WfTopQualifiedExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfReferenceExpression* node) - { - auto newNode = vl::Ptr(new WfReferenceExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfOrderedNameExpression* node) - { - auto newNode = vl::Ptr(new WfOrderedNameExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfOrderedLambdaExpression* node) - { - auto newNode = vl::Ptr(new WfOrderedLambdaExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfMemberExpression* node) - { - auto newNode = vl::Ptr(new WfMemberExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfChildExpression* node) - { - auto newNode = vl::Ptr(new WfChildExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfLiteralExpression* node) - { - auto newNode = vl::Ptr(new WfLiteralExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfFloatingExpression* node) - { - auto newNode = vl::Ptr(new WfFloatingExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfIntegerExpression* node) - { - auto newNode = vl::Ptr(new WfIntegerExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfStringExpression* node) - { - auto newNode = vl::Ptr(new WfStringExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfUnaryExpression* node) - { - auto newNode = vl::Ptr(new WfUnaryExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfBinaryExpression* node) - { - auto newNode = vl::Ptr(new WfBinaryExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfLetExpression* node) - { - auto newNode = vl::Ptr(new WfLetExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfIfExpression* node) - { - auto newNode = vl::Ptr(new WfIfExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfRangeExpression* node) - { - auto newNode = vl::Ptr(new WfRangeExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfSetTestingExpression* node) - { - auto newNode = vl::Ptr(new WfSetTestingExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfConstructorExpression* node) - { - auto newNode = vl::Ptr(new WfConstructorExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfInferExpression* node) - { - auto newNode = vl::Ptr(new WfInferExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfTypeCastingExpression* node) - { - auto newNode = vl::Ptr(new WfTypeCastingExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfTypeTestingExpression* node) - { - auto newNode = vl::Ptr(new WfTypeTestingExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfTypeOfTypeExpression* node) - { - auto newNode = vl::Ptr(new WfTypeOfTypeExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfTypeOfExpressionExpression* node) - { - auto newNode = vl::Ptr(new WfTypeOfExpressionExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfAttachEventExpression* node) - { - auto newNode = vl::Ptr(new WfAttachEventExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfDetachEventExpression* node) - { - auto newNode = vl::Ptr(new WfDetachEventExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfObserveExpression* node) - { - auto newNode = vl::Ptr(new WfObserveExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfCallExpression* node) - { - auto newNode = vl::Ptr(new WfCallExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfFunctionExpression* node) - { - auto newNode = vl::Ptr(new WfFunctionExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfNewClassExpression* node) - { - auto newNode = vl::Ptr(new WfNewClassExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfNewInterfaceExpression* node) - { - auto newNode = vl::Ptr(new WfNewInterfaceExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfVirtualCfeExpression* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfVirtualCseExpression* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfBreakStatement* node) - { - auto newNode = vl::Ptr(new WfBreakStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfContinueStatement* node) - { - auto newNode = vl::Ptr(new WfContinueStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfReturnStatement* node) - { - auto newNode = vl::Ptr(new WfReturnStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfDeleteStatement* node) - { - auto newNode = vl::Ptr(new WfDeleteStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfRaiseExceptionStatement* node) - { - auto newNode = vl::Ptr(new WfRaiseExceptionStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfIfStatement* node) - { - auto newNode = vl::Ptr(new WfIfStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfWhileStatement* node) - { - auto newNode = vl::Ptr(new WfWhileStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfTryStatement* node) - { - auto newNode = vl::Ptr(new WfTryStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfBlockStatement* node) - { - auto newNode = vl::Ptr(new WfBlockStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfGotoStatement* node) - { - auto newNode = vl::Ptr(new WfGotoStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfVariableStatement* node) - { - auto newNode = vl::Ptr(new WfVariableStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfExpressionStatement* node) - { - auto newNode = vl::Ptr(new WfExpressionStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfVirtualCseStatement* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfCoroutineStatement* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfStateMachineStatement* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfNamespaceDeclaration* node) - { - auto newNode = vl::Ptr(new WfNamespaceDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfFunctionDeclaration* node) - { - auto newNode = vl::Ptr(new WfFunctionDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfVariableDeclaration* node) - { - auto newNode = vl::Ptr(new WfVariableDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfEventDeclaration* node) - { - auto newNode = vl::Ptr(new WfEventDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfPropertyDeclaration* node) - { - auto newNode = vl::Ptr(new WfPropertyDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfConstructorDeclaration* node) - { - auto newNode = vl::Ptr(new WfConstructorDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfDestructorDeclaration* node) - { - auto newNode = vl::Ptr(new WfDestructorDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfClassDeclaration* node) - { - auto newNode = vl::Ptr(new WfClassDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfEnumDeclaration* node) - { - auto newNode = vl::Ptr(new WfEnumDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfStructDeclaration* node) - { - auto newNode = vl::Ptr(new WfStructDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfVirtualCfeDeclaration* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfVirtualCseDeclaration* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfAutoPropertyDeclaration* node) - { - auto newNode = vl::Ptr(new WfAutoPropertyDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfCastResultInterfaceDeclaration* node) - { - auto newNode = vl::Ptr(new WfCastResultInterfaceDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfStateMachineDeclaration* node) - { - auto newNode = vl::Ptr(new WfStateMachineDeclaration); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfForEachStatement* node) - { - auto newNode = vl::Ptr(new WfForEachStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfSwitchStatement* node) - { - auto newNode = vl::Ptr(new WfSwitchStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfCoProviderStatement* node) - { - auto newNode = vl::Ptr(new WfCoProviderStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfCoPauseStatement* node) - { - auto newNode = vl::Ptr(new WfCoPauseStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfCoOperatorStatement* node) - { - auto newNode = vl::Ptr(new WfCoOperatorStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfStateSwitchStatement* node) - { - auto newNode = vl::Ptr(new WfStateSwitchStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfStateInvokeStatement* node) - { - auto newNode = vl::Ptr(new WfStateInvokeStatement); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfFormatExpression* node) - { - auto newNode = vl::Ptr(new WfFormatExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfBindExpression* node) - { - auto newNode = vl::Ptr(new WfBindExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfNewCoroutineExpression* node) - { - auto newNode = vl::Ptr(new WfNewCoroutineExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfMixinCastExpression* node) - { - auto newNode = vl::Ptr(new WfMixinCastExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfExpectedTypeCastExpression* node) - { - auto newNode = vl::Ptr(new WfExpectedTypeCastExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfCoOperatorExpression* node) - { - auto newNode = vl::Ptr(new WfCoOperatorExpression); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfModuleUsingNameFragment* node) - { - auto newNode = vl::Ptr(new WfModuleUsingNameFragment); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - void AstVisitor::Visit(WfModuleUsingWildCardFragment* node) - { - auto newNode = vl::Ptr(new WfModuleUsingWildCardFragment); - CopyFields(node, newNode.Obj()); - this->result = newNode; - } - - vl::Ptr AstVisitor::CopyNode(WfType* node) - { - if (!node) return nullptr; - node->Accept(static_cast(this)); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfExpression* node) - { - if (!node) return nullptr; - node->Accept(static_cast(this)); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStatement* node) - { - if (!node) return nullptr; - node->Accept(static_cast(this)); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfDeclaration* node) - { - if (!node) return nullptr; - node->Accept(static_cast(this)); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfModuleUsingFragment* node) - { - if (!node) return nullptr; - node->Accept(static_cast(this)); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfAttribute* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfFunctionArgument* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfBaseConstructorCall* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfEnumItemIntersection* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfEnumItem* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStructMember* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStateInput* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStateDeclaration* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfSwitchCase* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStateSwitchArgument* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStateSwitchCase* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfLetVariable* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfConstructorArgument* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfModuleUsingItem* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfModuleUsingPath* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfModule* node) - { - if (!node) return nullptr; - Visit(node); - this->result->codeRange = node->codeRange; - return this->result.Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfAttachEventExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfAutoPropertyDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfBinaryExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfBindExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfBlockStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfBreakStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfCallExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfCastResultInterfaceDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfChildExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfChildType* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfClassDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfCoOperatorExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfCoOperatorStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfCoPauseStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfCoProviderStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfConstructorDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfConstructorExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfContinueStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfCoroutineStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfDeleteStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfDestructorDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfDetachEventExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfEnumDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfEnumerableType* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfEventDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfExpectedTypeCastExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfExpressionStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfFloatingExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfForEachStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfFormatExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfFunctionDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfFunctionExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfFunctionType* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfGotoStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfIfExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfIfStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfInferExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfIntegerExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfLetExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfLiteralExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfMapType* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfMemberExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfMixinCastExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfModuleUsingNameFragment* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfModuleUsingWildCardFragment* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfNamespaceDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfNewClassExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfNewCoroutineExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfNewInterfaceExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfNullableType* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfObservableListType* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfObserveExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfOrderedLambdaExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfOrderedNameExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfPredefinedType* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfPropertyDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfRaiseExceptionStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfRangeExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfRawPointerType* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfReferenceExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfReferenceType* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfReturnStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfSetTestingExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfSharedPointerType* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStateInvokeStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStateMachineDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStateMachineStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStateSwitchStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStringExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfStructDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfSwitchStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfThisExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfTopQualifiedExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfTopQualifiedType* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfTryStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfTypeCastingExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfTypeOfExpressionExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfTypeOfTypeExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfTypeTestingExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfUnaryExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfVariableDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfVariableStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfVirtualCfeDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfVirtualCfeExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfVirtualCseDeclaration* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfVirtualCseExpression* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfVirtualCseStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - - vl::Ptr AstVisitor::CopyNode(WfWhileStatement* node) - { - if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); - } - + to->arguments.Add(CopyNode(listItem.Obj())); + } + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfBinaryExpression* from, WfBinaryExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->first = CopyNode(from->first.Obj()); + to->op = from->op; + to->second = CopyNode(from->second.Obj()); + } + + void AstVisitor::CopyFields(WfBindExpression* from, WfBindExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + } + + void AstVisitor::CopyFields(WfBlockStatement* from, WfBlockStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->endLabel = from->endLabel; + for (auto&& listItem : from->statements) + { + to->statements.Add(CopyNode(listItem.Obj())); } } + + void AstVisitor::CopyFields(WfBreakStatement* from, WfBreakStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + } + + void AstVisitor::CopyFields(WfCallExpression* from, WfCallExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + to->function = CopyNode(from->function.Obj()); + } + + void AstVisitor::CopyFields(WfCastResultInterfaceDeclaration* from, WfCastResultInterfaceDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->baseType = CopyNode(from->baseType.Obj()); + to->elementType = CopyNode(from->elementType.Obj()); + } + + void AstVisitor::CopyFields(WfChildExpression* from, WfChildExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + to->parent = CopyNode(from->parent.Obj()); + } + + void AstVisitor::CopyFields(WfChildType* from, WfChildType* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + to->parent = CopyNode(from->parent.Obj()); + } + + void AstVisitor::CopyFields(WfClassDeclaration* from, WfClassDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->baseTypes) + { + to->baseTypes.Add(CopyNode(listItem.Obj())); + } + to->constructorType = from->constructorType; + for (auto&& listItem : from->declarations) + { + to->declarations.Add(CopyNode(listItem.Obj())); + } + to->kind = from->kind; + } + + void AstVisitor::CopyFields(WfCoOperatorExpression* from, WfCoOperatorExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + } + + void AstVisitor::CopyFields(WfCoOperatorStatement* from, WfCoOperatorStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + to->opName = from->opName; + to->varName = from->varName; + } + + void AstVisitor::CopyFields(WfCoPauseStatement* from, WfCoPauseStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->statement = CopyNode(from->statement.Obj()); + } + + void AstVisitor::CopyFields(WfCoProviderStatement* from, WfCoProviderStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + to->statement = CopyNode(from->statement.Obj()); + } + + void AstVisitor::CopyFields(WfConstructorArgument* from, WfConstructorArgument* to) + { + to->key = CopyNode(from->key.Obj()); + to->value = CopyNode(from->value.Obj()); + } + + void AstVisitor::CopyFields(WfConstructorDeclaration* from, WfConstructorDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + for (auto&& listItem : from->baseConstructorCalls) + { + to->baseConstructorCalls.Add(CopyNode(listItem.Obj())); + } + to->constructorType = from->constructorType; + to->statement = CopyNode(from->statement.Obj()); + } + + void AstVisitor::CopyFields(WfConstructorExpression* from, WfConstructorExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(WfContinueStatement* from, WfContinueStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + } + + void AstVisitor::CopyFields(WfCoroutineStatement* from, WfCoroutineStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + } + + void AstVisitor::CopyFields(WfDeclaration* from, WfDeclaration* to) + { + for (auto&& listItem : from->attributes) + { + to->attributes.Add(CopyNode(listItem.Obj())); + } + to->name = from->name; + } + + void AstVisitor::CopyFields(WfDeleteStatement* from, WfDeleteStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + } + + void AstVisitor::CopyFields(WfDestructorDeclaration* from, WfDestructorDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->statement = CopyNode(from->statement.Obj()); + } + + void AstVisitor::CopyFields(WfDetachEventExpression* from, WfDetachEventExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->event = CopyNode(from->event.Obj()); + to->handler = CopyNode(from->handler.Obj()); + } + + void AstVisitor::CopyFields(WfEnumDeclaration* from, WfEnumDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->items) + { + to->items.Add(CopyNode(listItem.Obj())); + } + to->kind = from->kind; + } + + void AstVisitor::CopyFields(WfEnumItem* from, WfEnumItem* to) + { + for (auto&& listItem : from->attributes) + { + to->attributes.Add(CopyNode(listItem.Obj())); + } + for (auto&& listItem : from->intersections) + { + to->intersections.Add(CopyNode(listItem.Obj())); + } + to->kind = from->kind; + to->name = from->name; + to->number = from->number; + } + + void AstVisitor::CopyFields(WfEnumItemIntersection* from, WfEnumItemIntersection* to) + { + to->name = from->name; + } + + void AstVisitor::CopyFields(WfEnumerableType* from, WfEnumerableType* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->element = CopyNode(from->element.Obj()); + } + + void AstVisitor::CopyFields(WfEventDeclaration* from, WfEventDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(WfExpectedTypeCastExpression* from, WfExpectedTypeCastExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + to->strategy = from->strategy; + } + + void AstVisitor::CopyFields(WfExpression* from, WfExpression* to) + { + } + + void AstVisitor::CopyFields(WfExpressionStatement* from, WfExpressionStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + } + + void AstVisitor::CopyFields(WfFloatingExpression* from, WfFloatingExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->value = from->value; + } + + void AstVisitor::CopyFields(WfForEachStatement* from, WfForEachStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->collection = CopyNode(from->collection.Obj()); + to->direction = from->direction; + to->name = from->name; + to->statement = CopyNode(from->statement.Obj()); + } + + void AstVisitor::CopyFields(WfFormatExpression* from, WfFormatExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->value = from->value; + } + + void AstVisitor::CopyFields(WfFunctionArgument* from, WfFunctionArgument* to) + { + for (auto&& listItem : from->attributes) + { + to->attributes.Add(CopyNode(listItem.Obj())); + } + to->name = from->name; + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfFunctionDeclaration* from, WfFunctionDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->anonymity = from->anonymity; + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + to->functionKind = from->functionKind; + to->returnType = CopyNode(from->returnType.Obj()); + to->statement = CopyNode(from->statement.Obj()); + } + + void AstVisitor::CopyFields(WfFunctionExpression* from, WfFunctionExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->function = CopyNode(from->function.Obj()); + } + + void AstVisitor::CopyFields(WfFunctionType* from, WfFunctionType* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + to->result = CopyNode(from->result.Obj()); + } + + void AstVisitor::CopyFields(WfGotoStatement* from, WfGotoStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->label = from->label; + } + + void AstVisitor::CopyFields(WfIfExpression* from, WfIfExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->condition = CopyNode(from->condition.Obj()); + to->falseBranch = CopyNode(from->falseBranch.Obj()); + to->trueBranch = CopyNode(from->trueBranch.Obj()); + } + + void AstVisitor::CopyFields(WfIfStatement* from, WfIfStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + to->falseBranch = CopyNode(from->falseBranch.Obj()); + to->name = from->name; + to->trueBranch = CopyNode(from->trueBranch.Obj()); + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfInferExpression* from, WfInferExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfIntegerExpression* from, WfIntegerExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->value = from->value; + } + + void AstVisitor::CopyFields(WfLetExpression* from, WfLetExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + for (auto&& listItem : from->variables) + { + to->variables.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(WfLetVariable* from, WfLetVariable* to) + { + to->name = from->name; + to->value = CopyNode(from->value.Obj()); + } + + void AstVisitor::CopyFields(WfLiteralExpression* from, WfLiteralExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->value = from->value; + } + + void AstVisitor::CopyFields(WfMapType* from, WfMapType* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->key = CopyNode(from->key.Obj()); + to->value = CopyNode(from->value.Obj()); + to->writability = from->writability; + } + + void AstVisitor::CopyFields(WfMemberExpression* from, WfMemberExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + to->parent = CopyNode(from->parent.Obj()); + } + + void AstVisitor::CopyFields(WfMixinCastExpression* from, WfMixinCastExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfModule* from, WfModule* to) + { + for (auto&& listItem : from->declarations) + { + to->declarations.Add(CopyNode(listItem.Obj())); + } + to->moduleType = from->moduleType; + to->name = from->name; + for (auto&& listItem : from->paths) + { + to->paths.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(WfModuleUsingFragment* from, WfModuleUsingFragment* to) + { + } + + void AstVisitor::CopyFields(WfModuleUsingItem* from, WfModuleUsingItem* to) + { + for (auto&& listItem : from->fragments) + { + to->fragments.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(WfModuleUsingNameFragment* from, WfModuleUsingNameFragment* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + } + + void AstVisitor::CopyFields(WfModuleUsingPath* from, WfModuleUsingPath* to) + { + for (auto&& listItem : from->items) + { + to->items.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(WfModuleUsingWildCardFragment* from, WfModuleUsingWildCardFragment* to) + { + CopyFields(static_cast(from), static_cast(to)); + } + + void AstVisitor::CopyFields(WfNamespaceDeclaration* from, WfNamespaceDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->declarations) + { + to->declarations.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(WfNewClassExpression* from, WfNewClassExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfNewCoroutineExpression* from, WfNewCoroutineExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + to->statement = CopyNode(from->statement.Obj()); + } + + void AstVisitor::CopyFields(WfNewInterfaceExpression* from, WfNewInterfaceExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->declarations) + { + to->declarations.Add(CopyNode(listItem.Obj())); + } + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfNullableType* from, WfNullableType* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->element = CopyNode(from->element.Obj()); + } + + void AstVisitor::CopyFields(WfObservableListType* from, WfObservableListType* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->element = CopyNode(from->element.Obj()); + } + + void AstVisitor::CopyFields(WfObserveExpression* from, WfObserveExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->events) + { + to->events.Add(CopyNode(listItem.Obj())); + } + to->expression = CopyNode(from->expression.Obj()); + to->name = from->name; + to->observeType = from->observeType; + to->parent = CopyNode(from->parent.Obj()); + } + + void AstVisitor::CopyFields(WfOrderedLambdaExpression* from, WfOrderedLambdaExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->body = CopyNode(from->body.Obj()); + } + + void AstVisitor::CopyFields(WfOrderedNameExpression* from, WfOrderedNameExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + } + + void AstVisitor::CopyFields(WfPredefinedType* from, WfPredefinedType* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + } + + void AstVisitor::CopyFields(WfPropertyDeclaration* from, WfPropertyDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->getter = from->getter; + to->setter = from->setter; + to->type = CopyNode(from->type.Obj()); + to->valueChangedEvent = from->valueChangedEvent; + } + + void AstVisitor::CopyFields(WfRaiseExceptionStatement* from, WfRaiseExceptionStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + } + + void AstVisitor::CopyFields(WfRangeExpression* from, WfRangeExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->begin = CopyNode(from->begin.Obj()); + to->beginBoundary = from->beginBoundary; + to->end = CopyNode(from->end.Obj()); + to->endBoundary = from->endBoundary; + } + + void AstVisitor::CopyFields(WfRawPointerType* from, WfRawPointerType* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->element = CopyNode(from->element.Obj()); + } + + void AstVisitor::CopyFields(WfReferenceExpression* from, WfReferenceExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + } + + void AstVisitor::CopyFields(WfReferenceType* from, WfReferenceType* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + } + + void AstVisitor::CopyFields(WfReturnStatement* from, WfReturnStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + } + + void AstVisitor::CopyFields(WfSetTestingExpression* from, WfSetTestingExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->collection = CopyNode(from->collection.Obj()); + to->element = CopyNode(from->element.Obj()); + to->test = from->test; + } + + void AstVisitor::CopyFields(WfSharedPointerType* from, WfSharedPointerType* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->element = CopyNode(from->element.Obj()); + } + + void AstVisitor::CopyFields(WfStateDeclaration* from, WfStateDeclaration* to) + { + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + to->name = from->name; + to->statement = CopyNode(from->statement.Obj()); + } + + void AstVisitor::CopyFields(WfStateInput* from, WfStateInput* to) + { + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + to->name = from->name; + } + + void AstVisitor::CopyFields(WfStateInvokeStatement* from, WfStateInvokeStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + to->name = from->name; + to->type = from->type; + } + + void AstVisitor::CopyFields(WfStateMachineDeclaration* from, WfStateMachineDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->inputs) + { + to->inputs.Add(CopyNode(listItem.Obj())); + } + for (auto&& listItem : from->states) + { + to->states.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(WfStateMachineStatement* from, WfStateMachineStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + } + + void AstVisitor::CopyFields(WfStateSwitchArgument* from, WfStateSwitchArgument* to) + { + to->name = from->name; + } + + void AstVisitor::CopyFields(WfStateSwitchCase* from, WfStateSwitchCase* to) + { + for (auto&& listItem : from->arguments) + { + to->arguments.Add(CopyNode(listItem.Obj())); + } + to->name = from->name; + to->statement = CopyNode(from->statement.Obj()); + } + + void AstVisitor::CopyFields(WfStateSwitchStatement* from, WfStateSwitchStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->caseBranches) + { + to->caseBranches.Add(CopyNode(listItem.Obj())); + } + to->type = from->type; + } + + void AstVisitor::CopyFields(WfStatement* from, WfStatement* to) + { + } + + void AstVisitor::CopyFields(WfStringExpression* from, WfStringExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->value = from->value; + } + + void AstVisitor::CopyFields(WfStructDeclaration* from, WfStructDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->members) + { + to->members.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(WfStructMember* from, WfStructMember* to) + { + for (auto&& listItem : from->attributes) + { + to->attributes.Add(CopyNode(listItem.Obj())); + } + to->name = from->name; + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfSwitchCase* from, WfSwitchCase* to) + { + to->expression = CopyNode(from->expression.Obj()); + to->statement = CopyNode(from->statement.Obj()); + } + + void AstVisitor::CopyFields(WfSwitchStatement* from, WfSwitchStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->caseBranches) + { + to->caseBranches.Add(CopyNode(listItem.Obj())); + } + to->defaultBranch = CopyNode(from->defaultBranch.Obj()); + to->expression = CopyNode(from->expression.Obj()); + } + + void AstVisitor::CopyFields(WfThisExpression* from, WfThisExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + } + + void AstVisitor::CopyFields(WfTopQualifiedExpression* from, WfTopQualifiedExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + } + + void AstVisitor::CopyFields(WfTopQualifiedType* from, WfTopQualifiedType* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + } + + void AstVisitor::CopyFields(WfTryStatement* from, WfTryStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->catchStatement = CopyNode(from->catchStatement.Obj()); + to->finallyStatement = CopyNode(from->finallyStatement.Obj()); + to->name = from->name; + to->protectedStatement = CopyNode(from->protectedStatement.Obj()); + } + + void AstVisitor::CopyFields(WfType* from, WfType* to) + { + } + + void AstVisitor::CopyFields(WfTypeCastingExpression* from, WfTypeCastingExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + to->strategy = from->strategy; + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfTypeOfExpressionExpression* from, WfTypeOfExpressionExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + } + + void AstVisitor::CopyFields(WfTypeOfTypeExpression* from, WfTypeOfTypeExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfTypeTestingExpression* from, WfTypeTestingExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + to->test = from->test; + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfUnaryExpression* from, WfUnaryExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->op = from->op; + to->operand = CopyNode(from->operand.Obj()); + } + + void AstVisitor::CopyFields(WfVariableDeclaration* from, WfVariableDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expression = CopyNode(from->expression.Obj()); + to->type = CopyNode(from->type.Obj()); + } + + void AstVisitor::CopyFields(WfVariableStatement* from, WfVariableStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->variable = CopyNode(from->variable.Obj()); + } + + void AstVisitor::CopyFields(WfVirtualCfeDeclaration* from, WfVirtualCfeDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->expandedDeclarations) + { + to->expandedDeclarations.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(WfVirtualCfeExpression* from, WfVirtualCfeExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expandedExpression = CopyNode(from->expandedExpression.Obj()); + } + + void AstVisitor::CopyFields(WfVirtualCseDeclaration* from, WfVirtualCseDeclaration* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->expandedDeclarations) + { + to->expandedDeclarations.Add(CopyNode(listItem.Obj())); + } + } + + void AstVisitor::CopyFields(WfVirtualCseExpression* from, WfVirtualCseExpression* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expandedExpression = CopyNode(from->expandedExpression.Obj()); + } + + void AstVisitor::CopyFields(WfVirtualCseStatement* from, WfVirtualCseStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->expandedStatement = CopyNode(from->expandedStatement.Obj()); + } + + void AstVisitor::CopyFields(WfWhileStatement* from, WfWhileStatement* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->condition = CopyNode(from->condition.Obj()); + to->statement = CopyNode(from->statement.Obj()); + } + + void AstVisitor::Visit(WfAttribute* node) + { + auto newNode = vl::Ptr(new WfAttribute); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfFunctionArgument* node) + { + auto newNode = vl::Ptr(new WfFunctionArgument); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfBaseConstructorCall* node) + { + auto newNode = vl::Ptr(new WfBaseConstructorCall); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfEnumItemIntersection* node) + { + auto newNode = vl::Ptr(new WfEnumItemIntersection); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfEnumItem* node) + { + auto newNode = vl::Ptr(new WfEnumItem); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfStructMember* node) + { + auto newNode = vl::Ptr(new WfStructMember); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfStateInput* node) + { + auto newNode = vl::Ptr(new WfStateInput); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfStateDeclaration* node) + { + auto newNode = vl::Ptr(new WfStateDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfSwitchCase* node) + { + auto newNode = vl::Ptr(new WfSwitchCase); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfStateSwitchArgument* node) + { + auto newNode = vl::Ptr(new WfStateSwitchArgument); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfStateSwitchCase* node) + { + auto newNode = vl::Ptr(new WfStateSwitchCase); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfLetVariable* node) + { + auto newNode = vl::Ptr(new WfLetVariable); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfConstructorArgument* node) + { + auto newNode = vl::Ptr(new WfConstructorArgument); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfModuleUsingItem* node) + { + auto newNode = vl::Ptr(new WfModuleUsingItem); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfModuleUsingPath* node) + { + auto newNode = vl::Ptr(new WfModuleUsingPath); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfModule* node) + { + auto newNode = vl::Ptr(new WfModule); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfPredefinedType* node) + { + auto newNode = vl::Ptr(new WfPredefinedType); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfTopQualifiedType* node) + { + auto newNode = vl::Ptr(new WfTopQualifiedType); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfReferenceType* node) + { + auto newNode = vl::Ptr(new WfReferenceType); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfRawPointerType* node) + { + auto newNode = vl::Ptr(new WfRawPointerType); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfSharedPointerType* node) + { + auto newNode = vl::Ptr(new WfSharedPointerType); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfNullableType* node) + { + auto newNode = vl::Ptr(new WfNullableType); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfEnumerableType* node) + { + auto newNode = vl::Ptr(new WfEnumerableType); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfMapType* node) + { + auto newNode = vl::Ptr(new WfMapType); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfObservableListType* node) + { + auto newNode = vl::Ptr(new WfObservableListType); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfFunctionType* node) + { + auto newNode = vl::Ptr(new WfFunctionType); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfChildType* node) + { + auto newNode = vl::Ptr(new WfChildType); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfThisExpression* node) + { + auto newNode = vl::Ptr(new WfThisExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfTopQualifiedExpression* node) + { + auto newNode = vl::Ptr(new WfTopQualifiedExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfReferenceExpression* node) + { + auto newNode = vl::Ptr(new WfReferenceExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfOrderedNameExpression* node) + { + auto newNode = vl::Ptr(new WfOrderedNameExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfOrderedLambdaExpression* node) + { + auto newNode = vl::Ptr(new WfOrderedLambdaExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfMemberExpression* node) + { + auto newNode = vl::Ptr(new WfMemberExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfChildExpression* node) + { + auto newNode = vl::Ptr(new WfChildExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfLiteralExpression* node) + { + auto newNode = vl::Ptr(new WfLiteralExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfFloatingExpression* node) + { + auto newNode = vl::Ptr(new WfFloatingExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfIntegerExpression* node) + { + auto newNode = vl::Ptr(new WfIntegerExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfStringExpression* node) + { + auto newNode = vl::Ptr(new WfStringExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfUnaryExpression* node) + { + auto newNode = vl::Ptr(new WfUnaryExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfBinaryExpression* node) + { + auto newNode = vl::Ptr(new WfBinaryExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfLetExpression* node) + { + auto newNode = vl::Ptr(new WfLetExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfIfExpression* node) + { + auto newNode = vl::Ptr(new WfIfExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfRangeExpression* node) + { + auto newNode = vl::Ptr(new WfRangeExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfSetTestingExpression* node) + { + auto newNode = vl::Ptr(new WfSetTestingExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfConstructorExpression* node) + { + auto newNode = vl::Ptr(new WfConstructorExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfInferExpression* node) + { + auto newNode = vl::Ptr(new WfInferExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfTypeCastingExpression* node) + { + auto newNode = vl::Ptr(new WfTypeCastingExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfTypeTestingExpression* node) + { + auto newNode = vl::Ptr(new WfTypeTestingExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfTypeOfTypeExpression* node) + { + auto newNode = vl::Ptr(new WfTypeOfTypeExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfTypeOfExpressionExpression* node) + { + auto newNode = vl::Ptr(new WfTypeOfExpressionExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfAttachEventExpression* node) + { + auto newNode = vl::Ptr(new WfAttachEventExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfDetachEventExpression* node) + { + auto newNode = vl::Ptr(new WfDetachEventExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfObserveExpression* node) + { + auto newNode = vl::Ptr(new WfObserveExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfCallExpression* node) + { + auto newNode = vl::Ptr(new WfCallExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfFunctionExpression* node) + { + auto newNode = vl::Ptr(new WfFunctionExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfNewClassExpression* node) + { + auto newNode = vl::Ptr(new WfNewClassExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfNewInterfaceExpression* node) + { + auto newNode = vl::Ptr(new WfNewInterfaceExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfVirtualCfeExpression* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfVirtualCseExpression* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfBreakStatement* node) + { + auto newNode = vl::Ptr(new WfBreakStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfContinueStatement* node) + { + auto newNode = vl::Ptr(new WfContinueStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfReturnStatement* node) + { + auto newNode = vl::Ptr(new WfReturnStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfDeleteStatement* node) + { + auto newNode = vl::Ptr(new WfDeleteStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfRaiseExceptionStatement* node) + { + auto newNode = vl::Ptr(new WfRaiseExceptionStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfIfStatement* node) + { + auto newNode = vl::Ptr(new WfIfStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfWhileStatement* node) + { + auto newNode = vl::Ptr(new WfWhileStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfTryStatement* node) + { + auto newNode = vl::Ptr(new WfTryStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfBlockStatement* node) + { + auto newNode = vl::Ptr(new WfBlockStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfGotoStatement* node) + { + auto newNode = vl::Ptr(new WfGotoStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfVariableStatement* node) + { + auto newNode = vl::Ptr(new WfVariableStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfExpressionStatement* node) + { + auto newNode = vl::Ptr(new WfExpressionStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfVirtualCseStatement* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfCoroutineStatement* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfStateMachineStatement* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfNamespaceDeclaration* node) + { + auto newNode = vl::Ptr(new WfNamespaceDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfFunctionDeclaration* node) + { + auto newNode = vl::Ptr(new WfFunctionDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfVariableDeclaration* node) + { + auto newNode = vl::Ptr(new WfVariableDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfEventDeclaration* node) + { + auto newNode = vl::Ptr(new WfEventDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfPropertyDeclaration* node) + { + auto newNode = vl::Ptr(new WfPropertyDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfConstructorDeclaration* node) + { + auto newNode = vl::Ptr(new WfConstructorDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfDestructorDeclaration* node) + { + auto newNode = vl::Ptr(new WfDestructorDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfClassDeclaration* node) + { + auto newNode = vl::Ptr(new WfClassDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfEnumDeclaration* node) + { + auto newNode = vl::Ptr(new WfEnumDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfStructDeclaration* node) + { + auto newNode = vl::Ptr(new WfStructDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfVirtualCfeDeclaration* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfVirtualCseDeclaration* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfAutoPropertyDeclaration* node) + { + auto newNode = vl::Ptr(new WfAutoPropertyDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfCastResultInterfaceDeclaration* node) + { + auto newNode = vl::Ptr(new WfCastResultInterfaceDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfStateMachineDeclaration* node) + { + auto newNode = vl::Ptr(new WfStateMachineDeclaration); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfForEachStatement* node) + { + auto newNode = vl::Ptr(new WfForEachStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfSwitchStatement* node) + { + auto newNode = vl::Ptr(new WfSwitchStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfCoProviderStatement* node) + { + auto newNode = vl::Ptr(new WfCoProviderStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfCoPauseStatement* node) + { + auto newNode = vl::Ptr(new WfCoPauseStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfCoOperatorStatement* node) + { + auto newNode = vl::Ptr(new WfCoOperatorStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfStateSwitchStatement* node) + { + auto newNode = vl::Ptr(new WfStateSwitchStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfStateInvokeStatement* node) + { + auto newNode = vl::Ptr(new WfStateInvokeStatement); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfFormatExpression* node) + { + auto newNode = vl::Ptr(new WfFormatExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfBindExpression* node) + { + auto newNode = vl::Ptr(new WfBindExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfNewCoroutineExpression* node) + { + auto newNode = vl::Ptr(new WfNewCoroutineExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfMixinCastExpression* node) + { + auto newNode = vl::Ptr(new WfMixinCastExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfExpectedTypeCastExpression* node) + { + auto newNode = vl::Ptr(new WfExpectedTypeCastExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfCoOperatorExpression* node) + { + auto newNode = vl::Ptr(new WfCoOperatorExpression); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfModuleUsingNameFragment* node) + { + auto newNode = vl::Ptr(new WfModuleUsingNameFragment); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void AstVisitor::Visit(WfModuleUsingWildCardFragment* node) + { + auto newNode = vl::Ptr(new WfModuleUsingWildCardFragment); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + vl::Ptr AstVisitor::CopyNode(WfType* node) + { + if (!node) return nullptr; + node->Accept(static_cast(this)); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfExpression* node) + { + if (!node) return nullptr; + node->Accept(static_cast(this)); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStatement* node) + { + if (!node) return nullptr; + node->Accept(static_cast(this)); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfDeclaration* node) + { + if (!node) return nullptr; + node->Accept(static_cast(this)); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfModuleUsingFragment* node) + { + if (!node) return nullptr; + node->Accept(static_cast(this)); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfAttribute* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfFunctionArgument* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfBaseConstructorCall* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfEnumItemIntersection* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfEnumItem* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStructMember* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStateInput* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStateDeclaration* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfSwitchCase* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStateSwitchArgument* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStateSwitchCase* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfLetVariable* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfConstructorArgument* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfModuleUsingItem* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfModuleUsingPath* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfModule* node) + { + if (!node) return nullptr; + Visit(node); + this->result->codeRange = node->codeRange; + return this->result.Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfAttachEventExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfAutoPropertyDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfBinaryExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfBindExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfBlockStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfBreakStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfCallExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfCastResultInterfaceDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfChildExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfChildType* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfClassDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfCoOperatorExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfCoOperatorStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfCoPauseStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfCoProviderStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfConstructorDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfConstructorExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfContinueStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfCoroutineStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfDeleteStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfDestructorDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfDetachEventExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfEnumDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfEnumerableType* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfEventDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfExpectedTypeCastExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfExpressionStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfFloatingExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfForEachStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfFormatExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfFunctionDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfFunctionExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfFunctionType* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfGotoStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfIfExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfIfStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfInferExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfIntegerExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfLetExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfLiteralExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfMapType* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfMemberExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfMixinCastExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfModuleUsingNameFragment* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfModuleUsingWildCardFragment* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfNamespaceDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfNewClassExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfNewCoroutineExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfNewInterfaceExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfNullableType* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfObservableListType* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfObserveExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfOrderedLambdaExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfOrderedNameExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfPredefinedType* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfPropertyDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfRaiseExceptionStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfRangeExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfRawPointerType* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfReferenceExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfReferenceType* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfReturnStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfSetTestingExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfSharedPointerType* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStateInvokeStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStateMachineDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStateMachineStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStateSwitchStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStringExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfStructDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfSwitchStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfThisExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfTopQualifiedExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfTopQualifiedType* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfTryStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfTypeCastingExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfTypeOfExpressionExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfTypeOfTypeExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfTypeTestingExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfUnaryExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfVariableDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfVariableStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfVirtualCfeDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfVirtualCfeExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfVirtualCseDeclaration* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfVirtualCseExpression* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfVirtualCseStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr AstVisitor::CopyNode(WfWhileStatement* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + } @@ -35090,444 +35067,438 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::workflow::empty_visitor { - namespace workflow - { - namespace empty_visitor - { /*********************************************************************** TypeVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void TypeVisitor::Visit(WfPredefinedType* node) - { - } + void TypeVisitor::Visit(WfPredefinedType* node) + { + } - void TypeVisitor::Visit(WfTopQualifiedType* node) - { - } + void TypeVisitor::Visit(WfTopQualifiedType* node) + { + } - void TypeVisitor::Visit(WfReferenceType* node) - { - } + void TypeVisitor::Visit(WfReferenceType* node) + { + } - void TypeVisitor::Visit(WfRawPointerType* node) - { - } + void TypeVisitor::Visit(WfRawPointerType* node) + { + } - void TypeVisitor::Visit(WfSharedPointerType* node) - { - } + void TypeVisitor::Visit(WfSharedPointerType* node) + { + } - void TypeVisitor::Visit(WfNullableType* node) - { - } + void TypeVisitor::Visit(WfNullableType* node) + { + } - void TypeVisitor::Visit(WfEnumerableType* node) - { - } + void TypeVisitor::Visit(WfEnumerableType* node) + { + } - void TypeVisitor::Visit(WfMapType* node) - { - } + void TypeVisitor::Visit(WfMapType* node) + { + } - void TypeVisitor::Visit(WfObservableListType* node) - { - } + void TypeVisitor::Visit(WfObservableListType* node) + { + } - void TypeVisitor::Visit(WfFunctionType* node) - { - } + void TypeVisitor::Visit(WfFunctionType* node) + { + } - void TypeVisitor::Visit(WfChildType* node) - { - } + void TypeVisitor::Visit(WfChildType* node) + { + } /*********************************************************************** ExpressionVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void ExpressionVisitor::Visit(WfThisExpression* node) - { - } + void ExpressionVisitor::Visit(WfThisExpression* node) + { + } - void ExpressionVisitor::Visit(WfTopQualifiedExpression* node) - { - } + void ExpressionVisitor::Visit(WfTopQualifiedExpression* node) + { + } - void ExpressionVisitor::Visit(WfReferenceExpression* node) - { - } + void ExpressionVisitor::Visit(WfReferenceExpression* node) + { + } - void ExpressionVisitor::Visit(WfOrderedNameExpression* node) - { - } + void ExpressionVisitor::Visit(WfOrderedNameExpression* node) + { + } - void ExpressionVisitor::Visit(WfOrderedLambdaExpression* node) - { - } + void ExpressionVisitor::Visit(WfOrderedLambdaExpression* node) + { + } - void ExpressionVisitor::Visit(WfMemberExpression* node) - { - } + void ExpressionVisitor::Visit(WfMemberExpression* node) + { + } - void ExpressionVisitor::Visit(WfChildExpression* node) - { - } + void ExpressionVisitor::Visit(WfChildExpression* node) + { + } - void ExpressionVisitor::Visit(WfLiteralExpression* node) - { - } + void ExpressionVisitor::Visit(WfLiteralExpression* node) + { + } - void ExpressionVisitor::Visit(WfFloatingExpression* node) - { - } + void ExpressionVisitor::Visit(WfFloatingExpression* node) + { + } - void ExpressionVisitor::Visit(WfIntegerExpression* node) - { - } + void ExpressionVisitor::Visit(WfIntegerExpression* node) + { + } - void ExpressionVisitor::Visit(WfStringExpression* node) - { - } + void ExpressionVisitor::Visit(WfStringExpression* node) + { + } - void ExpressionVisitor::Visit(WfUnaryExpression* node) - { - } + void ExpressionVisitor::Visit(WfUnaryExpression* node) + { + } - void ExpressionVisitor::Visit(WfBinaryExpression* node) - { - } + void ExpressionVisitor::Visit(WfBinaryExpression* node) + { + } - void ExpressionVisitor::Visit(WfLetExpression* node) - { - } + void ExpressionVisitor::Visit(WfLetExpression* node) + { + } - void ExpressionVisitor::Visit(WfIfExpression* node) - { - } + void ExpressionVisitor::Visit(WfIfExpression* node) + { + } - void ExpressionVisitor::Visit(WfRangeExpression* node) - { - } + void ExpressionVisitor::Visit(WfRangeExpression* node) + { + } - void ExpressionVisitor::Visit(WfSetTestingExpression* node) - { - } + void ExpressionVisitor::Visit(WfSetTestingExpression* node) + { + } - void ExpressionVisitor::Visit(WfConstructorExpression* node) - { - } + void ExpressionVisitor::Visit(WfConstructorExpression* node) + { + } - void ExpressionVisitor::Visit(WfInferExpression* node) - { - } + void ExpressionVisitor::Visit(WfInferExpression* node) + { + } - void ExpressionVisitor::Visit(WfTypeCastingExpression* node) - { - } + void ExpressionVisitor::Visit(WfTypeCastingExpression* node) + { + } - void ExpressionVisitor::Visit(WfTypeTestingExpression* node) - { - } + void ExpressionVisitor::Visit(WfTypeTestingExpression* node) + { + } - void ExpressionVisitor::Visit(WfTypeOfTypeExpression* node) - { - } + void ExpressionVisitor::Visit(WfTypeOfTypeExpression* node) + { + } - void ExpressionVisitor::Visit(WfTypeOfExpressionExpression* node) - { - } + void ExpressionVisitor::Visit(WfTypeOfExpressionExpression* node) + { + } - void ExpressionVisitor::Visit(WfAttachEventExpression* node) - { - } + void ExpressionVisitor::Visit(WfAttachEventExpression* node) + { + } - void ExpressionVisitor::Visit(WfDetachEventExpression* node) - { - } + void ExpressionVisitor::Visit(WfDetachEventExpression* node) + { + } - void ExpressionVisitor::Visit(WfObserveExpression* node) - { - } + void ExpressionVisitor::Visit(WfObserveExpression* node) + { + } - void ExpressionVisitor::Visit(WfCallExpression* node) - { - } + void ExpressionVisitor::Visit(WfCallExpression* node) + { + } - void ExpressionVisitor::Visit(WfFunctionExpression* node) - { - } + void ExpressionVisitor::Visit(WfFunctionExpression* node) + { + } - void ExpressionVisitor::Visit(WfNewClassExpression* node) - { - } + void ExpressionVisitor::Visit(WfNewClassExpression* node) + { + } - void ExpressionVisitor::Visit(WfNewInterfaceExpression* node) - { - } + void ExpressionVisitor::Visit(WfNewInterfaceExpression* node) + { + } - void ExpressionVisitor::Visit(WfVirtualCfeExpression* node) - { - Dispatch(node); - } + void ExpressionVisitor::Visit(WfVirtualCfeExpression* node) + { + Dispatch(node); + } - void ExpressionVisitor::Visit(WfVirtualCseExpression* node) - { - Dispatch(node); - } + void ExpressionVisitor::Visit(WfVirtualCseExpression* node) + { + Dispatch(node); + } /*********************************************************************** StatementVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void StatementVisitor::Visit(WfBreakStatement* node) - { - } + void StatementVisitor::Visit(WfBreakStatement* node) + { + } - void StatementVisitor::Visit(WfContinueStatement* node) - { - } + void StatementVisitor::Visit(WfContinueStatement* node) + { + } - void StatementVisitor::Visit(WfReturnStatement* node) - { - } + void StatementVisitor::Visit(WfReturnStatement* node) + { + } - void StatementVisitor::Visit(WfDeleteStatement* node) - { - } + void StatementVisitor::Visit(WfDeleteStatement* node) + { + } - void StatementVisitor::Visit(WfRaiseExceptionStatement* node) - { - } + void StatementVisitor::Visit(WfRaiseExceptionStatement* node) + { + } - void StatementVisitor::Visit(WfIfStatement* node) - { - } + void StatementVisitor::Visit(WfIfStatement* node) + { + } - void StatementVisitor::Visit(WfWhileStatement* node) - { - } + void StatementVisitor::Visit(WfWhileStatement* node) + { + } - void StatementVisitor::Visit(WfTryStatement* node) - { - } + void StatementVisitor::Visit(WfTryStatement* node) + { + } - void StatementVisitor::Visit(WfBlockStatement* node) - { - } + void StatementVisitor::Visit(WfBlockStatement* node) + { + } - void StatementVisitor::Visit(WfGotoStatement* node) - { - } + void StatementVisitor::Visit(WfGotoStatement* node) + { + } - void StatementVisitor::Visit(WfVariableStatement* node) - { - } + void StatementVisitor::Visit(WfVariableStatement* node) + { + } - void StatementVisitor::Visit(WfExpressionStatement* node) - { - } + void StatementVisitor::Visit(WfExpressionStatement* node) + { + } - void StatementVisitor::Visit(WfVirtualCseStatement* node) - { - Dispatch(node); - } + void StatementVisitor::Visit(WfVirtualCseStatement* node) + { + Dispatch(node); + } - void StatementVisitor::Visit(WfCoroutineStatement* node) - { - Dispatch(node); - } + void StatementVisitor::Visit(WfCoroutineStatement* node) + { + Dispatch(node); + } - void StatementVisitor::Visit(WfStateMachineStatement* node) - { - Dispatch(node); - } + void StatementVisitor::Visit(WfStateMachineStatement* node) + { + Dispatch(node); + } /*********************************************************************** DeclarationVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void DeclarationVisitor::Visit(WfNamespaceDeclaration* node) - { - } + void DeclarationVisitor::Visit(WfNamespaceDeclaration* node) + { + } - void DeclarationVisitor::Visit(WfFunctionDeclaration* node) - { - } + void DeclarationVisitor::Visit(WfFunctionDeclaration* node) + { + } - void DeclarationVisitor::Visit(WfVariableDeclaration* node) - { - } + void DeclarationVisitor::Visit(WfVariableDeclaration* node) + { + } - void DeclarationVisitor::Visit(WfEventDeclaration* node) - { - } + void DeclarationVisitor::Visit(WfEventDeclaration* node) + { + } - void DeclarationVisitor::Visit(WfPropertyDeclaration* node) - { - } + void DeclarationVisitor::Visit(WfPropertyDeclaration* node) + { + } - void DeclarationVisitor::Visit(WfConstructorDeclaration* node) - { - } + void DeclarationVisitor::Visit(WfConstructorDeclaration* node) + { + } - void DeclarationVisitor::Visit(WfDestructorDeclaration* node) - { - } + void DeclarationVisitor::Visit(WfDestructorDeclaration* node) + { + } - void DeclarationVisitor::Visit(WfClassDeclaration* node) - { - } + void DeclarationVisitor::Visit(WfClassDeclaration* node) + { + } - void DeclarationVisitor::Visit(WfEnumDeclaration* node) - { - } + void DeclarationVisitor::Visit(WfEnumDeclaration* node) + { + } - void DeclarationVisitor::Visit(WfStructDeclaration* node) - { - } + void DeclarationVisitor::Visit(WfStructDeclaration* node) + { + } - void DeclarationVisitor::Visit(WfVirtualCfeDeclaration* node) - { - Dispatch(node); - } + void DeclarationVisitor::Visit(WfVirtualCfeDeclaration* node) + { + Dispatch(node); + } - void DeclarationVisitor::Visit(WfVirtualCseDeclaration* node) - { - Dispatch(node); - } + void DeclarationVisitor::Visit(WfVirtualCseDeclaration* node) + { + Dispatch(node); + } /*********************************************************************** VirtualCfeDeclarationVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void VirtualCfeDeclarationVisitor::Visit(WfAutoPropertyDeclaration* node) - { - } + void VirtualCfeDeclarationVisitor::Visit(WfAutoPropertyDeclaration* node) + { + } - void VirtualCfeDeclarationVisitor::Visit(WfCastResultInterfaceDeclaration* node) - { - } + void VirtualCfeDeclarationVisitor::Visit(WfCastResultInterfaceDeclaration* node) + { + } /*********************************************************************** VirtualCseDeclarationVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void VirtualCseDeclarationVisitor::Visit(WfStateMachineDeclaration* node) - { - } + void VirtualCseDeclarationVisitor::Visit(WfStateMachineDeclaration* node) + { + } /*********************************************************************** VirtualCseStatementVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void VirtualCseStatementVisitor::Visit(WfForEachStatement* node) - { - } + void VirtualCseStatementVisitor::Visit(WfForEachStatement* node) + { + } - void VirtualCseStatementVisitor::Visit(WfSwitchStatement* node) - { - } + void VirtualCseStatementVisitor::Visit(WfSwitchStatement* node) + { + } - void VirtualCseStatementVisitor::Visit(WfCoProviderStatement* node) - { - } + void VirtualCseStatementVisitor::Visit(WfCoProviderStatement* node) + { + } /*********************************************************************** CoroutineStatementVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void CoroutineStatementVisitor::Visit(WfCoPauseStatement* node) - { - } + void CoroutineStatementVisitor::Visit(WfCoPauseStatement* node) + { + } - void CoroutineStatementVisitor::Visit(WfCoOperatorStatement* node) - { - } + void CoroutineStatementVisitor::Visit(WfCoOperatorStatement* node) + { + } /*********************************************************************** StateMachineStatementVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void StateMachineStatementVisitor::Visit(WfStateSwitchStatement* node) - { - } + void StateMachineStatementVisitor::Visit(WfStateSwitchStatement* node) + { + } - void StateMachineStatementVisitor::Visit(WfStateInvokeStatement* node) - { - } + void StateMachineStatementVisitor::Visit(WfStateInvokeStatement* node) + { + } /*********************************************************************** VirtualCfeExpressionVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void VirtualCfeExpressionVisitor::Visit(WfFormatExpression* node) - { - } + void VirtualCfeExpressionVisitor::Visit(WfFormatExpression* node) + { + } /*********************************************************************** VirtualCseExpressionVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void VirtualCseExpressionVisitor::Visit(WfBindExpression* node) - { - } + void VirtualCseExpressionVisitor::Visit(WfBindExpression* node) + { + } - void VirtualCseExpressionVisitor::Visit(WfNewCoroutineExpression* node) - { - } + void VirtualCseExpressionVisitor::Visit(WfNewCoroutineExpression* node) + { + } - void VirtualCseExpressionVisitor::Visit(WfMixinCastExpression* node) - { - } + void VirtualCseExpressionVisitor::Visit(WfMixinCastExpression* node) + { + } - void VirtualCseExpressionVisitor::Visit(WfExpectedTypeCastExpression* node) - { - } + void VirtualCseExpressionVisitor::Visit(WfExpectedTypeCastExpression* node) + { + } - void VirtualCseExpressionVisitor::Visit(WfCoOperatorExpression* node) - { - } + void VirtualCseExpressionVisitor::Visit(WfCoOperatorExpression* node) + { + } /*********************************************************************** ModuleUsingFragmentVisitor ***********************************************************************/ - // Visitor Members ----------------------------------- + // Visitor Members ----------------------------------- - void ModuleUsingFragmentVisitor::Visit(WfModuleUsingNameFragment* node) - { - } + void ModuleUsingFragmentVisitor::Visit(WfModuleUsingNameFragment* node) + { + } - void ModuleUsingFragmentVisitor::Visit(WfModuleUsingWildCardFragment* node) - { - } - } + void ModuleUsingFragmentVisitor::Visit(WfModuleUsingWildCardFragment* node) + { } } @@ -35542,3024 +35513,3018 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::workflow::json_visitor { - namespace workflow + void AstVisitor::PrintFields(WfAttachEventExpression* node) { - namespace json_visitor - { - void AstVisitor::PrintFields(WfAttachEventExpression* node) - { - BeginField(L"event"); - Print(node->event.Obj()); - EndField(); - BeginField(L"function"); - Print(node->function.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfAttribute* node) - { - BeginField(L"category"); - WriteToken(node->category); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"value"); - Print(node->value.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfAutoPropertyDeclaration* node) - { - BeginField(L"configConst"); - switch (node->configConst) - { - case vl::workflow::WfAPConst::Readonly: - WriteString(L"Readonly"); - break; - case vl::workflow::WfAPConst::Writable: - WriteString(L"Writable"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"configObserve"); - switch (node->configObserve) - { - case vl::workflow::WfAPObserve::NotObservable: - WriteString(L"NotObservable"); - break; - case vl::workflow::WfAPObserve::Observable: - WriteString(L"Observable"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - BeginField(L"functionKind"); - switch (node->functionKind) - { - case vl::workflow::WfFunctionKind::Normal: - WriteString(L"Normal"); - break; - case vl::workflow::WfFunctionKind::Override: - WriteString(L"Override"); - break; - case vl::workflow::WfFunctionKind::Static: - WriteString(L"Static"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfBaseConstructorCall* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfBinaryExpression* node) - { - BeginField(L"first"); - Print(node->first.Obj()); - EndField(); - BeginField(L"op"); - switch (node->op) - { - case vl::workflow::WfBinaryOperator::Add: - WriteString(L"Add"); - break; - case vl::workflow::WfBinaryOperator::And: - WriteString(L"And"); - break; - case vl::workflow::WfBinaryOperator::Assign: - WriteString(L"Assign"); - break; - case vl::workflow::WfBinaryOperator::Div: - WriteString(L"Div"); - break; - case vl::workflow::WfBinaryOperator::EQ: - WriteString(L"EQ"); - break; - case vl::workflow::WfBinaryOperator::Exp: - WriteString(L"Exp"); - break; - case vl::workflow::WfBinaryOperator::FailedThen: - WriteString(L"FailedThen"); - break; - case vl::workflow::WfBinaryOperator::FlagAnd: - WriteString(L"FlagAnd"); - break; - case vl::workflow::WfBinaryOperator::FlagOr: - WriteString(L"FlagOr"); - break; - case vl::workflow::WfBinaryOperator::GE: - WriteString(L"GE"); - break; - case vl::workflow::WfBinaryOperator::GT: - WriteString(L"GT"); - break; - case vl::workflow::WfBinaryOperator::Index: - WriteString(L"Index"); - break; - case vl::workflow::WfBinaryOperator::LE: - WriteString(L"LE"); - break; - case vl::workflow::WfBinaryOperator::LT: - WriteString(L"LT"); - break; - case vl::workflow::WfBinaryOperator::Mod: - WriteString(L"Mod"); - break; - case vl::workflow::WfBinaryOperator::Mul: - WriteString(L"Mul"); - break; - case vl::workflow::WfBinaryOperator::NE: - WriteString(L"NE"); - break; - case vl::workflow::WfBinaryOperator::Or: - WriteString(L"Or"); - break; - case vl::workflow::WfBinaryOperator::Shl: - WriteString(L"Shl"); - break; - case vl::workflow::WfBinaryOperator::Shr: - WriteString(L"Shr"); - break; - case vl::workflow::WfBinaryOperator::Sub: - WriteString(L"Sub"); - break; - case vl::workflow::WfBinaryOperator::Xor: - WriteString(L"Xor"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"second"); - Print(node->second.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfBindExpression* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfBlockStatement* node) - { - BeginField(L"endLabel"); - WriteToken(node->endLabel); - EndField(); - BeginField(L"statements"); - BeginArray(); - for (auto&& listItem : node->statements) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfBreakStatement* node) - { - } - void AstVisitor::PrintFields(WfCallExpression* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"function"); - Print(node->function.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfCastResultInterfaceDeclaration* node) - { - BeginField(L"baseType"); - Print(node->baseType.Obj()); - EndField(); - BeginField(L"elementType"); - Print(node->elementType.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfChildExpression* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"parent"); - Print(node->parent.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfChildType* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"parent"); - Print(node->parent.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfClassDeclaration* node) - { - BeginField(L"baseTypes"); - BeginArray(); - for (auto&& listItem : node->baseTypes) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"constructorType"); - switch (node->constructorType) - { - case vl::workflow::WfConstructorType::RawPtr: - WriteString(L"RawPtr"); - break; - case vl::workflow::WfConstructorType::SharedPtr: - WriteString(L"SharedPtr"); - break; - case vl::workflow::WfConstructorType::Undefined: - WriteString(L"Undefined"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"declarations"); - BeginArray(); - for (auto&& listItem : node->declarations) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"kind"); - switch (node->kind) - { - case vl::workflow::WfClassKind::Class: - WriteString(L"Class"); - break; - case vl::workflow::WfClassKind::Interface: - WriteString(L"Interface"); - break; - default: - WriteNull(); - } - EndField(); - } - void AstVisitor::PrintFields(WfCoOperatorExpression* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(WfCoOperatorStatement* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"opName"); - WriteToken(node->opName); - EndField(); - BeginField(L"varName"); - WriteToken(node->varName); - EndField(); - } - void AstVisitor::PrintFields(WfCoPauseStatement* node) - { - BeginField(L"statement"); - Print(node->statement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfCoProviderStatement* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"statement"); - Print(node->statement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfConstructorArgument* node) - { - BeginField(L"key"); - Print(node->key.Obj()); - EndField(); - BeginField(L"value"); - Print(node->value.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfConstructorDeclaration* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"baseConstructorCalls"); - BeginArray(); - for (auto&& listItem : node->baseConstructorCalls) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"constructorType"); - switch (node->constructorType) - { - case vl::workflow::WfConstructorType::RawPtr: - WriteString(L"RawPtr"); - break; - case vl::workflow::WfConstructorType::SharedPtr: - WriteString(L"SharedPtr"); - break; - case vl::workflow::WfConstructorType::Undefined: - WriteString(L"Undefined"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"statement"); - Print(node->statement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfConstructorExpression* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfContinueStatement* node) - { - } - void AstVisitor::PrintFields(WfCoroutineStatement* node) - { - } - void AstVisitor::PrintFields(WfDeclaration* node) - { - BeginField(L"attributes"); - BeginArray(); - for (auto&& listItem : node->attributes) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(WfDeleteStatement* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfDestructorDeclaration* node) - { - BeginField(L"statement"); - Print(node->statement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfDetachEventExpression* node) - { - BeginField(L"event"); - Print(node->event.Obj()); - EndField(); - BeginField(L"handler"); - Print(node->handler.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfEnumDeclaration* node) - { - BeginField(L"items"); - BeginArray(); - for (auto&& listItem : node->items) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"kind"); - switch (node->kind) - { - case vl::workflow::WfEnumKind::Flag: - WriteString(L"Flag"); - break; - case vl::workflow::WfEnumKind::Normal: - WriteString(L"Normal"); - break; - default: - WriteNull(); - } - EndField(); - } - void AstVisitor::PrintFields(WfEnumItem* node) - { - BeginField(L"attributes"); - BeginArray(); - for (auto&& listItem : node->attributes) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"intersections"); - BeginArray(); - for (auto&& listItem : node->intersections) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"kind"); - switch (node->kind) - { - case vl::workflow::WfEnumItemKind::Constant: - WriteString(L"Constant"); - break; - case vl::workflow::WfEnumItemKind::Intersection: - WriteString(L"Intersection"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"number"); - WriteToken(node->number); - EndField(); - } - void AstVisitor::PrintFields(WfEnumItemIntersection* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(WfEnumerableType* node) - { - BeginField(L"element"); - Print(node->element.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfEventDeclaration* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfExpectedTypeCastExpression* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - BeginField(L"strategy"); - switch (node->strategy) - { - case vl::workflow::WfTypeCastingStrategy::Strong: - WriteString(L"Strong"); - break; - case vl::workflow::WfTypeCastingStrategy::Weak: - WriteString(L"Weak"); - break; - default: - WriteNull(); - } - EndField(); - } - void AstVisitor::PrintFields(WfExpression* node) - { - } - void AstVisitor::PrintFields(WfExpressionStatement* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfFloatingExpression* node) - { - BeginField(L"value"); - WriteToken(node->value); - EndField(); - } - void AstVisitor::PrintFields(WfForEachStatement* node) - { - BeginField(L"collection"); - Print(node->collection.Obj()); - EndField(); - BeginField(L"direction"); - switch (node->direction) - { - case vl::workflow::WfForEachDirection::Normal: - WriteString(L"Normal"); - break; - case vl::workflow::WfForEachDirection::Reversed: - WriteString(L"Reversed"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"statement"); - Print(node->statement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfFormatExpression* node) - { - BeginField(L"value"); - WriteToken(node->value); - EndField(); - } - void AstVisitor::PrintFields(WfFunctionArgument* node) - { - BeginField(L"attributes"); - BeginArray(); - for (auto&& listItem : node->attributes) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfFunctionDeclaration* node) - { - BeginField(L"anonymity"); - switch (node->anonymity) - { - case vl::workflow::WfFunctionAnonymity::Anonymous: - WriteString(L"Anonymous"); - break; - case vl::workflow::WfFunctionAnonymity::Named: - WriteString(L"Named"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"functionKind"); - switch (node->functionKind) - { - case vl::workflow::WfFunctionKind::Normal: - WriteString(L"Normal"); - break; - case vl::workflow::WfFunctionKind::Override: - WriteString(L"Override"); - break; - case vl::workflow::WfFunctionKind::Static: - WriteString(L"Static"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"returnType"); - Print(node->returnType.Obj()); - EndField(); - BeginField(L"statement"); - Print(node->statement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfFunctionExpression* node) - { - BeginField(L"function"); - Print(node->function.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfFunctionType* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"result"); - Print(node->result.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfGotoStatement* node) - { - BeginField(L"label"); - WriteToken(node->label); - EndField(); - } - void AstVisitor::PrintFields(WfIfExpression* node) - { - BeginField(L"condition"); - Print(node->condition.Obj()); - EndField(); - BeginField(L"falseBranch"); - Print(node->falseBranch.Obj()); - EndField(); - BeginField(L"trueBranch"); - Print(node->trueBranch.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfIfStatement* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - BeginField(L"falseBranch"); - Print(node->falseBranch.Obj()); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"trueBranch"); - Print(node->trueBranch.Obj()); - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfInferExpression* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfIntegerExpression* node) - { - BeginField(L"value"); - WriteToken(node->value); - EndField(); - } - void AstVisitor::PrintFields(WfLetExpression* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - BeginField(L"variables"); - BeginArray(); - for (auto&& listItem : node->variables) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfLetVariable* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"value"); - Print(node->value.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfLiteralExpression* node) - { - BeginField(L"value"); - switch (node->value) - { - case vl::workflow::WfLiteralValue::False: - WriteString(L"False"); - break; - case vl::workflow::WfLiteralValue::Null: - WriteString(L"Null"); - break; - case vl::workflow::WfLiteralValue::True: - WriteString(L"True"); - break; - default: - WriteNull(); - } - EndField(); - } - void AstVisitor::PrintFields(WfMapType* node) - { - BeginField(L"key"); - Print(node->key.Obj()); - EndField(); - BeginField(L"value"); - Print(node->value.Obj()); - EndField(); - BeginField(L"writability"); - switch (node->writability) - { - case vl::workflow::WfMapWritability::Readonly: - WriteString(L"Readonly"); - break; - case vl::workflow::WfMapWritability::Writable: - WriteString(L"Writable"); - break; - default: - WriteNull(); - } - EndField(); - } - void AstVisitor::PrintFields(WfMemberExpression* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"parent"); - Print(node->parent.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfMixinCastExpression* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfModule* node) - { - BeginField(L"declarations"); - BeginArray(); - for (auto&& listItem : node->declarations) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"moduleType"); - switch (node->moduleType) - { - case vl::workflow::WfModuleType::Module: - WriteString(L"Module"); - break; - case vl::workflow::WfModuleType::Unit: - WriteString(L"Unit"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"paths"); - BeginArray(); - for (auto&& listItem : node->paths) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfModuleUsingFragment* node) - { - } - void AstVisitor::PrintFields(WfModuleUsingItem* node) - { - BeginField(L"fragments"); - BeginArray(); - for (auto&& listItem : node->fragments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfModuleUsingNameFragment* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(WfModuleUsingPath* node) - { - BeginField(L"items"); - BeginArray(); - for (auto&& listItem : node->items) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfModuleUsingWildCardFragment* node) - { - } - void AstVisitor::PrintFields(WfNamespaceDeclaration* node) - { - BeginField(L"declarations"); - BeginArray(); - for (auto&& listItem : node->declarations) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfNewClassExpression* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfNewCoroutineExpression* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"statement"); - Print(node->statement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfNewInterfaceExpression* node) - { - BeginField(L"declarations"); - BeginArray(); - for (auto&& listItem : node->declarations) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfNullableType* node) - { - BeginField(L"element"); - Print(node->element.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfObservableListType* node) - { - BeginField(L"element"); - Print(node->element.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfObserveExpression* node) - { - BeginField(L"events"); - BeginArray(); - for (auto&& listItem : node->events) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"observeType"); - switch (node->observeType) - { - case vl::workflow::WfObserveType::ExtendedObserve: - WriteString(L"ExtendedObserve"); - break; - case vl::workflow::WfObserveType::SimpleObserve: - WriteString(L"SimpleObserve"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"parent"); - Print(node->parent.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfOrderedLambdaExpression* node) - { - BeginField(L"body"); - Print(node->body.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfOrderedNameExpression* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(WfPredefinedType* node) - { - BeginField(L"name"); - switch (node->name) - { - case vl::workflow::WfPredefinedTypeName::Bool: - WriteString(L"Bool"); - break; - case vl::workflow::WfPredefinedTypeName::Char: - WriteString(L"Char"); - break; - case vl::workflow::WfPredefinedTypeName::Double: - WriteString(L"Double"); - break; - case vl::workflow::WfPredefinedTypeName::Float: - WriteString(L"Float"); - break; - case vl::workflow::WfPredefinedTypeName::Int: - WriteString(L"Int"); - break; - case vl::workflow::WfPredefinedTypeName::Interface: - WriteString(L"Interface"); - break; - case vl::workflow::WfPredefinedTypeName::Object: - WriteString(L"Object"); - break; - case vl::workflow::WfPredefinedTypeName::String: - WriteString(L"String"); - break; - case vl::workflow::WfPredefinedTypeName::UInt: - WriteString(L"UInt"); - break; - case vl::workflow::WfPredefinedTypeName::Void: - WriteString(L"Void"); - break; - default: - WriteNull(); - } - EndField(); - } - void AstVisitor::PrintFields(WfPropertyDeclaration* node) - { - BeginField(L"getter"); - WriteToken(node->getter); - EndField(); - BeginField(L"setter"); - WriteToken(node->setter); - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - BeginField(L"valueChangedEvent"); - WriteToken(node->valueChangedEvent); - EndField(); - } - void AstVisitor::PrintFields(WfRaiseExceptionStatement* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfRangeExpression* node) - { - BeginField(L"begin"); - Print(node->begin.Obj()); - EndField(); - BeginField(L"beginBoundary"); - switch (node->beginBoundary) - { - case vl::workflow::WfRangeBoundary::Exclusive: - WriteString(L"Exclusive"); - break; - case vl::workflow::WfRangeBoundary::Inclusive: - WriteString(L"Inclusive"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"end"); - Print(node->end.Obj()); - EndField(); - BeginField(L"endBoundary"); - switch (node->endBoundary) - { - case vl::workflow::WfRangeBoundary::Exclusive: - WriteString(L"Exclusive"); - break; - case vl::workflow::WfRangeBoundary::Inclusive: - WriteString(L"Inclusive"); - break; - default: - WriteNull(); - } - EndField(); - } - void AstVisitor::PrintFields(WfRawPointerType* node) - { - BeginField(L"element"); - Print(node->element.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfReferenceExpression* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(WfReferenceType* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(WfReturnStatement* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfSetTestingExpression* node) - { - BeginField(L"collection"); - Print(node->collection.Obj()); - EndField(); - BeginField(L"element"); - Print(node->element.Obj()); - EndField(); - BeginField(L"test"); - switch (node->test) - { - case vl::workflow::WfSetTesting::In: - WriteString(L"In"); - break; - case vl::workflow::WfSetTesting::NotIn: - WriteString(L"NotIn"); - break; - default: - WriteNull(); - } - EndField(); - } - void AstVisitor::PrintFields(WfSharedPointerType* node) - { - BeginField(L"element"); - Print(node->element.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfStateDeclaration* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"statement"); - Print(node->statement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfStateInput* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(WfStateInvokeStatement* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"type"); - switch (node->type) - { - case vl::workflow::WfStateInvokeType::Goto: - WriteString(L"Goto"); - break; - case vl::workflow::WfStateInvokeType::Push: - WriteString(L"Push"); - break; - default: - WriteNull(); - } - EndField(); - } - void AstVisitor::PrintFields(WfStateMachineDeclaration* node) - { - BeginField(L"inputs"); - BeginArray(); - for (auto&& listItem : node->inputs) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"states"); - BeginArray(); - for (auto&& listItem : node->states) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfStateMachineStatement* node) - { - } - void AstVisitor::PrintFields(WfStateSwitchArgument* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(WfStateSwitchCase* node) - { - BeginField(L"arguments"); - BeginArray(); - for (auto&& listItem : node->arguments) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"statement"); - Print(node->statement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfStateSwitchStatement* node) - { - BeginField(L"caseBranches"); - BeginArray(); - for (auto&& listItem : node->caseBranches) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"type"); - switch (node->type) - { - case vl::workflow::WfStateSwitchType::Default: - WriteString(L"Default"); - break; - case vl::workflow::WfStateSwitchType::Ignore: - WriteString(L"Ignore"); - break; - case vl::workflow::WfStateSwitchType::IgnoreAndReturn: - WriteString(L"IgnoreAndReturn"); - break; - case vl::workflow::WfStateSwitchType::Pass: - WriteString(L"Pass"); - break; - case vl::workflow::WfStateSwitchType::PassAndReturn: - WriteString(L"PassAndReturn"); - break; - default: - WriteNull(); - } - EndField(); - } - void AstVisitor::PrintFields(WfStatement* node) - { - } - void AstVisitor::PrintFields(WfStringExpression* node) - { - BeginField(L"value"); - WriteToken(node->value); - EndField(); - } - void AstVisitor::PrintFields(WfStructDeclaration* node) - { - BeginField(L"members"); - BeginArray(); - for (auto&& listItem : node->members) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfStructMember* node) - { - BeginField(L"attributes"); - BeginArray(); - for (auto&& listItem : node->attributes) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfSwitchCase* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - BeginField(L"statement"); - Print(node->statement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfSwitchStatement* node) - { - BeginField(L"caseBranches"); - BeginArray(); - for (auto&& listItem : node->caseBranches) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - BeginField(L"defaultBranch"); - Print(node->defaultBranch.Obj()); - EndField(); - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfThisExpression* node) - { - } - void AstVisitor::PrintFields(WfTopQualifiedExpression* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(WfTopQualifiedType* node) - { - BeginField(L"name"); - WriteToken(node->name); - EndField(); - } - void AstVisitor::PrintFields(WfTryStatement* node) - { - BeginField(L"catchStatement"); - Print(node->catchStatement.Obj()); - EndField(); - BeginField(L"finallyStatement"); - Print(node->finallyStatement.Obj()); - EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); - BeginField(L"protectedStatement"); - Print(node->protectedStatement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfType* node) - { - } - void AstVisitor::PrintFields(WfTypeCastingExpression* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - BeginField(L"strategy"); - switch (node->strategy) - { - case vl::workflow::WfTypeCastingStrategy::Strong: - WriteString(L"Strong"); - break; - case vl::workflow::WfTypeCastingStrategy::Weak: - WriteString(L"Weak"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfTypeOfExpressionExpression* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfTypeOfTypeExpression* node) - { - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfTypeTestingExpression* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - BeginField(L"test"); - switch (node->test) - { - case vl::workflow::WfTypeTesting::IsNotNull: - WriteString(L"IsNotNull"); - break; - case vl::workflow::WfTypeTesting::IsNotType: - WriteString(L"IsNotType"); - break; - case vl::workflow::WfTypeTesting::IsNull: - WriteString(L"IsNull"); - break; - case vl::workflow::WfTypeTesting::IsType: - WriteString(L"IsType"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfUnaryExpression* node) - { - BeginField(L"op"); - switch (node->op) - { - case vl::workflow::WfUnaryOperator::Negative: - WriteString(L"Negative"); - break; - case vl::workflow::WfUnaryOperator::Not: - WriteString(L"Not"); - break; - case vl::workflow::WfUnaryOperator::Positive: - WriteString(L"Positive"); - break; - default: - WriteNull(); - } - EndField(); - BeginField(L"operand"); - Print(node->operand.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfVariableDeclaration* node) - { - BeginField(L"expression"); - Print(node->expression.Obj()); - EndField(); - BeginField(L"type"); - Print(node->type.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfVariableStatement* node) - { - BeginField(L"variable"); - Print(node->variable.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfVirtualCfeDeclaration* node) - { - BeginField(L"expandedDeclarations"); - BeginArray(); - for (auto&& listItem : node->expandedDeclarations) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfVirtualCfeExpression* node) - { - BeginField(L"expandedExpression"); - Print(node->expandedExpression.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfVirtualCseDeclaration* node) - { - BeginField(L"expandedDeclarations"); - BeginArray(); - for (auto&& listItem : node->expandedDeclarations) - { - BeginArrayItem(); - Print(listItem.Obj()); - EndArrayItem(); - } - EndArray(); - EndField(); - } - void AstVisitor::PrintFields(WfVirtualCseExpression* node) - { - BeginField(L"expandedExpression"); - Print(node->expandedExpression.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfVirtualCseStatement* node) - { - BeginField(L"expandedStatement"); - Print(node->expandedStatement.Obj()); - EndField(); - } - void AstVisitor::PrintFields(WfWhileStatement* node) - { - BeginField(L"condition"); - Print(node->condition.Obj()); - EndField(); - BeginField(L"statement"); - Print(node->statement.Obj()); - EndField(); - } - - void AstVisitor::Visit(WfPredefinedType* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"PredefinedType", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfTopQualifiedType* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"TopQualifiedType", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfReferenceType* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ReferenceType", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfRawPointerType* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"RawPointerType", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfSharedPointerType* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"SharedPointerType", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfNullableType* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"NullableType", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfEnumerableType* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"EnumerableType", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfMapType* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"MapType", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfObservableListType* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ObservableListType", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfFunctionType* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"FunctionType", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfChildType* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ChildType", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfThisExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ThisExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfTopQualifiedExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"TopQualifiedExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfReferenceExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ReferenceExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfOrderedNameExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"OrderedNameExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfOrderedLambdaExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"OrderedLambdaExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfMemberExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"MemberExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfChildExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ChildExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfLiteralExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"LiteralExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfFloatingExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"FloatingExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfIntegerExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"IntegerExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfStringExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"StringExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfUnaryExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"UnaryExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfBinaryExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"BinaryExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfLetExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"LetExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfIfExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"IfExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfRangeExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"RangeExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfSetTestingExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"SetTestingExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfConstructorExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ConstructorExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfInferExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"InferExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfTypeCastingExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"TypeCastingExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfTypeTestingExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"TypeTestingExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfTypeOfTypeExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"TypeOfTypeExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfTypeOfExpressionExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"TypeOfExpressionExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfAttachEventExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"AttachEventExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfDetachEventExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"DetachEventExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfObserveExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ObserveExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfCallExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"CallExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfFunctionExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"FunctionExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfNewClassExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"NewClassExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfNewInterfaceExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"NewInterfaceExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfVirtualCfeExpression* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfVirtualCseExpression* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfBreakStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"BreakStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfContinueStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ContinueStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfReturnStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ReturnStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfDeleteStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"DeleteStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfRaiseExceptionStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"RaiseExceptionStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfIfStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"IfStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfWhileStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"WhileStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfTryStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"TryStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfBlockStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"BlockStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfGotoStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"GotoStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfVariableStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"VariableStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfExpressionStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ExpressionStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfVirtualCseStatement* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfCoroutineStatement* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfStateMachineStatement* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfNamespaceDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"NamespaceDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfFunctionDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"FunctionDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfVariableDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"VariableDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfEventDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"EventDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfPropertyDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"PropertyDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfConstructorDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ConstructorDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfDestructorDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"DestructorDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfClassDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ClassDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfEnumDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"EnumDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfStructDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"StructDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfVirtualCfeDeclaration* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfVirtualCseDeclaration* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfAutoPropertyDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"AutoPropertyDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfCastResultInterfaceDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"CastResultInterfaceDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfStateMachineDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"StateMachineDeclaration", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfForEachStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ForEachStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfSwitchStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"SwitchStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfCoProviderStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"CoProviderStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfCoPauseStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"CoPauseStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfCoOperatorStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"CoOperatorStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfStateSwitchStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"StateSwitchStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfStateInvokeStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"StateInvokeStatement", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfFormatExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"FormatExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfBindExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"BindExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfNewCoroutineExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"NewCoroutineExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfMixinCastExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"MixinCastExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfExpectedTypeCastExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ExpectedTypeCastExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfCoOperatorExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"CoOperatorExpression", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfModuleUsingNameFragment* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ModuleUsingNameFragment", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Visit(WfModuleUsingWildCardFragment* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ModuleUsingWildCardFragment", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); - EndObject(); - } - - AstVisitor::AstVisitor(vl::stream::StreamWriter& _writer) - : vl::glr::JsonVisitorBase(_writer) - { - } - - void AstVisitor::Print(WfType* node) - { - if (!node) - { - WriteNull(); - return; - } - node->Accept(static_cast(this)); - } - - void AstVisitor::Print(WfExpression* node) - { - if (!node) - { - WriteNull(); - return; - } - node->Accept(static_cast(this)); - } - - void AstVisitor::Print(WfStatement* node) - { - if (!node) - { - WriteNull(); - return; - } - node->Accept(static_cast(this)); - } - - void AstVisitor::Print(WfDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - node->Accept(static_cast(this)); - } - - void AstVisitor::Print(WfModuleUsingFragment* node) - { - if (!node) - { - WriteNull(); - return; - } - node->Accept(static_cast(this)); - } - - void AstVisitor::Print(WfAttribute* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Attribute", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfFunctionArgument* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"FunctionArgument", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfBaseConstructorCall* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"BaseConstructorCall", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfEnumItemIntersection* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"EnumItemIntersection", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfEnumItem* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"EnumItem", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfStructMember* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"StructMember", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfStateInput* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"StateInput", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfStateDeclaration* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"StateDeclaration", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfSwitchCase* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"SwitchCase", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfStateSwitchArgument* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"StateSwitchArgument", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfStateSwitchCase* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"StateSwitchCase", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfLetVariable* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"LetVariable", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfConstructorArgument* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ConstructorArgument", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfModuleUsingItem* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ModuleUsingItem", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfModuleUsingPath* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"ModuleUsingPath", node); - PrintFields(static_cast(node)); - EndObject(); - } - - void AstVisitor::Print(WfModule* node) - { - if (!node) - { - WriteNull(); - return; - } - BeginObject(); - WriteType(L"Module", node); - PrintFields(static_cast(node)); - EndObject(); - } - - } + BeginField(L"event"); + Print(node->event.Obj()); + EndField(); + BeginField(L"function"); + Print(node->function.Obj()); + EndField(); } + void AstVisitor::PrintFields(WfAttribute* node) + { + BeginField(L"category"); + WriteToken(node->category); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"value"); + Print(node->value.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfAutoPropertyDeclaration* node) + { + BeginField(L"configConst"); + switch (node->configConst) + { + case vl::workflow::WfAPConst::Readonly: + WriteString(L"Readonly"); + break; + case vl::workflow::WfAPConst::Writable: + WriteString(L"Writable"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"configObserve"); + switch (node->configObserve) + { + case vl::workflow::WfAPObserve::NotObservable: + WriteString(L"NotObservable"); + break; + case vl::workflow::WfAPObserve::Observable: + WriteString(L"Observable"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + BeginField(L"functionKind"); + switch (node->functionKind) + { + case vl::workflow::WfFunctionKind::Normal: + WriteString(L"Normal"); + break; + case vl::workflow::WfFunctionKind::Override: + WriteString(L"Override"); + break; + case vl::workflow::WfFunctionKind::Static: + WriteString(L"Static"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfBaseConstructorCall* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfBinaryExpression* node) + { + BeginField(L"first"); + Print(node->first.Obj()); + EndField(); + BeginField(L"op"); + switch (node->op) + { + case vl::workflow::WfBinaryOperator::Add: + WriteString(L"Add"); + break; + case vl::workflow::WfBinaryOperator::And: + WriteString(L"And"); + break; + case vl::workflow::WfBinaryOperator::Assign: + WriteString(L"Assign"); + break; + case vl::workflow::WfBinaryOperator::Div: + WriteString(L"Div"); + break; + case vl::workflow::WfBinaryOperator::EQ: + WriteString(L"EQ"); + break; + case vl::workflow::WfBinaryOperator::Exp: + WriteString(L"Exp"); + break; + case vl::workflow::WfBinaryOperator::FailedThen: + WriteString(L"FailedThen"); + break; + case vl::workflow::WfBinaryOperator::FlagAnd: + WriteString(L"FlagAnd"); + break; + case vl::workflow::WfBinaryOperator::FlagOr: + WriteString(L"FlagOr"); + break; + case vl::workflow::WfBinaryOperator::GE: + WriteString(L"GE"); + break; + case vl::workflow::WfBinaryOperator::GT: + WriteString(L"GT"); + break; + case vl::workflow::WfBinaryOperator::Index: + WriteString(L"Index"); + break; + case vl::workflow::WfBinaryOperator::LE: + WriteString(L"LE"); + break; + case vl::workflow::WfBinaryOperator::LT: + WriteString(L"LT"); + break; + case vl::workflow::WfBinaryOperator::Mod: + WriteString(L"Mod"); + break; + case vl::workflow::WfBinaryOperator::Mul: + WriteString(L"Mul"); + break; + case vl::workflow::WfBinaryOperator::NE: + WriteString(L"NE"); + break; + case vl::workflow::WfBinaryOperator::Or: + WriteString(L"Or"); + break; + case vl::workflow::WfBinaryOperator::Shl: + WriteString(L"Shl"); + break; + case vl::workflow::WfBinaryOperator::Shr: + WriteString(L"Shr"); + break; + case vl::workflow::WfBinaryOperator::Sub: + WriteString(L"Sub"); + break; + case vl::workflow::WfBinaryOperator::Xor: + WriteString(L"Xor"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"second"); + Print(node->second.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfBindExpression* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfBlockStatement* node) + { + BeginField(L"endLabel"); + WriteToken(node->endLabel); + EndField(); + BeginField(L"statements"); + BeginArray(); + for (auto&& listItem : node->statements) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfBreakStatement* node) + { + } + void AstVisitor::PrintFields(WfCallExpression* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"function"); + Print(node->function.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfCastResultInterfaceDeclaration* node) + { + BeginField(L"baseType"); + Print(node->baseType.Obj()); + EndField(); + BeginField(L"elementType"); + Print(node->elementType.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfChildExpression* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"parent"); + Print(node->parent.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfChildType* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"parent"); + Print(node->parent.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfClassDeclaration* node) + { + BeginField(L"baseTypes"); + BeginArray(); + for (auto&& listItem : node->baseTypes) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"constructorType"); + switch (node->constructorType) + { + case vl::workflow::WfConstructorType::RawPtr: + WriteString(L"RawPtr"); + break; + case vl::workflow::WfConstructorType::SharedPtr: + WriteString(L"SharedPtr"); + break; + case vl::workflow::WfConstructorType::Undefined: + WriteString(L"Undefined"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"declarations"); + BeginArray(); + for (auto&& listItem : node->declarations) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"kind"); + switch (node->kind) + { + case vl::workflow::WfClassKind::Class: + WriteString(L"Class"); + break; + case vl::workflow::WfClassKind::Interface: + WriteString(L"Interface"); + break; + default: + WriteNull(); + } + EndField(); + } + void AstVisitor::PrintFields(WfCoOperatorExpression* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(WfCoOperatorStatement* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"opName"); + WriteToken(node->opName); + EndField(); + BeginField(L"varName"); + WriteToken(node->varName); + EndField(); + } + void AstVisitor::PrintFields(WfCoPauseStatement* node) + { + BeginField(L"statement"); + Print(node->statement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfCoProviderStatement* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"statement"); + Print(node->statement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfConstructorArgument* node) + { + BeginField(L"key"); + Print(node->key.Obj()); + EndField(); + BeginField(L"value"); + Print(node->value.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfConstructorDeclaration* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"baseConstructorCalls"); + BeginArray(); + for (auto&& listItem : node->baseConstructorCalls) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"constructorType"); + switch (node->constructorType) + { + case vl::workflow::WfConstructorType::RawPtr: + WriteString(L"RawPtr"); + break; + case vl::workflow::WfConstructorType::SharedPtr: + WriteString(L"SharedPtr"); + break; + case vl::workflow::WfConstructorType::Undefined: + WriteString(L"Undefined"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"statement"); + Print(node->statement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfConstructorExpression* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfContinueStatement* node) + { + } + void AstVisitor::PrintFields(WfCoroutineStatement* node) + { + } + void AstVisitor::PrintFields(WfDeclaration* node) + { + BeginField(L"attributes"); + BeginArray(); + for (auto&& listItem : node->attributes) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(WfDeleteStatement* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfDestructorDeclaration* node) + { + BeginField(L"statement"); + Print(node->statement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfDetachEventExpression* node) + { + BeginField(L"event"); + Print(node->event.Obj()); + EndField(); + BeginField(L"handler"); + Print(node->handler.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfEnumDeclaration* node) + { + BeginField(L"items"); + BeginArray(); + for (auto&& listItem : node->items) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"kind"); + switch (node->kind) + { + case vl::workflow::WfEnumKind::Flag: + WriteString(L"Flag"); + break; + case vl::workflow::WfEnumKind::Normal: + WriteString(L"Normal"); + break; + default: + WriteNull(); + } + EndField(); + } + void AstVisitor::PrintFields(WfEnumItem* node) + { + BeginField(L"attributes"); + BeginArray(); + for (auto&& listItem : node->attributes) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"intersections"); + BeginArray(); + for (auto&& listItem : node->intersections) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"kind"); + switch (node->kind) + { + case vl::workflow::WfEnumItemKind::Constant: + WriteString(L"Constant"); + break; + case vl::workflow::WfEnumItemKind::Intersection: + WriteString(L"Intersection"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"number"); + WriteToken(node->number); + EndField(); + } + void AstVisitor::PrintFields(WfEnumItemIntersection* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(WfEnumerableType* node) + { + BeginField(L"element"); + Print(node->element.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfEventDeclaration* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfExpectedTypeCastExpression* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + BeginField(L"strategy"); + switch (node->strategy) + { + case vl::workflow::WfTypeCastingStrategy::Strong: + WriteString(L"Strong"); + break; + case vl::workflow::WfTypeCastingStrategy::Weak: + WriteString(L"Weak"); + break; + default: + WriteNull(); + } + EndField(); + } + void AstVisitor::PrintFields(WfExpression* node) + { + } + void AstVisitor::PrintFields(WfExpressionStatement* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfFloatingExpression* node) + { + BeginField(L"value"); + WriteToken(node->value); + EndField(); + } + void AstVisitor::PrintFields(WfForEachStatement* node) + { + BeginField(L"collection"); + Print(node->collection.Obj()); + EndField(); + BeginField(L"direction"); + switch (node->direction) + { + case vl::workflow::WfForEachDirection::Normal: + WriteString(L"Normal"); + break; + case vl::workflow::WfForEachDirection::Reversed: + WriteString(L"Reversed"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"statement"); + Print(node->statement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfFormatExpression* node) + { + BeginField(L"value"); + WriteToken(node->value); + EndField(); + } + void AstVisitor::PrintFields(WfFunctionArgument* node) + { + BeginField(L"attributes"); + BeginArray(); + for (auto&& listItem : node->attributes) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfFunctionDeclaration* node) + { + BeginField(L"anonymity"); + switch (node->anonymity) + { + case vl::workflow::WfFunctionAnonymity::Anonymous: + WriteString(L"Anonymous"); + break; + case vl::workflow::WfFunctionAnonymity::Named: + WriteString(L"Named"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"functionKind"); + switch (node->functionKind) + { + case vl::workflow::WfFunctionKind::Normal: + WriteString(L"Normal"); + break; + case vl::workflow::WfFunctionKind::Override: + WriteString(L"Override"); + break; + case vl::workflow::WfFunctionKind::Static: + WriteString(L"Static"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"returnType"); + Print(node->returnType.Obj()); + EndField(); + BeginField(L"statement"); + Print(node->statement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfFunctionExpression* node) + { + BeginField(L"function"); + Print(node->function.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfFunctionType* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"result"); + Print(node->result.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfGotoStatement* node) + { + BeginField(L"label"); + WriteToken(node->label); + EndField(); + } + void AstVisitor::PrintFields(WfIfExpression* node) + { + BeginField(L"condition"); + Print(node->condition.Obj()); + EndField(); + BeginField(L"falseBranch"); + Print(node->falseBranch.Obj()); + EndField(); + BeginField(L"trueBranch"); + Print(node->trueBranch.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfIfStatement* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + BeginField(L"falseBranch"); + Print(node->falseBranch.Obj()); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"trueBranch"); + Print(node->trueBranch.Obj()); + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfInferExpression* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfIntegerExpression* node) + { + BeginField(L"value"); + WriteToken(node->value); + EndField(); + } + void AstVisitor::PrintFields(WfLetExpression* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + BeginField(L"variables"); + BeginArray(); + for (auto&& listItem : node->variables) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfLetVariable* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"value"); + Print(node->value.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfLiteralExpression* node) + { + BeginField(L"value"); + switch (node->value) + { + case vl::workflow::WfLiteralValue::False: + WriteString(L"False"); + break; + case vl::workflow::WfLiteralValue::Null: + WriteString(L"Null"); + break; + case vl::workflow::WfLiteralValue::True: + WriteString(L"True"); + break; + default: + WriteNull(); + } + EndField(); + } + void AstVisitor::PrintFields(WfMapType* node) + { + BeginField(L"key"); + Print(node->key.Obj()); + EndField(); + BeginField(L"value"); + Print(node->value.Obj()); + EndField(); + BeginField(L"writability"); + switch (node->writability) + { + case vl::workflow::WfMapWritability::Readonly: + WriteString(L"Readonly"); + break; + case vl::workflow::WfMapWritability::Writable: + WriteString(L"Writable"); + break; + default: + WriteNull(); + } + EndField(); + } + void AstVisitor::PrintFields(WfMemberExpression* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"parent"); + Print(node->parent.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfMixinCastExpression* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfModule* node) + { + BeginField(L"declarations"); + BeginArray(); + for (auto&& listItem : node->declarations) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"moduleType"); + switch (node->moduleType) + { + case vl::workflow::WfModuleType::Module: + WriteString(L"Module"); + break; + case vl::workflow::WfModuleType::Unit: + WriteString(L"Unit"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"paths"); + BeginArray(); + for (auto&& listItem : node->paths) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfModuleUsingFragment* node) + { + } + void AstVisitor::PrintFields(WfModuleUsingItem* node) + { + BeginField(L"fragments"); + BeginArray(); + for (auto&& listItem : node->fragments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfModuleUsingNameFragment* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(WfModuleUsingPath* node) + { + BeginField(L"items"); + BeginArray(); + for (auto&& listItem : node->items) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfModuleUsingWildCardFragment* node) + { + } + void AstVisitor::PrintFields(WfNamespaceDeclaration* node) + { + BeginField(L"declarations"); + BeginArray(); + for (auto&& listItem : node->declarations) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfNewClassExpression* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfNewCoroutineExpression* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"statement"); + Print(node->statement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfNewInterfaceExpression* node) + { + BeginField(L"declarations"); + BeginArray(); + for (auto&& listItem : node->declarations) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfNullableType* node) + { + BeginField(L"element"); + Print(node->element.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfObservableListType* node) + { + BeginField(L"element"); + Print(node->element.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfObserveExpression* node) + { + BeginField(L"events"); + BeginArray(); + for (auto&& listItem : node->events) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"observeType"); + switch (node->observeType) + { + case vl::workflow::WfObserveType::ExtendedObserve: + WriteString(L"ExtendedObserve"); + break; + case vl::workflow::WfObserveType::SimpleObserve: + WriteString(L"SimpleObserve"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"parent"); + Print(node->parent.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfOrderedLambdaExpression* node) + { + BeginField(L"body"); + Print(node->body.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfOrderedNameExpression* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(WfPredefinedType* node) + { + BeginField(L"name"); + switch (node->name) + { + case vl::workflow::WfPredefinedTypeName::Bool: + WriteString(L"Bool"); + break; + case vl::workflow::WfPredefinedTypeName::Char: + WriteString(L"Char"); + break; + case vl::workflow::WfPredefinedTypeName::Double: + WriteString(L"Double"); + break; + case vl::workflow::WfPredefinedTypeName::Float: + WriteString(L"Float"); + break; + case vl::workflow::WfPredefinedTypeName::Int: + WriteString(L"Int"); + break; + case vl::workflow::WfPredefinedTypeName::Interface: + WriteString(L"Interface"); + break; + case vl::workflow::WfPredefinedTypeName::Object: + WriteString(L"Object"); + break; + case vl::workflow::WfPredefinedTypeName::String: + WriteString(L"String"); + break; + case vl::workflow::WfPredefinedTypeName::UInt: + WriteString(L"UInt"); + break; + case vl::workflow::WfPredefinedTypeName::Void: + WriteString(L"Void"); + break; + default: + WriteNull(); + } + EndField(); + } + void AstVisitor::PrintFields(WfPropertyDeclaration* node) + { + BeginField(L"getter"); + WriteToken(node->getter); + EndField(); + BeginField(L"setter"); + WriteToken(node->setter); + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + BeginField(L"valueChangedEvent"); + WriteToken(node->valueChangedEvent); + EndField(); + } + void AstVisitor::PrintFields(WfRaiseExceptionStatement* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfRangeExpression* node) + { + BeginField(L"begin"); + Print(node->begin.Obj()); + EndField(); + BeginField(L"beginBoundary"); + switch (node->beginBoundary) + { + case vl::workflow::WfRangeBoundary::Exclusive: + WriteString(L"Exclusive"); + break; + case vl::workflow::WfRangeBoundary::Inclusive: + WriteString(L"Inclusive"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"end"); + Print(node->end.Obj()); + EndField(); + BeginField(L"endBoundary"); + switch (node->endBoundary) + { + case vl::workflow::WfRangeBoundary::Exclusive: + WriteString(L"Exclusive"); + break; + case vl::workflow::WfRangeBoundary::Inclusive: + WriteString(L"Inclusive"); + break; + default: + WriteNull(); + } + EndField(); + } + void AstVisitor::PrintFields(WfRawPointerType* node) + { + BeginField(L"element"); + Print(node->element.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfReferenceExpression* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(WfReferenceType* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(WfReturnStatement* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfSetTestingExpression* node) + { + BeginField(L"collection"); + Print(node->collection.Obj()); + EndField(); + BeginField(L"element"); + Print(node->element.Obj()); + EndField(); + BeginField(L"test"); + switch (node->test) + { + case vl::workflow::WfSetTesting::In: + WriteString(L"In"); + break; + case vl::workflow::WfSetTesting::NotIn: + WriteString(L"NotIn"); + break; + default: + WriteNull(); + } + EndField(); + } + void AstVisitor::PrintFields(WfSharedPointerType* node) + { + BeginField(L"element"); + Print(node->element.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfStateDeclaration* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"statement"); + Print(node->statement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfStateInput* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(WfStateInvokeStatement* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"type"); + switch (node->type) + { + case vl::workflow::WfStateInvokeType::Goto: + WriteString(L"Goto"); + break; + case vl::workflow::WfStateInvokeType::Push: + WriteString(L"Push"); + break; + default: + WriteNull(); + } + EndField(); + } + void AstVisitor::PrintFields(WfStateMachineDeclaration* node) + { + BeginField(L"inputs"); + BeginArray(); + for (auto&& listItem : node->inputs) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"states"); + BeginArray(); + for (auto&& listItem : node->states) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfStateMachineStatement* node) + { + } + void AstVisitor::PrintFields(WfStateSwitchArgument* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(WfStateSwitchCase* node) + { + BeginField(L"arguments"); + BeginArray(); + for (auto&& listItem : node->arguments) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"statement"); + Print(node->statement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfStateSwitchStatement* node) + { + BeginField(L"caseBranches"); + BeginArray(); + for (auto&& listItem : node->caseBranches) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"type"); + switch (node->type) + { + case vl::workflow::WfStateSwitchType::Default: + WriteString(L"Default"); + break; + case vl::workflow::WfStateSwitchType::Ignore: + WriteString(L"Ignore"); + break; + case vl::workflow::WfStateSwitchType::IgnoreAndReturn: + WriteString(L"IgnoreAndReturn"); + break; + case vl::workflow::WfStateSwitchType::Pass: + WriteString(L"Pass"); + break; + case vl::workflow::WfStateSwitchType::PassAndReturn: + WriteString(L"PassAndReturn"); + break; + default: + WriteNull(); + } + EndField(); + } + void AstVisitor::PrintFields(WfStatement* node) + { + } + void AstVisitor::PrintFields(WfStringExpression* node) + { + BeginField(L"value"); + WriteToken(node->value); + EndField(); + } + void AstVisitor::PrintFields(WfStructDeclaration* node) + { + BeginField(L"members"); + BeginArray(); + for (auto&& listItem : node->members) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfStructMember* node) + { + BeginField(L"attributes"); + BeginArray(); + for (auto&& listItem : node->attributes) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfSwitchCase* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + BeginField(L"statement"); + Print(node->statement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfSwitchStatement* node) + { + BeginField(L"caseBranches"); + BeginArray(); + for (auto&& listItem : node->caseBranches) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"defaultBranch"); + Print(node->defaultBranch.Obj()); + EndField(); + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfThisExpression* node) + { + } + void AstVisitor::PrintFields(WfTopQualifiedExpression* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(WfTopQualifiedType* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } + void AstVisitor::PrintFields(WfTryStatement* node) + { + BeginField(L"catchStatement"); + Print(node->catchStatement.Obj()); + EndField(); + BeginField(L"finallyStatement"); + Print(node->finallyStatement.Obj()); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"protectedStatement"); + Print(node->protectedStatement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfType* node) + { + } + void AstVisitor::PrintFields(WfTypeCastingExpression* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + BeginField(L"strategy"); + switch (node->strategy) + { + case vl::workflow::WfTypeCastingStrategy::Strong: + WriteString(L"Strong"); + break; + case vl::workflow::WfTypeCastingStrategy::Weak: + WriteString(L"Weak"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfTypeOfExpressionExpression* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfTypeOfTypeExpression* node) + { + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfTypeTestingExpression* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + BeginField(L"test"); + switch (node->test) + { + case vl::workflow::WfTypeTesting::IsNotNull: + WriteString(L"IsNotNull"); + break; + case vl::workflow::WfTypeTesting::IsNotType: + WriteString(L"IsNotType"); + break; + case vl::workflow::WfTypeTesting::IsNull: + WriteString(L"IsNull"); + break; + case vl::workflow::WfTypeTesting::IsType: + WriteString(L"IsType"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfUnaryExpression* node) + { + BeginField(L"op"); + switch (node->op) + { + case vl::workflow::WfUnaryOperator::Negative: + WriteString(L"Negative"); + break; + case vl::workflow::WfUnaryOperator::Not: + WriteString(L"Not"); + break; + case vl::workflow::WfUnaryOperator::Positive: + WriteString(L"Positive"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"operand"); + Print(node->operand.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfVariableDeclaration* node) + { + BeginField(L"expression"); + Print(node->expression.Obj()); + EndField(); + BeginField(L"type"); + Print(node->type.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfVariableStatement* node) + { + BeginField(L"variable"); + Print(node->variable.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfVirtualCfeDeclaration* node) + { + BeginField(L"expandedDeclarations"); + BeginArray(); + for (auto&& listItem : node->expandedDeclarations) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfVirtualCfeExpression* node) + { + BeginField(L"expandedExpression"); + Print(node->expandedExpression.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfVirtualCseDeclaration* node) + { + BeginField(L"expandedDeclarations"); + BeginArray(); + for (auto&& listItem : node->expandedDeclarations) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + } + void AstVisitor::PrintFields(WfVirtualCseExpression* node) + { + BeginField(L"expandedExpression"); + Print(node->expandedExpression.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfVirtualCseStatement* node) + { + BeginField(L"expandedStatement"); + Print(node->expandedStatement.Obj()); + EndField(); + } + void AstVisitor::PrintFields(WfWhileStatement* node) + { + BeginField(L"condition"); + Print(node->condition.Obj()); + EndField(); + BeginField(L"statement"); + Print(node->statement.Obj()); + EndField(); + } + + void AstVisitor::Visit(WfPredefinedType* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"PredefinedType", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfTopQualifiedType* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"TopQualifiedType", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfReferenceType* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ReferenceType", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfRawPointerType* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"RawPointerType", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfSharedPointerType* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"SharedPointerType", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfNullableType* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"NullableType", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfEnumerableType* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"EnumerableType", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfMapType* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"MapType", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfObservableListType* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ObservableListType", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfFunctionType* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"FunctionType", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfChildType* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ChildType", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfThisExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ThisExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfTopQualifiedExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"TopQualifiedExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfReferenceExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ReferenceExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfOrderedNameExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"OrderedNameExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfOrderedLambdaExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"OrderedLambdaExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfMemberExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"MemberExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfChildExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ChildExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfLiteralExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LiteralExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfFloatingExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"FloatingExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfIntegerExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"IntegerExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfStringExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"StringExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfUnaryExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"UnaryExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfBinaryExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"BinaryExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfLetExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LetExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfIfExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"IfExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfRangeExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"RangeExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfSetTestingExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"SetTestingExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfConstructorExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ConstructorExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfInferExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"InferExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfTypeCastingExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"TypeCastingExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfTypeTestingExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"TypeTestingExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfTypeOfTypeExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"TypeOfTypeExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfTypeOfExpressionExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"TypeOfExpressionExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfAttachEventExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"AttachEventExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfDetachEventExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"DetachEventExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfObserveExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ObserveExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfCallExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"CallExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfFunctionExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"FunctionExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfNewClassExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"NewClassExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfNewInterfaceExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"NewInterfaceExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfVirtualCfeExpression* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfVirtualCseExpression* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfBreakStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"BreakStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfContinueStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ContinueStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfReturnStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ReturnStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfDeleteStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"DeleteStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfRaiseExceptionStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"RaiseExceptionStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfIfStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"IfStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfWhileStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"WhileStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfTryStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"TryStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfBlockStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"BlockStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfGotoStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"GotoStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfVariableStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"VariableStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfExpressionStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ExpressionStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfVirtualCseStatement* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfCoroutineStatement* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfStateMachineStatement* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfNamespaceDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"NamespaceDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfFunctionDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"FunctionDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfVariableDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"VariableDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfEventDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"EventDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfPropertyDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"PropertyDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfConstructorDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ConstructorDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfDestructorDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"DestructorDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfClassDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ClassDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfEnumDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"EnumDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfStructDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"StructDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfVirtualCfeDeclaration* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfVirtualCseDeclaration* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfAutoPropertyDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"AutoPropertyDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfCastResultInterfaceDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"CastResultInterfaceDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfStateMachineDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"StateMachineDeclaration", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfForEachStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ForEachStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfSwitchStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"SwitchStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfCoProviderStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"CoProviderStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfCoPauseStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"CoPauseStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfCoOperatorStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"CoOperatorStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfStateSwitchStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"StateSwitchStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfStateInvokeStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"StateInvokeStatement", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfFormatExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"FormatExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfBindExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"BindExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfNewCoroutineExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"NewCoroutineExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfMixinCastExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"MixinCastExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfExpectedTypeCastExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ExpectedTypeCastExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfCoOperatorExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"CoOperatorExpression", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfModuleUsingNameFragment* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ModuleUsingNameFragment", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Visit(WfModuleUsingWildCardFragment* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ModuleUsingWildCardFragment", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + AstVisitor::AstVisitor(vl::stream::StreamWriter& _writer) + : vl::glr::JsonVisitorBase(_writer) + { + } + + void AstVisitor::Print(WfType* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + + void AstVisitor::Print(WfExpression* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + + void AstVisitor::Print(WfStatement* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + + void AstVisitor::Print(WfDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + + void AstVisitor::Print(WfModuleUsingFragment* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + + void AstVisitor::Print(WfAttribute* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Attribute", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfFunctionArgument* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"FunctionArgument", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfBaseConstructorCall* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"BaseConstructorCall", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfEnumItemIntersection* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"EnumItemIntersection", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfEnumItem* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"EnumItem", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfStructMember* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"StructMember", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfStateInput* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"StateInput", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfStateDeclaration* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"StateDeclaration", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfSwitchCase* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"SwitchCase", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfStateSwitchArgument* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"StateSwitchArgument", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfStateSwitchCase* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"StateSwitchCase", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfLetVariable* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LetVariable", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfConstructorArgument* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ConstructorArgument", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfModuleUsingItem* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ModuleUsingItem", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfModuleUsingPath* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"ModuleUsingPath", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void AstVisitor::Print(WfModule* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"Module", node); + PrintFields(static_cast(node)); + EndObject(); + } + } @@ -38573,1724 +38538,1718 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::workflow::traverse_visitor { - namespace workflow + void AstVisitor::Traverse(vl::glr::ParsingToken& token) {} + void AstVisitor::Traverse(vl::glr::ParsingAstBase* node) {} + void AstVisitor::Traverse(WfAttachEventExpression* node) {} + void AstVisitor::Traverse(WfAttribute* node) {} + void AstVisitor::Traverse(WfAutoPropertyDeclaration* node) {} + void AstVisitor::Traverse(WfBaseConstructorCall* node) {} + void AstVisitor::Traverse(WfBinaryExpression* node) {} + void AstVisitor::Traverse(WfBindExpression* node) {} + void AstVisitor::Traverse(WfBlockStatement* node) {} + void AstVisitor::Traverse(WfBreakStatement* node) {} + void AstVisitor::Traverse(WfCallExpression* node) {} + void AstVisitor::Traverse(WfCastResultInterfaceDeclaration* node) {} + void AstVisitor::Traverse(WfChildExpression* node) {} + void AstVisitor::Traverse(WfChildType* node) {} + void AstVisitor::Traverse(WfClassDeclaration* node) {} + void AstVisitor::Traverse(WfCoOperatorExpression* node) {} + void AstVisitor::Traverse(WfCoOperatorStatement* node) {} + void AstVisitor::Traverse(WfCoPauseStatement* node) {} + void AstVisitor::Traverse(WfCoProviderStatement* node) {} + void AstVisitor::Traverse(WfConstructorArgument* node) {} + void AstVisitor::Traverse(WfConstructorDeclaration* node) {} + void AstVisitor::Traverse(WfConstructorExpression* node) {} + void AstVisitor::Traverse(WfContinueStatement* node) {} + void AstVisitor::Traverse(WfCoroutineStatement* node) {} + void AstVisitor::Traverse(WfDeclaration* node) {} + void AstVisitor::Traverse(WfDeleteStatement* node) {} + void AstVisitor::Traverse(WfDestructorDeclaration* node) {} + void AstVisitor::Traverse(WfDetachEventExpression* node) {} + void AstVisitor::Traverse(WfEnumDeclaration* node) {} + void AstVisitor::Traverse(WfEnumItem* node) {} + void AstVisitor::Traverse(WfEnumItemIntersection* node) {} + void AstVisitor::Traverse(WfEnumerableType* node) {} + void AstVisitor::Traverse(WfEventDeclaration* node) {} + void AstVisitor::Traverse(WfExpectedTypeCastExpression* node) {} + void AstVisitor::Traverse(WfExpression* node) {} + void AstVisitor::Traverse(WfExpressionStatement* node) {} + void AstVisitor::Traverse(WfFloatingExpression* node) {} + void AstVisitor::Traverse(WfForEachStatement* node) {} + void AstVisitor::Traverse(WfFormatExpression* node) {} + void AstVisitor::Traverse(WfFunctionArgument* node) {} + void AstVisitor::Traverse(WfFunctionDeclaration* node) {} + void AstVisitor::Traverse(WfFunctionExpression* node) {} + void AstVisitor::Traverse(WfFunctionType* node) {} + void AstVisitor::Traverse(WfGotoStatement* node) {} + void AstVisitor::Traverse(WfIfExpression* node) {} + void AstVisitor::Traverse(WfIfStatement* node) {} + void AstVisitor::Traverse(WfInferExpression* node) {} + void AstVisitor::Traverse(WfIntegerExpression* node) {} + void AstVisitor::Traverse(WfLetExpression* node) {} + void AstVisitor::Traverse(WfLetVariable* node) {} + void AstVisitor::Traverse(WfLiteralExpression* node) {} + void AstVisitor::Traverse(WfMapType* node) {} + void AstVisitor::Traverse(WfMemberExpression* node) {} + void AstVisitor::Traverse(WfMixinCastExpression* node) {} + void AstVisitor::Traverse(WfModule* node) {} + void AstVisitor::Traverse(WfModuleUsingFragment* node) {} + void AstVisitor::Traverse(WfModuleUsingItem* node) {} + void AstVisitor::Traverse(WfModuleUsingNameFragment* node) {} + void AstVisitor::Traverse(WfModuleUsingPath* node) {} + void AstVisitor::Traverse(WfModuleUsingWildCardFragment* node) {} + void AstVisitor::Traverse(WfNamespaceDeclaration* node) {} + void AstVisitor::Traverse(WfNewClassExpression* node) {} + void AstVisitor::Traverse(WfNewCoroutineExpression* node) {} + void AstVisitor::Traverse(WfNewInterfaceExpression* node) {} + void AstVisitor::Traverse(WfNullableType* node) {} + void AstVisitor::Traverse(WfObservableListType* node) {} + void AstVisitor::Traverse(WfObserveExpression* node) {} + void AstVisitor::Traverse(WfOrderedLambdaExpression* node) {} + void AstVisitor::Traverse(WfOrderedNameExpression* node) {} + void AstVisitor::Traverse(WfPredefinedType* node) {} + void AstVisitor::Traverse(WfPropertyDeclaration* node) {} + void AstVisitor::Traverse(WfRaiseExceptionStatement* node) {} + void AstVisitor::Traverse(WfRangeExpression* node) {} + void AstVisitor::Traverse(WfRawPointerType* node) {} + void AstVisitor::Traverse(WfReferenceExpression* node) {} + void AstVisitor::Traverse(WfReferenceType* node) {} + void AstVisitor::Traverse(WfReturnStatement* node) {} + void AstVisitor::Traverse(WfSetTestingExpression* node) {} + void AstVisitor::Traverse(WfSharedPointerType* node) {} + void AstVisitor::Traverse(WfStateDeclaration* node) {} + void AstVisitor::Traverse(WfStateInput* node) {} + void AstVisitor::Traverse(WfStateInvokeStatement* node) {} + void AstVisitor::Traverse(WfStateMachineDeclaration* node) {} + void AstVisitor::Traverse(WfStateMachineStatement* node) {} + void AstVisitor::Traverse(WfStateSwitchArgument* node) {} + void AstVisitor::Traverse(WfStateSwitchCase* node) {} + void AstVisitor::Traverse(WfStateSwitchStatement* node) {} + void AstVisitor::Traverse(WfStatement* node) {} + void AstVisitor::Traverse(WfStringExpression* node) {} + void AstVisitor::Traverse(WfStructDeclaration* node) {} + void AstVisitor::Traverse(WfStructMember* node) {} + void AstVisitor::Traverse(WfSwitchCase* node) {} + void AstVisitor::Traverse(WfSwitchStatement* node) {} + void AstVisitor::Traverse(WfThisExpression* node) {} + void AstVisitor::Traverse(WfTopQualifiedExpression* node) {} + void AstVisitor::Traverse(WfTopQualifiedType* node) {} + void AstVisitor::Traverse(WfTryStatement* node) {} + void AstVisitor::Traverse(WfType* node) {} + void AstVisitor::Traverse(WfTypeCastingExpression* node) {} + void AstVisitor::Traverse(WfTypeOfExpressionExpression* node) {} + void AstVisitor::Traverse(WfTypeOfTypeExpression* node) {} + void AstVisitor::Traverse(WfTypeTestingExpression* node) {} + void AstVisitor::Traverse(WfUnaryExpression* node) {} + void AstVisitor::Traverse(WfVariableDeclaration* node) {} + void AstVisitor::Traverse(WfVariableStatement* node) {} + void AstVisitor::Traverse(WfVirtualCfeDeclaration* node) {} + void AstVisitor::Traverse(WfVirtualCfeExpression* node) {} + void AstVisitor::Traverse(WfVirtualCseDeclaration* node) {} + void AstVisitor::Traverse(WfVirtualCseExpression* node) {} + void AstVisitor::Traverse(WfVirtualCseStatement* node) {} + void AstVisitor::Traverse(WfWhileStatement* node) {} + + void AstVisitor::Finishing(vl::glr::ParsingAstBase* node) {} + void AstVisitor::Finishing(WfAttachEventExpression* node) {} + void AstVisitor::Finishing(WfAttribute* node) {} + void AstVisitor::Finishing(WfAutoPropertyDeclaration* node) {} + void AstVisitor::Finishing(WfBaseConstructorCall* node) {} + void AstVisitor::Finishing(WfBinaryExpression* node) {} + void AstVisitor::Finishing(WfBindExpression* node) {} + void AstVisitor::Finishing(WfBlockStatement* node) {} + void AstVisitor::Finishing(WfBreakStatement* node) {} + void AstVisitor::Finishing(WfCallExpression* node) {} + void AstVisitor::Finishing(WfCastResultInterfaceDeclaration* node) {} + void AstVisitor::Finishing(WfChildExpression* node) {} + void AstVisitor::Finishing(WfChildType* node) {} + void AstVisitor::Finishing(WfClassDeclaration* node) {} + void AstVisitor::Finishing(WfCoOperatorExpression* node) {} + void AstVisitor::Finishing(WfCoOperatorStatement* node) {} + void AstVisitor::Finishing(WfCoPauseStatement* node) {} + void AstVisitor::Finishing(WfCoProviderStatement* node) {} + void AstVisitor::Finishing(WfConstructorArgument* node) {} + void AstVisitor::Finishing(WfConstructorDeclaration* node) {} + void AstVisitor::Finishing(WfConstructorExpression* node) {} + void AstVisitor::Finishing(WfContinueStatement* node) {} + void AstVisitor::Finishing(WfCoroutineStatement* node) {} + void AstVisitor::Finishing(WfDeclaration* node) {} + void AstVisitor::Finishing(WfDeleteStatement* node) {} + void AstVisitor::Finishing(WfDestructorDeclaration* node) {} + void AstVisitor::Finishing(WfDetachEventExpression* node) {} + void AstVisitor::Finishing(WfEnumDeclaration* node) {} + void AstVisitor::Finishing(WfEnumItem* node) {} + void AstVisitor::Finishing(WfEnumItemIntersection* node) {} + void AstVisitor::Finishing(WfEnumerableType* node) {} + void AstVisitor::Finishing(WfEventDeclaration* node) {} + void AstVisitor::Finishing(WfExpectedTypeCastExpression* node) {} + void AstVisitor::Finishing(WfExpression* node) {} + void AstVisitor::Finishing(WfExpressionStatement* node) {} + void AstVisitor::Finishing(WfFloatingExpression* node) {} + void AstVisitor::Finishing(WfForEachStatement* node) {} + void AstVisitor::Finishing(WfFormatExpression* node) {} + void AstVisitor::Finishing(WfFunctionArgument* node) {} + void AstVisitor::Finishing(WfFunctionDeclaration* node) {} + void AstVisitor::Finishing(WfFunctionExpression* node) {} + void AstVisitor::Finishing(WfFunctionType* node) {} + void AstVisitor::Finishing(WfGotoStatement* node) {} + void AstVisitor::Finishing(WfIfExpression* node) {} + void AstVisitor::Finishing(WfIfStatement* node) {} + void AstVisitor::Finishing(WfInferExpression* node) {} + void AstVisitor::Finishing(WfIntegerExpression* node) {} + void AstVisitor::Finishing(WfLetExpression* node) {} + void AstVisitor::Finishing(WfLetVariable* node) {} + void AstVisitor::Finishing(WfLiteralExpression* node) {} + void AstVisitor::Finishing(WfMapType* node) {} + void AstVisitor::Finishing(WfMemberExpression* node) {} + void AstVisitor::Finishing(WfMixinCastExpression* node) {} + void AstVisitor::Finishing(WfModule* node) {} + void AstVisitor::Finishing(WfModuleUsingFragment* node) {} + void AstVisitor::Finishing(WfModuleUsingItem* node) {} + void AstVisitor::Finishing(WfModuleUsingNameFragment* node) {} + void AstVisitor::Finishing(WfModuleUsingPath* node) {} + void AstVisitor::Finishing(WfModuleUsingWildCardFragment* node) {} + void AstVisitor::Finishing(WfNamespaceDeclaration* node) {} + void AstVisitor::Finishing(WfNewClassExpression* node) {} + void AstVisitor::Finishing(WfNewCoroutineExpression* node) {} + void AstVisitor::Finishing(WfNewInterfaceExpression* node) {} + void AstVisitor::Finishing(WfNullableType* node) {} + void AstVisitor::Finishing(WfObservableListType* node) {} + void AstVisitor::Finishing(WfObserveExpression* node) {} + void AstVisitor::Finishing(WfOrderedLambdaExpression* node) {} + void AstVisitor::Finishing(WfOrderedNameExpression* node) {} + void AstVisitor::Finishing(WfPredefinedType* node) {} + void AstVisitor::Finishing(WfPropertyDeclaration* node) {} + void AstVisitor::Finishing(WfRaiseExceptionStatement* node) {} + void AstVisitor::Finishing(WfRangeExpression* node) {} + void AstVisitor::Finishing(WfRawPointerType* node) {} + void AstVisitor::Finishing(WfReferenceExpression* node) {} + void AstVisitor::Finishing(WfReferenceType* node) {} + void AstVisitor::Finishing(WfReturnStatement* node) {} + void AstVisitor::Finishing(WfSetTestingExpression* node) {} + void AstVisitor::Finishing(WfSharedPointerType* node) {} + void AstVisitor::Finishing(WfStateDeclaration* node) {} + void AstVisitor::Finishing(WfStateInput* node) {} + void AstVisitor::Finishing(WfStateInvokeStatement* node) {} + void AstVisitor::Finishing(WfStateMachineDeclaration* node) {} + void AstVisitor::Finishing(WfStateMachineStatement* node) {} + void AstVisitor::Finishing(WfStateSwitchArgument* node) {} + void AstVisitor::Finishing(WfStateSwitchCase* node) {} + void AstVisitor::Finishing(WfStateSwitchStatement* node) {} + void AstVisitor::Finishing(WfStatement* node) {} + void AstVisitor::Finishing(WfStringExpression* node) {} + void AstVisitor::Finishing(WfStructDeclaration* node) {} + void AstVisitor::Finishing(WfStructMember* node) {} + void AstVisitor::Finishing(WfSwitchCase* node) {} + void AstVisitor::Finishing(WfSwitchStatement* node) {} + void AstVisitor::Finishing(WfThisExpression* node) {} + void AstVisitor::Finishing(WfTopQualifiedExpression* node) {} + void AstVisitor::Finishing(WfTopQualifiedType* node) {} + void AstVisitor::Finishing(WfTryStatement* node) {} + void AstVisitor::Finishing(WfType* node) {} + void AstVisitor::Finishing(WfTypeCastingExpression* node) {} + void AstVisitor::Finishing(WfTypeOfExpressionExpression* node) {} + void AstVisitor::Finishing(WfTypeOfTypeExpression* node) {} + void AstVisitor::Finishing(WfTypeTestingExpression* node) {} + void AstVisitor::Finishing(WfUnaryExpression* node) {} + void AstVisitor::Finishing(WfVariableDeclaration* node) {} + void AstVisitor::Finishing(WfVariableStatement* node) {} + void AstVisitor::Finishing(WfVirtualCfeDeclaration* node) {} + void AstVisitor::Finishing(WfVirtualCfeExpression* node) {} + void AstVisitor::Finishing(WfVirtualCseDeclaration* node) {} + void AstVisitor::Finishing(WfVirtualCseExpression* node) {} + void AstVisitor::Finishing(WfVirtualCseStatement* node) {} + void AstVisitor::Finishing(WfWhileStatement* node) {} + + void AstVisitor::Visit(WfPredefinedType* node) { - namespace traverse_visitor - { - void AstVisitor::Traverse(vl::glr::ParsingToken& token) {} - void AstVisitor::Traverse(vl::glr::ParsingAstBase* node) {} - void AstVisitor::Traverse(WfAttachEventExpression* node) {} - void AstVisitor::Traverse(WfAttribute* node) {} - void AstVisitor::Traverse(WfAutoPropertyDeclaration* node) {} - void AstVisitor::Traverse(WfBaseConstructorCall* node) {} - void AstVisitor::Traverse(WfBinaryExpression* node) {} - void AstVisitor::Traverse(WfBindExpression* node) {} - void AstVisitor::Traverse(WfBlockStatement* node) {} - void AstVisitor::Traverse(WfBreakStatement* node) {} - void AstVisitor::Traverse(WfCallExpression* node) {} - void AstVisitor::Traverse(WfCastResultInterfaceDeclaration* node) {} - void AstVisitor::Traverse(WfChildExpression* node) {} - void AstVisitor::Traverse(WfChildType* node) {} - void AstVisitor::Traverse(WfClassDeclaration* node) {} - void AstVisitor::Traverse(WfCoOperatorExpression* node) {} - void AstVisitor::Traverse(WfCoOperatorStatement* node) {} - void AstVisitor::Traverse(WfCoPauseStatement* node) {} - void AstVisitor::Traverse(WfCoProviderStatement* node) {} - void AstVisitor::Traverse(WfConstructorArgument* node) {} - void AstVisitor::Traverse(WfConstructorDeclaration* node) {} - void AstVisitor::Traverse(WfConstructorExpression* node) {} - void AstVisitor::Traverse(WfContinueStatement* node) {} - void AstVisitor::Traverse(WfCoroutineStatement* node) {} - void AstVisitor::Traverse(WfDeclaration* node) {} - void AstVisitor::Traverse(WfDeleteStatement* node) {} - void AstVisitor::Traverse(WfDestructorDeclaration* node) {} - void AstVisitor::Traverse(WfDetachEventExpression* node) {} - void AstVisitor::Traverse(WfEnumDeclaration* node) {} - void AstVisitor::Traverse(WfEnumItem* node) {} - void AstVisitor::Traverse(WfEnumItemIntersection* node) {} - void AstVisitor::Traverse(WfEnumerableType* node) {} - void AstVisitor::Traverse(WfEventDeclaration* node) {} - void AstVisitor::Traverse(WfExpectedTypeCastExpression* node) {} - void AstVisitor::Traverse(WfExpression* node) {} - void AstVisitor::Traverse(WfExpressionStatement* node) {} - void AstVisitor::Traverse(WfFloatingExpression* node) {} - void AstVisitor::Traverse(WfForEachStatement* node) {} - void AstVisitor::Traverse(WfFormatExpression* node) {} - void AstVisitor::Traverse(WfFunctionArgument* node) {} - void AstVisitor::Traverse(WfFunctionDeclaration* node) {} - void AstVisitor::Traverse(WfFunctionExpression* node) {} - void AstVisitor::Traverse(WfFunctionType* node) {} - void AstVisitor::Traverse(WfGotoStatement* node) {} - void AstVisitor::Traverse(WfIfExpression* node) {} - void AstVisitor::Traverse(WfIfStatement* node) {} - void AstVisitor::Traverse(WfInferExpression* node) {} - void AstVisitor::Traverse(WfIntegerExpression* node) {} - void AstVisitor::Traverse(WfLetExpression* node) {} - void AstVisitor::Traverse(WfLetVariable* node) {} - void AstVisitor::Traverse(WfLiteralExpression* node) {} - void AstVisitor::Traverse(WfMapType* node) {} - void AstVisitor::Traverse(WfMemberExpression* node) {} - void AstVisitor::Traverse(WfMixinCastExpression* node) {} - void AstVisitor::Traverse(WfModule* node) {} - void AstVisitor::Traverse(WfModuleUsingFragment* node) {} - void AstVisitor::Traverse(WfModuleUsingItem* node) {} - void AstVisitor::Traverse(WfModuleUsingNameFragment* node) {} - void AstVisitor::Traverse(WfModuleUsingPath* node) {} - void AstVisitor::Traverse(WfModuleUsingWildCardFragment* node) {} - void AstVisitor::Traverse(WfNamespaceDeclaration* node) {} - void AstVisitor::Traverse(WfNewClassExpression* node) {} - void AstVisitor::Traverse(WfNewCoroutineExpression* node) {} - void AstVisitor::Traverse(WfNewInterfaceExpression* node) {} - void AstVisitor::Traverse(WfNullableType* node) {} - void AstVisitor::Traverse(WfObservableListType* node) {} - void AstVisitor::Traverse(WfObserveExpression* node) {} - void AstVisitor::Traverse(WfOrderedLambdaExpression* node) {} - void AstVisitor::Traverse(WfOrderedNameExpression* node) {} - void AstVisitor::Traverse(WfPredefinedType* node) {} - void AstVisitor::Traverse(WfPropertyDeclaration* node) {} - void AstVisitor::Traverse(WfRaiseExceptionStatement* node) {} - void AstVisitor::Traverse(WfRangeExpression* node) {} - void AstVisitor::Traverse(WfRawPointerType* node) {} - void AstVisitor::Traverse(WfReferenceExpression* node) {} - void AstVisitor::Traverse(WfReferenceType* node) {} - void AstVisitor::Traverse(WfReturnStatement* node) {} - void AstVisitor::Traverse(WfSetTestingExpression* node) {} - void AstVisitor::Traverse(WfSharedPointerType* node) {} - void AstVisitor::Traverse(WfStateDeclaration* node) {} - void AstVisitor::Traverse(WfStateInput* node) {} - void AstVisitor::Traverse(WfStateInvokeStatement* node) {} - void AstVisitor::Traverse(WfStateMachineDeclaration* node) {} - void AstVisitor::Traverse(WfStateMachineStatement* node) {} - void AstVisitor::Traverse(WfStateSwitchArgument* node) {} - void AstVisitor::Traverse(WfStateSwitchCase* node) {} - void AstVisitor::Traverse(WfStateSwitchStatement* node) {} - void AstVisitor::Traverse(WfStatement* node) {} - void AstVisitor::Traverse(WfStringExpression* node) {} - void AstVisitor::Traverse(WfStructDeclaration* node) {} - void AstVisitor::Traverse(WfStructMember* node) {} - void AstVisitor::Traverse(WfSwitchCase* node) {} - void AstVisitor::Traverse(WfSwitchStatement* node) {} - void AstVisitor::Traverse(WfThisExpression* node) {} - void AstVisitor::Traverse(WfTopQualifiedExpression* node) {} - void AstVisitor::Traverse(WfTopQualifiedType* node) {} - void AstVisitor::Traverse(WfTryStatement* node) {} - void AstVisitor::Traverse(WfType* node) {} - void AstVisitor::Traverse(WfTypeCastingExpression* node) {} - void AstVisitor::Traverse(WfTypeOfExpressionExpression* node) {} - void AstVisitor::Traverse(WfTypeOfTypeExpression* node) {} - void AstVisitor::Traverse(WfTypeTestingExpression* node) {} - void AstVisitor::Traverse(WfUnaryExpression* node) {} - void AstVisitor::Traverse(WfVariableDeclaration* node) {} - void AstVisitor::Traverse(WfVariableStatement* node) {} - void AstVisitor::Traverse(WfVirtualCfeDeclaration* node) {} - void AstVisitor::Traverse(WfVirtualCfeExpression* node) {} - void AstVisitor::Traverse(WfVirtualCseDeclaration* node) {} - void AstVisitor::Traverse(WfVirtualCseExpression* node) {} - void AstVisitor::Traverse(WfVirtualCseStatement* node) {} - void AstVisitor::Traverse(WfWhileStatement* node) {} - - void AstVisitor::Finishing(vl::glr::ParsingAstBase* node) {} - void AstVisitor::Finishing(WfAttachEventExpression* node) {} - void AstVisitor::Finishing(WfAttribute* node) {} - void AstVisitor::Finishing(WfAutoPropertyDeclaration* node) {} - void AstVisitor::Finishing(WfBaseConstructorCall* node) {} - void AstVisitor::Finishing(WfBinaryExpression* node) {} - void AstVisitor::Finishing(WfBindExpression* node) {} - void AstVisitor::Finishing(WfBlockStatement* node) {} - void AstVisitor::Finishing(WfBreakStatement* node) {} - void AstVisitor::Finishing(WfCallExpression* node) {} - void AstVisitor::Finishing(WfCastResultInterfaceDeclaration* node) {} - void AstVisitor::Finishing(WfChildExpression* node) {} - void AstVisitor::Finishing(WfChildType* node) {} - void AstVisitor::Finishing(WfClassDeclaration* node) {} - void AstVisitor::Finishing(WfCoOperatorExpression* node) {} - void AstVisitor::Finishing(WfCoOperatorStatement* node) {} - void AstVisitor::Finishing(WfCoPauseStatement* node) {} - void AstVisitor::Finishing(WfCoProviderStatement* node) {} - void AstVisitor::Finishing(WfConstructorArgument* node) {} - void AstVisitor::Finishing(WfConstructorDeclaration* node) {} - void AstVisitor::Finishing(WfConstructorExpression* node) {} - void AstVisitor::Finishing(WfContinueStatement* node) {} - void AstVisitor::Finishing(WfCoroutineStatement* node) {} - void AstVisitor::Finishing(WfDeclaration* node) {} - void AstVisitor::Finishing(WfDeleteStatement* node) {} - void AstVisitor::Finishing(WfDestructorDeclaration* node) {} - void AstVisitor::Finishing(WfDetachEventExpression* node) {} - void AstVisitor::Finishing(WfEnumDeclaration* node) {} - void AstVisitor::Finishing(WfEnumItem* node) {} - void AstVisitor::Finishing(WfEnumItemIntersection* node) {} - void AstVisitor::Finishing(WfEnumerableType* node) {} - void AstVisitor::Finishing(WfEventDeclaration* node) {} - void AstVisitor::Finishing(WfExpectedTypeCastExpression* node) {} - void AstVisitor::Finishing(WfExpression* node) {} - void AstVisitor::Finishing(WfExpressionStatement* node) {} - void AstVisitor::Finishing(WfFloatingExpression* node) {} - void AstVisitor::Finishing(WfForEachStatement* node) {} - void AstVisitor::Finishing(WfFormatExpression* node) {} - void AstVisitor::Finishing(WfFunctionArgument* node) {} - void AstVisitor::Finishing(WfFunctionDeclaration* node) {} - void AstVisitor::Finishing(WfFunctionExpression* node) {} - void AstVisitor::Finishing(WfFunctionType* node) {} - void AstVisitor::Finishing(WfGotoStatement* node) {} - void AstVisitor::Finishing(WfIfExpression* node) {} - void AstVisitor::Finishing(WfIfStatement* node) {} - void AstVisitor::Finishing(WfInferExpression* node) {} - void AstVisitor::Finishing(WfIntegerExpression* node) {} - void AstVisitor::Finishing(WfLetExpression* node) {} - void AstVisitor::Finishing(WfLetVariable* node) {} - void AstVisitor::Finishing(WfLiteralExpression* node) {} - void AstVisitor::Finishing(WfMapType* node) {} - void AstVisitor::Finishing(WfMemberExpression* node) {} - void AstVisitor::Finishing(WfMixinCastExpression* node) {} - void AstVisitor::Finishing(WfModule* node) {} - void AstVisitor::Finishing(WfModuleUsingFragment* node) {} - void AstVisitor::Finishing(WfModuleUsingItem* node) {} - void AstVisitor::Finishing(WfModuleUsingNameFragment* node) {} - void AstVisitor::Finishing(WfModuleUsingPath* node) {} - void AstVisitor::Finishing(WfModuleUsingWildCardFragment* node) {} - void AstVisitor::Finishing(WfNamespaceDeclaration* node) {} - void AstVisitor::Finishing(WfNewClassExpression* node) {} - void AstVisitor::Finishing(WfNewCoroutineExpression* node) {} - void AstVisitor::Finishing(WfNewInterfaceExpression* node) {} - void AstVisitor::Finishing(WfNullableType* node) {} - void AstVisitor::Finishing(WfObservableListType* node) {} - void AstVisitor::Finishing(WfObserveExpression* node) {} - void AstVisitor::Finishing(WfOrderedLambdaExpression* node) {} - void AstVisitor::Finishing(WfOrderedNameExpression* node) {} - void AstVisitor::Finishing(WfPredefinedType* node) {} - void AstVisitor::Finishing(WfPropertyDeclaration* node) {} - void AstVisitor::Finishing(WfRaiseExceptionStatement* node) {} - void AstVisitor::Finishing(WfRangeExpression* node) {} - void AstVisitor::Finishing(WfRawPointerType* node) {} - void AstVisitor::Finishing(WfReferenceExpression* node) {} - void AstVisitor::Finishing(WfReferenceType* node) {} - void AstVisitor::Finishing(WfReturnStatement* node) {} - void AstVisitor::Finishing(WfSetTestingExpression* node) {} - void AstVisitor::Finishing(WfSharedPointerType* node) {} - void AstVisitor::Finishing(WfStateDeclaration* node) {} - void AstVisitor::Finishing(WfStateInput* node) {} - void AstVisitor::Finishing(WfStateInvokeStatement* node) {} - void AstVisitor::Finishing(WfStateMachineDeclaration* node) {} - void AstVisitor::Finishing(WfStateMachineStatement* node) {} - void AstVisitor::Finishing(WfStateSwitchArgument* node) {} - void AstVisitor::Finishing(WfStateSwitchCase* node) {} - void AstVisitor::Finishing(WfStateSwitchStatement* node) {} - void AstVisitor::Finishing(WfStatement* node) {} - void AstVisitor::Finishing(WfStringExpression* node) {} - void AstVisitor::Finishing(WfStructDeclaration* node) {} - void AstVisitor::Finishing(WfStructMember* node) {} - void AstVisitor::Finishing(WfSwitchCase* node) {} - void AstVisitor::Finishing(WfSwitchStatement* node) {} - void AstVisitor::Finishing(WfThisExpression* node) {} - void AstVisitor::Finishing(WfTopQualifiedExpression* node) {} - void AstVisitor::Finishing(WfTopQualifiedType* node) {} - void AstVisitor::Finishing(WfTryStatement* node) {} - void AstVisitor::Finishing(WfType* node) {} - void AstVisitor::Finishing(WfTypeCastingExpression* node) {} - void AstVisitor::Finishing(WfTypeOfExpressionExpression* node) {} - void AstVisitor::Finishing(WfTypeOfTypeExpression* node) {} - void AstVisitor::Finishing(WfTypeTestingExpression* node) {} - void AstVisitor::Finishing(WfUnaryExpression* node) {} - void AstVisitor::Finishing(WfVariableDeclaration* node) {} - void AstVisitor::Finishing(WfVariableStatement* node) {} - void AstVisitor::Finishing(WfVirtualCfeDeclaration* node) {} - void AstVisitor::Finishing(WfVirtualCfeExpression* node) {} - void AstVisitor::Finishing(WfVirtualCseDeclaration* node) {} - void AstVisitor::Finishing(WfVirtualCseExpression* node) {} - void AstVisitor::Finishing(WfVirtualCseStatement* node) {} - void AstVisitor::Finishing(WfWhileStatement* node) {} - - void AstVisitor::Visit(WfPredefinedType* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfTopQualifiedType* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfReferenceType* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfRawPointerType* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->element.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfSharedPointerType* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->element.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfNullableType* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->element.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfEnumerableType* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->element.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfMapType* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->key.Obj()); - InspectInto(node->value.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfObservableListType* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->element.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfFunctionType* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->result.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfChildType* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - InspectInto(node->parent.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfThisExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfTopQualifiedExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfReferenceExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfOrderedNameExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfOrderedLambdaExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->body.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfMemberExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - InspectInto(node->parent.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfChildExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - InspectInto(node->parent.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfLiteralExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfFloatingExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->value); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfIntegerExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->value); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfStringExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->value); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfUnaryExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->operand.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfBinaryExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->first.Obj()); - InspectInto(node->second.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfLetExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - for (auto&& listItem : node->variables) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfIfExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->condition.Obj()); - InspectInto(node->falseBranch.Obj()); - InspectInto(node->trueBranch.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfRangeExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->begin.Obj()); - InspectInto(node->end.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfSetTestingExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->collection.Obj()); - InspectInto(node->element.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfConstructorExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfInferExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - InspectInto(node->type.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfTypeCastingExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - InspectInto(node->type.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfTypeTestingExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - InspectInto(node->type.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfTypeOfTypeExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->type.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfTypeOfExpressionExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfAttachEventExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->event.Obj()); - InspectInto(node->function.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfDetachEventExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->event.Obj()); - InspectInto(node->handler.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfObserveExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->events) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->expression.Obj()); - Traverse(node->name); - InspectInto(node->parent.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfCallExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->function.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfFunctionExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->function.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfNewClassExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->type.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfNewInterfaceExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->declarations) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->type.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfVirtualCfeExpression* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfVirtualCseExpression* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfBreakStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfContinueStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfReturnStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfDeleteStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfRaiseExceptionStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfIfStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - InspectInto(node->falseBranch.Obj()); - Traverse(node->name); - InspectInto(node->trueBranch.Obj()); - InspectInto(node->type.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfWhileStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->condition.Obj()); - InspectInto(node->statement.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfTryStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->catchStatement.Obj()); - InspectInto(node->finallyStatement.Obj()); - Traverse(node->name); - InspectInto(node->protectedStatement.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfBlockStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->endLabel); - for (auto&& listItem : node->statements) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfGotoStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->label); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfVariableStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->variable.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfExpressionStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfVirtualCseStatement* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfCoroutineStatement* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfStateMachineStatement* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfNamespaceDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->declarations) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfFunctionDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->returnType.Obj()); - InspectInto(node->statement.Obj()); - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfVariableDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - InspectInto(node->type.Obj()); - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfEventDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfPropertyDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->getter); - Traverse(node->setter); - InspectInto(node->type.Obj()); - Traverse(node->valueChangedEvent); - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfConstructorDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->baseConstructorCalls) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->statement.Obj()); - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfDestructorDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->statement.Obj()); - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfClassDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->baseTypes) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->declarations) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfEnumDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->items) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfStructDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->members) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfVirtualCfeDeclaration* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfVirtualCseDeclaration* node) - { - node->Accept(static_cast(this)); - } - - void AstVisitor::Visit(WfAutoPropertyDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - InspectInto(node->type.Obj()); - for (auto&& listItem : node->expandedDeclarations) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfCastResultInterfaceDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->baseType.Obj()); - InspectInto(node->elementType.Obj()); - for (auto&& listItem : node->expandedDeclarations) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfStateMachineDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->inputs) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->states) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->expandedDeclarations) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfForEachStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->collection.Obj()); - Traverse(node->name); - InspectInto(node->statement.Obj()); - InspectInto(node->expandedStatement.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfSwitchStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->caseBranches) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->defaultBranch.Obj()); - InspectInto(node->expression.Obj()); - InspectInto(node->expandedStatement.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfCoProviderStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - InspectInto(node->statement.Obj()); - InspectInto(node->expandedStatement.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfCoPauseStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->statement.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfCoOperatorStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - Traverse(node->opName); - Traverse(node->varName); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfStateSwitchStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->caseBranches) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfStateInvokeStatement* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfFormatExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->value); - InspectInto(node->expandedExpression.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfBindExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - InspectInto(node->expandedExpression.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfNewCoroutineExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - InspectInto(node->statement.Obj()); - InspectInto(node->expandedExpression.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfMixinCastExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - InspectInto(node->type.Obj()); - InspectInto(node->expandedExpression.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfExpectedTypeCastExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - InspectInto(node->expandedExpression.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfCoOperatorExpression* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - InspectInto(node->expandedExpression.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfModuleUsingNameFragment* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::Visit(WfModuleUsingWildCardFragment* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfType* node) - { - if (!node) return; - node->Accept(static_cast(this)); - } - - void AstVisitor::InspectInto(WfExpression* node) - { - if (!node) return; - node->Accept(static_cast(this)); - } - - void AstVisitor::InspectInto(WfStatement* node) - { - if (!node) return; - node->Accept(static_cast(this)); - } - - void AstVisitor::InspectInto(WfDeclaration* node) - { - if (!node) return; - node->Accept(static_cast(this)); - } - - void AstVisitor::InspectInto(WfModuleUsingFragment* node) - { - if (!node) return; - node->Accept(static_cast(this)); - } - - void AstVisitor::InspectInto(WfAttribute* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->category); - Traverse(node->name); - InspectInto(node->value.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfFunctionArgument* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - InspectInto(node->type.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfBaseConstructorCall* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - InspectInto(node->type.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfEnumItemIntersection* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfEnumItem* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - for (auto&& listItem : node->intersections) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Traverse(node->number); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfStructMember* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->attributes) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - InspectInto(node->type.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfStateInput* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfStateDeclaration* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - InspectInto(node->statement.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfSwitchCase* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->expression.Obj()); - InspectInto(node->statement.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfStateSwitchArgument* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfStateSwitchCase* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->arguments) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - InspectInto(node->statement.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfLetVariable* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->name); - InspectInto(node->value.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfConstructorArgument* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - InspectInto(node->key.Obj()); - InspectInto(node->value.Obj()); - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfModuleUsingItem* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->fragments) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfModuleUsingPath* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->items) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - void AstVisitor::InspectInto(WfModule* node) - { - if (!node) return; - Traverse(static_cast(node)); - Traverse(static_cast(node)); - for (auto&& listItem : node->declarations) - { - InspectInto(listItem.Obj()); - } - Traverse(node->name); - for (auto&& listItem : node->paths) - { - InspectInto(listItem.Obj()); - } - Finishing(static_cast(node)); - Finishing(static_cast(node)); - } - - } + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); } + + void AstVisitor::Visit(WfTopQualifiedType* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfReferenceType* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfRawPointerType* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->element.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfSharedPointerType* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->element.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfNullableType* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->element.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfEnumerableType* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->element.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfMapType* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->key.Obj()); + InspectInto(node->value.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfObservableListType* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->element.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfFunctionType* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->result.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfChildType* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + InspectInto(node->parent.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfThisExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfTopQualifiedExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfReferenceExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfOrderedNameExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfOrderedLambdaExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->body.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfMemberExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + InspectInto(node->parent.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfChildExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + InspectInto(node->parent.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfLiteralExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfFloatingExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->value); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfIntegerExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->value); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfStringExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->value); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfUnaryExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->operand.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfBinaryExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->first.Obj()); + InspectInto(node->second.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfLetExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + for (auto&& listItem : node->variables) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfIfExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->condition.Obj()); + InspectInto(node->falseBranch.Obj()); + InspectInto(node->trueBranch.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfRangeExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->begin.Obj()); + InspectInto(node->end.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfSetTestingExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->collection.Obj()); + InspectInto(node->element.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfConstructorExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfInferExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + InspectInto(node->type.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfTypeCastingExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + InspectInto(node->type.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfTypeTestingExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + InspectInto(node->type.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfTypeOfTypeExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->type.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfTypeOfExpressionExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfAttachEventExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->event.Obj()); + InspectInto(node->function.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfDetachEventExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->event.Obj()); + InspectInto(node->handler.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfObserveExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->events) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->expression.Obj()); + Traverse(node->name); + InspectInto(node->parent.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfCallExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->function.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfFunctionExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->function.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfNewClassExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->type.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfNewInterfaceExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->declarations) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->type.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfVirtualCfeExpression* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfVirtualCseExpression* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfBreakStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfContinueStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfReturnStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfDeleteStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfRaiseExceptionStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfIfStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + InspectInto(node->falseBranch.Obj()); + Traverse(node->name); + InspectInto(node->trueBranch.Obj()); + InspectInto(node->type.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfWhileStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->condition.Obj()); + InspectInto(node->statement.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfTryStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->catchStatement.Obj()); + InspectInto(node->finallyStatement.Obj()); + Traverse(node->name); + InspectInto(node->protectedStatement.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfBlockStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->endLabel); + for (auto&& listItem : node->statements) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfGotoStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->label); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfVariableStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->variable.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfExpressionStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfVirtualCseStatement* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfCoroutineStatement* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfStateMachineStatement* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfNamespaceDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->declarations) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfFunctionDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->returnType.Obj()); + InspectInto(node->statement.Obj()); + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfVariableDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + InspectInto(node->type.Obj()); + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfEventDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfPropertyDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->getter); + Traverse(node->setter); + InspectInto(node->type.Obj()); + Traverse(node->valueChangedEvent); + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfConstructorDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->baseConstructorCalls) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->statement.Obj()); + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfDestructorDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->statement.Obj()); + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfClassDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->baseTypes) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->declarations) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfEnumDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->items) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfStructDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->members) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfVirtualCfeDeclaration* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfVirtualCseDeclaration* node) + { + node->Accept(static_cast(this)); + } + + void AstVisitor::Visit(WfAutoPropertyDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + InspectInto(node->type.Obj()); + for (auto&& listItem : node->expandedDeclarations) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfCastResultInterfaceDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->baseType.Obj()); + InspectInto(node->elementType.Obj()); + for (auto&& listItem : node->expandedDeclarations) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfStateMachineDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->inputs) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->states) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->expandedDeclarations) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfForEachStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->collection.Obj()); + Traverse(node->name); + InspectInto(node->statement.Obj()); + InspectInto(node->expandedStatement.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfSwitchStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->caseBranches) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->defaultBranch.Obj()); + InspectInto(node->expression.Obj()); + InspectInto(node->expandedStatement.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfCoProviderStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + InspectInto(node->statement.Obj()); + InspectInto(node->expandedStatement.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfCoPauseStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->statement.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfCoOperatorStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + Traverse(node->opName); + Traverse(node->varName); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfStateSwitchStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->caseBranches) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfStateInvokeStatement* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfFormatExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->value); + InspectInto(node->expandedExpression.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfBindExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + InspectInto(node->expandedExpression.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfNewCoroutineExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + InspectInto(node->statement.Obj()); + InspectInto(node->expandedExpression.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfMixinCastExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + InspectInto(node->type.Obj()); + InspectInto(node->expandedExpression.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfExpectedTypeCastExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + InspectInto(node->expandedExpression.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfCoOperatorExpression* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + InspectInto(node->expandedExpression.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfModuleUsingNameFragment* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::Visit(WfModuleUsingWildCardFragment* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfType* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void AstVisitor::InspectInto(WfExpression* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void AstVisitor::InspectInto(WfStatement* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void AstVisitor::InspectInto(WfDeclaration* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void AstVisitor::InspectInto(WfModuleUsingFragment* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void AstVisitor::InspectInto(WfAttribute* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->category); + Traverse(node->name); + InspectInto(node->value.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfFunctionArgument* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + InspectInto(node->type.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfBaseConstructorCall* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->type.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfEnumItemIntersection* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfEnumItem* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + for (auto&& listItem : node->intersections) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Traverse(node->number); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfStructMember* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->attributes) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + InspectInto(node->type.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfStateInput* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfStateDeclaration* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + InspectInto(node->statement.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfSwitchCase* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->expression.Obj()); + InspectInto(node->statement.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfStateSwitchArgument* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfStateSwitchCase* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->arguments) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + InspectInto(node->statement.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfLetVariable* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + InspectInto(node->value.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfConstructorArgument* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->key.Obj()); + InspectInto(node->value.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfModuleUsingItem* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->fragments) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfModuleUsingPath* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->items) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void AstVisitor::InspectInto(WfModule* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->declarations) + { + InspectInto(listItem.Obj()); + } + Traverse(node->name); + for (auto&& listItem : node->paths) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + } @@ -40304,1717 +40263,1719 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::workflow { - namespace workflow + void WorkflowParserData(vl::stream::IStream& outputStream) { - void WorkflowParserData(vl::stream::IStream& outputStream) - { - static const vl::vint dataLength = 184886; // 3421018 bytes before compressing - static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 54; - static const vl::vint dataSolidRows = 722; - static const vl::vint dataRows = 723; - static const char* compressed[] = { - "\x00\x00\x10\x00\x1F\x5D\x00\x00\x73\x00\x01\x82\x80\x07\x23\x82\x81\x82\x06\x89\x82\x92\x1A\x87\x1A\x84\x1E\x0A\xD1\x0A\x95\x2A\x81\x2E\x84\x2F\x0A\xE7\x4A\x96\x7A\x84\x7E\x84\x04\x01\x09\x97\x01\x96\x80\x10\x93\x81\x35\x27\x82\x9B\x1A\x91\x81\x21\x96\x04\xB0\x8D\x30\x95\x28\x9B\x2C\x98\x5E\x30\xA4\x30\x9C\x30\x98\x38\x98\x7E\x30\x83\x50\x96\x48\x9A\x50\x98\xA7\x30\xBE\x50\x91\x60\x98\x66\x98\xE0\x30\x88\x02\x09\x81\x08\xAA\x83\x1B\x57\x83\x82\x1A\xAA\x83\x15\xAE\x01\xB2\x20\xA0\x08\x1B\xB2\x1F\xB1\x42\x63\x8C\x23\xB3\x2B\xB2\x2D\xB1\x63\x63\xAC\x23\xB9\x3B\xB1\x41\xB1\x86\x63\x91\x43\xB5\x4B\xB2\x4F\xB1\xAA\x63\xAD\x43\xB4\x5B\xB1\x5F\xB1\xCC\x63\x93\x63\xBA\x6B\xB3\x75\xB1\xF2\x63\xBB\x63\xB5\x03\x01\x85\x09\x96\x86\x97\x19\xC3\x83\x0C\xCE\x81\x1F\x1F\xC1\x86\x12\xD0\x00\x17\xD2\xDA\x75\x2D\x9F\x7C\xD5\xD4\xD6\x85\x00\x2E\xEE\xD0\xD2\xDD\xD4\xDB\xDA\xFF\x37\xF5\xDA\xD2\xDC\xDF\xD8\x85\xB8\xB9\xC0\xF8\xDE\xDE\xDB\xE1\xDD\xC7\xBD\xC9\xFF\xD9\x81\xE1\xE3\xD7\xCB\xC6\xCD\xE4\xE1\xE8\xEB\xE8\xE4\xB0\x89\xB0\x91", - "\xD4\xEF\xEA\xE4\xEF\xCC\x86\x8E\xF5\xE2\xE0\xF2\xE8\xF1\xDD\xE8\xD8\xE6\x8B\xEB\xEF\xF0\xF3\xD6\x86\xA3\xA0\x0B\xED\xD0\xFA\x85\x04\x0A\x9B\xE5\x0A\xFA\x86\x03\xFE\x09\x47\x00\x82\x41\x08\x03\x83\x41\x02\x06\x82\x4A\x01\x82\x01\x4B\x0C\x80\x00\x0C\x0F\x8F\x7A\x7A\xDF\x54\x81\x7B\x40\x13\x98\x89\x7A\x86\xEB\x5C\x85\x86\x87\x17\x82\x49\x86\x88\x1B\xA4\x8D\x86\x89\x1F\xA8\x81\x89\x40\x23\xAC\x85\x8A\x8B\x27\xB0\x89\x8A\x8C\x2B\x80\x0D\x02\x84\x2F\x9C\x71\x8E\x8E\x33\x80\x0E\x00\x8E\x3B\xAD\x8C\x8D\x8D\x42\x85\x99\x8E\x91\x41\x87\x9A\x91\x92\x4C\xBD\x88\x92\x93\x4B\x90\x9D\x90\x91\x51\x94\x93\x97\x79\x20\x98\x9A\x8A\x96\x34\x9C\x93\x92\x97\x4F\x96\x92\x97\x98\x62\xA5\x90\x99\x95\x67\x97\x91\x7D\x96\x6B\x9B\x9D\x99\x97\x6F\x9F\x91\x9D\x98\x5E\x8F\x00\x90\x99\x69\xB8\x93\x9C\x9A\x7B\xAA\x95\x7A\x85\x79\xA6\x9D\x9E\x9E\x7F\xAC\x95\xA2\x9B\x87\xB0\x99\xA2\x9C\x8B\xB4\x93\xA2\xA0\x8D\xBC\x91\xA6\x9F\xCF\x53\xA4\xA1\xA5\x98\xA4\x79\xA4\x7C\x96\x90\xAB\xA4\xA0\x8F\x81\xA2\xA9\xA8\xA4\x9D\xA3\xAA\xA9\xA5\x9F\xA6\xA2\xAA", - "\x88\xAC\xAA\xA2\xAB\x8C\xB0\xAE\xA0\xAA\xB4\xB2\xA2\xA6\xAD\x94\x9A\xAA\xAC\xA7\xB8\x97\xAB\xAC\xA8\xB5\xBF\xAB\xAA\xB0\xAD\x84\xBF\xAA\xB1\xB1\x88\xB3\xAD\xAF\x9E\x8A\xB7\xAE\xB3\xB9\xBC\xA0\xB6\xAF\xD2\x95\xB0\xB0\xB3\xA7\x98\xB9\xAB\xB4\xCD\x96\xB3\xB2\xB7\xC5\xA0\xB7\xB2\xB8\xC9\xA4\xBB\xB0\xB7\xD9\xA8\xBB\xB6\xB9\xCF\xAC\xB1\xB7\xB5\xEA\x81\xBE\xB8\xB5\xF0\xB3\xBD\xB5\xBD\xF8\x9F\xB9\xBD\xB8\xFB\xA3\xBD\xBD\xB9\xFF\xA7\xB6\xBD\xBA\x03\xEB\xB1\xC1\xBB\x07\xEF\xBA\xBF\xC2\xFC\x8C\xCE\xBE\xC3\x00\xD0\xC2\xC1\xC2\xF4\x92\xC8\xC2\xC5\x0A\xCD\xCA\xC7\xC3\x1B\xD1\xCD\xC7\xC4\x18\xD5\xCF\xC7\xC5\x23\xD9\xCC\xC7\xC9\x1E\xE8\xC0\xC9\xC9\x22\xEA\xC4\xCA\xCB\x26\xE9\xC2\xCF\xCA\x30\xED\xC3\xCF\xCB\x37\xF1\xC2\x90\x04\x77\xB7\xB1\xCA\xCF\x2C\xF5\x81\x07\x83\x12\x3E\x71\xBE\xB6\xF2\x94\xC0\xD1\xCD\x4B\xF9\xC6\xCC\xCD\x4E\xCD\xD0\xD7\xD4\x38\xD4\xDA\xCD\xD5\x58\xD7\xDA\xD7\xD3\x59\xDC\xDB\xD6\xD4\x5D\xE0\xDF\xD4\xC1\x4A\xE4\xDF\xCE\xD9\x41\xE8\xDC\xD2\xDA\x51\xEC\xD6\xD6\xD7\x70\xE2\xD1\xDE\xDB\x61\xF4\xD3\xDA\xC1\x67", - "\xF8\xD9\xDA\xDE\x6B\xFC\xDD\xDA\xDF\x6F\xF2\xD2\xE2\xDD\x73\xC0\xE9\x8C\x06\x0F\x99\x06\xD1\xC1\x49\xF9\xDD\xE3\xDE\x8F\xFD\xD1\xE7\xDF\x93\xC1\xE4\xE3\xE0\x86\xF7\xD5\xE5\xDD\x99\xC5\xEB\xE6\xE6\x48\xE1\xE7\xD3\xE8\x8C\xE2\xE5\xE8\xE9\x65\xDD\xE8\xE7\xE7\x9E\xE6\xE9\xE8\xEB\xAB\xEE\xEE\xE2\xEC\x90\xF4\xE2\xE6\xED\x94\xF8\xE6\xE6\xEA\x97\xFD\xEC\xEF\xEF\xB0\xFE\xE1\xF0\xF0\xBA\xF8\xCF\x07\x83\x20\x0B\xEF\xE9\xF1\xA0\xE8\xE3\xEE\xF3\xB5\xD0\xF7\xEE\xF4\xB9\xD4\xFB\xEF\xF0\xD8\xCC\xFD\xEA\xF5\x9C\xD9\xFC\xF5\xF3\xA7\xE1\xFB\xF3\xF7\xDB\xE2\xFF\xF2\xF9\xD1\xE8\xF3\xF6\xFA\xD5\xEC\xF7\xF6\xF6\xB1\xE4\xF1\xFE\xFB\xDD\xF0\xF2\xF2\xFD\xC4\xF2\xF7\xFE\xFE\xF9\xF4\xF0\xFB\xF8\xFE\x65\x7C\x00\x83\x87\x7C\x83\x26\x05\x67\xFB\x61\x83\xFC\x06\x27\x04\x04\xBE\x68\x05\x0F\x49\x07\x83\x2A\x0F\x41\x15\x0F\x44\x05\x0F\x4D\x07\x83\x2E\x0F\x41\x17\x0F\x40\x06\x0F\x51\x07\x83\x0C\x2A\x3A\xFE\x5E\x7A\x81\x09\x84\x81\xFA\x2A\x8B\x7C\x83\x33\x06\x81\x27\x86\x20\x0D\x30\x88\x7F\x18\x85\x87\x86\x2B\x98\x85\x0B\xBA\x8D\x7C\x16\xBD\x84", - "\x87\xEF\x66\x85\x0D\xC3\x82\x89\x22\x89\x25\x06\x34\x86\x8A\x0F\xC1\x88\x85\xFE\x4B\x8D\x7E\x4A\x80\x88\xCE\x36\x09\x89\x26\x93\x76\x21\x25\x8C\x7C\x0E\x55\x8F\x5F\x1C\x0F\x42\x07\x0F\x5B\x07\x83\x10\x29\x8A\x83\x3D\x07\x41\x3E\x0F\x43\x0F\x0F\x40\x09\x07\x41\x0F\x41\x42\x0F\x43\x10\x5C\x82\x8B\xFF\x75\x8A\x80\x77\x8B\x80\x0F\xC4\x04\x8F\x1C\x82\x25\x08\x7D\x9B\x86\x1F\x82\x94\x91\x1F\x83\x96\x90\x85\x8C\x8B\x13\xF6\x87\x90\x45\xB9\x89\x85\x8F\x8E\x89\x24\x93\x76\x09\x40\x88\x97\x92\x8E\x8D\x90\x14\xD6\x84\x88\x4E\x91\x8A\x93\x8C\x85\x90\x42\x6C\x3F\x93\x44\x9B\x93\x91\x78\x80\x95\x2A\xA6\x91\x94\x4C\xA7\x93\x92\x9D\x88\x96\x1E\xAA\x93\x96\x56\xAB\x96\x95\xAD\x99\x92\x2D\xB5\x98\x97\x5B\xBA\x95\x97\xBC\x9F\x96\x30\xAF\x94\x96\x48\x87\x90\x09\x0F\x49\x0A\xF2\x30\x95\x94\x60\x86\x9B\x97\xCF\x8E\x9A\x24\xC5\x93\x9A\x68\x95\x9A\x9A\x36\x94\x99\x36\xD6\x9B\x9A\x6C\xB1\x94\x99\x9E\x81\x9E\x2C\xD1\x93\x99\x5C\x84\x9C\x9B\xDF\x9A\x99\x3A\xE8\x9D\x99\x72\xBE\x97\x9C\xDE\x8D\x9C\x3C\xEE\x91\x99\x79\xB6\x9E\x9C\xF8\x8F", - "\x9D\x3E\xF5\x9B\x47\x27\x16\x94\x9E\xE4\x97\x9E\x3E\x83\xAC\x9E\x82\x81\xA3\x9F\x07\xA6\xA3\x35\x80\xAB\xA0\x81\x85\xA7\xA1\x09\xB0\xA1\x43\x88\xA3\xA2\x85\x9D\x9C\xA1\x17\xAE\xA1\x44\x9B\xA5\xA3\x1A\x50\x0F\x41\x12\x29\x23\x7F\x62\x90\x9D\x71\x9D\xA4\xA3\x19\xB4\xA1\x4A\x96\xAB\x9D\x78\xA4\xA2\x9D\xF2\x8A\xA5\x4B\x98\xA3\xA6\x8D\xA7\xA7\xA6\x2B\xB2\xA1\x4E\xA8\xA5\xA6\x99\xB1\xA4\xA5\x3F\xBA\xA5\x4F\xC0\xAF\xA4\x76\x85\xA8\x00\x57\x0F\x40\x16\x4B\x90\xA7\xA3\xB4\xA1\xA8\x3C\xB0\xA8\x4E\xC3\xA2\xA8\xA9\xBB\xA3\xAA\x56\xB4\xA9\x54\xCE\xA6\xA7\xAB\x9E\xAA\xAB\x58\xBC\xAA\x4F\xE2\xA4\xA8\x93\x9F\xA9\xAB\x68\xA4\xAD\x55\xEA\xAB\xAA\xB3\xA0\xAF\xAC\x6C\xA1\xAE\x5B\x97\x2F\x9F\xAE\xAD\xA7\x0B\x0F\x40\x0E\x25\xE1\x0F\x40\x31\x0F\x43\x0C\x0F\x44\x0F\x83\x65\x0F\x40\x33\x0F\x47\x0C\x0F\x48\x0F\x83\x69\x0F\x40\x35\x0F\x43\x0D\x75\xA3\xAF\x5C\xF1\xA0\xAF\xC9\x86\x24\x0D\x91\xB6\x65\x1B\x19\xBB\xAC\xCB\xA5\xA7\xB3\x4D\xBE\xB1\x68\xA0\xB6\xA8\xD1\xA5\xB4\xB4\x2E\xA6\xB4\x00\x6E\x0C\xB3\xB6\xA8\xB7\xA9\x94\xAF\xAE\x6C\xD4", - "\x7F\x0D\xD6\xB2\xA8\xB5\x70\x16\xB7\xA2\x71\x0F\x40\x39\x0F\x40\x20\x65\x83\x20\x1D\x0F\x45\x0F\x07\x76\x0F\x41\x77\x0F\x40\x1E\x0F\x49\x0F\x07\x7A\x0F\x41\x7B\x1A\xB7\x6C\xB1\xB9\xAC\xD5\x82\x4C\x0F\xD2\xA8\x59\x1F\x59\xB4\xBB\xEE\x96\xBE\xAE\xD5\xAF\xB4\x78\xDE\xB2\xBC\xC9\xA5\xBE\x66\x7E\x1C\xBB\x77\xE6\xB3\xB5\xF6\xA7\xB6\xBD\xA9\xBC\x87\x1F\x6A\xB7\xBC\x5E\x80\x14\xBE\x02\x21\x13\x83\x02\x1F\x41\x41\x0F\x44\x10\x0F\x45\x13\x83\x06\x1F\x41\x43\x0F\x40\x11\x0F\x49\x13\x83\x0A\x1F\x41\x45\x38\xBF\xBD\x10\xD1\xBC\x7C\xB0\xB6\x20\x46\x0F\xC2\x66\x8D\x17\xC0\x85\xF5\xBE\xB5\x09\xE3\xBB\xBD\x65\xBC\xC3\x6D\x9E\xCC\xBD\x08\xCE\x12\xC3\x1F\xD0\x63\x23\x0F\x40\x12\xA6\x91\xC3\xC3\x24\xC1\xC5\x8C\x9D\xB2\xC5\xCA\xB5\xC3\xBA\x20\xD4\xC7\x8C\x9D\xCF\xC5\x14\xFB\xC3\xC4\x3D\xC5\xC6\x84\xC1\xC2\xC6\x22\xFA\xC6\xC8\x3C\xC3\xCA\x92\xB0\xC8\xC8\x20\xCB\xCE\xC7\x4D\xD6\xC7\x8F\xD2\xC5\x90\x4B\x28\xC2\xC8\x4C\xCF\xC8\x96\xD0\xCA\xCB\x22\xDD\xCF\xC8\x5F\xC9\xC9\x96\xE3\xCC\xCA\x32\xDB\xCF\xCC\x5E\xC6\xCD\x9A\xE5\xCC\xCC\x34", - "\xE0\xCA\xCD\x6F\xCD\xCF\x9A\xEE\xC9\xC9\x4B\x17\xCE\xCB\x98\x17\xCD\x9C\xF4\xCE\xC8\x38\xE2\xCA\xCE\x7B\xD3\xCE\xA0\x81\xD4\xD1\x3F\xFC\xCC\xCA\x61\xDD\xCC\xA0\x86\xD3\xD0\x46\xC5\xD2\xD1\x87\xD8\xC7\x8D\xE1\xB3\xCA\x49\xDD\x61\x13\x7A\xCE\xD2\xA6\x90\xDD\xD0\x4E\xCF\xD0\xD1\x7E\xDE\xD3\xA6\xA0\xDB\xD0\x51\xE6\xD4\xD4\x91\xD4\xD1\x94\x96\xDB\xD4\x55\xF2\x62\x13\x0F\x5B\x12\x8B\x89\xD8\xD5\x4E\xF5\xD7\xD3\xAC\xD4\xD5\xAE\xA1\xD7\xD7\x51\xFB\xD5\xD4\xBD\xC7\xD7\xAF\xA9\xD4\xBD\x4A\xEE\xD4\xD7\xC3\xD6\xD5\xB2\xB8\xD7\xD8\x60\xF0\x31\x14\x0F\x42\x17\xAC\xC8\xDD\xD8\x62\xF9\xC6\xD7\xD5\xCA\xD9\xB6\xCC\xD5\xD9\x56\xDD\xDA\xD7\xDB\xD8\xDB\xB7\xD4\xD3\xDC\x67\xE1\xDA\xD8\xE7\xC1\xDA\xBA\xCB\xD2\xDD\x7F\x68\x17\x41\xA9\x13\xDA\xB9\xE5\xD6\xDB\x49\xF4\xDA\xDB\xF7\xDC\xDB\xB5\xE8\xD9\xDF\x76\xF6\xDB\xDF\xEB\xC9\xDC\xBB\xFC\xD0\xE1\x81\xC1\xE5\xDF\x04\xFF\xDE\xC2\xC6\xD8\xE1\x83\xC5\xE2\xE0\xCD\x8F\x15\xA6\x89\xED\x62\x58\x17\xC1\x16\x0F\x52\x17\x83\x33\x1F\x40\x5A\x0F\x45\x16\x0F\x56\x17\x83\x37\x1F\x40\x5C\x0F\x41\x17", - "\x0F\x5A\x17\x83\x3B\x13\xE2\x87\xCB\xE6\xDB\xAA\xBC\x15\xCB\xB0\x3D\x17\x99\xD0\xE5\xE1\x06\xF9\xE7\xCD\x8F\xE8\xE7\x9D\xFC\x86\x17\x36\xFF\xDB\x2F\x0F\x40\x18\x79\xF5\xDC\xE1\x3C\xE9\xEB\xCB\xE0\xDD\xE7\xA6\xCA\xE8\xE9\x4B\xE4\xDF\xD3\xB0\xE1\xEB\x79\xD3\xEC\xE9\x57\xF2\xE9\xD5\xC7\xE4\xEA\xA8\xDE\xED\xEB\x60\xF8\xEB\xD6\xF8\xD9\xEA\xAB\xE8\xB6\x18\x41\xE5\xEC\xD7\xE2\xEF\xEA\xB6\xE1\xEA\xEB\x6D\xF0\xEF\xDB\xE6\xE1\xEE\xBA\xF3\xEB\xED\x72\xEE\xEE\xDE\xF9\xEC\xEE\xBB\xFB\xEE\xEF\x7D\xE2\xCB\x31\x69\xE3\xEC\x7D\xC5\xF6\xDF\x75\xF8\xEC\xE0\x8B\xFA\xF1\xC6\xE4\xEF\xF0\x14\xF7\xEF\xE3\x89\xF3\xF2\xC9\xC6\xF5\x63\xC8\x0F\x41\x32\x46\xE5\xF3\xBF\xCE\xF7\xF2\x96\xE8\xF1\xE8\x91\xFE\xF3\xCE\xC1\xF6\xF4\x8C\xE8\xF7\xE7\xA2\xF5\xF4\xD0\xED\xF4\xF5\xA7\xEE\xF5\xEC\xB0\xF9\x47\x67\x0F\x40\x1A\x9C\xF2\xF5\xEA\xBA\xFB\xF4\xD2\xF3\xF6\xF7\xBB\xF4\xF5\xEF\xAE\xE4\xF2\xDE\xEA\xF7\xF8\xC6\xE9\xFA\xF0\xC8\xFB\xF8\xE5\xC0\xFB\xF8\xB0\x36\x1B\x83\x57\x19\xF7\xE6\xD6\xFF\xF9\xCC\xF8\xFA\xF3\xC4\xF3\xF4\xEE\xEF\xF2\xFB\xD7\xFE\xFB", - "\xEF\xE2\xF1\xF8\xF0\xE6\xFC\xFC\xD0\xFE\xE5\xF1\xE1\xF0\x57\x6E\x0F\x46\x1B\xD5\xE7\xFE\xCE\xCE\xE0\xF2\xF4\xD9\xFE\xFE\xDB\xF3\xFE\xDA\xF7\xFA\xFF\xFA\xFD\xFB\xFD\xF2\x7A\x7E\xDD\x7F\x7F\x03\x82\x80\xDF\x7E\x7D\xE4\x0F\x20\xE5\x01\x7F\xF8\x7C\x7E\x06\x83\x7E\x04\x87\x80\x11\x80\x81\x0F\x85\x7E\x0D\x81\x80\xF4\x70\x80\x17\x8B\x81\x13\x86\x81\x1D\x89\x7E\x19\x85\x80\x21\x82\x81\x15\x80\x82\xFB\x79\x7F\x25\x8C\x7F\x29\x88\x82\x23\x84\x81\x2D\x8E\x81\x2B\x8E\x80\x2F\x86\x82\xFE\x71\x83\x71\x2B\x0E\x84\x7D\x76\xEC\x0F\x20\xED\x0C\x80\x1F\x8A\x82\x33\x80\x84\x27\x82\x83\x43\x88\x81\x45\x8C\x81\x36\x88\x84\x41\x8C\x82\x47\x8F\x83\x4C\x85\x83\x4B\x84\x84\x50\x8A\x5A\xF3\x0F\x20\xF4\x0E\x83\x49\x8E\x84\x52\x8A\x81\x5A\x86\x84\x53\x8F\x85\x5C\x89\x85\x62\x81\x85\x5E\x81\x86\x64\x8A\x84\x4D\x83\x86\x69\x87\x86\x5D\x88\x86\x60\x82\x82\xAA\x5A\x0F\x39\x85\x48\xFB\x07\x61\x1E\x11\x5C\x87\x4D\x0F\x0F\x2E\x0F\x12\x2F\x20\xF7\x14\x4A\xDA\x10\x13\xDB\x12\x00\x82\x8A\x10\x03\x05\x88\x09\x14\x00\x88\x86\x10\x05\x0B\x88\x03\x16", - "\x00\x8E\x82\x10\x07\x01\x89\x70\x8F\x86\x24\x87\x54\x20\x18\x87\x11\x69\x00\x94\x87\x89\x6B\x8F\x89\x96\x8E\x82\xA0\x86\x86\xA3\x81\x61\x0A\x0D\x89\xA2\x81\x8A\x30\x8C\x86\x6A\x88\x5A\x0B\x08\x8A\xAB\x85\x8A\x9E\x8A\x8A\x34\x84\x8A\xB4\x82\x84\xB7\x8F\x84\xB6\x8B\x8B\x95\x8C\x8B\xB3\x8E\x8B\xA9\x8D\x31\x0C\x0D\x89\x0D\x00\x13\x23\x52\x8B\xC1\x8D\x8B\xCA\x8F\x8B\xCB\x89\x8C\xCC\x8F\x8C\xCE\x81\x8D\xB1\x89\x8B\x5B\x8D\x8C\xD3\x80\x8C\xD7\x86\x8D\xB5\x8A\x8D\x3D\x23\x01\x9D\x84\x01\xC6\x8D\x8A\xD8\x8B\x8D\xD0\x89\x8D\xE5\x84\x8E\xD2\x88\x8E\xE6\x89\x8E\xB8\x83\x8E\xED\x8C\x8D\xBA\x80\x8F\xD5\x87\x8E\xEF\x87\x49\x1A\x0D\x89\x1B\x01\x8E\xAC\x8B\x8F\xC8\x8B\x8E\xFE\x8A\x8E\x00\x95\x8F\xEC\x81\x8F\xF4\x84\x90\x03\x93\x8F\x07\x95\x86\xF2\x8A\x90\x05\x98\x90\xFF\x82\x90\x0F\x96\x90\x38\x31\x02\xB0\x81\x90\x12\x96\x91\x0E\x98\x91\x0C\x99\x90\x6E\x8E\x8E\x17\x90\x91\x1A\x9D\x91\x0B\x92\x92\x0D\x91\x27\x22\x05\x91\x20\x99\x92\x1F\x9B\x92\x19\x9A\x92\x2D\x9C\x92\x1B\x91\x91\x2F\x93\x93\x31\x91\x92\x6D\x87\x93\xE2\x83\x92", - "\x38\x9C\x8F\xD4\x8E\x64\x23\x08\x92\x30\x94\x92\x1C\x9B\x93\xFD\x86\x93\x39\x95\x92\x42\x92\x93\x35\x9E\x92\x4B\x91\x94\x44\x9D\x93\x49\x96\x94\x3C\x92\x10\x24\x00\x94\x34\x91\x95\x4C\x98\x95\x4E\x97\x94\x43\x9C\x95\x4A\x9A\x95\x57\x9F\x94\x1E\x91\x96\x5E\x92\x95\x45\x99\x95\x62\x91\x76\x25\x06\x95\x4D\x94\x96\x53\x9A\x93\x65\x98\x96\x71\x9B\x95\x6F\x98\x94\x69\x96\x97\x73\x9E\x96\x67\x95\x23\x26\x0C\x96\x60\x9D\x96\x80\x9F\x97\x82\x97\x97\x5D\x95\x97\x85\x9B\x97\x7A\x90\x95\x84\x9F\x95\x8B\x96\x96\x8A\x99\x97\x81\x9D\x98\x72\x96\x98\x39\x27\x02\x7E\x92\x99\x74\x98\x98\x91\x90\x99\x83\x9C\x99\x98\x99\x98\x63\x9B\x99\x94\x9E\x98\xA1\x9B\x28\x28\x0D\x89\x29\x0A\x8F\x9A\x9D\x99\xA3\x93\x99\xAB\x9F\x99\xA2\x9F\x9A\x9E\x93\x9B\xAD\x99\x99\x8F\x95\x9B\xA0\x90\x97\xB8\x91\x9B\xB7\x92\x9B\xBB\x9C\x9A\x57\x7F\x02\x97\x94\x9B\xBE\x95\x9C\xBD\x97\x9C\xA5\x90\x9B\xC0\x98\x9C\xBA\x96\x9C\xC9\x94\x9C\xCC\x98\x97\xBF\x91\x81\x30\x03\x9C\xD3\x9A\x10\x31\x06\x9D\xFF\x22\x03\x9D\x83\x03\x9D\x84\x03\x9D\x89\x12\x9A\x80\x00\x36", - "\x0D\x89\x37\x0D\x89\x38\x0D\x89\x39\x0D\x89\x3A\x0D\x89\x2C\x13\x9E\x3C\x0A\x9D\xD1\x97\x98\x4B\x7D\x03\xF2\x97\x48\x3E\x07\x9F\xCD\x93\x9F\x8C\x90\x9D\xCF\x97\x9D\xDF\x6F\x03\xFA\x92\x9D\xAA\x50\x04\x9D\x8F\x12\xE3\x94\x9F\xFF\x9F\x2F\x42\x03\xA0\xBF\x43\x04\x03\xA4\x04\x03\xA5\x04\x0E\xAD\x9F\x00\xAA\x5A\x46\x0D\x89\x47\x0D\x89\x48\x0D\x89\x49\x0D\x89\x4A\x0D\x89\x4B\x03\xA0\x4C\x0D\x89\x33\x19\x10\xF6\x1F\x4B\x50\x00\x13\xF3\x12\x05\x2C\xAA\x10\x54\x0D\x89\x35\x13\x9E\x56\x05\xA1\x3B\x27\x05\x9D\x88\x05\x36\xAE\x9A\xFC\x94\x9A\x11\x69\x05\x2F\xA9\x10\x37\x19\x10\xF3\x1A\xA0\x11\x6D\x05\x3B\xAD\x34\x39\x13\x9E\x5F\x0D\x89\x60\x0D\x89\x61\x0D\x89\x62\x0D\x89\x63\x0D\x89\x3B\x19\xA0\x16\xAE\x9C\xFB\x9B\xA0\x3D\xAC\xA3\x5C\xAF\xA5\x5B\xA1\xA6\x04\xAD\xA5\xB6\x90\xA6\x63\xA6\xA6\x46\xA7\xA6\x62\xA2\x24\x65\x09\xA4\xB9\x9A\xA6\xCF\x86\x06\x6E\xAC\x9B\x68\xA9\xA5\x64\xAF\xA6\x69\xA9\xA7\x76\xA5\xA7\x3E\xA0\xA7\x7A\xAD\xA7\x7F\xAE\x65\x67\x0D\x89\x68\x03\xA7\xCB\x96\xA6\x69\x06\xA8\xB8\x3A\x06\x03\xAB\x06\x03\xAD", - "\x13\x58\xA0\xA8\x7B\xA1\x76\x6D\x0D\x89\x6E\x0D\x89\x6F\x0D\x89\x3F\x13\x9E\x71\x0D\x89\x72\x03\xA0\x73\x0D\x89\x74\x00\x13\x29\xA0\x4F\x77\x01\xA4\x06\x19\x07\xA8\xA3\x10\x7B\x0D\x89\x7C\x0D\x89\x7D\x0A\xA8\x0A\x11\x14\xE3\x9F\x07\xB2\xA7\xA1\x77\xA4\xA7\x85\x40\x08\xAB\xA2\x10\x82\x0D\xAB\x6B\xAC\x65\x84\x07\xAB\xFF\x25\x08\x9D\x86\x08\x9D\x87\x08\x9D\x88\x08\x9D\x89\x08\x9D\x8A\x08\x9D\x8B\x08\xC4\xA3\x10\x8C\x03\xAD\x7C\xAE\xA5\xC1\xA2\xA9\xDA\xA8\xAD\x7E\xA3\xA9\xDD\xAB\xAD\x65\xA9\xAD\xDC\xA1\xA8\xE1\xAF\xAD\xE3\xAE\xAD\xE4\xA8\xA7\xE8\xAB\xAE\xE0\xAA\xAE\xED\xAA\xAB\xE6\xA5\xAE\xE9\xA0\xAF\xF3\xA7\xA8\x62\xAD\x08\xD6\xA2\xAE\xF2\xAC\xAE\xE7\xAF\xAE\xF6\xA1\xAF\xEE\xAD\xAF\x02\xBB\xAF\xFE\xAA\x9C\x06\xBE\x9F\xFA\xA1\xB0\x04\xBD\x23\x8E\x0D\x89\x8F\x09\xAF\x00\xBC\x90\x90\x00\xB1\x50\x31\x09\x03\xA2\x09\x03\xA3\x09\x14\xBC\xAF\x0B\xBD\x34\x94\x0D\x89\x95\x0D\x89\x45\x13\x9E\x97\x0D\x89\x98\x0D\x89\x99\x03\xA0\x9A\x0D\x89\x9B\x04\xAA\xCD\x4E\x09\xC0\xA0\x00\xA0\x01\xB3\x47\x13\x9E\xA3\x0D\x89\xA4\x00\xB1", - "\xA5\x0D\x89\xA6\x0B\xB1\x05\xB8\xB0\x11\xBB\x28\x49\x14\xA4\x0A\x19\x0A\x31\xB5\xAF\xB8\x3B\x0A\x3E\xBD\x23\xAC\x0D\x89\xAD\x0D\x89\xAE\x0D\x89\xAF\x0D\x89\xB0\x0D\x89\xB1\x0D\x89\xB2\x00\xB1\xB3\x0B\xB4\x1D\xBA\xB0\x5E\xB4\xAF\x1C\xBF\xB5\xFF\xA8\xB4\x40\xB4\xB6\xB8\xA7\xAD\x5D\xB0\xB6\x3F\xB7\xB6\x09\xBA\xB6\xB7\x44\x0B\x5C\xB2\xB6\x07\xBC\xB6\x41\xB3\xB7\x5A\xA5\xB7\x65\xB1\xB6\x6E\xB9\xB6\x63\xBA\xB7\x7D\xBB\xB6\x77\xB6\xB6\x81\xBE\xB7\x76\xB9\xAB\x24\x95\x0B\x71\xB4\x7A\xB6\x09\xB8\x7F\xB3\xB0\x72\xB9\xB7\x80\xB0\x31\xB7\x0C\xB8\xB0\x18\x0B\x94\xB4\x3D\xB9\x07\xB9\x74\xB2\xB8\x86\xB5\xB8\x68\xBF\xB8\x9B\xB4\xB8\x90\xBE\xB8\x7B\xB0\xBA\x83\xB1\xB9\x9F\xB5\xBA\xAA\xBD\xB8\x7C\xBE\xB9\x6D\xBC\xBA\xA6\xBD\xB9\xA3\xBD\xBA\xB3\xB1\xBB\xA9\xB0\xBB\xAB\xBD\x52\xBA\x0A\xB9\x57\x7B\x0B\xBC\xB2\xBB\xA1\xB8\xBA\xAF\xBE\xBA\x78\xB1\xBC\xA4\xB8\xBB\xC8\xB4\xBC\x9C\xB7\xBB\xCA\xB2\xBA\xC6\xB4\xBB\xCF\xBC\x7A\xBC\x0F\xBB\xCC\xB5\xBB\xB9\xB6\xBD\xC9\xB8\xBD\xCD\xB2\xBC\xC5\xB7\xBA\xC7\xBB\xBD\xDF\xBA\xBD\xE2\xBF\x6D\xBD", - "\x03\xA0\x4B\x11\xA9\xE1\xB1\xBD\xD7\xBA\xBE\xD9\xBC\xBE\xE0\xB0\xBD\xDE\xB0\xBF\xC0\xB1\xBF\xB6\xB3\xBC\xE3\xB4\xBF\xEB\xB8\xBF\xED\xBA\xBF\xEF\xB5\xBF\xDD\xB3\xBF\x00\xC5\xBD\xEE\xBA\x10\xBF\x04\xBD\xF6\xB3\xC0\x08\xCC\xBF\x0A\x10\x0C\x06\xCF\xBF\x02\xCA\xC0\x09\xC1\xC0\x07\xC0\xC1\x14\xC2\xC1\x0E\xC3\xC1\x16\xC0\x35\x4D\x18\xBE\xF2\xBF\xC0\x19\xCE\xBC\x15\xCE\xC1\x22\xC8\xC1\x23\xC7\xC1\x26\xCB\xBC\x24\xC9\xC2\x27\xC0\xC2\x1F\xCC\xBD\x28\xC0\xA7\xC2\x0D\xC0\x2F\xC3\xC3\x2C\xC5\xC2\x34\xCE\xC2\x35\xCA\xC2\x37\xC9\xBE\x21\xC5\x48\xC3\x0D\x89\xC4\x02\xC3\x39\xCA\x64\xC5\x02\xC4\x3B\x26\x0C\x03\xA7\x0C\x03\xA8\x0C\x46\xCC\xC3\x16\xC9\x0C\x9D\x8A\x0C\x9D\x8B\x0C\x9D\x8F\x14\xE3\x9D\x0C\x9D\x8E\x0C\x03\xAF\x0C\x9D\x80\x0D\x2E\xB7\x54\xD3\x01\xB3\xD5\x01\xB3\xD7\x0D\x89\xD8\x0D\x89\xD9\x00\xB1\xDA\x0D\x89\xDB\x0D\xC4\x1D\xCA\xC3\xE6\x8C\x0D\x31\xBE\x0D\x47\xB3\xC4\x50\x31\x15\x1C\xC1\x4D\xE1\x0D\x89\xE2\x0D\x89\xE3\x0D\x89\xE4\x0D\x89\xE5\x0D\x89\xE6\x0D\x89\xE7\x00\xB1\xE8\x0E\xC6\xFE\xBB\xC3\x6F\xCB\xC2\x38\xCF", - "\xC8\x4E\xC6\xC3\x76\xC3\xC9\x90\xCD\xC8\x8C\xCB\xC8\x94\xC1\xC9\x70\xC5\xC9\x5E\x29\x0E\x8A\xC9\xBF\x2D\xCA\xC9\x8E\xC2\xCA\x97\xC0\xCA\x92\xCC\xC9\xA6\xCB\xC9\xA4\xC9\xC9\x96\xCC\x65\xEA\x0F\xC9\xFB\xB1\xCA\xAD\xC8\xCA\xB1\xC7\xCA\xAB\xC4\xCB\xFD\xB9\xCA\xA3\xC3\xCB\xB7\xC7\x4B\xEB\x00\xCB\xB9\x6C\x0E\x10\xBD\x0E\x9D\x8E\x0E\x9D\x8F\x0E\x9D\x80\x0F\x9D\x81\x0F\x9D\x82\x0F\x9D\x83\x0F\x9D\x84\x0F\x9D\x85\x0F\x9D\x86\x0F\x9D\x87\x0F\xC0\xC7\xBF\xD1\x98\x0F\x0D\xC9\x0F\xD9\xC1\xC1\xB6\xCC\xCB\xE2\xC8\xC9\x3B\x2A\x0F\xDF\xC7\xB7\xFB\x0D\x89\xFC\x07\xCE\xB2\xC1\x4D\xFD\x0C\xCE\x02\x1E\x0F\x0E\xA3\xA0\x00\x03\x16\xEE\x1C\xCA\xE4\xC6\x33\x01\x06\xCF\x0A\x12\x00\xFC\xC8\xA2\xFF\xC6\x10\x04\x01\xD0\x03\x15\x00\x04\xD2\x10\x06\x07\xD0\x28\x37\x00\x0A\xD0\x00\x53\x18\xA2\xCD\x4B\x00\x63\x13\x1F\x0D\x03\xD1\x0A\x1F\x00\x0D\xD0\x01\x0D\xD6\x15\x79\xCE\x37\x12\x0D\xD0\x13\x0D\xD0\xA5\xC5\xCB\xAA\xC5\x23\x14\x06\xD1\x09\x16\x01\x28\xDD\xC3\x4A\x68\x01\x22\xD0\x4F\x19\x0D\xD0\x1A\x0D\xD0\x59\x13\x9E\x1C\x0D\xD0\x1D\x0D\xD0", - "\x1E\x0D\xD0\x1F\x0F\xD2\x31\x30\x02\x3E\xDD\xCB\xE3\xCA\xCB\x23\xD9\xCB\x24\xDB\xCB\xF9\xC3\xD4\x47\xD5\xD4\xDA\xC1\xCE\x49\xDF\xD4\x44\xD8\xCF\x51\xD1\x33\x21\x01\xD4\x4A\xD6\xD4\x58\xDD\xD4\x25\xD0\xD5\x4B\xD2\xD5\x5D\xD8\xCB\x5A\xD8\xD4\x53\xD2\xD4\x5C\xD9\xD5\xE0\xCB\xD5\x63\xD7\xD5\x61\xDC\xD4\x47\x5C\x15\x1D\xDF\xD5\x64\xD9\xD6\x65\xDB\xD6\x5E\xD0\x1B\x23\x06\xD5\x73\xD7\xD6\x62\xD0\xD7\x6A\xDA\xD7\x6C\xDC\xD2\x7F\xDD\xCE\xF0\xA4\x02\x78\xD2\xD7\x86\xDC\xD7\x79\xD0\xD8\x75\xD4\xD7\x60\xDE\xD7\x8B\xDE\xD8\x8D\xDA\xD8\x91\xD2\xD8\x88\xD7\xD8\xB0\x15\x02\x85\xDD\x4D\x26\x09\xD9\x66\xD2\xD9\x71\xD5\xD9\xA0\xDD\xD9\x94\xD2\xDA\x4E\xD6\xD9\x8C\xDF\xD9\xA4\xD8\xD6\xA1\xD7\xDA\x7D\xDE\xD9\xAD\xD3\xDA\xAC\xD9\xD8\xB0\xD0\xD9\xA8\xDA\x10\x27\x0C\xD9\xB1\xD6\xDA\xB4\xDF\xDA\xA5\xDB\xDA\xBB\xD2\xDB\xBD\xD9\xDA\x7B\xD2\xDC\x81\xD5\xC2\x28\x08\xDB\xBF\xDA\xDB\xAE\xD0\xDC\xAA\xD4\xDC\x8F\xDB\xDC\xCA\xD3\xDB\xD0\xDE\xDB\xD3\xDE\xDC\x93\xD1\xDC\xB9\xDB\x28\x29\x08\xDC\x3E\x4A\x02\xDC\xD2\xDD\xE0\xD8\xDD\xC9\xD4\xDD\xE1", - "\xDD\xDC\xD9\xD6\xDD\xB5\xD3\xDE\xE8\xDC\xDB\xE6\xDA\xDE\xE7\xDF\xDE\xEE\xD1\xDF\xD5\xD0\xDF\xF3\xD2\xDF\x16\xCF\x15\x6F\xDB\xDE\xCC\xD3\xDC\xF4\xD5\xDE\xFC\xD6\xDF\xE2\xD5\xDF\x02\xEE\xDF\xC5\xDD\xDE\x2C\xDC\x02\xDF\xD1\xE0\x04\xEF\xDC\x0B\xE7\xDD\x06\xED\xE0\xE9\xD3\xE0\x0A\xE3\xE1\x0F\xE4\xE1\xFF\xD2\xE1\x15\xE9\xE1\x17\xE0\xE1\xE5\xAD\x02\x09\xE1\x76\x2E\x0F\xE1\x1B\xE6\xE1\x05\xE3\xE2\x1A\xE5\xE2\x28\xEC\xE0\x24\xEA\xE2\x27\xEC\xE2\x26\xEF\xE2\x29\xEE\xE0\x30\xEE\xE2\x31\xE1\xE1\xFE\xDF\x02\x22\xE5\xE3\xEC\xD3\xE3\x32\xEA\xE3\xFB\xDE\xE3\xD1\xDB\xE2\x3D\xE4\xE3\x44\xE2\xE3\x30\x09\xE3\x45\xE6\xE3\x42\xEA\xE4\x2D\xE3\xE4\x4E\xEC\xE4\x3C\xE0\xE5\x40\xE4\xDE\x4B\xEB\xE3\x53\xEA\xDF\x41\xED\xE4\x52\xE8\x33\x31\x08\xE4\x4F\xE6\xE5\x49\xE0\xE6\x5F\xEF\xE3\x61\xE4\xE6\x32\xE2\x16\xF9\xDD\x4C\x33\x02\xE2\x34\x02\xE2\x35\x0E\xE5\x5B\xE2\xE3\x36\x0D\xD0\x37\x0D\xD0\x65\x13\x9E\x39\x0D\xD0\x3A\x02\xE2\x3B\x0D\xD0\x3C\x03\x16\xA5\xA2\x64\x3F\x0B\xD2\x03\x11\x04\x0D\xD9\x16\xE3\x93\x04\x70\xE5\x23\x44\x0D\xD0\x45\x0B", - "\xE8\x66\xE1\xE7\x9D\x76\x04\x84\xE2\x10\x48\x05\xE9\x5A\xED\x34\x4A\x00\xE9\x7E\x3B\x04\x0D\xDB\x16\xE3\x9D\x04\x0D\xDE\x04\x0D\xDF\x04\x0D\xD0\x05\x0D\xD1\x05\x9C\xE4\xE5\x99\xE1\xE9\x62\xE2\xE9\xAF\xE1\xEB\xAE\xE3\xEB\x59\xE1\xE5\xB2\xE5\xEB\x57\xED\xDF\x55\xE4\xEB\xAC\xE6\xEB\xBC\xE8\xE5\xBD\xE9\xEB\x00\xED\xEA\xA4\x72\x05\xAB\xE1\x81\x6D\x13\x9E\x54\x03\x16\x3F\x23\xEC\xBE\xE8\xEB\x65\xE0\xED\x63\xE2\xED\xB0\xEF\xEB\xBA\xE4\xEC\xC1\xE1\xED\x93\x32\x06\x0D\xD1\x17\x69\xEE\xEC\x59\x64\x06\xC7\xE4\x3D\x65\x02\xE2\x66\x02\xE2\x67\x03\xEE\xE0\xEE\xAD\x68\x0D\xD0\x69\x0D\xD0\x6A\x0D\xD0\x6B\x0D\xD0\x73\x13\x9E\x6D\x02\xE2\x6E\x0D\xD0\x6F\x00\xE8\xCD\x42\x07\x98\xE0\x00\x74\x0F\xEF\x76\x0D\xD0\x77\x0D\xD0\x78\x0A\xEE\xA9\xAD\xD0\x7A\x08\xF0\x1C\xE6\xED\xDF\x6B\x07\xFF\xED\x07\xFF\xE2\xEC\x06\x1F\x07\x0C\xFD\x31\x80\x0D\xD0\x77\x13\x9E\x82\x0D\xD0\x83\x0D\xD0\x84\x0D\xD0\x85\x0D\xD0\x79\x1F\xED\xFF\x27\x08\x0D\xD8\x08\xCC\xE7\xED\xCF\xE9\xED\xD3\xEE\xF2\xD5\xE4\xED\xB7\xE0\xF3\x33\xF0\xEC\x36\xFC\xF2\x14\xFD\xF0", - "\xA4\x76\x09\x17\xF8\xED\x37\xFB\xEE\x2F\xFF\xF3\x18\xED\xF2\x42\xFA\xF3\x34\xF1\x4D\x97\x0D\xD0\x98\x0D\xF3\x44\xFD\x4C\x99\x0C\xF4\x50\x3A\x09\x22\xEB\x09\x22\xEC\x09\x50\xFA\xED\x77\x9D\x09\x0D\xDF\x17\xE3\x9F\x09\x0D\xD0\x0A\x0D\xD1\x0A\x0D\xD2\x0A\x22\xE3\x0A\x0D\xD4\x0A\xFC\xE7\x54\xA7\x0F\xEF\xA9\x0F\xEF\xAB\x0D\xD0\xAC\x0D\xD0\x83\x16\xF2\x10\x3E\x0A\x0D\xDF\x0A\x57\xF1\xF4\x38\xF0\x4F\xB0\x0F\xEF\xB2\x03\xF1\x58\xFA\x10\x85\x14\xF7\x87\x45\x0B\x0D\xD6\x0B\x0D\xD7\x0B\x0D\xD8\x0B\x0D\xD9\x0B\x0D\xDA\x0B\x0D\xDB\x0B\x79\xF7\x4B\xBC\x0D\xD0\x87\x14\xF8\x3E\xFE\x6A\xBE\x03\xF9\x4D\x3F\x0B\x22\xE0\x0C\x22\xE1\x0C\x9C\xFE\xF0\x77\xB2\x0C\x0D\xD3\x0C\x0D\xD4\x0C\x0D\xD5\x0C\x0D\xD6\x0C\x0D\xD7\x0C\x22\xE8\x0C\x0D\xD9\x0C\x69\xFA\x5A\x89\x14\xB4\x09\x1E\x0C\xFF\xE0\x0D\x0D\xD1\x0D\x0D\xD2\x0D\x4C\xFB\x18\xE3\x94\x0D\xA3\xF2\xF3\xA4\xF8\x5A\xD5\x0F\xEF\xD7\x00\xF8\x7A\xF9\x10\xD9\x05\xFC\x8B\x2D\x18\xE3\x9B\x0D\x0D\xDC\x0D\x0D\xDD\x0D\x0D\xDE\x0D\x0D\xDF\x0D\x0D\xD0\x0E\x4C\xF1\x0E\x0D\xD2\x0E\x2B\xF0\xF4\x31", - "\xF7\xF4\xC6\xF7\xFE\xE6\xF9\xFE\x45\xFB\xEB\xE8\xFB\xFE\x99\xF4\xFE\x35\xFB\xF7\x7D\xA0\x0F\xD0\xFE\xFE\x4D\xF0\xFF\xC7\xFC\xFE\xEA\xF2\xFF\xE5\xF6\xFF\x39\xFA\xFF\xB9\x31\x1E\x35\x7E\xFE\x71\xFF\x78\x7D\xFB\x64\x80\xF9\x7F\xFD\x43\x7B\xFF\x7A\x00\xC6\x7A\xFF\x63\x62\x91\x08\xF3\x77\x7F\x05\x81\xF8\x06\x83\xFE\x76\x80\x0F\x85\xF9\x54\x81\x3E\x53\x0F\x0D\x68\x3D\x03\x80\x18\x80\x59\x35\x06\x10\x8F\x2F\x76\x06\x88\x77\x07\x22\x70\x1F\x24\x80\x07\x87\x94\x79\x05\x43\x7A\x07\x0D\x6B\x32\x23\x4E\x7E\x0D\xD0\x7D\x05\x43\x7E\x07\x39\x75\xA1\x40\x01\xD2\x01\xE8\x37\x27\x00\x05\x0D\xF3\x0D\x32\x38\x7C\x83\x07\x00\x25\x0F\x76\x08\x00\x46\x82\x21\x09\x01\x24\x8C\x3E\x0A\x00\x13\x86\x08\x0B\x07\x09\xAC\x81\x10\x83\x82\x0C\x00\x10\x8A\x08\x0E\x07\x0A\x94\x82\x83\x00\x01\x52\x80\x7C\x31\x00\x5E\x81\x20\x12\x01\x30\x80\x00\x18\x0F\x78\x54\x00\x64\x85\x02\x24\x82\x0B\x04\x06\x9B\x0E\x04\x99\x32\x18\x04\x0C\x99\x00\x32\x8C\x00\xFA\x3A\x06\x14\x83\x5C\x36\x33\x12\x80\x0E\x08\x07\xBB\x11\x07\x1D\x83\xFD\x79\xAC\x5E\x00\x32\x81", - "\x1A\x63\x4C\x08\x04\x83\x21\x04\x0C\xA2\x00\x32\x83\x02\x00\x85\x8D\x04\x01\x64\x85\x04\x3C\x81\x66\x28\x02\x5A\x82\x41\x0A\x01\x96\x83\x20\x27\x0D\xF1\x4D\x02\x64\x82\x0B\x0E\x84\x6C\x1F\x05\x24\x82\x18\x00\x0A\x87\x83\x16\x8B\x3A\x31\x01\x13\x82\x09\x19\x0A\x0A\x8D\x81\xC7\x15\x01\xA5\x85\x9B\x36\x00\x32\x87\x03\x64\x80\x0E\x04\x83\x39\x04\x0C\xBA\x00\x32\x8B\x03\x64\x80\x0F\x11\x85\xB0\x15\x07\x24\x82\x1F\x05\x1A\x4D\x77\x06\x81\x84\xA7\x80\x00\x88\x80\x53\x87\x0C\x85\x81\x33\x89\x80\x13\x83\x0A\x8F\x86\x66\x82\x0D\x96\x60\x13\x00\x86\xCB\x87\x02\x93\x86\x6D\x85\x0D\xCA\x85\x32\x8E\x85\xE0\x81\x1A\x9E\x86\x96\x6D\x04\x58\x87\x37\x82\x87\xE1\x85\x0E\xAA\x87\x0A\x8B\x0D\x99\x80\x32\x8D\x87\xD9\x86\x1D\xA5\x56\x27\x06\x0E\xF0\x87\x39\x8B\x87\x1A\x85\x1B\xA9\x86\x76\x8A\x0F\xE8\x87\x25\x2F\x02\x64\x80\x0A\x05\x87\x78\x84\x10\xF7\x84\x3F\x83\x87\xFD\x80\x1F\xAF\x87\x84\x87\x10\xFB\x85\x3E\x88\x88\x10\x8E\x21\x8B\x89\x88\x8E\x0F\x8A\x8A\x33\x8C\x88\x0F\x8A\x22\xAE\x3C\x2F\x05\x0F\x98\x8B\x44\x81\x87\x5F\x05\x23", - "\x94\x88\x8B\x80\x0D\xE0\x02\x48\x9A\x88\xD0\x84\x24\x94\x87\x91\x8D\x10\x95\x89\x4B\x8A\x89\xDC\x84\x25\x99\x88\x97\x83\x13\xB0\x8A\x3C\x89\x89\xE6\x41\x0C\x27\x88\x9A\x8F\x11\xFE\x86\x18\x1B\x89\x36\x8D\x20\x83\x7B\x31\x00\x14\xAF\x8A\x51\x95\x89\x47\x8D\x27\x81\x8B\x6F\x34\x06\x64\x81\x19\x05\x8A\x48\x8D\x95\x26\x02\xA8\x87\x4B\x67\x03\x4E\x88\x03\x3B\x89\x0D\x14\x8B\x8B\x85\xC2\x6A\x00\x19\x8B\x03\x64\x84\x0D\x24\x83\x36\x04\x06\xEE\x00\x19\x8F\x03\x3B\x88\x0E\x24\x83\x38\x03\x09\xC7\x28\x1D\x0D\x85\x00\x06\x0E\x30\x8A\x3C\x04\x06\xF9\x00\x19\x9A\x03\x5B\x8E\x4B\x3B\x02\x32\x8C\x07\x79\x8B\x4A\x88\x89\x4E\x35\x0F\x30\x8B\x3F\x00\x17\xF5\x81\x20\x1E\x8B\x93\x1A\x10\x24\x83\x41\x04\x06\x84\x04\x19\x85\x04\x64\x86\x10\x24\x83\x43\x04\x06\x88\x04\x62\x90\x0D\x89\x04\x0C\x8A\x05\x81\x86\x10\xD1\x8A\x52\x89\x8A\x5C\x88\x30\xB1\x88\xD1\x87\x13\xFF\x88\x4F\x81\x8D\xA7\x88\x27\x9C\x5E\x4C\x07\x19\xC2\x8A\x47\x88\x8D\x4B\x8E\x1E\xB2\x8D\xD7\x8A\x1A\x9F\x8E\x67\x90\x8D\xE6\x41\x13\x2D\x8D\xCE\x86\x1B\xBD\x8C\x6E\x97", - "\x8D\xB5\x8F\x37\xBE\x8D\xE0\x84\x1C\xA4\x3E\x26\x1B\x8D\x77\x5B\x13\x08\x8F\x81\x0C\x09\x64\x81\x27\x04\x83\x9E\x04\x0C\x9F\x04\x32\x80\x0A\x64\x81\x28\x04\x83\xA2\x04\x0C\xA3\x04\x32\x84\x0A\x64\x81\x29\x04\x83\xA6\x03\x39\xB2\x88\x6E\x57\x0A\x62\x8C\xCA\x08\x05\xE6\x89\x35\xA6\x8D\xD8\x84\x1B\xD7\x25\x2A\x09\x8F\xEC\x8B\x3C\xA0\x32\x55\x00\x1F\xE6\x47\x2A\x09\x8F\xAC\x04\x0C\xAD\x04\x32\x8E\x0A\x64\x83\x2B\x04\x83\xB0\x04\x0C\xB1\x04\x32\x82\x0B\x64\x83\x2C\x04\x83\xB4\x04\x0C\xB5\x04\x32\x86\x0B\x75\x8C\x70\x8C\x48\xB7\x06\x41\xBD\x10\x5C\x02\x21\xC2\x8E\x85\x85\x8E\xA3\x8F\x92\x39\x05\x0A\x9E\xBF\x3A\x04\x19\x9B\x05\x1C\x93\x3D\xB8\x18\x5E\x01\x22\x93\x1D\x2F\x1B\x89\xBE\x03\x27\xBF\x04\x32\x80\x0C\x25\x91\x69\x9E\x3E\xC1\x04\x0C\x82\x06\x32\x83\x0C\x64\x80\x31\x04\x83\xC5\x04\x0C\x86\x07\x9D\x87\x0C\x64\x80\x32\x0D\x8B\xAA\x2B\x19\x30\x8B\x66\x00\x17\xCF\x04\x19\x90\x06\x64\x81\x1A\x29\x8E\x69\x04\x06\xD3\x06\x8B\x8E\x8D\xF2\x8C\x6D\x14\x06\xB8\x86\x0D\x05\x8D\x4B\x98\x06\x4F\x96\xF9\x64\x82\x6D\x04\x06", - "\xDB\x04\x19\x9C\x06\x64\x85\x1B\x24\x82\x6F\x04\x06\xDF\x05\x96\x9E\x21\xE0\x04\x0C\xA1\x07\x33\x9D\x1E\x93\x1E\x38\x0C\x93\x1D\x1B\x1C\x3B\x88\x72\x0B\x13\xE5\x04\x9C\x84\x8D\x06\x46\x1C\x24\x83\x73\x04\x06\xE8\x04\x19\x89\x07\x64\x82\x1D\x24\x83\x75\x0B\x13\xEC\x04\x19\x8D\x07\x40\x90\xB5\x30\x06\xB8\x82\x0F\x70\x88\x3D\x04\x83\xF5\x04\x0C\xB6\x07\xF4\x87\x0F\x64\x80\x3E\x17\x93\xEA\x89\x43\x90\x1B\x7C\x00\x17\xFB\x06\x95\x93\x89\xFD\x00\x53\xBE\x06\x3A\x84\x06\x80\x01\x7E\x00\x44\xEC\x0F\x54\x83\x09\x41\x4A\x2A\x82\x09\x7D\x0D\x95\x01\x0B\x3B\x04\x00\x58\x9F\x87\x3E\x21\x01\x14\x95\xDB\x0E\x00\x34\x94\x63\x8D\x26\xAF\x92\xAF\x90\x92\x78\x94\x37\x97\x90\x11\x9F\x20\x9A\x94\x68\x98\x90\xBF\x95\x2E\x54\x00\x5C\x97\x94\x15\x00\xB3\x82\x96\xC8\x90\x58\x99\x95\x64\x93\x1B\xD1\x90\xB1\x83\x8E\xD7\x93\x58\x9E\x3E\x0B\x0F\x2C\xBE\x23\x05\x1D\x96\x3C\x20\x03\x34\x95\x22\x57\x2C\xD9\x96\x97\x1A\x00\xE3\x96\xD5\x1C\x01\x74\x9A\xD7\x1E\x00\xB8\x90\x2F\x1F\x07\x5D\x81\x96\x1F\x20\x02\x72\x94\x00\x01\x01\xF6\x92\x04\x36", - "\x97\x11\x06\x2F\xA4\x00\xBB\x86\x20\xF6\x97\x04\x34\x94\xFB\x0A\x02\x03\x98\xB2\x0D\x01\xF6\x95\x0E\xAE\x01\x84\x95\x2E\xC6\x95\xB1\x97\x4B\x2F\x04\x61\xB1\x18\x18\x02\x31\xB6\x19\x0C\x1F\x97\xBD\x92\x5A\x82\x13\x19\x08\x31\xED\x39\x0D\x1D\x98\x1A\x77\x06\x15\x98\x5E\x28\x03\x23\x99\xB4\x84\x17\x39\x06\x5E\xBA\x00\x7B\x9B\x03\x76\x94\x0F\x16\x97\x3D\x00\x64\x80\x01\x1F\x06\x2F\xC0\x02\xC1\x89\x08\x43\x07\x66\xBF\x16\x23\x06\x32\xA6\x8F\x11\x1D\x99\x19\x90\x09\x36\x97\x24\x0B\x2B\x9A\x99\xC3\x94\x96\x19\x98\x5A\xA6\x97\xA5\x9E\x30\xD8\x95\xD3\x9A\x96\x48\x9E\x5A\x8F\x9A\xB6\x17\x05\x40\x99\xD4\x93\x97\x49\x9D\x5A\x98\x9A\xA9\x97\x35\xD3\x96\xD1\x8F\x98\x5F\x9F\x96\x18\x02\xAB\x91\x36\xD0\x99\xD9\x87\x99\x5A\x9E\x6B\x8A\x9B\xA9\x9A\xCB\x59\x02\xBD\x9A\x02\x45\x9B\x6D\x9D\x9B\xF8\x8B\x35\xF5\x9A\xDA\x89\x9B\x74\x9F\x6E\x99\x9B\xBD\x9C\x35\xE7\x98\xBC\x48\x03\x64\x9C\x7D\x29\x03\xC0\x98\x37\xC7\x9A\xDF\x8C\x9B\x88\x9B\x6E\x86\x9C\xB9\x90\xB4\x6A\x02\xBD\x8B\x03\x84\x9C\x6F\x91\x30\x36\x01\x39\xF0\x2D\x1B\x15\x9C", - "\x01\x0E\x0D\x18\x9C\x00\x0F\x06\x1B\x9D\xDE\x8E\x46\x70\x06\x5E\xB1\x02\x7B\x92\x07\x76\x97\x1C\x16\x97\x74\x06\x5E\xB5\x03\xCD\x96\x07\x76\x97\x1D\x1A\x99\xA8\x2A\x0F\x32\x98\x3E\x02\x33\xFE\x02\xBD\x9F\x03\xF6\x90\x10\x1E\x9D\x1C\x11\x08\x76\x96\x20\x1B\x9D\x60\x9C\x71\xA4\x17\x41\x02\x33\x85\x06\xCC\x95\x83\x87\x00\x78\xB6\x18\x44\x06\x2F\x89\x06\xBD\x8A\x04\xF6\x93\x11\x36\x96\x46\x06\x2F\x8D\x06\xBD\x8E\x04\xCA\x98\xCC\x0F\x04\x7B\x90\x09\x59\x9C\xDA\x9C\x21\x91\x06\x7B\x97\x26\x49\x0B\x39\x93\x07\xE6\x94\x04\xE2\x99\x71\x87\x4B\x4A\x06\x2F\x96\x06\xBD\x97\x04\xF6\x90\x13\x36\x97\x4C\x06\x2F\x9A\x07\xE6\x9B\x04\xF6\x94\x13\x30\x9C\xF8\x2F\x09\x32\x99\x28\x12\x99\xA3\x06\x5E\xA4\x04\x7B\x95\x0A\x69\x9C\x6C\x06\x05\xF6\x97\x14\x06\xA1\xC3\x9A\x38\xBB\x10\x2A\x12\x99\xAA\x07\x78\xAD\x88\x56\x0B\x40\xE4\x15\x2B\x16\x97\xAE\x06\x5E\xAF\x04\x7B\x90\x0B\x76\x95\x2C\x16\x97\xB2\x06\x5E\xB3\x05\x0A\xA5\x38\xC1\x9E\x2C\x54\x05\x24\xA0\x62\x35\x05\x14\xAD\x37\xC2\x9D\x09\xAE\x9A\x0D\xA0\x86\x8C\xA1\x19\xA4\x2E\x36", - "\x06\xBD\x97\x05\x71\x9F\x85\xA6\x9A\x17\xA2\x39\xFA\x99\x0B\xBA\xA1\xDF\x9F\x87\xBD\xA1\xCF\x9B\x38\xC0\xA0\xE9\x25\x06\x2C\xA6\x6E\x84\xA2\x13\xA3\x44\xC5\xA1\x13\xAC\xA2\x42\xA6\xC2\x46\x06\x7B\x97\x0C\x39\xA3\x13\xB2\xA1\x3C\xA1\x8A\x8A\xA2\x27\xAA\x45\xBE\xA3\x16\xB0\xA2\x5F\xA5\x47\x15\x06\x7B\x96\x0D\x56\xA1\x17\xAB\xA2\x58\xA6\x88\xAA\x9F\x2C\xA1\x46\xBB\xA2\x1A\xB1\xA1\x6E\xA0\xB5\x24\x06\x7B\x95\x0E\x49\xA2\x17\xB7\x24\xE6\x06\x8E\x90\x1B\x73\x0B\x39\xE8\x07\xE6\x89\x07\x7A\xA4\x8B\x8B\x46\x75\x06\x2F\xEB\x06\xBD\x8C\x07\xF6\x95\x1D\x36\x96\x77\x06\x2F\xEF\x07\xE6\x90\x07\xF6\x91\x1E\x3B\x9F\x08\x34\x0F\x32\x9A\x3D\x12\x99\xF8\x06\x5E\xB9\x06\x7B\x9A\x0F\x76\xA3\x3E\x16\x97\xFC\x01\x90\xA0\xA3\x3B\xA2\x24\x7D\x07\xF1\x92\xA0\x33\x89\x00\x3C\x0E\x54\x98\x5A\x02\x03\x2A\xAB\x95\x86\x47\x95\xAE\x94\xFC\x02\x4B\xB1\x96\x42\x05\x00\xB5\xA5\x56\x8F\x45\x5C\xAB\x1D\x07\x00\x2F\xBF\x08\xBF\xA4\x7D\x09\x01\x60\xA6\x10\x0A\x01\x2E\xBC\x95\x67\xA2\x90\xA4\xA4\x65\xA8\x46\xF1\xA1\x32\xA3\xA5\xCD\xA1\x88\xAD\xA2", - "\x69\xAB\x4C\xE4\x44\x06\x04\xA6\x57\xA6\x99\x93\xA6\xA6\x90\x47\xD4\xA5\x34\xBC\xA6\x34\xA7\x8D\xAC\x79\x0C\x08\x4D\xCF\xA5\x1A\xB9\xA6\xDE\xA4\x99\xAA\xA6\x68\xAB\x4E\xE7\xA5\x17\xBA\x00\xE5\xA2\xC3\x5B\x01\x78\xA7\x49\x1C\x00\x3D\xBD\x00\xF4\xA6\x03\x34\xA7\x0F\x04\x4F\xA0\x00\x3D\xA1\x01\xF4\xA2\x04\x34\xA7\x11\x04\x4F\xA4\x00\x3D\xA5\x01\xF4\xA6\x04\x34\xA7\x6F\xAF\xAF\x27\x03\x42\xB0\x27\x28\x07\xA1\xAC\xA7\x89\xAE\x4E\xDB\xA6\x76\x72\xA8\xDC\x52\x05\x34\xA7\x15\x07\x4C\xE1\xA4\x3A\xA0\xA7\x6C\xA5\x9A\x95\xA8\x91\xAA\x4D\xA4\xA9\x3A\xB4\xA8\x25\xAC\xA1\xB9\x35\x1C\x08\x51\xA9\xA9\x3B\xAE\xA9\x28\xAF\xA4\xA3\xA8\x95\xAE\x51\xE6\xA4\x4C\xBD\x3C\x3A\x05\xA5\xB2\xA9\x9B\xAC\x53\xBB\xAA\x4F\xA0\xA9\xE2\xA1\xA4\x99\x33\x1D\x04\x4F\xBC\x02\x4E\xA0\xAA\xA8\x2D\x07\x07\xAA\x44\x3E\x03\x4B\xA8\x6C\x1F\x01\xF4\xA0\x08\x34\xA7\x20\x0E\x54\xB5\xAA\x98\x42\x02\xF4\xA3\x08\x34\xA6\x22\x04\x4F\xC5\x00\x3D\xA6\x02\xF4\xA7\x08\x15\xAB\x84\x08\x04\x74\xA5\x12\x19\xA5\x3D\x84\x97\x0C\x03\x5C\xA3\x1F\x4E\x00\x5B\xAA\x08\x50", - "\x04\x9E\x91\x02\x7A\xA2\x05\x63\xAB\xBF\x13\x02\xF4\xA4\x0A\x36\xAB\x8F\xAB\x46\xBE\x21\x15\x0F\xAB\x09\x0F\x0A\x00\xAD\xA0\xA6\x10\x59\x03\x5E\xA7\x24\x5A\x04\x9E\x9B\x02\x7A\xAC\x05\x74\xA5\x17\x14\xA7\x5E\x04\x9E\x9F\x02\x7A\xA0\x06\x07\xAD\xD8\x21\x03\xF4\xA2\x0C\x16\xAC\x93\xA7\x4D\x63\x03\x66\xBF\x25\x64\x03\xB3\xA5\x02\x7A\xA6\x06\x74\xA7\x19\x1F\xAC\x2F\xAB\x1E\x68\x02\x7A\xA9\x06\x74\xA6\x1A\x14\xA7\x6B\x04\x9E\xAC\x02\x7A\xAD\x06\x1B\xAE\x1B\x14\xA7\x6F\x00\xAD\xBD\x77\xC1\xA2\x5C\x3C\xAE\x40\x16\x03\xF4\xA7\x0E\x34\xA6\x3C\x08\x5A\xBB\x11\x1E\x14\xA7\x7A\x05\xB8\xB3\xA9\xD4\xA1\x27\x7B\x02\x6F\xA1\x08\x7D\x07\xB9\xB7\xA3\x3F\x0A\x5C\xCD\x18\x20\x14\xA7\x81\x04\x9E\x82\x04\x7A\xA3\x08\x74\xA4\x21\x14\xA7\x85\x04\x9E\x86\x05\xEA\xA9\x64\x07\x04\x3D\xA8\x04\xE4\xA8\xA9\x87\x25\x44\x09\x5E\xDD\x26\x22\x1B\xAC\x8B\x03\xB3\x8C\x05\xF6\xAD\x4D\x8C\x49\x23\x14\xA7\x8E\x04\x9E\x8F\x04\x7A\xA0\x09\x74\xA5\x24\x14\xA7\x92\x03\xB3\x93\x04\x7A\xA4\x09\x3A\xAF\x51\x37\x04\xD2\xA9\x13\x12\xAF\x4D\x04\x4F\x9C\x04", - "\x3D\xBD\x04\xF4\xAA\x21\x1E\x04\x7A\xAF\x09\x11\xB2\x50\xAA\xA6\xA0\x02\xBA\xA2\x04\xE9\xA5\x07\xA4\x06\x85\xBF\x17\xA5\x04\x9E\xA6\x04\x7A\xA7\x0A\x74\xA4\x2A\x14\xA7\xA9\x04\x9E\xAA\x04\x7A\xAB\x0A\x1F\xB0\x5F\xBD\x9A\xAC\x04\xC3\x8C\xAF\xBE\xAF\x62\xD6\xA8\x67\xB4\xB1\x36\xAF\xA7\xBD\x74\x57\x04\x4F\xAF\x05\x47\xB7\xB0\x31\xAA\xBD\x96\xA9\xFA\xA8\x63\xC3\xB2\x8D\xB4\xA9\x40\xB3\xB9\x81\xB3\x0C\x9D\x0B\x2E\xB1\x8E\xA2\xB2\x37\xB4\xC8\x92\xB3\x23\xB3\x63\xD3\xB0\xFB\x1E\x05\xF4\xA7\x17\x0E\xB2\x23\xB4\x2E\x40\x07\x66\xA1\x06\x32\xB1\x66\x03\x07\xCD\xA4\x0C\x74\xA5\x31\x14\xA7\xC6\x03\xCB\x91\xB2\x03\x47\x0C\x74\xA4\x32\x14\xA7\xC9\x04\x9E\x8A\x06\x7A\xAB\x0C\x74\xA4\x33\x1B\xAC\xCD\x04\x9E\x8E\x06\x03\xBA\x5A\x51\x06\x74\xB3\x06\xD2\xAD\x1A\x34\xA6\x6B\x04\x4F\xD7\x06\x9A\xB8\x06\xF4\xA1\x1B\x2A\xB2\x24\xB4\x58\x83\x0A\x36\x12\xAE\xDC\x01\xCC\xBD\x88\x6F\x0B\x68\xB9\x13\x37\x14\xA7\xE0\x04\x9E\xA1\x06\x7A\xA2\x0E\x74\xA7\x38\x14\xA7\xE4\x04\x9E\xA5\x06\x35\xB6\x0E\x74\xA7\x39\x1F\xB1\x8D\xB7\xC9\x85\xB3\x35", - "\xB9\x64\xBD\xA8\x94\xAC\xB4\x35\xB5\xD5\xB3\x47\x7A\x04\x4F\xF6\x04\xAA\xB1\xB5\xA9\xB4\xCB\xB9\xB4\x56\xBB\x6B\xB0\xB6\xAA\xB6\xB2\xBD\xB3\x88\x44\x01\x63\x43\x4B\x89\x09\x01\x04\xB6\x01\x08\x99\xBA\xB4\x5C\xBC\x6C\xBF\xB4\x95\xAB\xB2\xC0\xB5\xD9\x8B\xB6\x67\xBF\x6D\x13\x00\xB2\xBA\xA5\x02\x0C\x02\x17\xB6\x65\xBC\x6B\xD2\xB5\xB7\xB4\xB6\xC1\xB0\xDA\x8F\xB6\x25\xB4\x6E\xAE\xB6\xF7\x22\x01\xD7\xB3\x3B\x23\x01\x6D\xB3\x6E\xE6\xB5\xB4\xA0\xB7\xDE\xB6\xD7\x93\xB7\x79\xBF\x6D\xF4\xB6\x33\x51\x01\xE9\xB2\x21\x32\x01\x7C\xB2\x6B\xD7\x27\x0C\x1C\xB7\x57\x3C\x06\x00\xB8\x88\x15\x03\x03\xB9\xC7\x16\x01\x06\xB9\x20\x37\x01\x84\xB5\x6F\xF0\x50\x0E\x0C\xB8\x39\x04\xE1\xBA\x00\x86\xBB\x03\x0C\xB8\x0F\x0C\xB8\x3D\x04\xE1\x82\x12\x1F\x0C\x70\xBF\x03\xB5\xA9\xAB\xD1\x22\x08\x17\xB7\xF9\x04\x04\x23\xBA\x42\x06\x02\x0C\xBF\x08\x0C\xB8\x24\x0A\x71\xB8\x19\x12\x0C\xB8\x4A\x05\xE5\xA2\xB7\x7E\xBB\x28\x4B\x02\xC9\xA9\x08\x4D\x07\xE6\xBB\xB5\x27\x02\x73\xB7\x24\x14\x0C\xB8\x51\x04\xE1\x92\x02\x86\xB3\x05\x0C\xB8\x15\x0C\xB8\x55\x04", - "\xE1\x96\x03\x9E\xBE\x6E\xED\xB6\x97\x17\x02\x4C\xBB\x1E\x58\x03\xA8\xBF\x6A\xD5\xB2\xD3\xB5\xBA\x33\xB9\xDC\xA5\xB6\x1D\xB0\x1B\x59\x00\xC3\xBA\x02\x54\xBB\xD5\xBF\x25\x2D\x01\x76\xAD\x28\x17\x05\xBB\x0A\x0D\x0B\x28\xBB\x84\x0E\x05\x6B\xBA\xD6\xA5\x57\x5F\x04\xE1\xA0\x02\x86\xB1\x06\x0C\xBA\x18\x0C\xB8\x63\x04\xE1\xA4\x02\xB7\xB3\x10\x65\x00\xC3\xA6\x03\x1F\xBD\x99\x29\x02\x9D\xB3\x10\x6B\x00\xE1\xA2\x08\x6D\x04\xE1\xAE\x02\x86\xBF\x06\x7C\xB9\xC7\x10\x03\x0C\xB9\x0E\x0E\xBC\x7B\xB6\x75\x89\x0A\x1C\x07\xBC\x01\x0C\x0E\x18\xBD\x3B\xA6\x07\x13\xBF\x25\x37\x03\x0C\xB8\x0F\x0C\xB9\x3C\x0C\x70\xFA\x00\xC3\xBB\x03\x0C\xBC\x0F\x0C\xB9\x3E\x0E\x79\xF2\xB5\xC3\xBE\x03\xAD\xBE\xEF\x3F\x03\xD8\xB9\x75\xF1\xB5\xE5\xAF\xBB\x5C\xBF\xEA\xA2\xBA\x6F\x50\x08\x0C\xB9\x20\x0C\xB7\x34\xBF\xDD\x94\xBD\xDA\xB0\x6F\xC5\xBF\xF0\xBB\xBA\x58\xB8\xF9\xA4\x49\x47\x0C\x70\x90\x04\xED\xAA\xBE\xB0\x11\x12\x0F\xBE\x5E\x22\x09\x1E\xBF\x24\x1E\xBC\x94\x03\xFA\xB9\xBD\x11\x45\x09\x0C\xBA\x25\x0C\xB8\x97\x04\xE1\x98\x04\x86\xB9\x09\x0C\xBA\x26", - "\x1E\xBC\x9B\x04\xE1\x9C\x05\xC0\xB7\x54\x1F\x07\xE6\xA1\x05\x9B\xBB\x14\x0C\xB8\x52\x0C\x70\xA5\x06\xF6\xB1\x13\xA6\x04\xE1\xA7\x05\xFB\xBB\x7B\xC4\xBD\x40\x08\x05\x9B\xBA\x15\x1B\xBD\x3A\x8C\x0A\x7C\xBC\xAC\x0D\x05\x0C\xBE\x15\x0C\xB9\x57\x0C\x70\xB0\x04\xC3\xB1\x05\x0C\xBA\x16\x0C\xB9\x59\x06\x80\xBA\xBE\xF0\xB0\x53\xB4\x05\x02\xC1\xBE\x0B\xCC\xF2\x35\x06\x06\xD8\xBD\xC9\xBD\xE9\x9B\xC0\xBA\x56\x0B\x0C\xBB\x2D\x1F\xC0\xB6\xBB\x47\x38\x04\x14\xC7\x48\x39\x06\xE7\xBA\x05\x9E\xBB\x17\x2C\xC1\xE3\xBE\x7A\x3C\x04\xC3\xBD\x05\x0C\xBE\x17\x0C\xB9\x5F\x0C\x70\xC0\x04\xC3\xA1\x06\x9E\xBA\x18\x0C\xB9\x61\x0C\x7E\xAA\x2E\x31\x1B\xBC\xC8\x03\xF3\x8A\x06\x86\xBB\x0C\x0C\xB8\x33\x13\xC1\x00\x05\x19\x0C\xB8\x67\x00\x85\xAE\xBD\x1D\x8F\x06\x9B\xB9\x1A\x03\xC1\x96\x83\x0D\x55\xC1\x8E\x14\x06\x0C\xBD\x1A\x0C\xB8\x6B\x0C\x70\xD7\x04\xC3\xB8\x06\x0C\xB9\x1B\x0C\xB8\x6D\x0E\x85\xFE\xBF\x1D\xBB\x06\x6D\xC6\xCB\x1C\x07\x38\xC2\x82\xA0\xC1\xFF\xB0\xBE\x1C\xC3\x04\xF6\xC2\xE1\x6D\x0D\x0C\xBA\x37\x14\xC3\xDB\xBE\x20\x1F\x06\x40\xCE", - "\x37\x60\x06\xE7\xA1\x07\x9E\xBA\x1C\x04\xC5\x3B\xCE\x7A\x63\x04\xC3\xA4\x07\x0C\xBD\x1C\x0C\xB8\x73\x0C\x70\xE7\x04\xC3\xA8\x07\x9E\xB9\x1D\x0C\xB8\x75\x05\x84\xA8\x2D\x3B\x1B\xBC\xEF\x03\xF3\xB1\x06\x86\xB2\x0F\x0C\xBB\x3C\x10\xC2\xF4\x04\xE1\xB5\x07\x45\xC7\x81\xF5\x82\x3D\x1B\xBC\xF8\x03\x0B\xF3\x88\x7D\x0C\x8A\x8A\x0B\x3E\x0C\xB8\xFC\x04\xE1\xBD\x06\x86\xBE\x0F\x1A\xB8\xC3\xA0\x00\x02\x14\x95\xAE\x95\x60\xC0\x4B\xFA\xC1\x0A\xDD\x11\x02\x04\x18\xC5\xB7\xBB\x53\x00\x4A\xC6\x2D\xA6\xC6\xC6\xBD\xE1\x96\xC3\xDB\xB7\x8C\xF5\xC1\x74\x44\x00\xCE\xC0\xDB\x81\x09\x02\x09\x8D\xDC\xB7\x34\xCE\xC3\xDF\xC0\x0F\xD0\xC6\x1A\xC1\x88\xD5\xC5\x39\xD1\xC6\xE1\xC6\x1A\xE8\xC6\x6A\xCB\x8E\xE0\xC4\x3B\xC4\xC7\x21\xC1\x9A\x13\x01\x6C\xC7\xCF\x33\x88\x05\x14\xC7\x0A\x0D\x02\x38\xC7\x71\xC7\x49\x16\x03\x3E\xD7\x3A\x17\x07\x1F\xD0\x18\x0C\x02\x90\x9D\x19\x06\x05\xC8\xF0\xC7\x5F\x5A\x00\x84\xC0\x00\x1B\x00\x43\xDC\x00\x0C\xCD\x03\x0C\xC8\x0F\x0C\x90\x9F\x00\x43\xC2\x12\x20\x04\x21\xE1\x01\x6C\xC0\x72\xD7\x24\x09\x19\xC6\xF3\x0E\x04", - "\x20\xC8\x85\x08\x02\x0C\xC9\x0A\x0C\xC8\x2A\x07\x22\xF8\x19\x15\x0C\x90\xAC\x02\x4A\xCE\xC7\x6E\xC5\x05\x23\xC9\x84\x0F\x02\x33\xCB\xAE\xB1\x01\x2F\xCF\x96\x32\x00\x86\xC3\x03\x0C\xC8\x0D\x0C\xC8\x35\x04\x21\xF6\x00\x86\xC7\x03\x0C\xC8\x0E\x19\xC9\xEA\xC1\x21\xC4\x5F\x1C\x08\x94\xE7\xC6\x52\xD6\xB1\x3A\x05\x29\xF1\xC7\xA9\xCC\x88\xCE\xCA\x3F\x9B\x01\x0C\xCC\x07\x12\xCB\xAA\xC7\x4D\x3D\x03\x56\xCD\x29\x3E\x07\x2B\xCA\x09\x1F\x02\x96\x89\x08\x10\x05\xCB\x7B\xC7\x28\x41\x02\x86\xC2\x04\x0C\xCB\x10\x0C\xC8\x44\x04\x21\xC5\x02\x86\xC6\x04\x68\xCB\x40\x07\x02\x0C\xC8\x09\x1C\xC9\x66\x2B\x04\x36\xCB\x40\x0D\x02\x7E\xCA\x20\x0F\x02\x86\xC0\x05\x0C\xC9\x14\x16\xCB\x1D\x1A\x0A\x0C\xC9\x29\x08\x98\xCF\xC9\x48\xB4\x02\x81\xC9\x20\x16\x03\xC8\xC7\x47\xD8\x01\x63\xD7\x24\x59\x04\x21\xDA\x02\x86\xCB\x05\x0C\xC8\x17\x0C\xC8\x5D\x04\x21\xDE\x02\x86\xCF\x05\x17\xCD\x3A\xD4\xA6\x60\x06\x34\xFE\x3B\x30\x0A\x9A\xB0\xCA\x38\xC9\xCB\xFC\xC7\x34\xD4\xCB\x56\xCE\xAD\x62\x00\x43\xC3\x03\xAD\xCF\x35\xD0\x18\x32\x09\x9B\xBC\x25\x19\x17", - "\xCC\x66\x07\x32\xE7\x03\xDE\xC6\x95\xF9\x38\x1A\x0C\xC8\x69\x04\x21\xEA\x02\x86\xCB\x06\x0C\xC8\x1B\x0C\xC8\x6D\x07\x32\xEE\x02\x86\xCF\x06\x7B\xCB\x51\x32\x03\x94\xCC\x0E\x14\xCC\x3B\x0C\x90\xF7\x00\x43\xD8\x03\xC4\xC9\x4E\x39\x02\x86\xCA\x07\x61\xCC\x57\xC7\xCF\xB0\x0B\x0F\x14\xCD\x3E\x04\x99\xF5\x83\x1F\x06\xCF\xB0\x10\x10\x0C\xC9\x40\x0C\x90\x82\x04\x43\xC3\x04\x0C\xCC\x10\x0C\xC9\x42\x0C\x90\x86\x04\x7C\xD9\xC3\xBB\xB7\x10\x3F\xCF\x6F\x38\x08\x03\xD0\x6C\xC7\xD0\xE6\xC3\x36\xC0\xD1\x04\xD8\x9E\x86\x41\x22\x0C\xC8\x8A\x05\x1B\xCB\xD1\x76\xCA\x9B\x94\xD1\x52\xD2\xC6\xEF\xC0\x43\xEE\xCD\x0B\xD2\x9B\x8D\xD3\x51\x38\x04\x06\xD4\x41\xF4\xCD\x0D\xD5\x9C\x99\xD1\x87\xC3\xD1\x15\xD6\x31\xEC\x69\x4C\x01\xA2\x96\xD1\x89\xC4\xD1\x0A\xD1\x36\xE6\xD1\x19\xD0\xA3\x9E\xD0\x82\xCE\xD1\x31\xD6\x87\x1A\x05\x16\xDA\xA2\xA2\xD3\x84\xDD\xD1\x38\xD6\x46\xFE\xD0\x19\xD5\xA3\xA8\xD1\xD3\x1B\x04\x3C\xD2\x43\xE9\xD0\x25\xDC\xA1\xB4\xD3\x92\xC7\xD1\x3F\xD4\x49\xFE\x5E\x4E\x09\xA4\xD0\xD0\x91\xCF\xD2\x4E\xD5\x49\xC5\xD3\x28\xD6\xA5", - "\xB7\xD0\x90\xDF\xD2\x52\xD1\x47\xFC\x21\x4E\x05\xA5\xFE\x3A\x27\x0C\xC8\x9F\x02\x42\xD7\xD2\x2D\xD8\xA5\xDB\xD3\x9A\xCF\xD1\x6D\xD1\x4E\xEC\xD3\x39\xD0\xA7\xF4\xD2\x98\xC1\xD2\x46\xD5\x4E\xFA\xD3\x3B\xDA\xE1\x2D\x05\x99\xCB\x3B\xAE\x04\x21\xEF\x04\x35\xDE\xA5\xE1\xD2\x90\xD8\xD3\x5C\xD1\x4B\xFB\xD3\x43\xD0\xA6\xAE\xBD\x2F\x0C\xC8\xBE\x07\x4F\xCB\xD3\x5F\x02\xA9\xCD\x18\x30\x17\xCC\xC1\x07\x32\xC2\x07\x4A\xDB\xA8\xAD\x2B\x30\x0C\xC8\xC4\x04\x21\xC5\x06\x86\xC6\x0C\x0C\xCB\x31\x0C\xC8\xC8\x07\x32\xC9\x06\x86\xCA\x0C\x56\xCE\x6A\x2D\x06\x94\xCF\x19\x14\xCD\x68\x0C\x90\xD2\x04\x43\xD3\x06\x49\xD4\x1A\x0C\xC9\x6A\x0C\xA9\xFC\xD3\x1D\xB6\x06\x94\xC8\x1B\x2D\xCF\x96\x8A\x0D\x3D\xD7\xA2\x1B\x06\x0C\xCC\x1B\x0C\xC9\x6E\x0C\x90\xDE\x04\x43\xDF\x06\x0C\xC8\x1C\x0C\xC9\x70\x09\xA4\xE2\x04\x43\xC3\x07\x84\xD3\x48\xC5\xD5\x2E\xDA\xAD\xDD\xD4\xA2\xCF\xD3\xBE\xD4\x5B\xDF\xD7\x6D\xD3\xC4\x71\x06\xB1\xD9\xD3\xE1\xD2\x51\xE9\xD6\x37\xD4\xAE\xEC\xD7\xD2\x32\x07\x0C\xCB\x1E\x19\xD7\x71\xDE\xAD\x8D\xD6\xBA\xCC\xD4\x86\xD0\x5D\xF8", - "\xD6\x71\xD0\xA6\x81\x01\x81\x02\xC6\xF6\xD6\x5D\xF4\xD7\x81\xD1\xB0\xF2\xD1\xA7\xC9\xD4\x02\xDD\x60\xE5\x56\x01\x0F\xAF\xC5\xC7\xD0\x63\x00\x0D\xDB\x19\xFC\x20\x02\x01\xB1\xCF\xC4\x23\x55\xD8\xDA\xC0\x00\x06\x00\x8C\xDD\x4B\x9C\xDB\x47\x1E\xD8\x09\x09\x01\x20\xD9\x62\xA3\xB2\x83\x0B\x02\x05\xD9\x02\x0C\x01\x28\xD9\x80\x0D\x00\x2B\xDA\x8F\x0E\xD9\xFC\xD7\x19\x4F\x00\x98\xD0\x4F\x10\x00\xCD\xC9\xD8\xF9\xD0\x61\xDC\x57\x08\x07\xB3\xDC\x56\x04\x0E\xD9\x13\x00\x63\xDE\xC7\x7B\xDA\xAF\xC5\xDA\xCE\xD6\xD3\xFB\xD4\x68\xC7\xDB\x83\xDF\x6D\x21\x02\xCB\xC2\x01\x42\xDB\x69\xEB\xD6\x83\xD3\xB5\xC8\xDA\xD1\xC0\xD7\x49\xD8\x67\xF1\xD9\xAD\xDA\xB4\xD8\xD8\xAC\x10\x01\x3D\xDE\x6A\xD2\xDB\xAC\xD4\xB5\xE4\xDA\xD8\xDE\xDA\xD8\x49\x6C\xFE\x5E\x19\x0A\xB6\xFE\x1B\x0C\x0E\xD9\x34\x06\x65\xF5\x00\x97\xD6\x03\x2E\xDB\x0D\x0E\xD9\x38\x06\x65\xF9\x00\x97\xDA\x03\x2E\xDB\x0E\x0E\xD9\x3C\x06\x65\xFD\x01\xB6\xD6\xB6\xF3\x46\x0F\x04\xDC\xB8\x1F\x07\x08\xDD\xB1\xD7\xB5\xED\xD4\xB7\x40\x02\x8B\xDD\x2E\x41\x02\x97\xD2\x04\x51\xD8\xDA\xD7\xDC", - "\x8E\xDF\x6C\xD9\xDC\xA6\xDB\xB9\xD5\xD8\xE7\xD6\x44\x50\x06\x65\xD1\x02\xCB\xDD\xB9\x85\xDE\xE7\xC7\xDD\xA6\xD9\x75\xCD\xDD\x7A\xD9\xB3\x98\xDC\xEB\xDC\xDA\x5A\xD8\x9E\x1F\x03\xC8\xD5\xBA\xAB\xDC\xC1\xCD\xDD\xB5\xDC\x71\xFA\xDC\xD7\xD7\xBB\xD9\x30\x18\x14\xDD\xAF\xDD\x6B\xF9\xDC\xDE\xDA\xB0\x9F\xDD\xEF\xC2\xDE\xC1\xDA\xC8\x21\x02\xE0\xD7\xBC\xB1\xDE\xF3\xC5\xDB\xB6\xDD\x78\xD0\xB2\x31\x0C\xBC\xAA\x63\x18\x15\xDE\x32\x1C\x0C\x2E\xD9\x32\x0E\xB2\xE6\x02\xCB\xC7\x03\x2E\xD8\x0D\x2E\xD9\x34\x0E\xB2\xEA\x02\xCB\xCB\x03\x2E\xDC\x0D\x2E\xD9\x36\x0E\xB2\xEE\x00\xF6\xD0\xDD\x5E\x37\x0D\x2F\xDE\x9C\x10\x07\x73\xDF\xF3\xDA\xDC\xC9\xDD\xF3\x31\x02\xFB\xD5\x8F\x72\x02\xCB\xD3\x03\xA4\xD9\x7F\xF8\xDF\xE6\xD0\xBD\xBB\xDF\xF0\xC7\xE0\x02\xE6\x78\xD2\xDF\x0C\x91\x08\x7C\xDD\xB9\x42\x04\x0E\xE6\x4B\x03\x04\x97\xD4\x08\x2E\xD9\x21\x0E\xD9\x86\x06\x65\xC7\x04\x97\xD8\x08\x2E\xD9\x22\x0E\xD9\x8A\x06\x65\xCB\x04\x97\xDC\x08\x2E\xD9\x23\x11\xE0\xA8\xD9\xD7\x0E\x04\x14\xE3\x39\x0F\x04\x0B\xF1\xDE\xB8\xD9\x81\xD2\x59\x17\xE6\x80\x11", - "\x06\xCB\xD2\x04\x01\xE4\x80\xC3\xE1\x05\xE0\xC3\xF0\xDF\x0E\xF1\xE1\x3A\xE2\x81\xC0\xE2\x1E\xE6\x80\x20\x04\x0D\xE4\xDE\x43\xE1\x89\xFE\xE0\x21\xEB\xC4\xA9\xE2\x01\xF6\x60\xA1\x07\x88\xC8\xE1\x20\xEE\xC4\xC8\xE1\x13\xEA\xDD\x4F\xE4\x8A\xD8\xE3\x84\x02\x0A\x52\xE2\x0C\xFB\xE2\x53\xE4\x88\xD6\xE2\xE4\xDA\xC5\xBD\xE0\x19\xE1\x08\xA3\x06\x8B\xE5\xE3\x2C\xE2\xC6\xE1\xE2\x12\xE7\xE3\x6F\xE7\x7E\xFB\x6E\x52\x0A\xC6\xED\xE3\x17\xE6\xE3\x72\xE5\x8A\xEE\xE3\x2B\xE8\xC7\x85\xE3\xB7\x25\x05\x75\xE1\x8E\xFE\xE3\x3D\xE0\xC7\xFC\xE0\x1B\xE2\xE4\x3F\xE6\x90\xE3\xE3\x3C\xEE\x7D\x26\x05\x20\xEA\xE4\x84\xE4\x91\xFD\xE3\x44\xE5\xC8\x95\xE6\x24\xEC\x79\xA7\x07\x91\xD6\xE5\x41\xE7\xC7\x87\xE4\x24\xFD\xE4\x8B\xE4\x93\xDD\xA2\x54\x0A\xC9\x97\xE5\x28\xF4\xE4\xA6\xE1\x92\xE2\xE4\x3B\xEB\xC6\xCE\x75\x2A\x05\xE5\xAB\xE0\x91\xCC\xE3\x4D\xE8\xCA\xB1\xE7\x27\xED\xE5\xBB\xB2\x15\x30\xE5\x5A\xEC\xCB\xB3\xE5\x2A\xE0\xE5\xAA\xE5\x97\xFA\xE3\x1E\xAB\x0A\x3B\xE6\x2F\xF6\xE5\xB4\xE7\x98\xC2\xE6\x30\xE0\xCC\xCD\xE6\x85\x6C\x05\xC6\xE3\x98\xF8\xE4", - "\x67\xEC\xCA\xD5\xE6\x2C\xF2\xE6\xD6\xE0\x6A\x2D\x05\x68\xED\x4D\x2E\x04\x37\xF3\xE4\xCA\xE1\x9C\xD8\xE7\x24\xEF\x0A\x2E\xD8\x2C\x1F\xE6\x36\xB1\x16\x28\xE6\x72\x12\x0B\x58\xDF\x2C\x18\xDE\xB4\x03\x9D\xC1\xE7\x68\x25\x0B\x2E\xDA\x2D\x0E\xD9\xB7\x06\x65\xF8\x04\x97\xD9\x0B\x2E\xDA\x2E\x18\xDE\xBB\x06\x65\xFC\x04\x8C\xDD\x91\xDD\x27\x2F\x18\xD8\xF3\x09\x18\x08\xE8\x85\x03\x0C\x2E\xD8\x31\x0E\xD9\xC5\x01\x90\xC6\x06\x97\xD7\x0C\x72\xE4\x35\xEF\x71\xC8\x03\xA1\xC9\x08\x65\x0A\xD1\xBB\xB4\x33\x16\xE8\x02\x0D\x19\x2E\xD8\x67\x0E\xB2\xCF\x06\xCB\xD0\x06\x2E\xD9\x1A\x2E\xD8\x69\x0E\xB2\xD3\x05\x20\xF4\x06\x2E\xDD\x1A\x39\xE1\x6C\xE9\xCC\xE3\xE7\x2D\xF4\xE9\xBF\xE3\x9A\xFA\xE9\x70\x83\x0E\x2E\xD8\x39\x13\xE9\xD7\xE4\x99\xFB\xE9\xA0\xE0\xCE\xB6\xE9\x4D\xE2\xEA\xD6\xE2\x1E\x2E\xD9\x79\x00\xD4\xB7\xE8\x51\xFE\xE4\x47\xED\xA8\xC8\xEB\xA7\xE7\xCA\xD0\x85\x00\x08\x10\x00\xDD\x9E\x58\xEB\x81\x03\xB4\xB9\xE8\x4E\xE8\xE6\x5E\xEC\xAA\xF3\xE6\xA3\xE1\xD6\xCE\xEA\x59\xED\x89\x10\x03\xAB\xD2\xD9\xA1\xE7\xD6\xE5\xE9\x54\xF0\xEA\x6E", - "\xEC\x7B\x51\x00\xB5\xE6\xB1\x83\x0A\x04\x14\xEB\x19\xDE\xA9\xD3\x00\xBC\xE5\x8F\xDE\x30\x05\x1C\xEB\xC8\x15\x02\x00\xEC\x72\x16\x01\x03\xEF\x58\xE4\x49\x17\x06\xB0\xC3\x08\x0C\x0A\xD8\x82\x09\x06\x0D\xEC\x01\x0A\x03\x10\xED\x86\xC3\xD9\x9C\x03\x64\xE2\x12\x1D\x03\xB2\xDE\x00\xBC\xE5\xD0\xB8\x1D\x08\x18\xEB\xF3\x0B\x04\x20\xEC\x85\x05\x02\x13\xEE\x09\x13\xEC\x27\x07\xB2\xF8\x18\x14\x03\xD9\xA9\x02\x6A\xF1\xEB\x3D\x8A\x05\x23\xED\x84\x0C\x02\x33\xEF\xAE\xAE\x01\xAF\xEF\x96\x2F\x01\xC9\xE0\x03\x13\xED\x0C\x13\xEC\x32\x03\xB2\xF3\x01\xC9\xE4\x03\x13\xED\x0D\x19\xED\xAE\x3E\x06\x13\xED\x1B\x08\xDC\xE2\xE7\xA2\x18\x01\xCD\xEE\xC9\x39\x01\xE8\xEB\x28\x3A\x00\x75\xF0\x0D\x3B\x07\xBA\xF0\xEA\x2F\x3C\x03\x13\xED\x0F\x13\xEC\x3E\x03\xB2\xFF\x01\xC9\xE0\x04\x13\xED\x10\x1A\xEE\x09\x0A\x08\x13\xED\x21\x0C\xD9\xCD\x26\x11\x16\xED\x03\x08\x09\x30\xEE\x81\x0A\x04\x13\xEF\x12\x13\xEC\x4C\x00\xBD\xFF\x17\x26\x03\xD9\xCE\x02\x7E\xF7\xE8\x75\x87\x09\x33\xEF\x80\x01\x05\x03\xF3\x1D\xB3\x02\xFF\xEF\x90\x14\x03\xC9\xE5\x05\x13\xEE", - "\x15\x13\xEC\x57\x03\xB2\xD8\x03\xC9\xE9\x05\x13\xEE\x16\x09\xF0\x5F\xEB\x99\xD2\xEB\x0D\xFB\xDD\x9A\xF1\x87\xEE\xEE\x1C\xF4\x5C\x1B\x03\xC9\xEC\x05\x18\xF2\x58\xE3\x08\x5D\x06\xC4\xFF\x24\x2F\x06\xE2\xDF\x02\x89\xE0\x03\x2A\xF7\xAD\xC7\x2B\x30\x03\xD9\xE2\x03\x64\xE3\x03\x93\xEC\x0C\x13\xED\x32\x03\xD9\xE6\x02\x89\xE7\x03\x93\xE8\x0D\x2D\xEF\xA3\x2B\x06\x06\xF1\x1B\x06\xF0\x6F\x03\xB2\xF0\x03\xC9\xE1\x07\x31\xF3\x8E\x12\x03\x93\xEB\x0E\x0E\xF2\xB0\xED\x13\xF4\x02\x81\xF6\x03\x06\xF5\x0E\xB8\x03\x29\xFD\x34\x79\x03\x64\xFA\x03\x93\xEB\x0F\x13\xEC\x3E\x03\xD9\xFD\x03\x64\xFE\x03\x93\xEF\x0F\x1C\xF2\x2F\x10\x08\x6B\xF0\x59\xF4\xF2\x1E\xF5\xAA\xEF\xF3\x38\xF7\xD8\xA1\xF2\x1B\xE1\x04\x93\xEA\x10\x2E\xF3\xA9\xE3\x08\x7B\xF0\xEE\x04\x04\x26\xF5\x10\x26\xF0\x43\x0E\xE7\x9F\xF3\x35\x27\x04\x93\xE8\x11\x13\xED\x44\x03\xD9\x8A\x07\x64\xEB\x04\x93\xEC\x11\x26\xF1\x46\x03\xD9\x8E\x07\x90\xEA\x2D\x91\x06\xC0\xD3\x04\x03\xF5\x09\x13\xEE\x25\x13\xEC\x97\x05\xD0\xC9\x08\x4C\x03\xD9\x99\x06\xA8\xF5\xF3\x2C\x7A\x13\x06\xF0\x4E", - "\x09\xE5\xAD\x8A\x27\x07\xF5\x10\x1F\x13\x13\xEC\x50\x03\xD9\xA1\x07\x64\xE2\x05\x93\xEB\x14\x13\xEC\x52\x03\xD9\xA5\x04\xAC\xE2\x08\xA6\x07\xD7\xD9\xF0\x10\xF6\xE8\xD3\xE9\x5B\xF0\xF3\xC4\xF2\xCE\xD9\x91\x53\x03\xD9\xA8\x06\xB0\xE9\xE2\xA9\x07\xD9\xD0\x1A\x55\x06\xE2\xAB\x06\x89\xEC\x05\xD2\xF2\xC6\xFE\x21\x56\x03\xD9\xAE\x07\x64\xEF\x05\x93\xE8\x16\x13\xED\x58\x03\xD9\xB2\x06\x89\xF3\x05\x93\xEC\x16\x17\xF4\xD4\x27\x0B\x06\xF1\x2E\x06\xF0\xBB\x03\xB2\xFC\x05\xC9\xED\x0B\x4F\xF6\x2F\x13\xEC\xBF\x01\xDB\xF0\xED\x46\x60\x0C\x06\xF2\x30\x0D\xF5\x33\x8C\x18\x3A\xF7\x1E\x15\x0C\x13\xEE\x31\x13\xEC\xC7\x03\xB2\xC8\x07\xC9\xE9\x0C\x13\xEE\x32\x13\xEC\xCB\x07\xD9\xCC\x07\x81\xF4\xE7\x80\xF2\xB6\xF6\xF8\xFB\xF1\xD9\xE8\xF4\x65\xFD\x35\xCD\x04\xC5\xFA\xF8\x18\xF8\xD9\xF3\xF2\x90\xFC\xD6\x97\xF9\xC9\xF9\xF8\xF0\x56\x19\x1F\xF8\x86\x4F\x0C\x4F\xF4\x34\x13\xEC\xD1\x03\xB2\xD2\x07\xC9\xE3\x0D\x13\xEC\x35\x13\xEC\xD5\x03\xB2\xD6\x07\xC9\xE7\x0D\x13\xEC\x36\x13\xEC\xD9\x03\xB2\xDA\x07\x95\xF6\xEC\xF0\x27\x36\x04\xFA\xB0\x0C", - "\x1B\x08\xFB\x62\xF6\xE7\xA1\xF9\x8D\x1D\x06\x4B\xFC\x6E\x5E\x07\xC9\xEF\x0D\x51\xF9\xA1\xC0\x07\x56\xF8\x62\x21\x06\x13\xF2\x0E\x26\xF3\x38\x19\xFA\x27\xFE\x66\x24\x07\xC9\xE5\x0E\x13\xEE\x39\x13\xEC\xE7\x03\xB2\xE8\x07\xC9\xE9\x0E\x26\xF2\x3A\x13\xEC\xEB\x03\xDD\xF0\x2E\x77\x06\xE0\xF0\x06\x81\xF2\x07\x93\xEB\x1E\x13\xEC\x7A\x0F\xEC\xF5\x07\x64\xF6\x07\x60\xFB\xD8\xFA\x65\x7B\x06\xE0\xF9\x04\xC0\xFD\x89\xFB\x01\xF0\xC0\x00\x7E\x03\xD9\xFD\x07\x64\xFE\x07\x97\xEB\xB2\xC0\x01\x05\x19\xD5\x81\x00\xE5\xEE\xD8\x03\x0A\x00\x17\xFD\xB5\xE5\x48\x03\x03\xE6\xF5\xEB\x61\xFD\xE2\xE1\xFC\x92\xF2\xF8\xC5\xF8\xCA\xE6\xFD\x4B\xD4\x00\x1F\xFD\x8C\xD5\x00\x2B\xFD\x5F\xE2\xFD\x01\x0E\x00\x2E\xFC\x57\x37\x00\x33\xFC\xB9\x08\x00\xB6\xFF\x5F\x09\x01\xDC\xFE\xF4\xAC\x3E\x02\x1C\xFD\x02\x0B\x01\x00\xFF\x80\x0C\x00\x43\xFE\x8D\x06\xFE\x0E\x06\xF8\xCF\x00\xE3\xFB\x33\x46\xFD\x04\x0B\xFD\x9D\xEC\x7A\x14\x01\xD5\xF3\x1F\x16\x00\xF5\xEA\x08\x18\x06\xF8\xD9\x00\xE3\xFA\x01\x4C\xFC\xCE\x1B\x00\xC6\xFC\x03\x1E\xFF\xD3\xF6\xFF\x1D\x03\xF5", - "\xE9\x08\x1F\x07\xFC\xFB\xB5\x10\x03\xFE\xB7\x26\x08\x06\xFE\x23\x06\xF8\xE4\x00\xE3\xF5\x02\x46\xFE\x09\x06\xFE\x27\x06\xF8\xE8\x01\xF6\xFD\x34\x29\x00\xFF\xE4\xFD\x27\x7B\xE8\x73\xF2\x43\x80\xA8\x7C\xEC\x71\x00\xB6\x4D\x2A\x03\xFF\x74\x00\x8D\x7D\x02\x81\x01\x80\x00\x87\x7B\x06\x80\x04\x80\x0D\x6B\x00\xC6\x7C\x0B\x0A\x00\x8E\x80\x71\x09\x0B\x07\x01\xAD\x14\x2E\x03\x06\x8A\x10\x2F\x00\x1E\x81\x42\x00\x03\x21\x80\x1B\x7F\xD5\x11\x03\x06\x7F\x32\x02\xF1\x73\x03\x06\x7F\x34\x02\xF1\x75\x03\x06\x7F\x36\x00\x09\x83\x10\x37\x00\xC6\x7C\x0E\x00\xFD\x4D\x13\x3B\x02\xFA\x73\x10\x3D\x00\x3A\x82\x40\x0F\x03\x06\x7F\x40\x02\xF1\x71\x04\x32\x80\x1D\x0E\x10\x06\xFC\x43\x01\x44\x81\xE9\x76\xFF\x04\x01\x3D\x81\x40\x06\x04\x0D\x81\x77\x50\x12\x09\x04\x97\x12\x49\x02\xF1\x7A\x04\x06\x7F\x4B\x02\xF1\x7C\x04\x06\x7F\x4D\x02\xF1\x7E\x04\x06\x7F\x4F\x03\x14\x82\x01\x8B\x80\x4C\x7D\x19\x8C\xF1\x66\x81\x25\x81\xEF\x70\x65\x50\x01\xC6\x7D\x14\x02\x06\xB0\x71\x52\x03\x1B\x8D\x4A\x13\x01\x53\x80\x15\x03\x05\x95\x01\x72\x82\xC8\x78\x68", - "\x16\x01\xC6\x7F\x15\x06\xFC\x58\x01\xC6\x7D\x16\x06\xFC\x5A\x01\xC6\x7F\x16\x03\x05\x9C\x01\xC6\x7D\x17\x07\x03\x87\x15\x60\x00\x14\x82\x06\x10\x81\x64\x02\xF1\x75\x06\x06\x7F\x66\x01\x1E\x85\x23\x27\x01\xC6\x7C\x1A\x06\x09\x8F\x80\x2E\x39\x1A\x00\x05\xAB\x01\x50\x81\x1D\x4D\x06\x1B\x82\x7E\x0E\x1B\x06\xFC\x6F\x01\xC6\x7C\x1C\x06\xFC\x71\x01\xC6\x7E\x1C\x06\xFC\x73\x01\xC6\x7C\x1D\x04\x0A\x8B\x0A\x75\x02\xF1\x76\x07\x33\x82\x0C\x82\x12\x88\x06\xAA\x81\x18\x81\x2F\x89\x0B\x87\x80\x2F\x3B\x1D\x08\x0B\xBB\x82\x0D\x83\x2F\x83\x06\xBE\x82\xC4\x82\x2E\x87\x06\xA4\x0B\x78\x02\xF1\x79\x07\x03\x83\xCB\x81\x1A\x85\x0C\x89\x83\xC0\x83\x31\x86\x0C\xA6\x7C\x62\x2A\x1E\x06\xFC\x7B\x01\xD0\x82\x1B\x7C\x07\x1D\x83\x3C\x11\x1F\x03\x05\xBE\x01\x53\x83\x1F\x00\x0E\x93\x83\xEC\x0C\x20\x06\xFC\x41\x02\xC6\x7E\x20\x06\xFC\x43\x02\xC6\x7C\x21\x06\xFC\x45\x02\x53\x82\x21\x06\xFC\x47\x02\x8B\x82\x6A\x1A\x08\x10\x81\x8C\x00\x14\x8E\x08\x06\x7F\x8F\x02\xF1\x70\x09\x27\x83\x01\x05\x24\x06\xFC\x52\x02\x04\x85\x35\x8E\xE2\x13\x02\x50\x81", - "\x25\x01\x0A\xAD\x44\x97\x01\x42\x82\x24\x18\x02\xC6\x7D\x26\x06\xFC\x5A\x02\xC6\x7F\x26\x06\xFC\x5C\x02\xC6\x7D\x27\x06\xFC\x5E\x02\x12\x84\x36\x8A\x10\xA4\x7F\xD4\x82\x35\x85\x12\xA2\x84\x26\x85\x5D\x2F\x09\x06\x7F\xA0\x01\x48\x8E\x86\x61\x02\x2E\x86\xCD\x02\x0A\x13\x81\xA3\x03\x14\x84\x0A\x31\x84\x11\x80\xCE\x05\x0A\x06\x7F\xA6\x02\xF1\x77\x0A\x06\x7F\xA8\x02\xF1\x79\x0A\x06\x7F\xAA\x03\x14\x8B\x0A\x06\x7F\xAC\x01\x3E\x88\x5A\x2F\x02\x50\x81\x2C\x00\x05\xB3\x02\xC6\x7C\x2D\x06\xFC\x75\x02\x09\x86\x2D\x06\xFC\x77\x02\x38\x84\x27\x8C\xBD\x38\x02\x50\x82\x2E\x0F\x10\xB3\x44\xBC\x01\x56\x81\x27\x3D\x02\xC6\x7E\x2F\x06\xFC\x7F\x02\xC6\x7C\x30\x06\xFC\x41\x03\xC6\x7E\x30\x06\xFC\x43\x03\x09\x84\x31\x06\xFC\x45\x03\x4A\x84\x3A\x82\x0D\x8A\x83\x77\x87\x48\x8A\x07\x97\x83\x24\x86\xB3\x38\x0C\x06\x7F\xC9\x02\x58\x88\xAF\x4A\x03\x82\x84\xAC\x0B\x0C\x13\x81\xCC\x03\x14\x8D\x0C\x05\x86\x27\x87\x8E\x0E\x0C\x06\x7F\xCF\x02\xF1\x70\x0D\x06\x7F\xD1\x02\xF1\x72\x0D\x06\x7F\xD3\x03\x14\x84\x0D\x06\x7F\xD5\x01\x5D\x81\x61\x18", - "\x03\x50\x82\x36\x00\x05\x9C\x03\xC6\x7D\x37\x06\xFC\x5E\x03\x09\x87\x37\x06\xFC\x60\x03\x8C\x85\x34\x86\xC1\x21\x03\x50\x83\x38\x0F\x15\xBD\x44\xE5\x01\x6B\x86\x10\x26\x03\xC6\x7F\x39\x06\xFC\x68\x03\xC6\x7D\x3A\x06\xFC\x6A\x03\xC6\x7F\x3A\x06\xFC\x6C\x03\x09\x85\x3B\x06\xFC\x6E\x03\x9E\x86\x5E\x89\x13\xBD\x85\x79\x85\x4A\x8D\x1C\xA8\x84\xD0\x85\x9F\x21\x0F\x06\x7F\xF2\x02\x6D\x8E\x6D\x73\x03\xD6\x85\xC7\x04\x0F\x13\x81\xF5\x03\x14\x86\x0F\x19\x87\x78\x84\xC4\x07\x0F\x06\x7F\xF8\x02\xF1\x79\x0F\x06\x7F\xFA\x02\xF1\x7B\x0F\x06\x7F\xFC\x03\x14\x8D\x0F\x06\x7F\xFE\x01\x72\x8F\x4B\x01\x00\x0E\x0A\x7C\x06\x88\x35\x87\x99\x7F\x2D\x58\x1F\x9C\x7E\x1A\x6F\x7E\x80\xFA\x41\x04\x07\x02\x7F\x89\xD7\x78\x0C\x08\x02\x80\x8B\x1D\x09\x00\x06\x89\x63\x8D\x13\x4A\x00\x02\x8B\x7C\x0C\x00\x0D\x88\xD2\x4A\x03\x09\x20\x87\x15\x0F\x03\x84\x8C\x05\x56\x88\x03\x05\x04\x08\x21\x82\x04\x12\x03\x86\x81\x10\x13\x00\x1E\x88\x00\x04\x01\x21\x88\x15\x01\x88\x80\x35\x16\x00\x21\x8B\x05\x02\x20\x91\x7F\xAE\x86\x5D\x8C\x0B\xBC\x85\x7B\x86\x82", - "\x8B\x1C\xB1\x88\xE7\x42\x06\x06\x22\x91\x87\x34\x8B\x73\x8C\x1C\xAF\x88\x32\x8A\x56\x89\x23\xBC\x10\x1B\x03\x8D\x8B\x23\xAE\x88\x44\x89\x78\x85\x24\x8A\x87\x3E\x8B\x8C\x8E\x7A\x1C\x00\x42\x8B\x8F\x87\x24\x8E\x87\x3C\x89\x8B\x86\x24\x93\x89\x0D\x5D\x07\x01\x22\x9E\x00\x2B\x89\x8F\x84\x06\x92\x89\x48\x8B\x96\x8A\x23\x8E\x89\x54\x8B\x0B\x31\x02\x21\x88\x22\x01\x93\x86\x00\xA3\x00\x66\x89\x92\x14\x02\x29\x89\x71\x09\x09\x0C\x26\x8B\x0A\x26\x03\x9B\x80\x23\xA0\x19\x27\x01\x88\x88\x02\x21\x88\x29\x01\x88\x8A\x02\x21\x88\x2B\x01\x88\x8C\x02\x32\x89\x0A\x05\x0B\x01\x22\xAE\x00\x59\x8B\x51\x11\x03\x10\x88\x09\x07\x0C\x08\x28\x86\x04\x35\x01\x88\x86\x03\x21\x88\x37\x00\xA0\x84\x2E\x38\x00\x21\x89\x0E\x02\x29\x9F\x89\xA8\x46\x0E\x0B\x28\x83\x04\x3C\x03\xA6\x8D\x45\x7E\x00\x97\x88\x0F\x1F\x03\x21\x88\x40\x01\x88\x81\x04\x21\x88\x42\x01\x88\x83\x04\x21\x88\x44\x01\x88\x85\x04\x21\x8A\x4F\x88\x8E\x8A\x24\x89\x89\xB4\x8A\x97\x81\x25\x98\x8A\xD0\x42\x11\x01\x22\x87\x01\xB0\x8A\x35\x78\x04\x3D\x8A\x4A\x19\x12\x00\x2C\x8A\x01", - "\xC0\x8B\x12\x00\x2C\x90\x89\x87\x10\x13\x01\x22\x8D\x01\x21\x8A\x13\x01\x22\x8F\x01\x21\x88\x14\x01\x22\x91\x01\xC0\x8A\x14\x01\x22\x93\x01\x85\x8A\x6A\x16\x05\x1E\x8A\x01\x04\x16\x0C\x2D\x80\x00\x5A\x01\x88\x8B\x05\x21\x88\x5C\x03\xB1\x89\x23\x1D\x01\x21\x8A\x17\x06\x2E\x83\x89\x1A\x3B\x17\x0F\x2D\xA1\x01\xDF\x89\x1D\x43\x06\x2B\x8B\x36\x0C\x19\x01\x22\xA5\x01\x21\x8A\x19\x01\x22\xA7\x01\x21\x88\x1A\x01\x22\xA9\x01\x21\x8A\x1A\x04\x2F\xB5\x08\x6B\x01\x88\x8C\x06\x02\x88\xB4\x49\x97\x88\x0C\x9C\x89\xC8\x89\x98\x82\x2B\xB5\x8A\x0B\x8F\xDD\x20\x07\x21\x88\x71\x03\xC0\x82\xC4\x72\x01\x16\x8F\x35\x13\x07\x00\x8B\x74\x00\xB0\x85\x07\x19\x8C\x11\x8C\x6A\x16\x07\x21\x88\x77\x01\x88\x88\x07\x21\x88\x79\x01\x88\x8A\x07\x21\x88\x7B\x00\xB0\x8C\x07\x21\x88\x7D\x01\xB6\x88\x5A\x00\x02\xDF\x8A\x20\x0F\x2D\x84\x02\x21\x89\x21\x01\x22\x86\x02\x20\x8C\x6C\x07\x08\x21\x88\x88\x01\xCF\x8A\x25\x87\x35\x89\x03\xB7\x8B\x08\x31\x8B\x2D\x45\x23\x02\x34\xA4\x0B\x8E\x01\x88\x8F\x08\x21\x88\x90\x01\x88\x81\x09\x21\x88\x92\x01\x88\x83", - "\x09\x21\x88\x94\x03\xD2\x86\x10\x15\x02\x21\x8A\x25\x08\x30\x83\x8D\x73\x88\xC4\x81\x36\xB6\x8A\xB1\x88\xBB\x8A\x30\x91\x20\x9A\x01\x88\x8B\x09\x1A\x8D\xAC\x6C\x27\x0C\x36\x87\x12\x9D\x00\xB0\x8E\x09\x00\x8B\x9F\x03\xDB\x8E\x30\xB1\x0C\xA0\x01\x88\x81\x0A\x21\x88\xA2\x01\x88\x83\x0A\x21\x88\xA4\x01\x88\x85\x0A\x00\x8B\xA6\x01\x88\x87\x0A\x32\x8C\xF0\x16\x2A\x0F\x2D\xAC\x02\xDF\x8A\x2B\x01\x22\xAF\x02\x21\x88\x2C\x06\x37\x80\x00\xB1\x01\x88\x82\x0B\x13\x8E\x0D\x8E\x09\x33\x0B\x1F\x8B\xB5\x00\xD2\x83\x13\x77\x02\x98\x8D\x8E\x08\x0B\x21\x88\xB9\x01\x88\x8A\x0B\x21\x88\xBB\x01\x88\x8C\x0B\x21\x88\xBD\x01\x88\x8E\x0B\x13\x8E\xBF\x01\x88\x80\x0C\x1F\x8D\x0C\x8F\xC3\x84\x36\xB7\x8D\x60\x8B\xD9\x80\x36\xBB\x8E\xDF\x18\x31\x01\x22\x85\x03\xA1\x8E\x1B\x66\x0C\x01\x8F\x36\x0F\x31\x00\x2C\x88\x03\xC0\x89\x32\x04\x3C\xB3\x8A\x7E\x0E\x32\x01\x22\x8B\x03\x21\x88\x33\x01\x22\x8D\x03\x21\x8A\x33\x01\x22\x8F\x03\xC0\x88\x34\x01\x22\x91\x03\x88\x8D\x84\x14\x0D\x1F\x8B\xD6\x03\xB7\x88\x0D\x21\x88\xD9\x01\x88\x8A\x0D\x13\x8E\xDB", - "\x01\x88\x8C\x0D\x0B\x8F\x62\x8C\xD0\x2D\x0D\x1F\x8B\xDF\x02\xE7\x8D\x13\x61\x03\xEC\x8D\x9C\x02\x0E\x21\x88\xE3\x01\x88\x84\x0E\x21\x88\xE5\x01\x88\x86\x0E\x21\x88\xE7\x01\x88\x88\x0E\x13\x8E\xE9\x01\x88\x8A\x0E\x34\x8E\xB8\x8B\xED\x8A\x3B\xB5\x8E\x66\x8D\xE6\x8E\x40\xB6\x8E\xBD\x3A\x3B\x05\x3F\xA1\x8C\x65\x8D\xEE\x8F\x40\x8D\x90\x10\x93\xD8\x8D\xEB\x2F\x03\x13\x92\x06\x9E\x41\xBC\x8E\x09\x90\x05\x98\x3B\x8C\x8F\x22\x93\x25\x10\x0F\x1D\x90\x20\x93\xAD\x8A\x42\x95\x90\x24\x93\x07\x9C\x40\x96\x90\x5C\x19\x3C\x08\x42\xAF\x90\x2D\x91\x0A\x9C\x42\xAD\x8F\x34\x90\x0E\x9E\x43\x32\x03\x21\x8B\x3C\x08\x40\xAB\x90\x23\x92\x0E\x90\x44\x8B\x90\x21\x92\x0B\x95\x44\x86\x20\xF7\x01\x88\x88\x0F\x33\x90\x85\x69\x3E\x0C\x44\x90\x0C\xFA\x00\xB0\x8B\x0F\x00\x8B\xFC\x03\x13\x97\x43\xB1\x09\xFD\x01\x88\x8E\x0F\x26\x88\x21\x88\x84\x03\x9E\x01\x00\x11\x09\x56\x72\x00\x21\x91\x98\x7D\xC7\x03\x00\x24\x91\xFC\x84\x01\x08\x46\x81\x04\x2C\x8A\x0F\x17\x00\x2B\x91\xF5\x32\x12\x40\x47\xB3\x07\x0B\x00\x1C\x9B\x1D\x0C\x00\x76\x92\x42\x0D\x00", - "\x39\x91\xEC\x0E\x03\x0C\x47\x86\x04\x0F\x03\x1F\x93\x44\xB5\x41\x10\x03\x1C\x9A\x10\x12\x00\x86\x93\x39\x44\x01\x02\x92\xF0\x15\x05\x0C\x48\x81\x04\x16\x03\x23\x90\x00\x17\x00\x92\x90\x06\x02\x49\x99\x00\x92\x92\x06\x02\x49\x9B\x00\x92\x93\x05\x90\x43\x98\x90\xA0\x93\x27\x92\x4A\xB5\x90\x39\x90\x43\x2C\x01\x12\x92\x1D\x01\x27\x92\x12\x9E\x00\xAA\x92\x90\x1F\x01\x2D\x92\x3D\x08\x08\x00\x4B\xB5\x08\x21\x03\x2C\x92\x44\xB0\x17\x22\x02\x24\x93\x02\x12\x92\x24\x02\x24\x95\x02\x12\x92\x26\x02\x24\x97\x02\x36\x92\x71\x08\x0A\x02\x49\xA9\x00\x70\x91\x1B\x9C\x43\x2C\x00\x89\x92\x41\x0E\x02\x0D\x93\x03\x04\x0C\x02\x49\xB1\x00\x92\x92\x0C\x04\x4C\x93\x0E\x33\x02\x24\x94\x03\x17\x93\x46\x91\x3F\x45\x03\x10\x93\x02\x07\x0D\x00\x4E\xB6\x4D\x39\x00\x37\x94\x3D\x3A\x00\x92\x93\x0E\x02\x49\xBC\x00\x92\x91\x0F\x02\x49\xBE\x00\x92\x93\x0F\x02\x49\x80\x01\xE6\x90\xB9\x01\x04\x12\x92\x42\x03\x38\x94\x44\x83\x92\x19\x92\x0D\x91\x44\x8A\x90\x9E\x90\x29\x9E\x43\x04\x01\x92\x91\x11\x05\x4F\xB9\x85\x46\x03\x41\x98\x5A\x07\x01\x0A\x96", - "\xA5\x3D\x50\x81\x04\x49\x03\x43\x9B\x4F\xB0\x17\x4A\x02\x24\x9B\x04\x12\x92\x4C\x02\x24\x9D\x04\x12\x92\x4E\x02\x24\x9F\x04\x12\x94\x50\x02\x24\x91\x05\x09\x93\xCD\x10\x15\x0A\x4F\x96\x01\xFA\x90\x16\x02\x49\x99\x01\x92\x92\x16\x02\x51\x82\x09\x5B\x02\x24\x9C\x05\x2F\x94\xFD\x92\x5E\x3D\x05\x3A\x93\x5F\x02\x3E\x95\x07\x61\x01\x34\x95\xCC\x02\x06\x12\x92\x63\x02\x24\x94\x06\x12\x92\x65\x02\x24\x96\x06\x12\x92\x67\x02\x24\x98\x06\x3D\x94\x3D\x09\x1A\x02\x49\xAA\x01\x3A\x95\x4D\x97\x44\xA5\x92\x25\x91\x40\x97\x4B\xBF\x93\x55\x96\x54\x9C\x4F\xB8\x6C\x6C\x00\x53\x92\x50\x9B\x95\xA3\x93\x55\x93\x51\x98\x95\xDD\x93\x15\x9B\x28\x2D\x01\x5E\x96\x58\x96\x55\x80\x94\x5A\x97\x50\x7E\x06\x12\x92\x6F\x01\x54\x91\x4A\x9F\x95\x66\x95\x59\x94\x56\xBE\x93\x63\x95\x5E\x92\x24\x31\x01\x92\x92\x1C\x09\x56\xA3\x73\x73\x03\x5F\x9D\x4D\x34\x01\x12\x95\x1D\x02\x51\xB6\x01\x82\x96\x5D\x9F\x79\x52\x92\x78\x02\x24\x99\x07\x12\x92\x7A\x02\x24\x9B\x07\x12\x92\x7C\x02\x44\x9D\x07\x12\x92\x7E\x00\x49\x97\x54\x01\x02\xFA\x93\x20\x0A\x4F\x85", - "\x02\x92\x92\x21\x02\x49\x87\x02\x89\x96\x42\x08\x08\x12\x92\x89\x01\x69\x94\x55\x84\x2F\x8A\x02\x3E\x9C\x08\x32\x95\x3D\x46\x23\x0A\x5A\xBF\x0B\x8F\x02\x24\x90\x09\x12\x92\x91\x02\x24\x92\x09\x12\x92\x93\x02\x24\x94\x09\x12\x92\x95\x03\x6C\x90\x56\xB4\x95\x77\x97\x6A\x98\x57\xAB\x95\x59\x97\x5C\x9C\x36\x16\x02\x92\x93\x25\x02\x5C\xB7\x6E\x98\x03\x73\x95\x48\x19\x02\x12\x96\x26\x02\x51\x9B\x02\xD2\x96\x5E\x98\x33\x1C\x02\x92\x91\x27\x02\x49\x9E\x02\x92\x93\x27\x02\x49\xA0\x02\x92\x91\x28\x02\x51\xA2\x02\x92\x93\x28\x0A\x59\xAA\x16\xA6\x02\x3E\x98\x0A\x3A\x93\xAA\x02\x24\x9B\x0A\x12\x92\xAC\x01\x76\x9D\x0A\x12\x92\xAE\x01\x76\x98\x5C\xB7\x25\xAF\x02\x3E\x91\x0B\x30\x96\xA8\x47\x2C\x0A\x5F\xB9\x08\xB4\x02\x24\x95\x0B\x12\x92\xB6\x02\x24\x97\x0B\x12\x92\xB8\x02\x24\x99\x0B\x12\x92\xBA\x01\x76\x9B\x0B\x12\x92\xBC\x00\x1C\x97\x6D\x5A\x97\xCA\x94\x5B\x99\x61\x89\x97\x61\x96\x86\x9D\x61\x88\x1A\xC2\x02\x24\x93\x0C\x03\x98\x6E\x60\x31\x04\x62\xB6\x0C\xC5\x02\x44\x96\x0C\x12\x94\xC7\x03\x89\x94\x5C\xB2\x0C\xC8\x02\x24", - "\x99\x0C\x12\x92\xCA\x02\x24\x9B\x0C\x12\x92\xCC\x02\x24\x9D\x0C\x12\x94\xCE\x02\x24\x9F\x0C\x2B\x97\xA8\x16\x34\x0A\x4F\x94\x03\xFA\x92\x35\x02\x49\x97\x03\x92\x90\x36\x09\x5D\x99\x03\x92\x92\x36\x0E\x62\xAA\x95\xDE\x2B\x36\x0A\x4F\x9D\x03\x00\x98\x34\x4F\x0D\x0F\x99\x71\x08\x38\x02\x49\xA1\x03\x92\x92\x38\x02\x49\xA3\x03\x92\x90\x39\x02\x49\xA5\x03\x92\x92\x39\x09\x5D\xA7\x03\x92\x90\x3A\x06\x61\x87\x97\x6D\x95\x71\x93\x55\xAF\x99\xC3\x94\x94\x9B\x61\xB0\x06\xEE\x02\x24\x9F\x0E\x18\x99\xF8\x68\x3C\x08\x67\xB0\x0A\xF1\x02\x44\x92\x0F\x12\x94\xF3\x03\x9E\x98\x57\xB4\x03\x92\x91\x3D\x02\x49\xB6\x03\x92\x93\x3D\x02\x49\xB8\x03\x92\x91\x3E\x02\x51\xBA\x03\x92\x93\x3E\x00\x64\xB0\x17\xFE\x02\x3E\x96\x23\x03\x41\x99\x7F\x8D\x09\xD5\x43\x00\x9A\x99\x19\x91\x10\x04\x00\x9D\x98\x7F\x80\x35\x05\x00\xA1\x9B\x7F\x8A\xB1\x65\x9A\x03\x8B\x9C\x91\xD6\x07\x00\xA8\x9B\x7C\x09\x00\x2D\x9A\xD2\x4B\x02\x08\x6A\xAF\x7E\xD1\x10\x03\x03\x6B\xBA\x91\xB7\x99\x42\x0E\x00\x39\x9A\x80\x90\xAF\x93\x10\x10\x00\xBE\x9A\x40\x01\x01\x01\x9B", - "\x62\x40\xB1\x97\x49\x13\x00\xC6\x98\x05\x08\x6A\x97\x98\xFB\x94\x9B\x9A\x6A\x86\x97\xD0\x98\x9C\x95\x57\x91\x69\x1A\x02\xB1\x9B\x01\x06\x9B\x4E\x74\x07\x08\x6D\x9C\x19\x1D\x03\xB6\x9B\x23\x1E\x00\xDE\x99\x8F\x0F\x01\x21\x9B\x2F\x9B\x2F\x10\x02\x06\x9B\x21\x02\xB1\x92\x02\x06\x9B\x23\x02\xB1\x94\x02\x06\x9B\x25\x00\xB9\x9E\x25\x26\x00\xC6\x9B\x09\x08\x6A\x8A\x93\x87\x12\x0A\x00\x6B\xB4\x76\xFB\x9A\x33\x96\x6C\xAF\x00\xC6\x98\x0C\x02\x6F\xBE\x0D\x31\x02\xB1\x92\x03\x03\x9C\x1C\x98\x6A\x43\x03\x3D\x9B\x28\x04\xC3\x9D\x45\x77\x00\x08\x9C\xEE\x08\x03\x06\x9B\x39\x02\xB1\x9A\x03\x06\x9B\x3B\x02\xB1\x9C\x03\x06\x9B\x3D\x02\xB1\x9E\x03\x11\x9C\xC8\x0B\x0F\x06\x6C\x80\x01\xCB\x9A\xB3\x9F\x61\x8A\x96\xCD\x99\xB4\x91\x67\x9E\x98\x2F\x9A\x11\x06\x6C\x87\x01\x20\x9C\x12\x78\x04\x31\x9C\xAA\x15\x12\x04\x73\x83\x04\x4A\x03\xCD\x92\x10\x0B\x01\x3A\x9E\x9B\x9C\x43\x0C\x01\xC6\x99\x13\x06\x6C\x8E\x01\xC6\x9B\x13\x06\x6C\x90\x01\xC6\x99\x14\x0D\x73\x80\x00\x52\x02\xB1\x93\x05\x37\x9B\xCD\x12\x15\x0E\x70\x9D\x8B\x53\x9C\xB8\x86", - "\x6C\x9B\x01\xC6\x98\x17\x0B\x74\x82\x09\x5D\x02\xB1\x9E\x05\x1B\x9D\x6D\x9B\x8B\x3F\x05\x15\x9D\x61\x01\xD5\x92\x2F\xA0\x9D\x31\x0C\x19\x06\x6C\xA5\x01\xC6\x9A\x19\x06\x6C\xA7\x01\xC6\x98\x1A\x06\x6C\xA9\x01\xC6\x9A\x1A\x08\x76\xBD\x08\x6B\x02\xB1\x9C\x06\x25\x9C\x2A\x9F\xB4\x9D\x77\xBE\x9C\x7E\x9E\xB4\x90\x78\x94\x89\x72\x02\xB1\x93\x07\x37\x9D\x3F\x70\x1D\x08\x78\x91\x13\x75\x03\xD2\x96\x07\x0B\x9D\x77\x03\xE2\x9C\x72\x91\x13\x78\x02\xB1\x99\x07\x06\x9B\x7A\x02\xB1\x9B\x07\x06\x9B\x7C\x02\xB1\x9D\x07\x0B\x9D\x7E\x02\xB1\x9F\x07\x10\x9D\x47\x16\x20\x05\x75\x84\x02\x55\x9E\x21\x06\x6C\x87\x02\xC6\x98\x22\x02\x79\x8B\x0A\x89\x02\xB1\x9A\x08\x2F\x9E\x28\x9F\x10\x3B\x08\x15\x9D\x8D\x02\xD9\x9D\x12\x4F\x02\xB4\x9C\xB2\x00\x09\x06\x9B\x91\x02\xB1\x92\x09\x06\x9B\x93\x02\xB1\x94\x09\x06\x9B\x95\x02\xB1\x96\x09\x3D\x9E\x09\x07\x25\x06\x6C\x98\x02\x7C\x9E\xE0\x98\x61\xA7\x9C\x26\x9D\xB9\x91\x76\xA9\x9C\xD2\x9E\xEB\x5E\x09\x0C\x9F\xD9\x9F\xF5\x9E\x7D\x8F\x9B\xDD\x9C\xF8\x9B\x72\xBF\x2B\x9F\x00\xF7\x93\x7E\xB5\x9E\xE2", - "\x9D\xE0\x97\x7E\x95\x9F\x72\x98\xB7\x20\x0A\x26\x9F\xEA\x9D\xFC\x93\x78\x93\x9F\xD6\x9D\xFA\x93\x7F\xB1\x6C\xA1\x00\xFC\x97\x7F\x9F\x9F\xD4\x9F\xDF\x94\x7F\xAD\x9F\xF5\x9C\x94\x32\x0A\x3A\x9F\xFF\x9F\xE4\x96\x80\x89\x9C\x00\xA1\x02\xA7\x80\x97\x60\xA3\x00\x01\xA8\x7D\xAB\x9F\xFE\x9F\x03\xA2\x7F\x85\xA0\xF8\x68\x29\x06\x6C\xA5\x02\xD1\x9C\x04\xA1\x7E\xBD\x9F\x1B\xA1\x00\xAE\x81\x8A\xA0\x08\xA1\x9C\x0B\x0A\x06\x9B\xAC\x02\x03\xA9\xA1\x6D\x02\x26\xA1\xCC\x0E\x0A\x0B\x9D\xAF\x03\xD2\x90\x0B\x29\xA0\x1C\xA0\xC4\x01\x0B\x06\x9B\xB2\x02\xB1\x93\x0B\x06\x9B\xB4\x02\xB1\x95\x0B\x06\x9B\xB6\x03\xD2\x97\x0B\x06\x9B\xB8\x00\xE9\x9A\x5A\x3B\x02\x55\x9D\x2F\x05\x75\xBF\x02\xC6\x98\x30\x06\x6C\x81\x03\x04\xA2\x30\x06\x6C\x83\x03\x30\xA3\x07\xA0\xAF\x04\x03\x55\x9E\x31\x0A\x7B\xB3\x44\xC8\x01\x14\xAE\x25\x09\x03\xC6\x9A\x32\x06\x6C\x8B\x03\xC6\x98\x33\x06\x6C\x8D\x03\xC6\x9A\x33\x06\x6C\x8F\x03\x5A\xA3\x02\xAC\x7E\xAA\xA1\x11\xA0\xFF\x92\x85\xA1\xA0\x70\xA0\xAC\x00\x0D\x06\x9B\xD1\x01\x1A\xA8\xAF\x52\x03\x76\xA0\xAC\x03\x0D", - "\x0B\x9D\xD4\x03\xD2\x95\x0D\x39\xA1\x78\x96\x35\x06\x6C\x97\x03\xC6\x98\x36\x06\x6C\x99\x03\xC6\x9A\x36\x06\x6C\x9B\x03\x4B\x9C\x37\x06\x6C\x9D\x03\x42\xA0\x6A\x10\x0E\x15\x9D\xE2\x01\xD5\x94\x0E\x06\x9B\xE5\x02\xB1\x96\x0E\x04\xA0\xE7\x02\xB1\x98\x0E\x00\xA2\x6D\xA0\x39\x29\x0E\x15\x9D\xEB\x03\x15\xAD\x13\x6D\x03\xA0\xA2\x41\x0E\x0E\x06\x9B\xEF\x02\xB1\x90\x0F\x06\x9B\xF1\x02\xB1\x92\x0F\x06\x9B\xF3\x02\xB1\x94\x0F\x04\xA0\xF5\x02\xB1\x96\x0F\x29\xA2\x1A\xA1\x2F\xA3\x81\x92\xA0\xFB\x9E\xFD\x94\x81\xA8\x9F\x31\xA3\x2F\xAE\x77\x37\x03\xBC\xA2\x31\xA2\x8C\x80\xA3\xC3\xA0\xD0\x28\x0F\x06\x9B\xF9\x01\x32\xA1\x8C\x85\xA3\xD3\xA3\x1B\xA4\x8C\x96\xA3\x6B\xA1\xAF\x3A\x0F\x06\x9B\xFB\x02\x34\xAD\x70\x7C\x03\xDE\xA1\x29\x5B\x74\xBE\x03\x5B\x9D\x38\xA1\x76\xBE\x08\x5F\x92\xB2\x53\x88\x2A\xA3\x86\x20\x3B\xA9\x88\x2E\xA3\x8C\x20\x3C\xA0\x31\x06\x00\xF2\xA2\x24\x2A\x6C\x78\x9B\x85\x12\x02\x0A\x6C\x4E\x88\xFB\xA0\x16\x45\x8F\x81\x04\x0F\x03\x3F\xA0\x00\x10\x00\x02\xA4\xD4\x01\x01\x02\xA4\x12\x01\x41\xAE\x86\xBB\x37\x13\x01", - "\x3F\xA9\x10\x15\x00\x0E\xA7\xAE\x57\x01\x0A\xA4\xAD\x10\x06\x02\x90\x99\x00\x02\xA6\x06\x02\x90\x9B\x00\x02\xA4\x07\x02\x90\x9D\x00\x02\xA6\x07\x04\x91\x94\xA3\xCD\xA1\x28\xA4\x92\x8C\xA3\x28\xA7\x42\xAC\x86\x86\x04\x1F\x02\x40\xA0\x02\x23\xA4\x06\x81\x08\x00\x93\x89\x19\x22\x03\x4C\xA1\x27\x23\x00\x36\xA7\xA2\x04\x02\x39\xA4\xD7\xA1\x34\x15\x02\x02\xA4\x26\x02\x40\xA7\x02\x02\xA4\x28\x02\x40\xA9\x02\x02\xA4\x2A\x00\x4F\xAA\x10\x2B\x00\x02\xA4\x0B\x07\x8F\x8D\x13\x2F\x01\x44\xA3\x10\x31\x00\x52\xA7\x2A\x42\x90\xB4\x00\x02\xA5\x0D\x0A\x94\xA4\x0B\x36\x02\x40\xA7\x03\x1B\xA5\x1D\xA3\x7E\x38\x03\x15\xA5\x01\x06\x0E\x04\x96\xB7\x51\x3C\x00\x58\xAC\x43\x3D\x00\x02\xA6\x0F\x02\x90\xBF\x00\x02\xA4\x10\x02\x90\x81\x01\x02\xA6\x10\x02\x90\x83\x01\x6A\xA5\xC7\x04\x04\x02\xA4\x45\x01\x5E\xA5\x8D\xA0\xA0\x3D\xA7\x4A\xAE\x8B\xBF\xA5\x82\xA6\x32\xA7\x92\xAA\xA4\xBD\x3A\x11\x0E\x97\xA5\xA4\x61\xA5\x61\xA4\x98\xAB\x5A\x47\x02\x40\xA8\x04\x0B\xA6\x29\xA7\x32\xA8\x98\x81\xA6\x71\xA1\x36\xA8\x99\xB6\x3F\x49\x02\x40\xAA\x04\x14", - "\xA6\x70\x73\x12\x00\x9A\xAD\x12\x4C\x03\x62\xAD\x04\x0B\xA6\x4E\x03\x68\xA7\x98\xB1\x0C\x4F\x02\x40\xA0\x05\x02\xA4\x51\x02\x40\xA2\x05\x02\xA4\x53\x02\x40\xA4\x05\x0B\xA6\x55\x02\x40\xA6\x05\x0F\xA5\x47\x15\x16\x07\x96\x9B\x01\x67\xA5\x17\x02\x90\x9E\x01\x02\xA7\x17\x0A\x9A\xB5\x08\x60\x02\x40\xA1\x06\x07\xA7\x80\xA4\xD0\x22\x06\x27\xA5\x64\x03\x59\xA5\x07\x66\x01\xCC\xA6\xDF\x07\x06\x02\xA4\x68\x02\x40\xA9\x06\x02\xA4\x6A\x02\x40\xAB\x06\x02\xA4\x6C\x02\x40\xAD\x06\x15\xA7\x99\xA6\x49\xA8\x8D\xA6\xA7\xCD\xA4\x7A\xAE\x98\xB9\x95\x6E\x02\x40\xAF\x06\x24\xA7\x30\x70\x1C\x00\x9F\x94\x0F\x71\x03\x62\xA2\x07\x0B\xA6\x73\x03\x7C\xAA\x9E\x8B\x0A\x74\x02\x40\xA5\x07\x02\xA4\x76\x02\x40\xA7\x07\x02\xA4\x78\x02\x40\xA9\x07\x0B\xA6\x7A\x02\x40\xAB\x07\x3C\xA6\xAA\x16\x1F\x07\x96\x80\x02\x67\xA6\x20\x02\x90\x83\x02\x02\xA4\x21\x0A\x9F\x86\x04\x85\x02\x40\xA6\x08\x17\xA8\x83\xA6\x09\x37\x08\x27\xA5\x89\x02\x74\xAD\x12\x4B\x02\x1C\xA9\xC7\x0C\x08\x02\xA4\x8D\x02\x40\xAE\x08\x02\xA4\x8F\x02\x40\xA0\x09\x02\xA4\x91\x02\x40", - "\xA2\x09\x25\xA8\x01\x07\x24\x02\x90\x94\x02\x34\xA8\x63\xAD\xA1\x95\xA6\xAB\xA5\x8F\xA7\x9E\x8D\xA6\xE5\xA4\x90\xAB\x99\xA1\x35\x95\x01\x8E\xAC\xA3\xBF\xA8\x3B\xAB\x65\xA6\x80\x16\x02\x02\xA7\x25\x06\xA4\x8A\xA9\xFB\xA7\x90\xA1\xA5\x9A\xA6\x54\xAB\x94\xA3\x82\x18\x02\x02\xA5\x26\x0F\xA4\xAE\x61\x9A\x03\x96\xA6\x33\x1B\x02\x8B\xA4\x27\x0B\x98\x9D\x02\x5E\xA8\x92\xA2\x10\x1E\x02\x02\xA7\x27\x02\x90\xA0\x02\x02\xA5\x28\x02\x90\xA2\x02\x02\xA7\x28\x0B\x98\xA4\x02\x02\xA5\x29\x0C\xA0\xA8\x16\xA8\x03\x59\xAA\x0A\x27\xA5\xAC\x02\x40\xAD\x0A\x02\xA4\xAE\x01\x8E\xAF\x0A\x02\xA4\xB0\x01\x99\xA9\x9E\xB7\x2D\xB1\x03\x59\xA3\x0B\x22\xA8\x33\x45\x2D\x06\xA8\xB1\x09\xB6\x02\x40\xA7\x0B\x02\xA4\xB8\x02\x40\xA9\x0B\x02\xA4\xBA\x02\x40\xAB\x0B\x02\xA4\xBC\x03\xA3\xA1\xA4\x89\xA9\x96\xA5\xA8\xAE\xA3\x87\xAA\xA0\xAB\x92\x6D\x0B\x02\xA4\xBE\x02\xA7\xA7\x81\x7F\x02\xAA\xA8\xB2\x00\x0C\x0B\xA6\xC1\x03\x62\xA2\x0C\x2D\xAA\xFE\x9F\x30\x02\x90\x84\x03\x02\xA5\x31\x02\x90\x86\x03\x02\xA7\x31\x02\x90\x88\x03\x8B\xA5\x32\x02\x90\x8A\x03", - "\x77\xA8\x7C\x1D\x0C\x27\xA5\xCF\x03\x59\xA1\x0D\x02\xA4\xD2\x02\x40\xA3\x0D\x39\xA8\xD4\x02\x40\xA5\x0D\x34\xAA\x42\xAB\x51\x26\x0D\x27\xA5\xD8\x00\xA3\xAD\x13\x5A\x03\xD4\xAB\x40\x0B\x0D\x02\xA4\xDC\x02\x40\xAD\x0D\x02\xA4\xDE\x02\x40\xAF\x0D\x02\xA4\xE0\x02\x40\xA1\x0E\x39\xA8\xE2\x02\x40\xA3\x0E\x1D\xAB\x86\xA6\x99\xAF\x98\x92\xA9\xD5\xAA\x95\xA5\xAF\xB7\xAB\xD1\x24\x39\x00\xAF\xB3\xAB\x55\xA8\xBE\xA1\xAF\xA4\xAA\xFF\xAB\x35\x15\x0E\x02\xA4\xE6\x03\xBE\xAA\xA3\x81\xAC\x9F\xA8\xC2\xA4\xAF\xA5\xAA\xF2\xAB\x8B\x37\x0E\x02\xA4\xE8\x02\xC1\xA9\x37\x69\x03\x12\xAD\x8E\x0A\x0E\x0B\xA6\xEB\x03\x62\xAC\x0E\x15\xAC\x66\x8D\x3B\x02\x90\xAE\x03\x02\xA7\x3B\x02\x90\xB0\x03\x02\xA5\x3C\x02\x90\xB2\x03\x8B\xA7\x3C\x02\x90\xB4\x03\xC5\xA9\x84\x17\x0F\x27\xA5\xF9\x03\x59\xAB\x0F\x02\xA4\xFC\x02\x40\xAD\x0F\x39\xA8\xFE\x01\x41\xAC\xB1\xA3\xAA\x0C\x24\x00\x06\x27\x36\x87\x44\x2B\xCF\xA9\x1F\xA7\x43\x04\x02\xD0\xA2\x6A\xB0\x13\x05\x02\xD1\xA6\x6A\x86\x00\x4A\xAD\xC6\x67\x00\x0D\xAD\x47\x40\xD4\xAA\x04\x52\xAD\x09\x06\x02\x04", - "\xB5\x90\x41\x57\xAC\xC3\xA0\xB0\xBC\xAB\xF6\xAA\xD6\xAB\x9E\x87\xA9\x42\x70\x03\x09\xB5\x82\x04\x0D\x03\xD8\xA4\x25\x8E\x00\x66\xAE\xDE\x1F\x00\x29\xAD\x3B\x0C\xDB\xA9\x23\x11\x00\x6E\xAE\xA8\xAD\x34\x12\x00\x69\xAF\x04\x09\xB6\x94\x00\x69\xAD\x05\x09\xB6\x96\x00\x69\xAF\x05\x01\xB7\xBD\x08\x18\x01\xDA\xA9\x01\x0D\xAD\xF8\xA1\x3D\x5D\xB4\xB3\x07\x1E\x03\xE1\xAA\x10\x20\x00\x69\xAD\x08\x09\xB6\xA2\x00\x7F\xAD\xD3\x03\x02\x29\xAD\x24\x01\xE4\xAB\xB5\xAF\x38\x25\x02\xE2\xA9\x10\x27\x00\x9A\xAF\xAE\x59\x02\x16\xAE\xD7\x12\x0A\x09\xB6\xAB\x00\x69\xAC\x0B\x09\xB6\xAD\x00\x69\xAE\x0B\x09\xB6\xAF\x00\x69\xAC\x0C\x00\xBA\x9E\x1F\x31\x01\xDA\xA2\x03\x2F\xAE\xBF\x83\x0C\x04\xBB\x8D\x13\x34\x03\xED\xA7\x44\x3A\xAE\x06\x06\x0D\x0C\xBB\x9E\xAD\x57\x11\xDA\xA8\x03\x29\xAD\x39\x01\xDA\xAA\x03\x29\xAD\x3B\x01\xDA\xAC\x03\x3F\xAE\x02\x05\x0F\x09\xB6\xBE\x00\x84\xAD\x33\x11\x04\x1D\xAE\x03\x07\x10\x04\xBD\xBF\x11\x69\xAE\x11\x09\xB6\x87\x01\xCC\xAC\xCA\x08\x04\x29\xAD\x49\x01\xF7\xA7\xB0\x9A\x38\x4A\x03\xF5\xA1\x10\x0C\x01\xE6", - "\xAF\x1D\x5E\x04\x22\xAF\x50\x0F\x13\x09\xB6\x90\x01\x69\xAD\x14\x09\xB6\x92\x01\x69\xAF\x14\x09\xB6\x94\x01\x69\xAD\x15\x0C\xBE\xB9\x08\x56\x03\xFE\xA2\xB7\x97\xAE\x60\xAF\xD7\xA0\xA5\xBE\xAB\x5C\xAC\x01\xB7\x47\x57\x01\xFE\xAC\xCF\xA9\xB0\x85\xB0\xC0\xAF\xC2\xAA\xB0\xBD\xAB\x4B\x1C\x16\x09\xC0\x8D\xAC\x01\xB3\x02\xB3\xBE\x97\xB0\x15\xB1\x4B\x19\x05\x29\xAD\x5A\x03\x04\xB0\xC0\x83\xB0\x0D\xB0\x04\xBF\xC0\x9D\xAD\x23\xB2\x2C\x2B\x05\x29\xAD\x5C\x02\x07\xB3\xCE\x5D\x01\x2A\xB1\x37\x1E\x05\x22\xAF\x5F\x02\xF8\xA0\x06\x2D\xB0\x0E\xB0\xCA\x01\x06\x29\xAD\x62\x01\xDA\xA3\x06\x29\xAD\x64\x01\xDA\xA5\x06\x29\xAD\x66\x02\xF8\xA7\x06\x29\xAD\x68\x01\xF4\xA4\xE4\x69\xAF\x6D\x01\xFA\xAF\x06\x29\xAD\x70\x01\xDA\xA1\x07\x34\xB0\x0A\x06\x1C\x09\xB6\xB3\x01\x50\xB0\x09\xB2\xA6\x34\x01\xE9\xAE\x1D\x09\xBE\x9A\x79\x55\xB3\xBF\x09\x07\x29\xAD\x7A\x01\xDA\xAB\x07\x29\xAD\x7C\x01\xDA\xAD\x07\x29\xAD\x7E\x01\xDA\xAF\x07\x1D\xB1\x21\xB2\x15\xB8\xC1\xA0\xB0\x25\xB1\x1B\xB6\xC0\xB5\x41\x80\x01\xDA\xA1\x08\x2C\xB1\xB7\x6E\x20\x08\xC7", - "\x85\x12\x83\x02\xF8\xA4\x08\x22\xAF\x85\x03\x1E\xBF\xC6\xBB\x08\x86\x01\xDA\xA7\x08\x29\xAD\x88\x01\xDA\xA9\x08\x29\xAD\x8A\x01\xDA\xAB\x08\x22\xAF\x8C\x01\xDA\xAD\x08\x06\xB1\xAA\x14\x24\x09\xBE\x92\x02\xE9\xAC\x25\x09\xB6\x95\x02\x69\xAE\x25\x02\xC8\x97\x02\x69\xAC\x26\x02\xC8\x99\xB0\x06\x21\x26\x09\xBE\x9B\x02\x5B\xB1\x4B\x4D\x09\x23\xB2\x39\x0A\x27\x09\xB6\x9F\x02\x69\xAC\x28\x09\xB6\xA1\x02\x69\xAE\x28\x09\xB6\xA3\x02\x69\xAC\x29\x02\xC8\xA5\x02\xAC\xB3\xFF\xA2\xC0\xBE\xB2\x16\xB0\x29\xBE\xC6\x82\xB3\x73\xB0\x3C\x16\x0A\x3D\xB2\x0A\xB1\x0D\xB3\xC8\x89\xB3\x22\xB0\x03\xBD\x76\x27\x02\x69\xAC\x2A\x08\xCC\x94\xB0\x70\xB2\x33\xB6\xCD\x8B\xB3\xD4\xB0\x30\xB9\x6B\x29\x02\x69\xAE\x2A\x03\xCD\x96\x65\xAB\x03\x37\xBE\x37\x2C\x02\xE2\xAD\x2B\x02\xBE\xAE\x02\xE2\xB1\x30\xB9\x23\x2F\x02\x69\xAC\x2C\x09\xB6\xB1\x02\x69\xAE\x2C\x09\xB6\xB3\x02\x69\xAC\x2D\x02\xBE\xB5\x02\x69\xAE\x2D\x04\xC9\xA8\x16\xB9\x01\xFA\xAB\x0B\x29\xAF\xBD\x01\xDA\xAE\x0B\x29\xAD\xBF\x02\x20\xB0\x0C\x29\xAD\xC1\x01\x3A\xBA\xCC\x8E\x23\xC2\x01", - "\xFA\xA4\x0C\x29\xB2\x33\x46\x31\x0A\xD0\x8A\x04\xC7\x01\xDA\xA8\x0C\x29\xAD\xC9\x01\xDA\xAA\x0C\x29\xAD\xCB\x01\xDA\xAC\x0C\x29\xAD\xCD\x03\x44\xB3\xCC\x95\xB3\xD8\xB3\x07\xBA\xCD\x8D\xB3\x25\xB4\xE9\x1E\x0C\x22\xB4\xC5\xB3\x49\xB3\xD2\xAE\xB4\x2D\xB4\x33\xBF\xD2\xB2\xB4\x31\xB5\x36\xB4\xD3\xB2\xB1\x03\x07\x33\x0C\xD2\xB8\xB4\x71\xB1\x4F\xB7\xCD\x84\xB3\x3C\xB7\x4F\xB4\xD2\x80\xB5\x14\x44\x34\x09\xB6\x91\x03\x3B\xB5\x34\x62\x0D\x09\xB5\x28\x0F\x34\x02\xBE\x94\x03\xE2\xAD\x35\x0C\xD4\x97\xB0\xD6\x01\xDA\xA7\x0D\x29\xAD\xD8\x01\xDA\xA9\x0D\x29\xAD\xDA\x01\xDA\xAB\x0D\x22\xAF\xDC\x01\xDA\xAD\x0D\x3B\xB3\xF0\x14\x38\x09\xBE\xA2\x03\xE9\xAC\x39\x09\xB6\xA5\x03\x69\xAE\x39\x02\xC8\xA7\x03\x69\xAC\x3A\x03\xD5\x84\xB5\x61\x1D\x3A\x09\xBE\xAB\x03\x10\xB7\x29\xA3\xD5\xAE\x03\x69\xAF\x3B\x09\xB6\xB0\x03\x69\xAD\x3C\x09\xB6\xB2\x03\x69\xAF\x3C\x09\xB6\xB4\x03\x73\xB7\x50\xBE\xE2\x35\x03\x89\xB4\x4C\xB1\xD4\xA9\xB4\xEA\xB2\x63\xB5\xC2\x36\x03\x8D\xB7\x4D\xBE\xD3\x90\xB6\x0B\xB6\x62\xB2\xD9\x82\xB5\x9B\xB6\xDE\x17\x0F\x15", - "\xB6\x36\xB5\x68\xB6\xD2\x96\xB6\x9C\xB4\x69\xB8\xD9\x8E\xA3\xA0\xB7\x68\xB2\xDA\xBF\xB2\xA6\xB4\x5D\xB7\xDA\xB3\xB4\xAB\xB5\x64\xBD\xDA\x9A\xB6\xB3\xB6\x30\xA9\x0F\x29\xAD\xFA\x01\x6A\xB0\x65\x7B\x03\xBA\xB7\xA2\x0C\x0F\x22\xAF\xFD\x03\x16\xB9\xB6\x83\xA4\x6F\x40\x6D\xB5\x23\x01\x00\x3C\x0E\x18\x99\xDC\x9E\x9A\x3B\x43\x72\xB9\x46\x8E\xB7\xA6\x99\x01\x00\xDD\x99\x6C\x06\x03\x74\xB4\x6B\xB1\x09\x07\x02\x75\xBF\x11\x13\xB7\x85\xAC\xD4\x0B\x00\x13\xB7\x14\x34\x78\xB7\xD1\x1A\xB7\x09\x04\x04\x04\xDE\x86\x04\x11\x03\x79\xBC\x43\x12\x00\xEA\xB6\x40\x03\x01\x2D\xB7\x01\x04\x05\x00\xDF\x80\x00\x15\x02\x78\xB2\x12\x33\xB7\x18\x03\x7C\xB9\x01\x33\xB7\x1A\x03\x7C\xBB\x01\x33\xB7\x1C\x03\x7C\xB8\xD9\x42\xB8\x38\x0E\x07\x03\xDF\x9F\x00\x04\xBB\x8E\x00\x02\x09\xB8\xA2\x31\x08\x06\xDF\x86\x04\x23\x03\x83\xB1\x9D\x25\x00\xD3\xB5\x2E\x50\x00\x2A\x00\xF3\xB7\x0A\x0C\xE0\xB5\x08\x2C\x03\x7C\xBD\x02\x1B\xB8\x5E\x0A\x0B\x03\xDF\xAF\x00\xF3\xB4\x0C\x02\xE1\x8B\x04\xF3\xB7\x0C\x03\xDF\xB4\x00\xF3\xB5\x0D\x03\xDF\xB6\x00\x20\xB8\xE9", - "\x17\x03\x33\xB7\x38\x01\x8C\xB5\x42\xB9\x00\x36\xB9\x4B\x1A\x03\x39\xB8\x0A\x07\x0E\x07\xE2\x81\x04\x3D\x03\x7C\xBE\x03\x3C\xB8\xB0\xB6\x97\x0F\x03\x33\xB7\x40\x03\x7C\xB1\x04\x33\xB7\x42\x03\x7C\xB3\x04\x33\xB7\x44\x00\x91\xB6\x10\x05\x01\xF3\xB6\x11\x0C\xDD\x8D\x13\x49\x03\x8F\xB0\x00\x0B\x01\x5A\xB9\x13\x03\xDF\x8E\x01\xF3\xB7\x13\x02\xE5\x90\x0C\x50\x03\x7C\xB1\x05\x33\xB7\x52\x03\x7C\xB3\x05\x1A\xB9\x55\x03\x7C\xB6\x05\x33\xB7\x57\x03\x7C\xB8\x05\x33\xB7\x59\x03\x7C\xBA\x05\x23\xB9\x02\x07\x16\x08\xE7\xA8\x0C\x5C\x03\x7C\xBD\x05\x3B\xB9\x00\x02\x17\x00\xE8\xA9\x29\x5F\x02\x96\xB1\x06\x1A\xB9\xCE\x23\x18\x05\xE1\x8A\x04\x68\x03\x7C\xB9\x06\x00\xBA\x6A\x03\x7C\xBB\x06\x00\xBA\x6C\x03\x7C\xBD\x06\x33\xB7\x6E\x02\x96\xB0\x07\x33\xB7\x71\x03\x7C\xB2\x07\x33\xB7\x73\x03\x7C\xB4\x07\x03\xBA\xC6\xB6\x55\x65\x07\x24\xBA\x9D\xB6\x6B\xBA\xEA\xA5\xBA\xAC\xB4\x41\x26\x07\x28\xBA\xB5\xB5\xAC\xB1\xDB\x99\xB6\xA9\xB8\xAB\xB2\xDB\xB3\xBA\x40\x2F\x1D\x00\xEB\xB8\xBA\x45\xB9\xAB\xBA\xDA\xBF\xBA\xBE\xB9\xB0\xB8\x68\x38\x01", - "\xBB\xB8\xB0\xB7\xEB\x86\xBB\xB4\xBA\xAC\xB8\xEC\xA8\xB4\x25\x39\x1E\x05\xEC\x82\xBB\xC9\xB9\xC3\xAA\x07\x0F\xBB\xC7\xB8\xB4\xBC\xEC\xB6\xBA\xD1\xBB\xB2\xBD\xEB\x95\xBB\xDC\xBA\x62\x9B\x07\x14\xBB\xD9\xBA\xB5\xBB\xED\xA1\xBB\xDD\xBB\xB5\xB5\xEB\xB1\x0C\x7C\x00\xB8\xB6\xEE\x8A\xBB\xE2\xB9\x4D\xBA\xED\xAE\xBB\xED\xBB\x63\xBB\xEA\xA7\xBB\xEC\xB8\xBE\x6D\x07\x2A\xBB\xE3\xBB\xBA\xBC\xEB\xB0\xBB\xE5\xB9\xBE\xBE\xEF\xBC\xBB\xE4\xB8\x0C\x7E\x07\x33\xB7\x7F\x00\xBE\xBE\xC6\x40\x02\x06\xBC\x0F\x11\x08\x00\xBA\x82\x00\xA0\xB3\x08\x09\xBC\x97\xB4\x21\x03\xDF\x85\x02\xF3\xB6\x21\x03\xDF\x87\x02\xF3\xB4\x22\x03\xDF\x89\x02\x80\xBA\x22\x03\xDF\x8B\x02\x57\xBB\x51\x1E\x08\x1A\xB9\x90\x02\x96\xB2\x09\x33\xB7\x93\x03\x7C\xB4\x09\x10\xBC\x01\x05\x25\x03\xDF\x96\x02\x80\xBB\x25\x0C\xF2\xAF\xB6\x57\x1C\x26\x0A\xE5\x9A\x02\x88\xB9\x4B\x4C\x09\x33\xBC\x42\x09\x27\x03\xDF\x9E\x02\xF3\xB7\x27\x03\xDF\xA0\x02\xF3\xB5\x28\x03\xDF\xA2\x02\xF3\xB7\x28\x0C\xF3\x98\xBB\xFA\xBB\xBB\xB2\xEF\x8C\xBD\xFF\xB9\x3F\x44\x0A\x0B\xBD\xF4\xB9\xB9\x25", - "\x0A\x14\xBD\xF5\x22\x29\x03\xF3\xA7\x02\xF3\xB4\x2A\x03\xDF\xA9\x02\xF3\xB6\x2A\x03\xDF\xAB\x02\xF3\xB4\x2B\x03\xDF\xAD\x02\xF3\xB6\x2B\x03\xDF\xAF\x02\xF3\xB4\x2C\x03\xDF\xB1\x02\x58\xBD\xC3\xA2\x0B\x31\xBD\x5E\x0B\x2C\x04\xF7\xB1\xBB\x97\xB5\x1D\x44\x0B\x37\xBD\x47\x35\x2D\x03\xDF\xB6\x02\x7C\xBF\x05\x67\x0B\x01\xBE\xC8\x08\x2E\x00\xE8\xB9\x02\x80\xBA\x2E\x04\xF8\xBE\x9F\xBB\x03\x7C\xBC\x0B\x33\xB7\xBD\x03\x7C\xBE\x0B\x33\xB7\xBF\x03\x7C\xB0\x0C\x00\xBA\xC1\x03\x7C\xB2\x0C\x21\xBC\xAA\x15\x31\x0A\xE5\x87\x03\x5A\xB9\x32\x03\xDF\x8A\x03\xF3\xB7\x32\x03\xF3\x8C\x03\xF3\xB5\x33\x0B\xF8\x80\xBC\x06\x22\x33\x0A\xE5\x90\x03\x39\xBF\x4C\x42\x0D\x2B\xBE\x03\x07\x34\x03\xDF\x94\x03\xF3\xB5\x35\x03\xDF\x96\x03\xF3\xB7\x35\x03\xDF\x98\x03\xF3\xB5\x36\x04\xFB\xB9\xBD\x2E\x3A\x36\x03\xFC\xA5\xB6\xFB\xBB\xD3\xB5\xF5\x8E\xBD\xC4\xBD\x58\x7B\x0D\x07\xBF\x34\xBE\xF2\xB1\xCB\x5C\x03\xD0\xBF\xBC\xB5\xEF\xB9\x1A\xDD\x01\xF5\xB0\xF5\xAC\xBE\x51\xBD\xF3\xB7\xFD\x8D\xBD\x0A\x92\x37\x0A\xFD\x8B\xBF\x78\xBC\xF2\xBC\xFC\xA2\x29\xDF", - "\x03\xF8\xBF\xFD\x9D\xBF\xE6\xBD\xF9\xB0\x00\x20\x03\xEA\xBD\xF2\xBE\xFD\xB2\xBF\xED\xBD\xBF\xBC\xFD\xBE\x10\xE1\x01\xFC\xB7\xFE\x91\xBF\xF3\xBF\xFE\xB6\xFD\xB4\xBF\xFC\xBC\xCA\x02\x0E\x3A\xBF\xEE\xBF\xFF\xBE\xFF\x9B\xBF\xD2\xBC\x00\xC6\x00\xCE\x19\xE3\x00\x01\xC6\xFF\x89\xC0\x07\xC0\xF9\xBF\x00\xFD\xBF\x05\xC0\x02\xC5\xC2\x24\x03\xB1\xBF\xFA\xB7\xFF\x90\xC0\x15\xC2\x04\xC1\xF0\xA0\xBF\x13\xC1\xFD\xBF\x01\xEE\xB1\xE6\x02\x03\xC3\x02\xDB\xC0\x14\xC1\x08\xC1\x00\xEB\xC0\xCC\xA3\x39\x06\x02\xE0\xC0\x27\xC0\x07\xCA\x02\xCB\xC0\x33\xC2\x05\xC2\x02\xF0\xC0\x38\xC0\xFB\xBD\x70\x68\x03\x2F\xC2\x0E\xC4\x03\xF1\xC0\x29\xC0\x10\xC7\x03\xF5\x25\xE9\x00\xF4\xBA\x0E\x3D\xC0\x28\xC3\x10\xC9\x04\xEC\xC0\x36\xC0\x13\xCE\x01\xF9\xC0\x4B\xC3\x0F\xC0\x05\xF2\xC0\x42\xC2\x13\xCA\x01\xD6\x30\xEB\x00\x12\xC4\x05\xD3\xC1\x41\xC2\x01\x2C\x0E\x19\xC0\x0A\xC1\x13\xC2\x05\xDC\x89\xEE\x03\x7C\xBF\x0E\x1A\xC1\x5D\x50\x3C\x08\x06\xC1\x04\xF1\x00\xA0\xB2\x0F\x00\xBA\xF3\x03\x1A\xC9\x57\xB4\x03\xF3\xB5\x3D\x03\xDF\xB6\x03\xF3\xB7\x3D\x03\xDF", - "\xB8\x03\xF3\xB5\x3E\x00\xE8\xBA\x03\xF3\xB7\x3E\x0C\xF9\xA8\x16\xFE\x02\x96\xB0\x00\x03\x0D\x40\xAE\x7C\x08\x08\xCC\xB7\x03\x03\x22\xC9\x46\x8E\xC2\xA6\x9B\xA8\x90\x09\xD4\xB7\x93\xC3\x75\xB5\x03\xDC\x2F\x07\x03\x24\xCE\x6A\x9A\xC2\xB1\x99\x25\xCD\x4C\x0C\x00\x9E\xC1\x42\x0D\x00\x21\xC2\x06\x06\x03\x04\x0A\xC3\x04\x0F\x03\x29\xC2\x10\x10\x00\xAA\xC1\x40\x01\x01\x2D\xC2\x00\x02\x04\x00\x0B\xE3\xC1\xBB\x5B\x04\x03\x0B\xE2\xC1\xB8\xC3\x13\xCE\x03\xF9\xC2\x7E\x77\x2D\xCA\x0B\xD1\xC1\xBC\xC1\x18\xCF\x0B\xDB\xC1\xBB\xC3\x30\xC5\xC2\x15\x00\xBE\xC3\x15\xCD\x05\xC5\xC3\xCA\xC2\x12\xC4\x0C\xF9\x85\x16\x01\x32\xC2\x0C\xCD\xC3\x56\xC3\x34\xC6\x0D\xEF\x29\x17\x00\x2C\xC8\x01\x12\xC3\x00\x81\x06\x0C\x0D\xCE\x19\x1A\x03\x37\xCB\x28\x1B\x00\xE2\xC0\x6C\x0C\x01\x25\xC3\x5C\xC1\x40\x0D\x01\x30\xC2\x1E\x00\x2C\xCF\x01\x30\xC2\x20\x00\x2C\xC1\x02\x30\xC2\x22\x00\x3A\xC9\x10\x23\x00\xB0\xC0\x09\x03\x09\xDD\xB7\x38\x0F\x09\x0C\x09\xC9\x04\x29\x03\x3F\xC6\x10\x2B\x00\xB0\xC0\x0B\x00\x0B\xED\x00\xF6\xC3\xBF\x0E\x02\x30\xC2\x2F\x01", - "\x42\xCF\x0C\xD1\x27\x30\x02\x40\xC3\x10\x32\x00\x12\xC5\x17\x54\x03\x0E\xC4\x87\x11\x0D\x00\x0B\xF6\x00\xB0\xC3\x0D\x00\x0B\xF8\x00\xB0\xC1\x0E\x00\x0B\xFA\x00\xB0\xC3\x0E\x08\x11\xCE\xC3\xD1\x60\x0F\x07\x12\xD5\xC3\x11\xC2\x69\xBD\x03\x30\xC2\x3E\x03\x4A\xC4\x0B\xCF\xC4\xCB\xC1\xA1\x6F\x03\x32\xC4\xC1\xC1\x4B\xCF\x62\x80\x01\xB0\xC1\x10\x08\x13\xC6\xC3\x28\xC5\x50\xC7\x47\x42\x01\x3F\xC4\x35\xC3\x13\xF5\xC4\x34\xC6\x50\xC7\x14\xE0\x69\x43\x01\x51\xC7\x0D\xDD\xC0\x46\xC5\x4E\xC0\x15\xEE\x1E\x44\x02\x53\xCA\x13\xD7\xC5\x53\xC4\x56\xC7\x09\xD1\xC5\x40\xC4\x4B\xC1\x27\x05\x01\x56\xC5\x56\xC2\x16\xDB\xC5\x4F\xC4\x59\xCA\x15\xD5\xC1\xCE\x22\x11\x01\x16\xE6\xC5\x63\xC4\x5A\xC2\x15\xEC\xC5\x70\xC6\x5B\xCD\x4A\x07\x01\x6B\xC6\x5C\xCC\x15\xF7\xC5\x65\xC6\x5D\xC9\x17\xF6\x58\x48\x01\x5D\xC9\x0E\xDE\xC5\x71\xC7\x5F\xCB\x14\xC0\xC6\x7A\xC7\x59\xC2\x18\xEE\x5C\x7E\xC4\x33\xCD\xB0\x8A\x01\x2B\xC7\x12\x09\x18\xC0\xC3\x5D\xC7\x60\xC2\x19\xEF\xC5\x85\xC5\x5B\xCD\x4C\x0C\x01\x8F\xC5\x52\xC4\x18\xC7\xC6\x91\xC4\x65\xCC\x19\xFD", - "\x44\x4D\x01\x66\xC8\x14\xE3\xC6\x4A\xC6\x67\xCA\x18\xC6\xC6\xA7\xC6\x02\x9E\x04\x22\xC6\x85\x13\x13\x0C\x1A\xDB\xC6\xA9\xC5\x60\xC1\x1B\xD5\xC6\xB2\xC4\x64\xC8\x17\xE8\xC6\xB6\xC7\x5E\xC7\x0E\x50\x01\xAF\xC7\x64\xCD\x19\xFF\xC6\xB7\xC6\x65\xC3\x1B\xC7\x25\x51\x01\x6F\xCD\x12\x52\x01\xB0\xC3\x14\x06\x1C\xEE\x61\x54\x03\x4A\xC5\x05\x2F\xC6\x56\x03\x4A\xC7\x05\x2B\xC4\x58\x03\x72\xC6\xDA\x99\x01\xB0\xC2\x16\x00\x0B\xDB\x01\xB0\xC0\x17\x00\x0B\xDD\x01\xB0\xC2\x17\x0B\x12\xDF\x01\xB0\xC0\x18\x0B\x0F\xCD\x13\x63\x01\x45\xC1\x10\x25\x01\xEA\xC4\x00\x07\x06\x30\xC2\x68\x00\x2C\xC9\x06\x2F\xC6\x6A\x00\x2C\xCB\x06\x16\xC7\xBA\xC7\xD5\x1C\x06\x2D\xC7\x6E\x01\x7B\xC5\x07\x70\x01\xF8\xC6\x97\x01\x07\x30\xC2\x72\x00\x2C\xC3\x07\x30\xC2\x74\x00\x2C\xC5\x07\x30\xC2\x76\x00\x2C\xC7\x07\x01\xC8\xD7\x10\x1E\x00\x0B\xF9\x01\x10\xC8\xBE\x6A\x07\x15\xC8\xB0\x0B\x1E\x0B\x12\xFC\x01\x2B\xC5\x1F\x08\x21\xF8\x95\x7E\x00\x2C\xCF\x07\x30\xC2\x80\x00\x2C\xC1\x08\x30\xC2\x82\x00\x2C\xC3\x08\x2B\xC4\x84\x00\x2C\xC5\x08\x27\xC7\x47\x14\x22", - "\x0D\x1E\xCA\x02\xED\xC4\x23\x00\x0B\xCD\x02\xB0\xC2\x23\x0F\x1A\xCF\x02\xB0\xC0\x24\x0F\x21\xC3\xC7\x47\x15\x24\x0D\x1E\xD3\x02\xFE\xC5\x4B\x45\x09\x3F\xC8\x06\x06\x25\x00\x0B\xD7\x02\xB0\xC0\x26\x00\x0B\xD9\x02\xB0\xC2\x26\x00\x0B\xDB\x02\xB0\xC0\x27\x0F\x1A\xDD\x02\x48\xCA\x66\xCE\x1B\xC1\xC7\xB5\xC6\x96\xC6\x1A\xF9\xC6\x00\x82\x27\x00\x0B\xDF\x02\x59\xC8\x69\xC0\x1B\xE0\xC9\xC2\xC4\x9A\xCD\x25\xE5\x30\xA0\x01\x99\xC5\x1A\xC0\xC7\xF9\xC6\x97\xC0\x27\xF8\xC6\x72\xC8\x97\xC4\x1B\xF7\xC9\x9F\xC7\x85\x61\x0A\x30\xC2\xA2\x02\x9B\xC7\x26\xF5\xC9\x71\xCA\x99\xCB\x25\xC1\xCA\x6F\xCA\x9D\xC1\xD6\x23\x02\x7E\xCB\xA0\xC4\x27\xC2\xCA\x5F\xCB\x63\xB4\x0A\x09\xCA\x8D\xC8\xA3\xC3\x27\xE9\xC9\x80\xCB\xA2\xC5\x28\xC0\xC0\xA5\x00\xA4\xC3\x29\xEB\xC9\x97\xCA\xA5\xCF\x27\xD2\xCA\x86\xC8\x90\xCA\x26\xF8\xC9\x48\x72\x29\x03\x09\xD6\xB8\x8A\xC8\xA5\xC0\x2A\xC4\xCA\x9F\xC9\xA7\xCA\x2A\xE0\x69\xAB\x02\xA6\xC1\x2A\xE3\xCA\x79\xCA\xA7\xC9\x2A\xDC\xCA\x2F\x38\x2B\x02\x2B\xEC\xCA\xB7\xC8\xA9\xC4\x2B\xE2\xCA\x95\xC8\xBC\x2D\x0A\x3B\xCA", - "\xB6\xC9\xA4\xCE\x2A\xF8\xCA\xBD\xC9\xAD\xCF\x2A\xED\xCA\x97\x12\x2B\x04\x2C\xCB\xCB\xC9\xC8\xB0\xCB\x2A\xC5\xCB\x9B\xCA\xAF\xC1\x2C\xE5\x90\xAF\x03\xB3\xC8\x2C\xC6\xCB\xCC\xCB\x60\xC0\x0B\x1A\xCB\xD6\xCB\xB4\xC0\x2D\xDC\xCB\xD1\xCB\xAF\xC6\x10\x31\x02\xE0\xCA\xB2\xCB\x2D\xD5\xCB\xEA\xC9\xB8\xC5\x48\x32\x02\xE9\xCA\xB4\xC7\x2C\xEE\xCB\xDD\xC8\xB9\xC6\x2F\xEC\xCB\x6E\xB3\x2C\x01\x2F\xE6\xCB\xD7\xC8\xBD\xC5\x2E\xEC\x6E\xB4\x03\xBE\xCD\x2F\xED\xCB\x04\xCE\xBC\xC5\x2F\xF8\xCB\xFC\xCB\x65\xB5\x0B\x02\xCC\xE2\xCB\xBA\xC3\x2B\xC3\xCC\x06\xCF\xBF\xCE\x8B\x36\x02\x0C\xCF\xBC\xC5\x30\xC9\xCC\x16\xCD\xC4\xC7\x2F\xCF\xCC\x0D\xCE\xE0\xB5\x31\xC7\xCC\x1C\xCD\xC6\xC8\x31\xE0\xCC\xBC\xCA\xB7\x28\x0B\x1F\xCC\x12\xCE\xC8\xC0\x31\xE3\xCC\x29\xCC\xC9\xCF\xA6\x39\x02\x28\xCF\xC6\xC5\x32\xC8\xCC\x2B\xCD\xCD\xCD\x31\xC8\x0B\xBA\x01\xCC\xC4\x33\xF7\xCC\x1A\xCC\xCE\x6B\x0B\x3A\xCC\x21\xCE\xCB\xC3\x2E\xFB\xCC\x2A\xCC\xCF\xC2\x8B\x3C\x02\x40\xCF\xCC\xC1\x34\xED\xCC\x4C\xCE\xCC\xC4\x2D\xF6\x0C\xBD\x01\xD2\xCF\x34\xCA\xCD\x54\xCF\xD4\xC6", - "\x35\xC3\xCD\x9D\x1E\x2F\x02\x35\xD8\xCD\x55\xCC\xD7\xC7\x35\xCE\xCC\x5D\xCF\xBF\x2F\x0B\x1B\xCD\x60\xCF\xD7\xCE\x2F\xCE\xCD\x5E\xCD\xDA\xC5\x36\xEA\xCD\x67\xCC\xD1\xCC\x2C\xC0\x03\x64\xCD\xDB\xCB\x34\xE8\xCD\x6B\xCD\xDD\xC2\x37\xC6\x80\xC1\x01\xDC\xC7\x31\xF6\xCC\x45\xCD\xDF\xC2\x34\xF6\xCD\x7B\xCE\xD1\xCC\x37\xFF\xCD\x5D\x4E\x30\x0A\x37\xFD\xCC\x73\xCE\xDB\xCD\x34\xCA\xCE\x74\xCF\xDD\xC6\x36\xC1\xCE\x7E\xCF\xE2\xC9\x38\xD3\xCE\x61\xCC\xAC\x03\x0C\x07\xCE\x2C\xCE\x48\x84\x0C\x18\xCE\x83\xCE\xE4\xC5\x39\xD0\xCE\x00\x01\x31\x0C\x39\xC2\xCE\x66\x2A\x31\x03\x3A\xE8\x0C\xC7\x03\xE9\xC4\x38\xE0\xCE\x9E\xCF\xE3\xC8\x38\xDF\xCE\xAF\xCE\xEB\xC9\x39\xCC\xCE\x7D\x28\x32\x0A\x3A\xED\xCE\xA4\x1D\x32\x07\x3B\xF9\x08\xCA\x03\xEE\xC4\x3B\xD4\xCE\xB2\xCD\xE7\xCD\x38\xF8\x95\xCB\x02\xEF\xC0\x3C\xEC\xCD\xAC\xCF\xF0\xCC\x8F\x4C\x03\xC6\xCC\xEC\xC3\x3B\xC7\xCF\x80\xCD\xEC\xC8\x3C\xD2\xCF\xDE\x1D\x33\x0D\x3C\xC1\xCF\xA4\xCD\xE4\xCA\x3C\xCF\xCF\xCE\xCD\x3F\x4E\x0C\x17\xCF\xD3\xCC\xF7\xC8\x3D\xDA\xCF\xBF\xCD\xF7\xC9\x3D\xEB\xCE\xD4", - "\xCE\xE3\xC1\x27\x0F\x03\xA7\xCA\x42\x04\x0D\x30\xC2\xD5\x00\xF8\xC1\x3D\xE2\xCF\xE1\xCE\xF0\xC5\x3E\xE3\xCF\xE8\xCC\xFD\xC3\x3F\xF6\xCF\xD0\xCE\xFA\xCB\x3F\xDD\x0C\xD6\x02\xFC\xC9\x6B\x17\x03\xB0\xC0\x36\x02\x40\xE1\x35\xD9\x03\xC7\xCA\x0D\x2B\xC4\xDB\x03\x4A\xCC\x0D\x30\xC2\xDD\x03\x01\xD1\x52\x5E\x03\xB0\xC3\x37\x00\x0B\xE0\x03\xB0\xC1\x38\x00\x0B\xE2\x03\xB0\xC3\x38\x0B\x12\xE4\x03\xB0\xC1\x39\x00\x23\xEA\x16\xE8\x01\x7B\xCA\x0E\x2D\xC7\xEC\x00\x2C\xCD\x0E\x30\xC2\xEE\x03\x6B\xCF\x0E\x30\xC2\xF0\x02\x04\xDA\x3F\xF0\x06\xF1\x01\x7B\xC3\x0F\x05\xC9\x33\x45\x3D\x0E\x27\xF6\x03\xB0\xC3\x3D\x00\x0B\xF8\x03\xB0\xC1\x3E\x00\x0B\xFA\x03\xB0\xC3\x3E\x00\x0B\xFC\x03\xAA\xCD\x3F\x00\x0B\xFE\x03\x32\xD0\x81\x3F\x31\xF1\xC2\x12\x41\x00\x05\x34\x19\x75\x42\x0A\x00\x03\x45\xCC\xB7\x83\xC7\x00\x07\x45\xE9\x91\x5B\xD1\x74\xBD\x45\xD4\xB7\x5F\xD1\x2F\x51\x46\xDF\x04\x63\xD0\xB9\x09\x00\x25\xD1\xC5\x53\x17\xDC\x0F\xF1\x0C\x0D\x03\x17\xD3\x1F\x0F\x00\x6E\xD2\x42\x01\x01\x28\xD1\x76\x74\x1D\xDE\xDE\xB6\xD1\x85\x10\x05\x08\x47", - "\xF4\xB7\x7B\xD0\xEE\xCB\x2D\x71\xD1\x09\x04\x06\x00\x48\xFB\x5A\x1A\x01\x1F\xD0\x4F\x1B\x00\x7B\xD0\x07\x0B\x47\xDD\x00\x7B\xD2\x07\x0B\x47\xDF\x00\x7B\xD0\x08\x0B\x47\xE1\x00\x86\xD1\xCC\x02\x02\x15\xD2\xFD\xCD\xF2\xC7\x3F\xF5\xCF\xE7\xCE\x1F\xDE\x3F\xC4\x2F\x23\x00\x26\xD6\x3E\xE4\xCF\x99\xD1\xFA\xCA\x49\xE5\xD2\xB2\x20\x09\x02\x4A\xF3\x23\x25\x03\x2A\xDC\x49\xE4\xD2\xA3\xD1\xFE\xCC\x3F\xF1\xD2\x79\x1E\x09\x0E\x4A\xFF\xCF\xB0\xD0\xFE\xCE\x49\xE7\xD2\xB4\xD3\xF6\xC3\x4B\xFA\xD2\xBE\xD1\x17\x57\x02\x37\xD2\xF6\x3C\x0A\x0B\x47\xE9\x00\xC4\xD3\x21\x7A\x02\x09\xD3\x47\x17\x0A\x0C\x4C\xC6\x04\x2C\x03\x33\xD3\x10\x2D\x00\x7B\xD2\x0B\x02\x4D\xD7\xB6\x2F\x03\x1E\xD0\x03\x3B\xD1\x31\x03\x1E\xD2\x03\x3B\xD1\x33\x03\x1E\xD4\x03\x17\xD3\x01\x05\x0D\x0B\x47\xF6\x00\x6A\xD1\x33\x19\x03\x03\xD2\x03\x07\x0E\x0C\x4E\xCD\xAF\x7B\xD2\x0F\x0B\x47\xFF\x00\xE4\xD2\xCC\x00\x04\x3B\xD1\x41\x01\x3D\xDB\x4B\xC7\x15\x42\x03\x3B\xD1\x10\x04\x01\xFE\xD3\x1D\x56\x04\x3A\xD3\x38\x0F\x11\x0B\x47\xC8\x01\x7B\xD1\x12\x0B\x47\xCA\x01\x7B\xD3", - "\x12\x0B\x47\xCC\x01\x7B\xD1\x13\x04\x50\xC2\x19\x4E\x03\x1E\xDF\x04\x13\xD4\xB1\x70\x14\x08\x51\xFC\x12\x51\x01\x3D\xD2\x05\x35\xD3\x53\x03\x46\xDB\xFF\x94\x01\x7B\xD1\x15\x0B\x47\xD6\x01\x7B\xD3\x15\x0B\x47\xD8\x01\x7B\xD1\x16\x05\x4F\xDA\x01\x7B\xD3\x16\x09\x4E\xC7\x15\x5E\x01\x40\xD0\x06\x01\xD4\x62\x03\x1E\xD3\x06\x3B\xD1\x64\x02\x48\xD1\x27\x25\x01\x7B\xD2\x19\x0E\x53\xF8\xD2\xCF\x23\x19\x01\x50\xE9\x01\x01\xD5\x1D\x4B\x06\x03\xD5\xB0\x08\x1B\x0B\x47\xED\x01\x7B\xD2\x1B\x0B\x47\xEF\x01\x7B\xD0\x1C\x0B\x47\xF1\x01\x7B\xD2\x1C\x0C\x54\xCA\x04\x73\x03\x56\xD6\x4A\xDF\xD5\x33\xD0\x2F\xD0\x4C\xDB\xD2\x44\xD5\xDE\x14\x07\x1E\xD5\x61\xD4\x58\xDF\x4B\xEF\xD2\xB2\xD1\x27\xD6\x8E\x35\x01\x68\xD7\xD2\x16\x07\x31\xD5\x6E\xD4\x59\xDF\x49\xE2\xD5\x6C\xD7\x3E\xDF\x2F\x37\x01\x74\xD5\x2E\xD9\x57\xC1\xD3\x7E\xD5\x59\xD0\x58\xCA\x19\x78\x01\x5F\xDD\x56\xC1\xD6\x17\x61\x1E\x06\x58\xFA\xD5\x6B\xD6\x60\xDD\xA7\x3A\x01\x8B\xD7\x60\xDC\x58\xD4\x44\x7B\x01\x64\xD6\x57\xE8\xB4\x7C\x02\x65\xD8\x4A\xCD\xD6\x77\xD6\x5A\xD5\x57\xDB", - "\xD6\x9F\xD4\x6A\x4D\x07\x1A\xD6\xBD\xD3\x65\xDE\x59\xC8\xD6\xD4\x82\x1F\x0B\x47\xFF\x01\xA4\xD6\x55\x60\x08\x2D\xD6\x7E\x0D\x20\x05\x4F\xC2\x02\x49\xD5\x8E\x04\x08\x30\xD6\x2A\xC1\x21\x0B\x47\xC6\x02\x7B\xD3\x21\x0B\x47\xC8\x02\x7B\xD1\x22\x0B\x47\xCA\x02\xF5\xD3\x22\x0B\x47\xCC\x02\x33\xD6\x6A\x1F\x08\x01\xD4\x91\x01\x40\xD3\x09\x3B\xD1\x94\x03\x1E\xD5\x09\x06\xD6\x96\x03\x1E\xD7\x09\x3B\xD1\x98\x03\x1E\xD9\x09\x01\xD4\x9B\x03\x1E\xDC\x09\x3B\xD1\x9D\x03\x1E\xDE\x09\x3B\xD1\x9F\x03\x1E\xD0\x0A\x35\xD3\xA1\x02\x61\xD2\x0A\x3B\xD1\xA3\x01\x3D\xD4\x0A\x38\xD6\x11\x21\x29\x01\x50\xE7\x02\xB5\xD4\x39\x29\x0A\x1F\xD1\x16\xBA\x2B\x0B\x47\xEF\x02\xF5\xD0\x2C\x0B\x47\xF1\x02\xF5\xD2\x2C\x0B\x47\xF3\x02\x7B\xD0\x2D\x0B\x47\xF5\x02\x7B\xD2\x2D\x0B\x47\xF7\x02\x7B\xD0\x2E\x0B\x47\xF9\x02\xF0\xD4\x5E\xDE\x58\xE0\xD6\xA8\xD7\x69\xD7\x58\xCF\x23\xBA\x01\x84\xD6\x61\xD3\xD6\x15\xD9\x5A\xDE\x61\xDC\xD6\x12\xD8\xEE\x0B\x0B\x1A\xD8\x1F\xD9\x68\xD3\x56\xD4\xD8\x17\xD8\x2F\x04\x62\xE0\xD8\x1B\xDA\x64\xDE\x62\xE6\xD6\x25\xD9\x87", - "\xD0\x31\x3D\x02\x2B\xDA\x89\xDF\x57\xF0\xD8\x2C\xD9\x8C\xD7\x49\x3E\x02\x7B\xD3\x2F\x05\x63\xF4\x5B\xC0\x03\x8F\xD2\x33\x01\x03\xF5\xD2\x30\x05\x4F\xC3\x03\x42\xD9\xE6\x84\x0C\x3B\xD1\xC5\x03\x1E\xD6\x0C\x3B\xD1\xC7\x03\x1E\xD8\x0C\x3B\xD1\xC9\x01\x3D\xDA\x0C\x3B\xD1\xCB\x01\x72\xD8\x5A\x0E\x03\x01\xD4\x34\x01\x50\xD2\x03\x7B\xD3\x34\x0B\x47\xD4\x03\x86\xD5\x35\x0B\x47\xD6\x03\x49\xDB\x8B\xD6\x33\x17\x03\x01\xD5\x36\x05\x5F\xFD\x44\xDB\x02\x90\xDC\x0D\x3B\xD1\xDD\x03\x1E\xDE\x0D\x3B\xD1\xDF\x03\x1E\xD0\x0E\x3B\xD1\xE1\x03\x1E\xD2\x0E\x06\xD6\xE3\x01\x9A\xD8\x63\xF6\xD8\x13\xD9\x69\xD8\x62\xDC\xD8\x17\xD8\xD4\x04\x0E\x02\xDA\x87\xDA\x9A\xD6\x68\xCF\xDA\x27\xD8\xA4\xD7\x63\xCD\xDA\x83\xDA\x8C\xD1\x8D\x65\x03\x8C\xD8\x98\x16\x0E\x19\xDA\x91\xD9\xA7\xD3\x69\xD2\xDA\x85\xDA\xA7\xD1\x6A\xCE\x19\xE7\x00\xA7\xDF\x69\xE2\xDA\x9D\xD6\x8E\xD8\x68\xC2\x09\xE8\x03\x1E\xD9\x0E\x26\xDA\xAB\x5A\x3A\x05\x4F\xEB\x03\x86\xD4\x3B\x05\x4F\xED\x03\xF5\xD2\x3B\x00\x6B\xCA\x96\xEF\x03\x1E\xD0\x0F\x3B\xD1\xF1\x03\x1E\xD2\x0F\x3B\xD1", - "\xF3\x03\x1E\xD4\x0F\x35\xD3\xF5\x03\x1E\xD6\x0F\x1A\xD9\xF0\x15\x3E\x01\x50\xFB\x03\x01\xD5\x3F\x0B\x47\xFE\x03\x7D\xD2\x61\xD5\x06\x5F\x91\x13\x01\x71\xB5\x69\xCA\x19\x02\x01\xB6\xD9\x08\xC3\x04\x04\x02\xB7\xD3\xB4\xBB\x5A\x06\x02\xB8\xD7\xB4\xAD\x12\x07\x02\xB9\xD6\x6A\x88\x00\xEA\xD9\xC6\x69\x00\x2D\xDB\xDB\x06\x02\x00\x6F\xCA\x04\x0B\x03\xBC\xD9\x10\x0C\x00\xF6\xDA\x41\x0D\x00\x39\xDB\x39\xDB\xD2\x1E\x00\x3C\xDB\x84\xD9\xAA\xDD\x6F\xC1\xDC\x21\xD8\xB2\x0F\x00\x00\xDC\x96\xD9\xC2\xD9\x68\xCE\xDA\xA8\xD9\xC1\xD3\x82\x10\x00\x08\xDF\x21\xC1\x71\xCE\x75\x12\x03\xC4\xD9\x23\x13\x00\x16\xDD\xCC\x04\x01\x19\xDC\x3D\x09\x05\x0C\x71\xF5\x08\x16\x03\xC7\xDE\x29\xD7\x00\x11\xDC\x06\x01\x71\xD9\x00\x11\xDE\x06\x01\x71\xDB\x00\x11\xDC\x07\x02\x72\xF1\x09\x1D\x01\xC4\xDE\x01\x2D\xDB\x6B\xD2\xCD\x01\x02\x2D\xDB\xA1\x74\xCE\xD4\xDA\x51\xDC\x26\x01\xC4\xD7\x02\x2F\xDC\x93\x0C\x0A\x01\x71\xE9\x00\x40\xDE\xC0\xDE\x8B\x2A\x00\x3A\xDC\x6D\x79\x74\xF7\x76\x45\xDC\xF5\x0F\x02\x11\xDC\x30\x01\xC4\xD1\x03\x11\xDC\x32\x01\xC4\xD3", - "\x03\x11\xDC\x34\x01\xC4\xD5\x03\x0D\xDD\x2D\xD9\x2B\x16\x03\x1C\xDD\xAA\xD8\xC3\xD7\x6A\xE3\xDD\xA3\xD9\x37\x17\x03\x20\xDD\x03\xDE\xC2\xDB\x6A\xE2\xDD\x65\xDE\xD1\xDA\x76\xC3\x31\x38\x00\xDA\xD4\x70\xDD\xDD\x94\xD9\xDD\xDF\xC3\x79\x00\x72\xDF\xDB\xDB\x6D\xEB\xDD\x7B\xDC\x3C\x1A\x03\x11\xDC\x3B\x01\xDE\xDB\x70\xFD\xDD\x84\xDE\xDD\xDD\x70\xF4\xDD\xA0\xD9\x4B\x1C\x03\x02\xDE\x7C\xDF\x92\x6D\x03\x0C\xDE\x6C\xDE\xDB\xD3\x78\xC6\xDE\x0A\x92\x0F\x00\x79\xC5\xDE\x89\xDE\xC3\xD1\x76\xE4\x23\x3F\x03\xE5\xD4\x79\xED\xDD\xA0\xCC\x10\x0E\x79\xD9\xDE\x88\xDF\xE1\xDB\x79\xCB\x69\x41\x03\xE8\xD6\x7A\xE9\xDD\x93\xDC\xE9\xD7\x7A\xEE\xDE\xAC\xDD\x1D\x42\x04\x2A\xDE\x64\xDE\xE4\xDD\x78\xF0\xDE\x73\xDE\x8E\xD3\x04\x34\xDE\xA0\xDD\xE9\xD5\x7B\xDA\xDE\x43\x90\x11\x01\x71\xC5\x01\xBC\xDC\x0C\x76\x04\x05\xDF\xD4\x0F\x11\x02\x78\xC8\x01\x82\xDD\x12\x08\x7C\xEE\xB1\x4A\x01\xC4\xDB\x04\x11\xDC\x4C\x01\xC4\xDD\x04\x11\xDC\x4E\x01\xC4\xDF\x04\x02\xDE\x50\x01\xC4\xD1\x05\x34\xDC\x25\x97\xD2\xD3\x10\x16\x01\xE2\xDE\x40\x08\x05\x11\xDC\x59", - "\x01\xC4\xDA\x05\x0F\xDF\x06\x07\x16\x01\x71\xDC\x01\xEC\xDD\xEC\xD0\x4F\x1D\x01\xE5\xDD\x40\x0F\x05\x35\xDF\x77\x51\x18\x01\x7F\xDD\x0C\x62\x01\xC4\xD3\x06\x11\xDC\x64\x01\xC4\xD5\x06\x11\xDC\x66\x01\xC4\xD7\x06\x11\xDC\x68\x03\xFE\xDA\x77\xDC\x2B\x69\x02\x02\xED\x7A\xEB\xDE\xB9\xDE\xFC\xDE\x86\x6A\x01\x0E\xE3\xED\xD0\x81\xCB\xE0\xB8\xDC\x06\xE7\x81\xCF\xE0\xF0\x2B\x1A\x05\x81\xD1\xDE\xC0\xDD\x04\xE2\x82\xDA\xE0\xCB\xC8\x1B\x0F\x81\xD8\xDE\x1B\xE2\x05\xEF\x7B\xF4\x2D\x6D\x03\x09\xEF\x79\xF6\xDE\x20\xE2\xEF\xDD\x7B\xEF\xDE\x29\xE1\x8E\x0E\x06\x2E\xE0\x19\xE0\x07\xE3\x83\xD2\xE0\xD4\xC3\x1B\x08\x83\xF5\xE0\x28\xE3\x0A\xE4\x83\xC2\xE1\x83\xCC\x1C\x0F\x83\xC4\xE1\x23\xE2\x0E\xE0\x83\xC1\xE1\x3B\xE2\x40\x01\x07\x07\xE1\x4D\xE0\x09\xE1\x85\xCA\xE1\x21\xE2\xC2\xD2\x07\x10\xE1\x4B\xE3\x0B\xE5\x85\xD4\xE1\x32\xE0\xBD\xC3\x07\x18\xE1\x5B\xE2\x0A\xE3\x85\xE2\xE1\x59\xE1\xC3\xA4\x07\x20\xE1\x5D\xE1\x18\xE1\x83\xC3\xE1\x63\xE3\x1A\xEC\x83\xF9\xE0\x64\xE2\x1A\xED\xD9\xB5\x01\x68\xE0\x1B\xE5\x86\xC0\xE1\x5A\xE1\x1A\xEA\x87", - "\xF6\xE1\x72\xE1\x1E\xEC\x87\xFB\xE1\x6F\xE3\x9B\x26\x07\x35\xE1\x81\xE2\x02\x97\x07\x11\xDC\x78\x00\x21\xE9\x84\xF1\xE1\x80\xE3\x04\xA9\x07\x0A\xE2\x52\xE2\x62\x9A\x07\x10\xE2\x5C\xE3\x1F\xE6\x89\xC3\xCE\x7B\x00\x25\xE9\x65\x3C\x01\x9A\xE2\x1B\xEB\x88\xDE\xE2\x91\xE1\x1F\xE0\x87\xE4\xB4\x7D\x01\x27\xEC\x84\xF7\xE1\x48\xE1\x28\xED\x88\xD7\xB3\x7E\x02\x29\xE7\x4B\x3F\x01\xAE\xE3\x28\xE7\x8A\xE2\xE2\x78\xE2\x2C\xEB\xA4\x40\x02\xB1\xE1\x2D\xEA\x8B\xE9\xE2\x95\xE1\x21\xED\x86\xF3\xE2\xAB\xE1\x2F\xE7\xBB\x41\x02\xB9\xE0\x2F\xEC\x88\xD7\xE2\x9F\xE0\x30\xE8\x8C\xEA\xE2\x23\xCE\x20\x05\x8C\xFF\xE2\x7E\xE2\x2F\xE8\x8A\xD0\xE3\xAC\xCB\x20\x01\x71\xC4\x02\xCF\xE3\x34\xEA\x8D\xF4\xE2\xCB\xC9\x21\x09\x8D\xDC\xE3\x25\x92\x21\x0F\x8D\xC1\xE3\xC7\xE2\x34\xE7\xC8\x47\x02\xE3\xE3\x32\xE7\x47\x48\x02\xE9\xE2\x39\xE4\x8E\xE0\xE2\xC2\xE2\x0A\x39\x08\x2D\xE3\xC9\xE1\x34\xE5\x8F\xF6\xE2\xF8\xE3\x2E\xEA\x02\xCA\x02\xF4\xE1\x21\x1B\x08\x3D\xE3\xF1\xE1\x40\xE5\x8E\xF7\xE3\xFA\xE0\x0C\x7C\x08\x00\xE4\x03\xE4\x33\xEE\x8E\xEA\xE3\x09\xE6", - "\x40\xE0\x8F\xCD\xE4\x50\x0D\x23\x08\x90\xCF\xE4\x7E\x1E\x23\x03\x91\xCA\xE3\x0B\xE5\x46\xE4\x90\xC6\xE3\x38\x0F\x23\x07\x91\xF6\xE3\x0A\xE7\x46\xE4\x8D\xC5\xE4\xE0\xE3\x36\xE1\x8C\xD0\x02\x1F\xE5\x3E\xEC\x91\xD8\xE4\x25\x31\x24\x04\x89\xD2\x02\x29\xE4\x49\xEE\x7F\x93\x02\x31\xE7\x4A\xE0\x92\xCE\xE4\x32\x38\x25\x04\x89\xD5\x02\x35\xE5\xAF\x36\x09\x3D\xE4\x26\xE4\x43\xE4\x91\xEC\xE4\x21\xE5\x51\xE1\x90\xD7\x02\x40\xE5\x49\xEA\x94\xEF\xE3\xE4\x20\x26\x04\x89\xD9\x02\x49\xE4\x53\xE9\x3B\x9A\x02\x51\xE6\x50\xE4\x94\xF8\xE4\x37\xE4\x44\xE1\x76\x9B\x02\x55\xE6\x46\xE6\x94\xDA\xE5\x57\xE4\x58\xE9\x95\xC3\xE5\x63\xE5\x58\xE4\x96\xEA\xE4\x23\xE6\x4D\xE8\x96\xC1\xE5\x96\x20\x27\x0D\x95\xE2\xE4\x6C\xE4\x5C\xEB\x94\xD6\xE5\xB1\x71\x27\x0F\x96\xC5\x12\x9E\x03\x5D\xE8\x95\xFC\x12\x9F\x02\x5E\xE2\x96\xEB\xE5\x73\xE6\x57\xEA\x77\x20\x02\x11\xDD\x28\x0E\x97\xEE\x38\xA2\x00\x40\xE3\x0A\x02\xDE\xA4\x02\xE0\xD5\x0A\x07\xE6\x38\x6E\x29\x01\x71\xE7\x02\x11\xDC\x2A\x01\x71\xE9\x02\x11\xDE\x2A\x01\x71\xEB\x02\x82\xDC\x2B\x01\x71\xED", - "\x02\xE0\xDF\x51\x10\x0B\x38\xDF\xB2\x00\xFE\xD4\x0B\x11\xDC\xB5\x01\xC4\xD6\x0B\x0E\xE0\xB7\x01\xC4\xD8\x0B\x10\xE6\x28\xD9\x2E\x08\x7F\xFB\x02\xF8\xDD\x1D\x4D\x0B\x14\xE2\xBE\x01\xC4\xDF\x0B\x11\xDC\xC0\x01\xC4\xD1\x0C\x11\xDC\xC2\x01\xC4\xD3\x0C\x11\xDC\xC4\x02\x03\xE5\x0C\x30\xE6\x80\xE6\x54\xE9\x9C\xF4\xE5\xCB\xE6\x60\xE3\x18\xC6\x03\xC8\xE6\x4C\xEC\x9C\xD2\xE7\xCE\xE7\x59\xEE\x25\x07\x03\xD1\xE6\x5A\xE4\x9D\xF2\xE5\xCA\xE7\x76\xEF\x95\xD6\xE7\xDA\xE5\x78\xEF\xAF\x08\x03\xD9\xE5\x5A\xE6\x9E\xF1\xE5\xDF\xE6\x59\xEA\x9E\xE5\xE5\xEC\xE5\x73\xEC\x9D\xD3\xE7\xE2\xE4\xEE\x09\x0C\x25\xE7\xE8\xE6\x3F\x4A\x0C\x0E\xE0\xCB\x02\x03\xEC\x0C\x35\xE6\xE0\xE7\xA2\x0E\x0C\x3C\xE7\x42\x18\x34\x00\xA0\xE2\x32\xD2\x00\x25\xE3\x0D\x34\xE7\x47\x24\x35\x01\x71\xD5\x03\x11\xDE\x35\x01\x71\xD7\x03\x11\xDC\x36\x08\x7F\xDA\x03\x11\xDF\x36\x01\x9A\xC6\x04\xDE\x03\x85\xEA\xF5\x48\xE8\xDF\x1A\x38\x0C\xA1\xF0\xE7\xF8\x6B\x38\x0E\x80\xE4\x03\x0E\xE1\x39\x03\xA0\xEE\xE7\x01\x07\x39\x07\xA2\xC9\x19\xE9\x03\x8A\xEA\xCB\x2B\x03\x94\xE0\x3B", - "\x0F\xA1\xD1\x27\xED\x01\xC4\xDE\x0E\x11\xDC\xEF\x01\xC4\xD0\x0F\x11\xDC\xF1\x00\xFE\xD3\x0F\x11\xDC\xF4\x02\x86\xE2\x10\x37\x03\x42\xE8\xCA\x0A\x0F\x2D\xDB\x00\x00\x10\x00\x7D\x82\x00\x00\x01\x00\x01\x82\x80\x0F\x7D\x82\x83\x82\x03\x83\x87\x87\x89\x82\x83\x84\x83\x0D\x81\x8F\x88\x81\x8B\x8B\x7F\x88\x04\x93\x98\x96\x8B\x8A\x8D\x8A\x8F\x0D\x9C\x91\x9B\x73\x0D\x84\x81\x90\x20\x89\xA2\x88\x9F\x85\x8D\x97\x8F\x2F\xAC\x8B\x8E\x93\x98\x99\x9A\x99\x0C\xB6\xB9\x8D\x8C\x7D\x91\x85\x93\x2A\xA9\x8A\x82\xAE\x84\xA2\x88\xA3\x19\xB1\x81\xAA\xA3\xA4\xA5\xA2\xA7\x47\xD0\x89\xB7\x9B\xA4\xA9\xA6\xAB\x4F\xD8\x91\xBA\xA3\xAB\x9D\xAA\xAF\x57\xE0\x99\xA2\xBB\xAC\xB1\xAE\x88\x3A\xE8\xB8\x8A\xBF\xAC\xB5\xB0\xB7\x63\xF0\xA5\xB2\xB7\xB4\x8B\xB4\xBB\x6D\xF8\xAF\xBA\xB1\xBC\xBF\xB8\xBF\x75\x97\xA9\xA0\xCB\x91\xBE\xC1\xBB\x87\x86\xF4\x86\xB5\xC3\xBD\xC4\xC7\x8B\xF4\x8D\xDD\xBF\xC4\xC9\xC8\xC2\x48\x93\xFF\xB5\xCB\xCF\xC8\xCF\xC0\x9E\xA1\xC3\xDF\xCA\xC8\xD3\xD0\xD1\x88\xA8\xCA\xC7\xDC\xD1\xD5\xD7\xD5\xAE\xB1\xF0\xD3\xD0\xCF\xD5\xDA\xD9\xB7", - "\xB4\xD6\xD6\xDB\xD8\xDD\xDE\xDD\x9D\xBC\xC1\xFE\xD3\xE0\xE2\xD2\xE2\xC7\xC6\xE5\xCB\xE9\xCD\xE6\xA8\xE6\xCF\xCE\xDC\xB0\xE3\xEA\xE8\xC6\xEB\x92\xD8\xD8\xD1\xEC\xED\xE9\xEF\xEB\xDF\xD9\xE1\xFB\xEE\xED\xF0\xF0\xF3\xE2\xE8\xE4\xE7\xFC\xF1\xF5\xF7\xF5\xEE\xF1\xF0\xF3\xF4\xD2\xED\xFB\xF1\xF7\xDC\xBD\x7E\x93\x80\xA1\xDD\xFF\xBF\x40\x85\x72\x80\xC9\x44\x84\x77\x7B\xF9\x48\x8A\x6A\x81\xF6\x4B\x81\x83\x83\x03\x90\x85\x82\x84\x07\xB2\x79\x82\x85\x0E\x91\x8A\x87\x84\x1B\x95\x84\x7D\x86\x1C\xA1\x8E\x87\x85\x1F\x82\x72\x89\x83\x26\xA3\x80\x8A\x8A\x29\xA8\x88\x70\x8B\x2F\xAE\x8A\x72\x8C\x0C\xB8\x7B\x88\x8D\x14\xB8\x8D\x86\x8E\x27\xB6\x8D\x8A\x8F\x31\x80\x93\x8E\x90\x35\xAA\x74\x8B\x91\x37\x84\x99\x8E\x92\x3B\x8C\x9D\x8E\x91\x49\x90\x9F\x8E\x94\x41\x94\x93\x92\x95\x04\xBE\x3C\x7E\x40\xFE\x4B\x98\x96\x97\x0A\x93\x91\x99\x95\x63\x97\x95\x99\x91\x67\xA0\x98\x86\x98\x6B\xA4\x9D\x9A\x99\x6F\xA8\x91\x9E\x9A\x25\xAE\x95\x9C\x9C\x77\xB2\x99\x9C\x9D\x48\xAC\x9B\x9D\x93\x5F\x80\xA9\x9A\xA0\x73\x84\xAF\x9F\x93\x83\x88\xA5\xA2\xA2\x87", - "\xB0\x88\x9D\x9F\x2F\x9B\x91\x41\x97\x86\x90\xAF\xA1\x94\x89\x8E\xAA\x9E\xA5\x9B\x98\xAB\xA2\xA6\x7C\x9E\xAD\xA0\x8F\xA0\x95\xA2\xA8\xA7\xA1\xBE\x98\xAA\xA9\xAA\xA7\xAE\xA9\xAB\xB0\xB6\x9B\xA8\xA3\xB3\xA5\xA4\xAF\xAB\xB2\xB8\xA7\xA5\xAC\xBB\xB9\xAC\xAD\xA7\xBF\xA9\xAE\xAF\xB0\xBD\x85\xB0\xB0\xB1\xC7\x86\xB2\xB2\xB2\xAC\x88\xBB\xB1\xB2\xD0\x8F\xB2\xB5\xB3\xCC\xB7\xA1\xB0\xB5\xD1\x98\xB3\xB6\xB5\xCE\x9A\xBE\xB4\xB7\xD5\xB6\xA2\xB8\xA9\xE4\x92\x50\x00\x05\x26\x57\xB0\xB9\xB6\xEB\x9B\xB3\xBA\x93\xEF\x81\xAD\xBB\xB7\xF1\x99\xA5\xBA\xBC\xF5\x9F\xA7\xBE\xBD\xF0\xBB\xBA\xBD\xBF\x00\xF8\xBE\xBF\xA8\x01\xFC\xB2\xC1\xC1\xFF\x87\xCA\xC2\xC1\x0C\xC9\xCD\xC3\xA1\x01\x28\xBF\x4E\xBA\xF9\x84\xCB\xC2\xC3\x18\xD6\xCF\xC1\xAD\x03\xDC\xC8\xC3\xA1\x02\x12\xCD\x7C\xC5\x1D\xFA\xA4\x83\x00\x22\xDC\x9A\xB8\x01\x29\xD3\xA1\x45\x01\x2D\xC0\x04\xA4\x00\x06\x31\xC3\xCF\x01\x36\xD1\x48\x01\xCE\x0D\x49\x0C\xCD\x42\x0A\x3F\xC3\x43\x02\x42\xC2\x4C\x01\xD1\x01\x4D\x08\xD0\x00\x0E\x0B\xD5\xC6\xC7\x17\xDA\xC9\xC4\xD4\x1B\xE6\xC2\x87\x03\x4E\xE5", - "\xC1\x44\x04\x59\xDF\xC4\xD7\xD4\x56\xF4\xBA\xD5\xB7\xF3\xA5\xDF\xD1\xD8\x66\xE3\xD1\xBA\xDA\xEC\xA7\xD4\xCA\x93\x11\x1D\xD1\xD7\xD7\x52\xC0\x62\x06\xDC\x55\xEF\xD3\xDC\xDA\x6E\xE4\xDD\xDF\xDA\x5E\xFC\xDC\xDA\xBB\x83\xE2\xD1\xE2\xDE\x79\xFE\xD5\xE1\xDA\x87\xCA\xED\xE0\xE0\x7B\xC8\xE0\xDA\xE4\x75\xF4\xD6\xE6\xE0\x8F\xED\xDB\xE3\xDF\x9A\xD9\xE4\xE2\xE7\x86\xD1\xEE\xE2\xE8\x90\xC9\xE5\xEB\xE4\xA3\xE6\xED\xE4\xE9\xAB\xEA\xE2\x87\x04\x78\xE8\xE7\xE9\xE5\x98\xEC\xEF\xE6\xED\xA1\xEE\xE9\xEE\xEC\xAD\xFC\xE7\xEE\xEE\x8C\xF8\xE1\xF0\xF0\x9C\xFF\xEE\xEF\xEE\xB4\xD4\xE7\xE6\xF2\xB5\xC4\xFB\xE7\xF3\xA0\xC3\xF7\xF2\xF4\xC9\xE9\xE3\xF5\xF1\xC8\xCB\xF6\xF5\xF5\xB3\xDA\xFD\xF5\xF3\xD3\xD4\x01\xEC\xF7\xBD\xE4\xF6\xF2\xF9\xD9\xE0\xF8\xF8\xF5\xDE\xE5\xFD\xFB\xF9\xEF\xE9\xFC\xF3\xFC\xDB\xF1\xFC\xFA\xFA\xF6\xD8\xF7\xFC\xFD\xDF\xFC\xFE\xF8\xFE\x00\x9E\x7C\xFC\x01\x85\x7E\x02\xBD\x7D\x80\x02\x92\x7C\x02\x8B\x87\x81\x06\xBF\x79\x81\xFB\x6C\x83\x03\x92\x83\x80\x08\xBA\x7F\x82\xD0\x62\x78\x06\xD1\x7B\x82\x0D\x99\x86\x79\x1C\x9F\x83\xF5", - "\x22\x8B\x7D\x0E\xA0\x86\x83\x21\x89\x84\x0A\xAB\x87\x85\x16\xA3\x82\x85\x2E\x85\x84\x09\xB3\x55\x03\xA5\x56\x03\x7C\xF9\x73\x86\x01\x93\x8E\x81\x0A\x94\x82\x81\x3D\x80\x88\x0F\xC3\x8E\x87\x20\x91\x86\x88\x26\x8F\x84\x0B\xCA\x81\x87\x1C\xB0\x84\x89\x50\x87\x53\x05\x38\x8B\x87\x22\x84\x8A\x88\x56\x99\x88\x16\xDB\x87\x89\x2B\x9D\x8A\x8B\x00\x18\x00\x15\x96\x8A\x86\x32\x8F\x8A\x86\x67\x8E\x8B\x12\xE8\x8B\x8C\x35\x8D\x8D\x8A\x5C\x89\x88\x1B\xEF\x86\x8D\x36\xB0\x8F\x8B\x71\x85\x8F\x0F\x80\x09\x03\x31\xBB\x8A\x7F\x1A\x1E\x8C\x12\xFA\x83\x91\x34\xB7\x8A\x8E\x6E\x91\x89\x22\xF3\x8A\x91\x43\x84\x96\x8B\x88\x8E\x92\x21\xF5\x84\x8F\x3F\x8F\x90\x8C\x91\x94\x91\x23\x9A\x9C\x91\x4E\x8B\x97\x93\x92\x96\x8C\x27\xA0\x93\x95\x50\x95\x95\x90\xA2\x96\x92\x54\x1B\x02\x90\x48\xBC\x44\x03\xAD\x98\x93\x25\xF9\x83\x92\x55\xA9\x90\x95\xA7\x8E\x95\x2D\xB8\x9B\x92\x5B\xB9\x92\x96\xBB\x9A\x97\x2D\xC2\x9F\x96\x5A\x83\x98\x98\xC7\x86\x99\x31\xF8\x8C\x99\x4C\xBE\x95\x97\xBC\x80\x31\x07\x31\x9A\x98\x68\x84\x9E\x9A\xC8\x8B\x9A\x33\xD1\x94\x95", - "\x67\x9E\x96\x94\xD8\x95\x9B\x37\xA5\x94\x9C\x6F\x9D\x9C\x9B\xE0\x83\x9D\x43\x1E\x0B\x69\x0F\x14\x9D\x99\xB3\x90\x9D\x30\xD9\x91\x9C\x79\x89\x9E\x9E\xDA\x91\x9F\x36\xD7\x9A\x9C\x74\xA5\x9E\x9F\xE6\x89\x9F\x39\xFC\x93\xA0\x7A\xBD\x9C\xA0\x02\xA9\xA3\x3F\x88\xAB\xA0\x83\x85\xA2\x9C\xF6\x60\x07\x3B\xFB\x9E\xA0\x85\x81\xA5\xA1\x10\xB6\xA0\x40\x9B\xAC\xA1\x8B\x9E\xA4\xA3\x15\xB8\xA0\x3E\xF5\x94\xA3\x8C\xA2\xA5\xA4\x23\xA7\xA1\x48\x9F\xAD\xA2\x90\xA6\xA4\xA5\x12\x41\x07\x44\xFA\x94\xA7\x79\xAF\xA6\xA5\x29\xAF\xA1\x4E\x9A\xAD\xA5\x9E\xAB\xA0\xA7\x28\xA1\xA9\x4D\xF7\x92\xA8\x9B\xBB\xA7\xA4\x43\xB9\x9E\x51\xC5\xA4\xA9\xA4\xA4\xA6\xA9\x2A\xB7\xA6\x4F\xD2\xAF\xA7\xA9\x87\xAD\x21\x22\x13\xA7\x52\xD0\xAA\xA6\xA6\x8A\xAD\xA9\x5B\xA1\xAC\x58\xE3\xAF\xAB\xB2\x8F\xAA\xAC\x66\xB1\xAB\x55\xC0\xAC\xAA\x9E\x95\xAF\xAD\x54\xB1\xAF\x5A\xD6\xAE\xAB\xB3\xA4\xAE\xAE\x69\xBD\xA9\x5B\xC8\xA8\xAC\xBC\xBE\xAA\xAD\x75\xA0\xB3\x5E\xB0\xA2\xAF\xC0\xBA\xAD\xAF\x82\xA8\xB3\x61\xF7\xA9\xB0\xC6\x8B\xB1\xAF\x6E\xA5\xB3\x60\x89\x23\x05\xA5\x64\x02", - "\xAB\x8E\xB1\xB3\x5C\xF0\xAB\xB2\xC9\x8A\xB2\xB3\x86\xA0\xB7\x64\xF4\xA3\xB4\xCE\xA1\xB4\xAF\x99\xAA\x5D\x09\x18\xB0\xB2\xD4\xAD\xB4\xB0\x9D\xB1\xB7\x69\xB0\xB5\x34\x13\x2C\xB7\xAF\x8F\xB8\xB6\x68\x9F\xBE\xB4\xDD\xBD\xB5\xB1\xAF\xAC\xAC\x6F\xB4\xB5\xB4\xCF\xA9\xB4\xB8\x4E\x47\x07\x6D\xC0\xBE\xB6\xE4\x87\xBA\xB8\xC2\x68\x07\x72\xB9\xBB\x7D\x14\x13\xB8\x23\x2A\x0B\x6B\x0A\x4B\x6C\x05\xA5\x6D\x03\x69\x2E\x0B\x6B\x0B\x4B\x60\x07\xA5\x71\x03\x69\x32\x0B\x6B\x0C\x4B\x64\x07\xEB\xBF\xB4\xBA\xF0\xB7\x8D\x0D\x6E\xB8\x38\x1B\x34\xB8\xBA\xC1\xA4\xB7\x70\xF8\xBD\xB8\xFE\x8C\xBF\xBF\xF6\x77\x07\x7D\xFA\xBC\x2A\x1C\x03\xC6\xB4\xC5\xB2\xB5\x82\xB3\xBE\xBF\xF8\xAF\xBB\xB7\xCF\xA4\xC1\x7E\x88\xCB\xBE\x09\xFD\xBE\xC2\x00\xD0\xC3\x84\xC6\xBB\xC2\x05\xD5\xC4\xC2\x5C\x39\x07\x81\x9C\xC7\xC2\x10\xDD\xC4\xC1\x18\xCE\xC2\x73\xA7\xCB\xC1\x16\xDF\xC4\xC4\x19\xCF\xC2\x8C\xAB\xC5\xC4\x18\xEA\xC5\xC1\x1A\xD5\xC6\x87\x91\xC6\xC4\x1D\xE8\xC5\xC7\x80\x3A\x07\x88\xE5\x6B\x07\x21\xFF\xC6\xC6\x39\xD1\xC4\x8D\xCA\xC8\xC7\x19\xCD\xCB\xC9\x37\xC9", - "\xC5\x92\xD1\xC0\xC8\x2A\xDC\x8C\x07\x4B\x7D\x06\x91\xAE\xCC\xC6\x24\xCE\xCA\xCA\x26\x5E\x07\x96\xAF\xCB\xC6\x16\xE4\xCF\xC8\x65\xDE\xC4\x97\xE6\xCD\xCB\x34\xCC\xC8\xCC\x50\xD3\xCA\x9C\xDF\xC5\xCB\x39\xF1\xCC\xCE\x5E\xD7\xCC\x6C\xBF\x03\xCD\x7B\x80\x0D\xCF\x6C\xC1\xD2\x9A\xE7\xCB\xCD\x41\xED\xC8\xCD\x88\xC5\xD3\x9B\xF5\xC8\xCE\x37\xD6\xCE\xD1\x76\xCF\xCA\xA4\xF0\xC3\xD2\x46\xFA\xCD\xD2\x79\xD8\xD0\xA4\x8D\xD9\xD0\xA9\x01\x08\xD0\x86\xC2\xD3\xA2\x99\xD4\xD2\xAB\x82\x0B\x69\x43\x00\xD7\xA8\x9B\xD7\xD3\x52\xD6\xD2\xD3\x9D\xC7\xD2\xA2\x8F\xD1\xD6\x51\xF4\xD3\xD6\x91\xCE\xD4\xA9\xAF\xDA\xD6\x56\xF0\xD0\xD7\x9C\xC0\xD9\xAB\xBC\xD4\xD9\x80\x04\x0A\xD5\xB7\xC4\xD2\xB2\xB2\xDB\xD8\x5B\xF9\xD5\xD8\xBE\xDD\xD5\xAD\xA1\xD4\xDB\x55\xD3\xDE\xDA\xC2\xDF\xD5\xB3\xD5\xD9\xD8\x66\xF2\x5D\x08\xC8\xCF\xDB\xAE\xE3\xD1\xDA\x68\xD7\xDD\xDB\xCE\xC1\xDB\xB6\xD8\xDB\xDC\x74\xDC\xDA\xDC\xE5\xC4\xDF\xB9\xF0\xD3\xDE\x75\xDE\xD9\xDD\xC3\xD2\xDD\xB6\xD2\xDB\xDE\x73\xFD\xDA\xDF\xED\xDA\xB2\x11\x61\xD6\xDE\x7C\xDA\xDF\xDE\xEF\xC5\xE1\xC2\xF9", - "\xD1\xDF\x86\xC7\x0C\xE0\x0C\xF5\xDD\xC4\xFF\xDD\xE0\x89\xC7\xE6\xE0\xFC\xC1\xE2\xC2\xEC\xD8\xE0\x8E\xD8\xE6\xDF\x1A\xF3\xE1\xC8\x97\xEB\xE0\x92\xDE\xE5\xE4\x19\xFD\xE2\xBB\xA7\xEC\xE5\x95\xEE\xE4\xDE\x3C\x48\x08\xC4\xA6\xEF\xE5\x8D\xF5\xE2\xE4\x2A\xF0\xE7\xC8\xA9\xEF\xE2\x80\xF9\xE6\xE6\x3A\xFF\xE4\xCE\xBD\xE5\xE2\x8A\xD6\xE4\x5D\x49\x11\x66\x00\x40\xEC\xE9\xA1\xE8\xE0\xE4\xC2\x6B\x0A\xD2\x91\x2D\x09\xA9\xCE\xED\xE5\x41\xE4\xEB\xD1\xD0\xEA\xEA\xA3\xDE\xEB\xE7\x5C\xEF\xEA\xCF\xDD\xE0\xED\xB1\xE2\xED\xE8\x65\xE8\xEE\xD0\xB4\xE9\xEB\xB3\xDB\xEE\xEC\x58\xED\xE8\xDB\xF2\xEC\xE6\xB7\xDF\xEB\xED\x75\xF1\xEF\xD5\xB7\xE3\xEF\xBD\xED\xEA\xEF\x7D\xFA\xD3\x13\x33\xE9\xEE\xBE\xC5\xF7\xEF\x86\xFC\xB0\x14\x04\xF1\xEC\xC0\xC7\xF4\xEE\x8D\xE9\xF0\xDC\x92\xFA\xEC\xB2\xF8\xE9\xF2\x88\xF9\xF0\xE4\x93\xFA\xF2\xBF\xDB\xF4\x99\x51\x0C\xF0\xE7\x9F\xFF\xED\xCA\xF6\xE9\xED\xA5\xE9\xF7\xDD\x96\xFC\xF5\xD3\xD7\xF3\xF4\x64\x72\x0A\xE8\xA6\xFE\xF0\xCC\xE4\xF3\xF5\xAE\xED\xF5\xED\xB0\xF1\xF1\xC7\xDE\xF7\xF7\xBD\xF6\xF4\xF0\xBE\xF1\xF8\xDE", - "\xC3\x23\x0A\xB3\xEA\xF4\xEA\xB8\xFB\xF6\xDA\xD4\xF2\xF9\xAF\xEE\xF9\xE7\xC5\xF2\xFB\xDB\xCB\xFF\xFA\xD1\xF0\xFA\xEE\xCF\xFC\xF8\xEE\xD8\xFB\xFB\xD3\xE4\xFA\xF8\xC2\xF4\xFA\xED\xF9\xF3\x51\x54\x09\xF9\xF7\xE1\xF4\xFD\xF1\xC6\xFD\xFD\xF0\xEF\xFE\xFC\xD5\xF3\xF9\xF8\xF4\xFD\xFC\xEB\xF6\xF9\xF6\xF9\xF5\xFF\xF9\xE6\xFD\xF9\xFF\x7E\x7D\xFB\x7F\x7D\xE7\x70\x80\xFC\x78\x7F\x04\x86\x80\x09\x82\x80\xE0\x7A\x7F\x0D\x8D\x7F\xF7\x7E\x7E\x11\x86\x7F\x01\x80\x6F\x55\x0A\x7E\x0B\x8C\x7E\xFE\x78\x14\x56\x03\x7B\x57\x08\x81\x03\x81\x82\x0F\x88\x80\x22\x85\x80\x0C\x86\x82\x1A\x83\x81\x1B\x89\x81\x0E\x88\x82\x2D\x8A\x80\x25\x8D\x7C\x58\x00\x82\x1D\x69\x05\x43\x6A\x05\x4B\x3B\x05\x4B\x3C\x05\x4B\x3D\x05\x4B\x3E\x05\x4B\x3F\x05\x4B\x30\x06\x4B\x31\x06\x4B\x32\x06\x4B\x33\x06\x4B\x34\x06\x34\x8E\x82\x10\x86\x2B\x65\x03\x7B\x66\x0D\x84\x30\x83\x82\x12\x85\x81\x2F\x87\x82\xEB\x37\x06\x54\x8A\x85\x5E\x89\x82\xA5\x18\x06\x5D\x80\x86\x07\x87\x85\x65\x84\x81\x67\x8B\x82\x31\x8F\x85\x59\x84\x86\x2C\x8F\x84\x69\x8A\x82\x65\x39\x06\x4B\x3A", - "\x06\x63\x8D\x86\x10\x4B\x06\x77\x8D\x10\x6C\x0F\x4E\x6D\x0F\x4E\x6E\x0B\x87\x24\x86\x85\x12\x2F\x06\x4B\x30\x07\x4B\x31\x07\x4B\x32\x07\x4B\x33\x07\x4B\x34\x07\xEF\x45\x07\x4B\x36\x07\x31\x33\x00\x10\x49\x07\x56\x79\x10\x7B\x09\x89\x03\x1D\x07\x4B\x3E\x07\x4B\x3F\x07\x43\x60\x08\x4B\x31\x08\x82\x86\x86\x6F\x83\x88\x74\x12\x08\x9C\x82\x10\x84\x0D\x8A\x6A\x8B\x4C\x86\x03\x7B\x87\x0B\x34\x88\x0B\x34\x89\x0B\x34\x8A\x0B\x34\x8B\x0B\x34\x8C\x0B\x34\x8D\x03\x64\x8E\x07\x8A\x68\x89\x8A\xA8\x8B\x86\x6E\x88\x8C\x78\x80\x87\xC6\x85\x8C\xCA\x8C\x8C\xCF\x8A\x8A\x55\x8E\x84\xD2\x8C\x86\xD0\x84\x88\x5C\x4F\x08\xC4\x81\x8B\xD4\x87\x8C\xD8\x82\x87\x58\x87\x8D\xDD\x8E\x8C\xDF\x81\x8E\xD5\x89\x8C\xE5\x81\x87\xE6\x8E\x8D\xE3\x8C\x8D\xD3\x8F\x8E\xD6\x87\x8E\xCB\x82\x8F\xE2\x80\x8F\x9A\x50\x09\xDB\x80\x8E\xEA\x8B\x8F\xCD\x8E\x8E\xF1\x8C\x8E\xF6\x83\x8F\x00\x9F\x8F\xE4\x8D\x8E\xFA\x8D\x8F\x07\x91\x8D\x03\x98\x8E\x06\x9B\x8E\x05\x91\x90\xF5\x84\x90\xFE\x8C\x90\x10\x94\x8F\x16\x9B\x90\x02\x9F\x90\x12\x99\x90\xE9\x88\x90\xA5\x11\x09", - "\xF9\x8E\x90\x13\x99\x91\x1B\x22\x09\x21\x91\x4F\x93\x0B\x34\x94\x0F\x4E\x95\x0B\x34\x96\x0B\x34\x97\x0B\x34\x98\x0B\x34\x99\x0B\x34\x9A\x0B\x34\x9B\x0B\x34\x9C\x0B\x34\x9D\x0B\x34\x9E\x0B\x34\x9F\x07\x92\x1E\x91\x87\xA0\x03\x7B\xA1\x02\x94\x0A\x9A\x91\x14\x9B\x91\x22\x92\x87\xA2\x08\x94\x1D\x99\x94\x23\x98\x1C\xA3\x00\x95\xF5\x44\x0A\x43\x65\x0A\x4B\x36\x0A\x4B\x37\x0A\x4B\x38\x0A\x4B\x39\x0A\x4B\x3A\x0A\x4B\x3B\x0A\x4B\x3C\x0A\x4B\x3D\x0A\x4B\x3E\x0A\x4B\x3F\x0A\x56\x95\x91\x18\x9D\x10\xB0\x03\x7B\xB1\x0F\x96\x4C\x9C\x8F\x52\x9C\x91\x0D\x94\x71\xB2\x06\x97\x68\x33\x0B\x7E\x94\x92\x7A\x90\x97\x4A\x92\x98\x4D\x97\x98\x78\x91\x95\x8A\x9B\x97\x43\x9D\x98\x79\x98\x98\x8E\x9B\x98\x84\x93\x95\x09\x14\x0B\x81\x91\x91\x4B\x99\x99\x86\x99\x98\x8C\x9F\x98\x9C\x93\x99\x83\x97\x97\x91\x9D\x99\x92\x92\x9A\x9E\x92\x15\xB5\x07\x99\xC6\x16\x0B\xAA\x91\x97\x17\x95\x98\x98\x9B\x99\xA3\x90\x9A\x90\x97\x9A\xB6\x95\x9A\x9A\x91\x9B\xBA\x9F\x9A\x72\x57\x0B\xAD\x90\x9B\xBC\x91\x9A\xB9\x91\x9C\xB5\x98\x9B\xB2\x97\x9B\xA4\x99\x9C\xB4", - "\x9F\x99\xA6\x96\x9C\xBB\x9E\x9A\xD0\x90\x9C\xD1\x94\x99\xD3\x92\x9C\xC7\x90\x3C\xB8\x0F\x9B\xD4\x92\x9D\xDC\x9B\x9D\xDE\x96\x9D\xCF\x9D\x9D\xE0\x94\x9C\xCC\x93\x9C\xD5\x95\x9C\xCA\x9D\x9C\xE9\x96\x9E\xE2\x98\x9E\xCB\x93\x9B\xEA\x9F\x9E\xC8\x92\x9F\xCE\x94\x9E\xF0\x9C\x9E\xDF\x9E\x9E\xF1\x9B\x9F\x9A\x59\x0B\xDA\x93\x9E\xE7\x91\x87\xBA\x0F\x9F\xFA\x3B\x0B\x43\x6C\x0B\x4B\x3D\x0B\x4B\x3E\x0B\x4B\x3F\x0B\x4B\x30\x0C\x4B\x31\x0C\x4B\x32\x0C\x4B\x33\x0C\x4B\x34\x0C\x4B\x35\x0C\x4B\x36\x0C\x04\xA5\x9E\x8D\x67\x0C\xB3\x78\x0C\x1D\xA7\x9F\xD7\x9B\x9E\x25\xA4\x9F\x8B\x29\x0C\x23\xA3\x9F\xFC\x97\xA2\x2D\xA1\x9E\xF9\x9E\xA1\x30\xA0\xA0\xED\x92\xA3\xF6\x9C\xA2\xF8\x94\xA3\x1B\x2A\x0C\x2B\xA5\x9F\x01\xA8\x90\xCB\x0F\x4E\xCC\x09\x8F\xCD\x0D\xA3\x26\xA3\xA3\xFA\x99\xA3\x49\xAE\xA2\x4A\xA6\xA3\x3F\xA8\xA3\x4C\xA1\xA5\x48\xAE\xA4\x35\xA4\xA2\x53\xA6\xA5\x37\xAE\xA3\x55\xA0\xA5\x57\xAC\xA5\x59\xA5\x4F\xCE\x06\xA4\x28\xA3\xA6\x2F\xA9\x10\xCF\x02\xA6\x9F\x10\x0D\x68\xAD\xA4\x58\xAF\xA4\x5A\xA1\xA3\x6D\xAB\xA5\x6F\xAA\xA3\x74\xAB", - "\xA4\x5D\xA3\xA7\x76\xAF\xA5\x64\xAC\xA6\x5E\xAE\xA6\x47\xAA\xA7\x65\xAE\xA7\x7B\xA2\xA5\x38\x51\x0D\x6B\xA4\xA8\x82\xA1\xA8\xD0\x62\x0D\x87\xA7\xA7\x7F\xA9\xA8\x7C\xA8\xA7\x54\xA0\xA7\x7D\xA2\xA7\x8F\xA2\x9E\xD3\x0D\xA8\x80\xA1\xA9\x97\xA4\xA9\x92\xA1\xA7\x9E\xAD\xA9\x75\xA3\xA9\xA3\xA0\xAA\xA5\xA5\xA9\xA1\xA3\xA8\x8E\xAA\xAA\x09\x14\x0D\x9A\xA0\xA9\x88\xA6\xA9\xAC\xA0\xAB\xAB\xAA\xA8\xA9\xA6\xAB\xA7\xAF\xA9\xA8\xA9\xAB\x3A\x65\x0D\xAF\xA2\xAB\xB8\xA9\xA7\xB4\xAB\xA9\xB1\xA7\xAB\x9C\xA3\xAB\xC0\xA7\xAC\xC1\xA4\xAA\xC2\xA2\x10\xD6\x0F\xAB\xDF\x27\x0D\x43\x68\x0D\x4B\x39\x0D\x4B\x3A\x0D\x4B\x3B\x0D\x4B\x3C\x0D\x4B\x3D\x0D\x4B\x3E\x0D\x4B\x3F\x0D\x4B\x30\x0E\x4B\x31\x0E\x4B\x32\x0E\xD0\xAC\xAB\xAB\x63\x0E\xB3\x74\x0E\xE9\xAD\xAC\xC6\xA5\xAC\xEA\xAB\x91\xE5\x0F\xAE\xCC\xA7\xAF\xA6\xA0\xAF\xF3\xAA\xAC\xFC\xA2\xAF\xFA\xAF\xAF\xF8\xAB\xAB\x00\xB9\xAF\x01\xB6\x16\xE6\x0B\x34\xE7\x06\xAF\xA6\xA8\x0E\xF9\x89\x0E\xEF\x4A\x0E\xEF\x4B\x0E\x4B\x3C\x0E\x0A\xB2\xB0\x8B\x3D\x0E\x4B\x3E\x0E\x4B\x3F\x0E\x4B\x30\x0F\x4B\x31\x0F", - "\x4B\x32\x0F\xEF\x43\x0F\x4B\x34\x0F\x95\x80\x41\xF7\x00\x8B\x00\x09\x0F\x2A\xBB\x0F\x4B\x3C\x0F\x4B\x3D\x0F\x43\x6E\x0F\x4E\x35\xB1\xBA\xA7\xB3\x8B\x20\x00\x15\x0D\x10\x4B\x7C\xB3\x3B\xB9\x10\x3D\xB4\xAC\x64\x34\x00\x3F\xB3\x32\x7B\x45\x00\x45\xBA\x32\x0D\x16\x00\x49\xBE\x32\x0D\x17\x00\x4D\xB2\x33\x3A\x31\xB5\x33\x39\x00\x54\xB1\x11\x0A\x07\xB5\x0D\x1B\x00\x5A\xB2\xB4\x5E\xB3\xAC\x03\x1C\x00\x5D\xB2\x81\x0D\x03\xB6\xC9\xAE\xAF\x05\xB2\xAA\x03\xB6\xB1\x04\xBD\xB6\x6C\xBF\xB6\x38\xB7\x28\x0E\x06\xB6\x01\x1F\x00\x74\xBB\xAF\x9F\x70\x01\x77\xB8\x52\x11\x0B\xB7\x48\x12\x01\x7E\xB2\x15\x13\x01\xB8\x70\xBA\xB6\x3C\x24\x01\x77\xB5\x01\x77\xB6\x01\x77\xB7\x01\x77\xB8\x01\x77\xB9\x01\x84\xB6\x16\x1A\x07\xB7\x1B\x01\xB5\x96\x8B\x47\x1E\x01\xB5\x41\xB3\x10\x20\x0C\xB9\x11\x12\x02\x77\xB3\x02\x77\xB4\x02\x93\xBB\x28\x25\x07\xB7\x26\x07\xBA\xC8\xA1\xAF\xB5\xA8\x11\x27\x00\xBA\x0D\x19\x02\xB2\xBF\xB5\xDB\x2B\x02\xAC\xB6\x3F\x2C\x07\xB7\x2D\x07\xB7\x2E\x07\xB7\x2F\x07\xB7\x30\x07\xB7\x31\x07\xB7\x32\x09\xBB\xFD\xAF\xBA\x82", - "\x93\x03\xC8\xBD\x68\x34\x0D\xBC\xCA\xB1\xBD\xB6\xBE\xBA\xD3\xB8\xB7\xD2\xB0\xB6\x67\xB7\xBD\xF6\x75\x03\xD0\xB5\xBD\x6B\xB1\xB7\xCB\xAE\xB6\xE0\xB9\xBC\xDE\xB9\xB6\xAD\xB6\xBD\xE5\xB2\xBE\x86\xBA\xBE\xE7\xBF\xBD\x67\x76\x03\xDD\xB8\xBD\xD4\xB2\xBF\xE8\xB4\xBF\xEE\xBD\xBE\xE6\xB1\xBE\x85\xB8\xBF\xEC\xBA\xBF\xE3\xB8\xB6\xFD\xB4\xBE\x56\x57\x03\xB5\xB6\xBF\xF9\xB2\xC0\xD9\xB9\xBE\xFB\xBE\xBF\xEB\xBB\xC0\x08\xC3\xBF\x09\xC6\xC0\x01\xC0\xC0\x0E\xC4\xC1\xFF\xBA\xBD\x10\xC9\xC1\x0D\x79\x03\xF1\xB1\xC1\x1E\xCA\xC1\xF7\xBC\xC0\xFC\xB5\xC1\x18\xC5\xBF\x1F\xC6\xC2\x20\xC7\xC0\x16\xC4\x17\x3A\x0D\xC1\x29\xC3\xC1\x25\xC1\xC2\x0F\xC8\xC2\x34\xC2\xC3\x2B\xC3\xC2\x17\xCA\xC0\x39\xC2\xC1\xC2\x3B\x03\x2E\xC5\xC3\x2A\xC1\xC3\x41\xCA\xC3\x0D\xCB\xC3\x27\xC6\xC3\x42\xC0\xC3\x44\xC8\xC3\x45\xCD\xC4\x4C\xCF\xC4\x22\xC1\xC5\x39\xAC\x03\x05\xC7\xC4\x43\xCC\xC3\x46\xCF\xC2\x24\xCB\xC4\x52\xC7\xC3\x5D\xC9\xC4\x5B\xC8\xC5\x4E\xCF\xC5\x5C\xC3\xC3\x48\xC5\xC6\x5E\xC6\xC6\x57\xC6\xC5\x4A\xCC\x2E\x3E\x07\xB7\x3F\x0F\xC3\x67\xC2\xC6\x50\xCA", - "\xC6\x6D\xCC\xC6\x61\xC8\xC7\x59\xC0\x00\x40\x02\xC7\x6B\xCA\xC5\x7B\xC3\xC7\x12\x21\x04\x7E\xC7\xC7\x80\xC3\xC6\x76\xC9\xC7\x87\xC5\xC7\x69\xC2\xAF\x42\x05\xC8\x8A\xC0\xC4\x86\xC0\x00\x43\x00\xC9\xCB\x44\x04\x96\xC8\xC8\x8D\xC0\xC6\x81\xCF\xC7\x92\xC1\xC9\x82\xCB\xC8\x64\xC4\xC7\xA3\xCC\x59\x45\x09\xC9\xAB\x66\x04\x3F\xC7\x04\xA8\xCF\x19\x48\x07\xB7\x49\x07\xB7\x4A\x07\xB7\x4B\x07\xB7\x4C\x07\xB7\x4D\x07\xB7\x4E\x07\xB7\x4F\x07\xB7\x50\x07\xB7\x51\x07\xB7\x52\x0D\xCA\x89\xC3\xA7\x53\x04\xCC\x26\x24\x05\xC8\xCC\xC9\x9A\xCC\xCC\x8C\xC5\xC2\x55\x0B\xCC\x68\xCE\xCC\x1B\x96\x05\xD2\xC2\x81\x57\x07\xCD\x02\x18\x05\x77\xB9\x05\x77\xBA\x05\x77\xBB\x05\x77\xBC\x05\x77\xBD\x05\x77\xBE\x05\x77\xBF\x05\x77\xB0\x06\x77\xB1\x06\x77\xB2\x06\xDA\xC2\xCA\x39\xA3\x06\xF1\xC1\x22\x64\x05\xCF\xA1\xCF\xC9\x9D\xC3\xC9\x4D\x95\x06\xF8\xC9\x60\x66\x0F\xCF\xFC\xCE\xC9\xF9\xC5\xD0\x04\xD7\xD0\x03\xD9\xD0\xA0\xC8\xD0\x0B\xDA\xD0\xFB\xCD\xD0\x10\xD6\x16\x67\x02\xD0\x5C\x18\x06\x14\xDF\xD0\x18\xDD\xCC\xD3\xCB\xD1\xA4\xC5\xCC\x1A\xDD\xD1", - "\x9B\xCC\xD1\x7A\xC5\x4F\x69\x07\xD1\xF5\x4A\x06\x26\xDF\xCC\x22\xD2\xCF\x21\xD0\xD2\xD4\xCE\xD1\x2A\xDE\xD2\x2B\xDA\xCF\x1F\xD2\x9E\x6B\x09\xD2\xA5\xCC\xD2\x2F\xDD\xD2\x23\xD1\xD3\x3D\xD9\xD3\x34\xDE\xD3\x3A\xD3\xD3\x06\xDE\xD0\x35\xD3\xD4\x32\xD9\xD4\x02\x1C\x06\x38\xD0\xD3\x40\xD5\xD4\x11\xD7\xD4\x41\xDF\xD4\x0C\xD9\xD1\x42\xD3\xD5\x4E\xD9\xD5\x3C\xD8\xD4\x3F\xDA\xD5\x3B\xDF\xD5\x44\xD9\x60\x6D\x0D\xD4\x5B\xD8\xD5\x65\xD0\xD5\x56\xD4\xD5\x46\xD7\xD5\x68\xD7\x76\x6E\x04\xD6\x60\xDA\xD4\x5C\xD3\xD7\x66\xD1\xD7\x5D\xD7\xD6\x55\xD2\xD5\x6D\xDC\xD6\x79\xDC\xD7\x08\x9F\x06\x70\xD5\x2D\x70\x01\xD8\x72\xD5\xD7\x61\xDB\xD6\x6A\xD1\xD5\x7E\xDA\xD8\x89\xD9\xD6\x5E\xD7\xD8\x8C\xDF\xD8\x85\xDB\xD7\x8D\xDA\xD7\x7D\xD5\xD9\x8B\xDE\xD8\x78\xD8\xD8\x77\x41\x07\x84\xD0\x46\x72\x0F\xC3\x73\x05\xCF\x74\x07\xB7\x75\x07\xB7\x76\x07\xB7\x77\x07\xB7\x78\x07\xB7\x79\x07\xB7\x7A\x07\xB7\x7B\x07\xB7\x7C\x07\xB7\x7D\x07\xB7\x7E\x0F\xD9\x74\xD5\x7A\x7F\x0A\xDB\x00\x00\x08\xBE\xD4\xD9\x92\xD7\xD7\x76\xD2\x57\x81\x01\xDC\x97\xD3\xDC\x72", - "\x52\x08\xC8\xD4\x66\x83\x05\xCF\x84\x07\xB7\x85\x07\xB7\x86\x07\xB7\x87\x07\xB7\x88\x07\xB7\x89\x07\xB7\x8A\x07\xB7\x8B\x07\xB7\x8C\x07\xB7\x8D\x07\xB7\x8E\x0D\xDC\x91\xDD\x68\x8F\x0E\xDB\x90\x06\xDE\x9A\xD5\xDC\x86\xD3\xD9\xF1\x41\x09\xEC\xD6\xD9\x9C\xDB\xD9\xC2\x32\x09\xF5\xC3\x09\xF5\xC4\x09\x55\xCB\xDB\xC9\xDA\x2E\x96\x0D\xDF\xB1\x58\x09\x02\xEA\xAF\x9A\x0E\xDB\x9B\x03\xDF\x57\xDC\x09\x77\xBD\x09\x77\xBE\x09\x77\xBF\x09\x77\xB0\x0A\x02\xE2\x0A\x77\xB3\x0A\x98\xB1\x11\xA6\x09\xE1\xC8\x19\x0A\xF5\xCA\x0A\x0A\xEA\x53\xAB\x01\xE2\xCA\xDF\xDE\xC4\xD4\x7D\xAC\x05\xCF\xAD\x05\xCF\xAE\x05\xE0\xFF\xDE\xDE\xB6\x20\x0B\x2E\xE6\x54\xB2\x03\xE3\xBB\xA4\x0B\xBE\xD5\x0B\x24\xE2\xAF\xB6\x07\xB7\xB7\x07\xB7\xB8\x07\xB7\xB9\x07\xB7\xBA\x02\xE0\xBC\x07\xB7\xBD\x0C\xE1\x09\x10\x0C\x4A\xE4\x20\xC3\x05\xCF\xC4\x0B\xE3\x7B\x45\x0C\x52\xE0\xD9\xED\xD6\xE5\x3A\x66\x0C\x55\xE0\xDF\xF5\xD0\xE3\x2F\xE8\xE5\x99\xD4\xDF\xE7\xDE\xE5\x52\x17\x0C\x5B\xE7\xE2\x5C\xE3\xE6\x60\xE8\xD9\x6C\xE5\xE2\xC2\xD6\xDF\x57\xE9\xE6\x71\xE8\xE6\x74\xEC", - "\x45\xC8\x0E\xDB\xC9\x07\xE6\xFE\xDD\xE5\x6B\xEE\xE6\x5F\xE2\xE7\x62\xE3\xE7\x7B\xEA\xE6\x80\xE1\xE6\xCD\x7A\x0C\x36\xE2\xE8\x26\xE3\xE8\x8A\xEF\xE6\xB0\x5C\x0C\x7A\xEB\xE8\x92\xEE\xE8\x7D\xE0\xE7\x81\xE7\xE9\x86\xED\xE6\x96\xE9\xE9\x7E\xEC\xE7\x85\xEA\xE9\x64\xE4\xE8\x75\xE3\xE9\x7F\xE3\xEA\x94\xEF\xE9\x9D\xE2\xEA\x8C\xE6\x90\xCD\x01\xE9\xA7\xE6\xEA\xF1\x4E\x0C\xAE\xE8\x14\xCF\x03\xEB\x9E\xE0\xEB\xB7\xEB\xEA\x9C\xEB\xE9\xA0\xE5\xE9\xEE\xD0\x0D\xB6\xEA\xEA\xA4\xE9\xEB\xC3\xE2\xEC\xAF\xEA\xEB\xBD\xE8\xEA\xBC\xE9\xEA\x8D\xE5\xEA\xC8\xEC\xEC\x98\xE9\xEC\xB8\xE6\xEC\xCE\xE5\xEC\xCD\xE3\xC9\xD1\x01\xEC\xD7\xE4\xED\xC4\xE7\xEC\xD6\xE1\xED\xD0\xEB\xEB\xA1\xEB\xED\xE4\xEA\x63\xD2\x0A\xED\xE0\xEB\xEC\x10\x43\x0D\xE8\xE0\x18\xD4\x0D\xEE\xD2\xEF\xEC\xEA\xE3\xEE\xE9\xE4\xEF\xE2\xEE\xEB\xD5\xB5\x0D\xF0\xE1\xEE\xF1\xEF\xED\xF7\xEA\xEC\xF6\xED\xEF\xDE\xE3\xF0\xD5\xE4\xF0\x93\xC6\x0D\xFB\xE3\xEF\xF8\xE0\xF0\x0B\xF3\xED\xE5\xEF\xEF\x0E\xF5\xEF\x0D\xF2\xEF\x01\xF3\xC3\xD7\x09\xF0\x0D\x18\x0D\x18\xF3\xF1\xFE\xE2\xF0\x05\xFF\xF1", - "\xDD\xE0\xF2\xDC\xE1\x7D\xD9\x0B\xF1\x0C\xF7\xF2\x11\xF0\xF1\x14\xFC\xF1\x06\xF3\xF2\x0F\xFE\xF1\x21\xF1\xF3\x2E\xF2\xF1\x28\xFB\xF2\x35\xFD\xF1\xFC\xE9\xF3\x0A\xF7\xF3\xA5\x1A\x0D\x26\xF9\xF2\x30\xF3\xF3\x2A\xF8\xF3\x3B\xF0\xF4\x3A\xF5\xF1\x45\xF6\xF3\x46\xF1\x11\xDB\x0F\xF3\x4A\xFF\xF4\x44\xF8\xF4\x52\xFC\xF2\x22\xFF\xF2\x47\xF4\xF5\x32\xF6\xF5\x49\xF2\xE9\xDC\x0E\xF4\x51\xF8\xF5\x42\xF1\xF4\x5A\xF3\xF5\x3C\xFC\x23\xDD\x0E\xF5\x2D\xF3\xF6\x60\xFA\xF6\x65\xF9\xF5\x34\xFB\xF4\x64\xF0\xF7\x6B\xFF\xF6\x50\xF9\xF6\x06\x9E\x0D\x68\xF5\xF5\x74\xFF\xF5\x6D\xF1\xF6\x57\xFD\xF7\x89\x2F\x0D\x79\xFE\xF6\x43\xF6\xF7\x85\xFA\xF7\x87\xF4\xF8\x62\xFB\xF7\x86\xFB\xF8\x6A\x50\x0E\x91\xE1\x0E\x83\xFE\xF7\x5B\xFD\xF8\x7F\xF2\xF7\x80\xFC\xF8\x88\xFE\xF8\x9C\xF7\xF9\x75\xF5\xED\xE2\x03\xF9\x6C\xF8\xF9\xA4\xFF\xF9\x8A\xFE\xF9\x7C\xF5\xFA\xA9\xF6\xFA\xC2\x33\x0E\xA2\xFA\xF9\xA7\xF5\xF9\x9B\xF8\xFA\x96\xF2\xFB\xB1\xF1\xF7\xAC\xF3\xFA\x50\xF4\x0E\xAF\xF9\xF8\x94\xF8\xFB\xAB\xF1\xFC\xB5\xF0\xFC\xA5\x15\x0E\xBD\xFD\xF9\xB6\xFF\xFB\x73", - "\xFE\xFB\xBA\xF2\xFC\xB3\xF9\xFC\xCD\xF3\xFC\xCB\xF8\xFC\xC4\xFC\x23\xE6\x07\xFC\xB4\xFF\xFC\xD5\xF7\xFB\xD3\xF9\xFD\x93\xC7\x0E\xD8\xF0\xFD\xB0\xFA\xFC\x99\xFC\xFC\xE3\xF1\xFD\xDA\xFD\xFD\xE2\xFD\x7C\xE8\x01\xFE\xC0\xF9\x0E\xEE\xF4\x7D\xEA\x01\xFF\xE5\xF4\xFD\xEA\xFB\xFD\xE4\xFA\xFA\xD2\xF5\xFF\xDE\xF9\xFF\xB9\xF7\xFE\x00\x86\xFC\x42\x80\xFB\x7C\xFF\x6B\x7C\x50\x6B\x07\xF4\x7A\xF5\x6C\x07\x04\x83\x7F\x6D\x04\x03\x8E\x7E\xDC\x7D\x00\xB8\x7E\xF4\x71\x01\xFA\x7D\xFA\x7E\x22\xEE\x07\x01\xBB\x7E\x0B\x85\x01\xFF\x7F\x00\x9D\x7F\x14\x86\xFF\x50\x80\x11\x8B\x01\xF4\x6B\x3B\x1A\x80\x17\x84\x03\xA4\x81\x14\x8E\x01\x84\x82\x0A\x81\x81\x30\x81\x00\xAE\x81\x16\x80\x02\xB2\x81\x0D\x9F\x80\x06\x80\x23\x30\x07\xBB\x51\x0F\x28\x81\x07\x83\x81\x31\x80\x07\x93\x80\x1B\x89\x03\xC5\x83\x10\x82\x82\xF7\x79\x09\x92\x80\x25\x8F\x02\xC4\x83\x11\x93\x81\x40\x86\x09\x8C\x82\x1A\x86\x04\xC6\x0E\x3C\x1E\x81\x2B\x87\x07\xB9\x67\x79\x08\x05\xC1\x80\x14\x85\x81\x51\x80\x09\x8B\x83\xEA\x44\x0F\x5D\x82\x14\x83\x83\xF6\x3D\x1E\x35\x66\x7B\x06", - "\x06\xE2\x81\x13\x8E\x83\x54\x87\x09\xB7\x80\x5C\x57\x0F\x6D\x83\x17\x8C\x81\x72\x40\x1F\x35\x67\x7C\x06\x07\xF3\x82\x1F\x95\x82\x68\x81\x0E\x93\x83\x86\x3A\x0F\x7D\x83\x48\x06\x84\x72\x80\x10\xAF\x83\x3B\x8A\x05\xF8\x80\x18\x8F\x84\x8E\x81\x12\x8D\x85\x49\x87\x4F\x7C\x04\x22\x83\x84\x90\x84\x12\x9E\x83\x3F\x89\x08\x9D\x84\x26\x92\x84\x59\x81\x14\x9B\x84\x45\x82\x08\x81\x85\x18\x8C\x84\xF7\x25\x1F\x17\x84\x53\x89\x09\xBB\x56\x3F\x0B\x85\x8B\x84\x13\x9F\x84\x4D\x87\x06\xB1\x84\xA7\x30\x85\xA5\x86\x16\x8C\x38\x00\x06\x01\x69\x14\xD9\x01\x00\xBD\x80\x68\x64\x85\x53\x82\x0B\xAC\x84\x28\x83\x85\x9E\x83\x20\x03\x01\x60\x83\x10\x1D\x5E\x2E\x93\x85\xA2\x84\x2E\x05\x00\x66\x8A\xB4\x55\x16\x01\x14\x86\x01\x0E\x19\xB9\x85\x6D\x84\x0C\xC3\x85\x2B\x88\x86\x83\x80\x01\x18\x86\x00\x0A\x0D\xDD\x85\x32\x8F\x86\x04\x12\x01\x23\x87\x99\x16\x2B\x0B\x03\x3A\x9E\x86\xC7\x85\x16\x9C\x87\x6F\x82\x0F\xE6\x86\x71\x0C\x00\xEF\x83\x46\x4D\x01\x7C\x80\x0D\xE0\x86\x31\x94\x85\x70\x86\x1E\xBF\x87\x68\x81\x10\xF4\x85\x41\x91\x87\x57\x6E\x01", - "\x3C\x87\x81\x8E\x0F\xE8\x86\x43\x93\x87\x08\x88\x15\x8D\x88\x88\x80\x10\xB8\x57\x03\x0B\x88\x0F\x8A\x20\x99\x88\x83\x82\x11\xF5\x84\x47\x98\x08\x10\x00\x23\x94\x88\x82\x8D\x11\x87\x89\x45\x85\x86\x1B\x89\x22\xA8\x89\x91\x83\x11\x9A\x88\x4B\x82\x55\x11\x02\x24\xAE\x89\x99\x8F\x11\xF0\x87\x49\x96\x89\xC2\x72\x02\x32\x89\x9A\x87\x0E\xDC\x23\x04\x1B\x89\xA4\x54\x02\x00\x8A\x27\x15\x01\x32\x8A\x05\x12\x89\x17\x02\x26\x98\x00\x99\x89\x01\x32\x8A\x06\x12\x89\x1B\x02\x26\x9C\x00\x99\x8D\x01\x32\x8A\x07\x12\x89\x1F\x03\x28\xA4\x89\x14\x40\x02\x5A\x88\xF0\x01\x01\x5E\x8E\x23\xAA\x88\x9C\x8A\xE8\x22\x01\x58\x80\x4D\x23\x07\x2C\xA5\x89\xB5\x8B\x12\xB4\x8B\x58\x9D\x89\x6E\x8F\x26\xB0\x8A\x9E\x8D\x0F\xE2\x8A\x54\x04\x01\x6A\x8D\x2D\xB4\x8A\x86\x86\x17\xDB\x88\x59\x9D\x8B\x2D\x8B\x2F\x99\x89\x12\x09\x17\xFF\x8A\x49\x9E\x8B\x73\x8F\x2D\xB5\x8B\xC3\x81\x18\x8A\x8C\x5F\x8C\x8C\x80\x89\x32\x90\x8D\xC9\x8C\x16\x90\x22\x09\x05\x8C\x89\x8A\x2E\x8B\x8D\xCA\x89\x19\x88\x8F\x66\x9A\x8B\x8E\x89\x25\x9A\x8D\xC7\x8C\x19\x9F\x8E\x61\x85", - "\x8D\xA4\x88\x34\xA3\x8C\xD1\x8E\x19\x85\x6F\x09\x18\x8C\xA6\x8D\x33\x8A\x74\x14\x00\x1B\x84\x11\x0A\x15\x8D\xAC\x8D\x31\xAB\x8D\x97\x84\x19\xAA\x8F\xAE\x4A\x01\xB8\x8C\x37\xA8\x8C\xD5\x7B\x02\x41\x8D\x88\x0C\x01\xC6\x8A\x30\x82\x8E\xDF\x8A\x1B\xAD\x8D\x6E\x86\x48\x2D\x01\x39\x94\x38\x17\x02\x1D\xBB\x8D\x5C\x8E\x8E\xCB\x8F\x34\x8C\x8E\xC9\x83\x1C\xD9\x8E\x6C\x9C\x8E\xDB\x8F\x50\x2F\x01\xEA\x88\x1D\xD7\x8D\x73\x87\x8F\xE0\x8A\x3B\xAA\x8F\xEF\x8D\x1B\xE5\x68\x0C\x03\x87\x04\x03\x3D\xB1\x8D\xF9\x89\x1A\xF2\x8D\x7D\x8C\x8F\xDD\x8E\x3C\xA9\x8E\xFC\x81\x1E\xF9\x8E\x72\x9A\x8F\xED\x8C\x3F\x82\x4C\x1A\x04\x1E\xE8\x8D\x80\x94\x8F\xCF\x8F\x40\xB7\x8E\x04\x9E\x1D\x8C\x90\x80\x9E\x8F\xA1\x89\x20\x35\x01\x02\x9B\x1F\x8E\x93\x7F\x97\x90\x11\x97\x41\xBD\x8F\x0D\x96\x1F\x89\x90\x84\x96\x8E\xF9\x66\x06\x14\x90\x05\x9E\x21\x9C\x92\x80\x87\x91\x16\x91\x43\x98\x90\x27\x17\x03\x23\x93\x87\x85\x8F\x2B\x90\x46\xAA\x90\x52\x58\x03\x2E\x92\x89\x89\x91\x20\x93\x46\xB9\x91\x1D\x92\x23\xBC\x92\x81\x8F\x91\x3F\x97\x8E\x39\x00\x1B\x9D\x21", - "\x8D\x93\x82\x87\x92\x25\x95\x48\x9A\x90\x25\x91\x23\xCD\x7E\x0E\x04\x92\x28\x90\x49\x86\x93\x24\x91\x25\xD4\x90\x8E\x9D\x61\x50\x97\x4A\x81\x92\x26\x9A\x23\xBD\x92\x97\x9B\x92\x55\x93\x4A\xA2\x93\x25\x93\xA3\x3C\x01\x96\x92\x92\x64\x92\x4B\x95\x90\x34\x9D\x24\xEB\x92\x95\x8C\x93\x5D\x90\x4C\xAA\x93\xE6\x3D\x03\x67\x93\x9B\x97\x93\x63\x95\x4D\x87\x14\x1F\x06\x27\xF9\x91\x9C\x8E\x93\x7E\x96\x47\x80\x95\x34\x90\x27\x82\x94\x89\x81\x94\x5F\x95\x1E\xBF\x01\x3E\x94\x28\xF8\x91\xA3\x88\x94\x72\x95\x50\x89\x95\x43\x9F\x28\x8D\x38\x10\x0C\x94\x7A\x90\x48\x83\x95\x4C\x97\x23\x92\x95\xA4\x8E\x94\x9C\x95\xAC\x41\x02\x4C\x9F\x27\x94\x95\xA8\x81\x93\x95\x97\x54\xB3\x92\x5C\x52\x04\x24\x96\xA1\x9A\x94\xA6\x95\x54\xB0\x95\x59\x9D\x29\xA0\x96\xAC\x95\x95\x90\x93\x53\xB7\x94\x2E\x99\x76\x43\x02\x71\x84\x02\x32\x8D\x08\x2E\x95\x49\x94\x2B\xBC\x94\xB1\x98\x95\xA9\x93\x57\xA8\x94\x55\x9E\x29\xBA\x96\x93\x06\x02\xC3\x97\x53\xB9\x95\x58\x9F\x2A\xC8\x94\xB3\x96\x95\xD5\x96\x58\x92\x97\x64\x99\x2D\xCB\x96\xB2\x8B\x95\xD6\x91\x9E\x07", - "\x03\x68\x9E\x2C\xE5\x8C\x12\x04\x97\xD4\x97\x58\x9A\x97\x72\x9B\x2D\xD7\x97\xB4\x85\x96\xDE\x96\x49\x09\x02\x74\x90\x2F\xE0\x97\xBA\x89\x97\xED\x97\x5B\x8D\x96\x7C\x9C\x2E\xFD\x94\xBF\x9F\x97\xF5\x93\x5F\x81\x98\x6C\x91\x7D\x4A\x00\xBD\x81\x97\xDD\x96\x5E\xB1\x96\x75\x9B\x30\xF9\x95\xC2\x88\x93\x4B\x06\x38\x8C\x02\x99\x8D\x04\x07\x9B\xBD\x83\x98\xEF\x90\x61\x8C\x98\x85\x9C\x31\x82\x9A\xC6\x8E\x98\x1B\x9E\x63\x97\x99\x8F\x9E\x2F\x98\x98\xB7\x81\x99\x04\x9C\xE8\x0E\x02\x8B\x9D\x30\xF5\x87\x13\x0C\x99\x9A\x30\x0A\x0C\x95\x28\x02\x13\xD2\x02\x4C\x93\x02\x32\x8C\x0A\x32\x89\x2A\x02\x13\xD6\x02\x4C\x97\x02\x32\x88\x0B\x32\x89\x2C\x02\x13\xDA\x02\x4C\x9B\x02\x30\x9A\x64\xA4\x1A\x2E\x09\x34\x82\x09\x17\x0D\x9A\x19\x9B\x64\x92\x9A\xB2\x1E\x05\x50\x9B\xC9\x93\x53\x5F\x06\x6A\xA5\x3C\x30\x00\x1F\xD3\x99\xC7\x89\x99\x25\x9C\x64\x80\x98\xB1\x9F\x68\x64\x02\x4C\x85\x03\x5A\x98\x0F\xA6\x03\xB4\x92\x15\x67\x02\x71\x88\x03\xC6\x89\x0D\x2C\x9A\x94\x9F\x2D\x6A\x02\x4C\x8B\x03\x32\x8C\x0D\x32\x89\x36\x02\x13\xEE\x02\x4C\x8F\x03", - "\xC6\x88\x0E\x32\x89\x38\x03\x0E\x99\x5E\x11\x34\x03\xE3\x85\x1C\xB6\x03\xC4\x91\x11\x78\x02\x4C\x99\x03\x32\x8A\x0F\x0C\x95\x3D\x02\x13\xFC\x03\xDC\x80\x99\x73\x55\x0F\x0C\x9D\x86\x0F\x07\x1B\x9C\xC7\x61\x04\x56\x9A\x10\x32\x89\x41\x02\x13\x84\x06\x4C\x85\x04\x32\x8E\x10\x32\x89\x43\x02\x13\x88\x07\xE5\x81\x9B\x4A\x91\x11\x1D\x9B\x96\x93\x36\xDE\x9A\xD2\x9F\x9A\x51\x9C\x76\x9F\x0D\x46\x0F\x3A\xB5\x9E\xEE\x84\x9B\xC0\x9E\x76\xA0\x9A\xDF\x98\x3B\xD7\x98\xEC\x8C\x38\x8E\x05\x77\xA6\x98\x77\x96\x3C\xC4\x9F\xED\x8F\x9E\xC3\x9B\x79\xBA\x97\xE8\x91\x3C\xBF\x9E\xF0\x99\x9D\xC5\x9D\xF4\x0F\x04\xE5\x95\x3D\xD9\x9F\xF4\x98\x9E\xD0\x98\x7C\x94\x9F\xEB\x9D\x3C\xD2\x9F\xC3\x83\x9F\xD6\x99\x7D\x9E\x9F\xF3\x92\x3E\xE3\x90\x24\x1C\x9E\xE4\x99\x9F\x51\x04\xF8\x90\x5B\x12\x04\xA3\x93\x04\x32\x8C\x12\x32\x89\x4A\x02\x13\x96\x06\x4C\x97\x04\x32\x88\x13\x32\x89\x4C\x02\x13\x9A\x06\x4C\x9B\x04\x32\x8C\x13\x32\x89\x4E\x04\x3F\xEB\x9C\x57\x1E\x04\x56\x9F\x13\x0D\xA1\xF0\x95\x3E\xDD\x9C\x81\x00\x05\x13\xA0\x7D\xB3\x69\x50\x09\x41\xF2", - "\x2A\x28\x0C\x94\xA3\x02\x26\xA4\x04\x99\x85\x0A\x32\x8A\x29\x12\x89\xA7\x02\x26\xA8\x04\x99\x89\x0A\x32\x8A\x2A\x12\x89\xAB\x02\x26\xAC\x04\x99\x8D\x0A\x1D\xA1\x05\xA6\x11\xAE\x06\x6A\xAF\x04\x1B\xAC\x3C\xBD\xA3\xF7\x81\x11\xB0\x04\x87\x8B\x1D\x58\x02\x44\xEC\x9F\x0D\xAA\x9F\x14\xA6\x87\x86\xA2\x25\xA4\x37\xC7\xA2\x03\xA0\x1E\xB2\x05\x88\x8D\xA2\x26\xA8\x39\xC7\x9F\x13\xB6\xA2\x49\xA7\x87\xB3\x04\x29\xA5\x45\xCE\x9E\x06\xB9\xA2\x4B\xA7\x87\x94\xA2\x2C\xA2\x9E\x34\x04\x17\xA4\xA3\xED\x9E\x89\xA0\xA3\x29\xA2\x46\xED\xA1\x18\xAF\xA3\xC2\x1D\x16\x27\xA2\x2F\xA9\x46\xE3\xA0\x1D\xAA\xA3\x5F\xA1\x8F\xB5\xA2\x37\xAB\xAB\x36\x06\xE7\x8B\xA3\x73\x50\x17\x3F\xA2\xCE\x2A\x0B\x03\xA6\x06\x7C\x05\x56\x9D\x17\x33\xA2\x5C\x5E\x0B\x32\x8B\x2F\x12\x89\xC0\x02\x26\x81\x06\x99\x82\x0C\x06\xA4\x00\x04\x06\x32\x8D\x18\x05\x9D\x88\x08\x0C\x1B\xA4\x72\x0B\x06\x8B\xA0\xDE\x0C\x07\x50\xA1\x3F\xFC\xA1\x17\xA6\x9F\x6C\xA0\x8E\xA7\xA4\x0B\xAA\x47\xB1\x2D\x33\x04\xA5\x48\xA5\x95\xB6\xA2\x54\xAB\x4A\xA5\xA6\x2A\xA8\xA3\x72\x46\x19\x30\xA5", - "\x2B\xA7\x47\xB3\xA4\x2B\xBB\xA3\xB7\xA5\x97\xA6\xA5\xB3\x3F\x0C\x3B\xA4\x20\xB8\xA5\xBE\xA6\x96\xA9\xA5\x65\xA5\x4B\xB1\xA4\xB9\x30\x06\xC6\xA2\x96\x83\xA6\x61\xA1\x4C\xB4\xA4\x32\xB3\xA6\xD6\xA0\x34\x51\x07\x68\xA0\x4C\xCC\xA7\x35\xB5\xA6\xBF\xA0\x8F\x9D\xA7\x66\xAA\x69\x52\x04\x37\xA2\xA7\xE8\xA1\x99\x8E\xA7\x74\xA8\x4D\xE1\xA6\x3A\xB8\x29\xD3\x07\x9C\xAF\xA7\x63\xA4\x4D\xDE\xA5\x3D\xA4\xA7\xF4\xA1\x9B\x8F\x34\x6A\x02\x4F\xED\xA6\x32\xB8\xA7\xD2\xA0\x9C\xBF\xA7\x6F\xA6\x4F\xBA\x29\x35\x1D\xA7\x02\xAB\x9D\xB3\xA7\x80\xA5\x50\xEE\xA6\x3F\xAA\xA8\x8B\x1E\x1A\x08\xA9\x86\xA3\x50\xF7\xA4\x41\xA0\xA8\xE3\xA7\xA2\x9A\xA9\x55\x37\x0D\x13\xA8\x46\xAC\xA7\x09\xAC\x97\xBA\xA6\x87\xA1\x52\xF9\xA4\xDA\x18\x06\x1E\xAB\xA3\xA3\xA9\x8A\xAB\x52\x90\xA9\x49\xAC\xA8\x1F\xAB\xA1\x99\xA9\xE6\x39\x0D\x0C\x96\x36\x16\xA4\x32\xAC\x4E\x5C\x06\x9C\xA1\x4F\x5E\x04\x4F\xA6\x55\xE0\x06\x6A\xA1\x07\x94\xA0\x9A\x62\x06\x4C\x83\x07\x32\x8C\x1C\x32\x89\x72\x02\x13\xE6\x06\x25\xA8\x07\x32\x89\x1D\x1E\xA5\x84\x0C\x0E\x53\xA8\x81\x0F\x07\x44", - "\xAF\xD1\x30\x07\xAC\xA4\x52\x94\xAA\x4B\xBE\xAA\x22\xAD\xAB\xB1\xA9\x87\xA1\x56\xAC\xAA\x58\xB4\x0B\xF1\x04\x51\xB2\x07\x9F\xA0\x56\xE4\x80\x5B\xAB\x26\xF6\x07\xAD\xA2\x54\x7C\x06\x35\xF9\x04\x57\xBF\x3C\xFA\x02\x26\xBB\x06\x99\x8C\x0F\x32\x89\x3F\x12\x89\xFE\x06\x92\x80\x01\x0B\x0E\x0B\xBF\x08\x61\xA9\x08\x86\x9B\x20\x04\x01\xC3\xAA\x0C\xA6\x13\x01\x0C\xAC\xD5\x87\xE6\x48\x00\xC8\xAE\xB4\x1C\x79\x02\x14\xAC\x52\x5F\xAB\xA3\xAB\x97\xA3\x53\xAD\xA9\x59\xBA\xAC\x2A\xA8\x59\x8A\x00\xCC\xAC\x0E\xE4\xAA\x49\xA6\xAB\xA8\xA8\xB4\x96\xA9\xD5\xA8\xAB\x0B\x00\x69\xA9\xAD\x9F\xA9\xB6\xA7\xAC\xD5\xAE\x59\xB3\xAE\x6C\xAD\xA5\x0C\x07\xB5\xB4\xAD\xB3\xAC\x5A\xBC\xAD\x6D\xB0\xA9\xA1\xA8\xB6\x95\x4F\x06\x0A\x5B\xB7\xAD\x67\xBE\xAD\xC8\xAA\xB8\x80\xAF\xDE\xAA\x5C\xD0\x7A\x03\x05\xAE\xB6\xA9\xBA\x8B\xAF\xDF\xA7\x5C\xCD\xAC\x48\xB9\x4B\x0F\x00\xBA\x93\xAF\xE4\xAB\x5B\xD6\xAD\x4E\xBF\xAE\xA6\xAB\xBB\x8A\x92\x08\x0A\x5D\xF2\x29\x04\x05\xAF\xD7\xAB\xB3\xAD\xAA\xF1\xAD\x5D\xED\xAE\x71\xB2\x43\x12\x00\xBD\x8D\x4B\x09\x02\x5F\xF1\x24", - "\x05\x15\xAF\x9C\xA9\xBD\x81\xAE\xF7\xA2\x5D\xD5\xAC\x7F\xB6\x3F\x15\x00\xBF\xAB\xAE\xFF\xAF\x5E\xE0\xAD\x7E\xA6\xB0\x03\xB4\x99\x16\x00\x01\xBA\x5E\x8D\xB3\x7E\xA5\xB0\xE1\xAC\xC0\xBD\xAE\xFD\xAC\x5C\xFF\xAC\xB9\x37\x00\x0C\xB7\xC1\x93\xB0\x04\xBE\x60\x95\xB0\x84\xA7\xB0\x09\x30\x03\x19\xB0\x0F\xB8\x26\x99\x03\x88\xBF\x0C\x1A\x07\xC4\x9C\xAF\x0F\xB9\x60\x9C\xB2\x86\xAC\xAF\x2C\xB6\x2C\x1B\x00\x15\xBE\x5D\x91\xB0\x85\xB4\xAE\x37\xB3\xC5\x9B\xB1\x04\x3C\x01\x34\xB2\x85\xB3\x89\x1D\x06\xC7\x89\x08\x0F\x02\x64\xBB\xB0\x88\xA7\xB2\x2D\xB6\xC6\xAE\xB1\xA1\x7F\x01\x45\xB0\x8C\xA6\xB2\x49\xB0\xC9\x9D\xB0\x1C\xBB\x64\xD4\xB2\x92\xB7\xB2\x52\xB7\xC5\x92\xB1\x27\xBC\x65\xDB\xB1\x40\x00\x01\x4E\xB6\xCB\xB9\xB1\x1A\xB9\x65\xA4\xB1\x97\xA3\xB3\x3F\xB0\x0C\xA1\x01\x30\xB8\x66\xEF\xAE\x08\x0C\xB3\xA5\x0B\x04\x18\xAD\x72\x85\x65\xA9\x41\x09\x13\xB3\x22\x2F\x04\x38\xB3\x12\x69\x02\x70\xB0\x8F\x0A\x01\x7E\xB7\x07\xAB\x00\xF4\xAC\x02\x68\xAD\x0B\x08\xAF\x2E\x00\xBD\xAF\x01\x3D\xB9\x10\x31\x00\x7A\xB2\x01\x98\xA9\xB1\x82\x09\x1A", - "\x01\x69\x91\x08\x0E\x08\xAF\x39\x01\xD0\x91\x64\x1D\x0A\x69\xFB\x63\x0E\x1D\xB4\x5A\xB5\xCD\x83\x08\x1E\x00\x6A\x80\x0D\x0F\x0C\xB4\x50\xB7\x1B\x7F\x00\x54\xBC\x59\x41\x00\xAB\xBA\x60\x43\x05\xD4\xB3\x14\x22\x02\x6B\xA8\x7D\x11\x08\xAF\x46\x00\xBD\x87\x02\xF4\xA8\x04\x68\xAD\x12\x0F\xB5\x00\x03\x09\x28\xAE\x26\x05\x69\x8D\x0B\x13\x05\xB6\x09\x0A\x0A\x28\xAF\x29\x05\x6B\xF2\x54\x15\x0D\xB6\xD0\x60\xDA\xB1\xB0\x5C\xA6\x05\x52\xB7\x40\x17\x02\xC0\xB5\xCE\x9F\x3D\x2C\x09\x6D\xF1\x27\x16\x1D\xB6\xA6\x55\x0B\x16\xB6\x09\x1E\x05\x63\xB4\xD4\x7F\x02\xE8\xA8\x0C\x28\xAF\x30\x08\x5E\xE2\x00\x7A\xA3\x03\xC0\xB5\x0C\x28\xAE\x33\x08\x6C\x83\x09\x1A\x15\xB7\x12\x14\x0D\x26\xB6\x1A\x6D\x06\x7B\xB6\xB6\xBF\xB1\x6E\x06\xDF\x98\xB3\x28\xB4\x70\xD3\xB2\x8E\xA7\xB3\xFF\xB3\xDA\xA6\xB2\x31\xB9\x70\xA9\xB5\xA8\xA8\x29\x6F\x00\xBD\xB0\x02\x81\xB5\x66\xD6\xB1\xC5\xA7\xB8\x0C\xBB\xE0\x86\xB8\x32\xB5\x70\x8F\xBA\xC6\xBE\xB8\x17\xBC\xE3\x9B\xB9\x34\xBF\x71\x80\x0D\x1C\x14\xB8\x6D\x32\x0E\x28\xB9\x91\xBA\x70\x96\xB9\xC7\xAB\xB8\xA2\xB0", - "\xE1\xA5\xB8\x97\xBC\x72\x8E\xB8\xCC\xAD\xB8\x32\xB9\xE4\xAE\x6F\x39\x0B\x72\xBA\x30\x1D\x1D\xB9\x37\xBB\xE6\x98\xB9\x98\xB9\x71\xBA\xB9\xCB\xA1\xA7\xE6\x04\x14\x3C\x59\x88\x0D\x05\x23\x0E\xA4\xBB\x0C\x16\x0D\x1C\x83\x03\xD1\x02\x75\xD4\xB9\x44\x13\xBA\x88\x0D\xEA\x99\xBB\xAB\xB6\x75\x8D\x08\xD6\xA6\x0C\x5A\xB8\xEC\x9C\xBB\xAD\xBE\x75\xDD\xB9\x42\x1F\xBA\x8E\x0D\x1C\xB1\x00\xB3\xB3\x10\x28\x00\xDB\xA2\x08\x3F\x07\xED\x81\x09\x24\x0A\x2A\x16\x09\x02\x11\x08\x8B\x05\xEE\x93\x09\xBB\xBD\x10\x2C\x07\x68\x05\x00\xA3\x0E\x22\x00\xBC\xC4\x06\x11\x07\x01\xE0\xB3\x08\xE5\x87\x08\x23\x0C\x04\x07\x78\x8F\x08\xDF\xA9\x08\x89\x07\xEF\x8D\xBD\x85\x06\x78\x84\xBC\xE2\xB1\x08\x0B\x03\xF1\x93\xBD\x83\x0F\x78\x83\x09\x06\x12\xBC\x96\xBF\x21\x15\xBC\xC3\x01\x75\x91\x0A\x0F\x1A\xBC\xA1\xBB\x21\x1D\xBC\x81\x06\x07\x20\xBC\xE9\xB3\x08\xA3\xBE\x31\x25\xBD\x86\x0B\x76\x88\x0C\xE3\xA9\xBD\x9C\xB9\x22\x22\x02\xD7\xB2\x7B\xB0\xBF\xE6\xA6\x08\xE5\x84\x09\x28\xBD\xD7\xBE\x78\x91\x08\x24\x1C\xBD\x94\x0D\xF0\xBF\xBD\x82\x05\x0E\x9D\x03\xF0", - "\xBD\xBD\xC5\xBD\x21\x3A\x01\xD1\x05\xB5\x23\x0F\xEA\xA1\x08\x7F\x00\xF9\x90\xBB\x89\x05\x7D\x88\x0F\xF5\xA0\x00\xD9\xB8\x31\x03\xBC\xE2\xB4\x79\xCB\xBF\x3F\x09\xBC\xCF\xB9\xF9\xBB\xBB\x88\x01\x79\x88\x0D\xF7\xA6\x0C\xDF\xB9\xFC\x86\x0D\xF1\xB0\x7D\xE5\xBC\xEE\xA0\xBE\x98\xB9\xFD\x9B\xBF\xE8\xB9\x10\x1F\xBE\xFB\xB1\x08\xDF\xBE\xEE\x91\x08\xF9\xBE\x18\x74\xBE\xFA\xA2\xBD\xE6\xBD\x1C\xA7\xBC\xDB\xB6\x7E\xDF\xBD\xEB\xBF\xBF\x3D\x1E\xFA\x83\xC0\xED\xB1\x18\x4A\xBF\xFD\xAC\xBE\x11\x0D\xF6\x86\x0D\xDB\xB4\x7E\xB9\xBD\x43\x1B\xBD\x10\xC1\x21\x01\xC1\xF5\xBC\x39\x94\xC2\x45\x16\xC0\x1D\xC0\xFF\x8D\x08\xE1\xBC\x80\x97\xC3\x3F\x1F\xBE\xC7\xB9\x04\xC3\x09\x11\xCC\x7F\x83\x08\x01\xD4\x0C\x06\xC3\xFF\xB6\xBF\x14\xC8\x81\x8D\x0A\xF3\xAD\xC1\x3C\xC7\x05\xD1\x09\xE9\xB2\x83\x82\x08\x07\xCE\x0C\xF1\xBE\x04\xE7\xC1\x87\x03\x33\x47\xC0\x65\x09\xC2\xE2\xBE\xFC\xB1\xBD\x03\xCB\x10\x68\xBC\x10\xD5\xBF\x1E\xC0\xF2\x94\xBE\x9D\x12\x81\xA5\xC1\x14\xCE\xC1\x53\xC2\x07\xC7\x09\x72\x89\x79\xD7\xC0\x15\xD9\xC2\x9E\xBB\x0B\xCD\x08\x27\xCB", - "\x19\x50\xC3\xFC\xB2\xC2\x09\xC6\xF4\xBA\xBF\x0A\xC4\x82\x89\x0B\x03\xC6\x0C\x4D\xC5\x0B\xC9\x09\x1B\xCB\x19\x39\xC0\x1D\xC8\xC0\x2E\xC2\xED\xB3\xC3\x25\xC5\x83\x82\x08\x08\xD8\xC3\x5C\xC6\xFB\x93\xC1\x2F\xC1\x84\xE1\xC3\x1F\xD5\xC2\x11\x0C\x05\xDB\xC1\x06\xC6\x7C\xEA\xC1\x42\x0C\xC3\x81\x0E\x0D\xC5\xC0\x38\xC1\x88\x91\x0B\x0F\xD3\xC4\x2E\xC7\xFB\x84\xC2\xB1\xBD\x10\x4D\xB8\x62\x0F\xBA\x8F\xC3\x0C\xE3\xBA\x52\xC7\x76\xF2\xB8\x25\x6E\xC5\x68\xBC\x32\x21\xBB\xB4\xBB\x8A\xB4\xC5\xD9\xA4\xBB\xAD\xC0\x17\xC3\x09\x58\xCB\x19\x33\xC6\x2C\xD9\xC0\xAE\xC6\xED\xBA\xC4\xB8\xBE\x8A\xF4\xBA\xAC\x02\xC0\x0D\x09\xEF\x83\xC7\x80\x06\x8A\x86\x0C\x2A\xC4\xC4\x90\xC7\x16\xEC\xC5\x5D\xC0\x8B\xD5\xC7\x32\xCF\xC5\xD7\xC4\x17\xC1\x0C\x5F\xCD\x8B\xB5\xC7\x2F\xD2\xC6\xB6\xC1\x17\xD3\xC6\x81\x0A\x81\xE1\xC5\xDB\xAE\xC5\x71\xBF\x1A\xC6\xC7\x47\x18\x8C\x89\x0A\x32\xC8\xC4\x18\x0A\x11\xCD\x09\x31\x0A\x84\xD0\xC5\x41\x13\x19\x9E\x0F\xFB\xB4\xC6\x46\xC8\x85\x86\x0A\x23\xD6\xC7\x2A\xC1\x21\x0A\xBC\x33\xC2\x86\x86\x0B\xF7\xAD\xBF\xF0\xC1\x1E", - "\xC8\xC3\x88\x0B\x8F\xEF\xC0\x18\xD1\xC3\x5B\x5B\x10\xC0\xC8\x21\xCD\x10\x7E\xBD\x42\xCA\xC8\x6D\xC4\x21\xF5\xC6\x7B\xCF\x8F\x93\xCA\x02\xD2\xC8\x00\xCE\x01\xD6\xC4\x8C\xC9\x89\x9A\xC8\x3F\xC7\xC3\xFE\xC0\x22\xCD\xB4\x90\xC6\x8F\xDF\xBF\x21\xCE\x0C\xF8\xC2\x0F\xC3\x09\x86\xCB\x89\x8F\xC9\x27\xCB\xC1\x2C\xC8\x1A\xF0\xC1\x91\xC8\x91\xED\xC7\x4C\xDB\xC8\xD0\xC5\x23\xC0\xC9\xE6\xB9\x93\x84\xC6\x28\xDC\xC9\x01\x0E\x00\x32\xC8\x81\x0C\x87\x81\x0E\x1F\xD3\xC8\xFF\x03\x66\x0A\xCA\x79\xCB\x87\xC0\xC8\x21\xC2\xCA\xF6\xC6\x0A\xE0\xC5\x20\xC7\x90\xC8\xC8\xCD\x0B\xCA\xD8\xBE\x2A\xCB\xC2\xAC\xC0\x8D\xE4\xC1\x51\xCB\xC2\xDF\xBE\x22\xF0\xC9\x88\x03\x95\xF0\xBF\x22\xCE\xC8\x8D\xC2\x25\xC3\x09\x05\xCB\x95\xFD\xC5\x41\x02\xC9\x45\xC1\x29\xE0\xCA\xF0\xB2\x96\xA7\xC0\x59\xC4\xC4\x82\xC4\x20\xE9\xC4\x83\xCA\x7B\xDE\xC9\x5B\xCB\xC8\x5E\xC0\x2E\xF6\xCB\x7F\x0F\x97\xCB\xC1\xF0\xA7\xCB\x27\xC3\x27\xF9\xCB\xAF\xC4\x95\xB6\xC1\x5F\xC8\xC1\x8B\xCC\x28\xC2\xCC\xA8\xC7\x94\x93\xCF\x53\xD5\xC3\x96\xCF\x24\xC5\xC9\x7B\xCF\x32\x7B\xC9\x53\xC2", - "\xBC\x9C\xC1\x08\xDA\xCA\xC7\x08\x89\x9C\xCC\xFB\xBE\xCA\x9F\xCD\x10\xE1\xCA\xD1\xC3\x98\x85\x09\x63\xC7\xC1\x66\xCB\x33\xD3\xC9\xB4\xC0\x9B\xA6\xCF\x65\xDE\xBD\x37\xC9\x21\x34\xCA\xD6\xC4\x89\x8D\x0B\x1D\xCB\xCB\x0D\x09\x36\xEA\xBD\xB7\xC5\x93\xF1\xC9\x70\xC3\x08\xE5\xC4\x32\x2D\xCD\xDD\xC5\x98\x9E\xCE\x6F\xD4\xCD\x50\xCF\x36\xF3\xBD\x84\x02\x89\xC4\xCD\x28\xD5\xC4\xD6\xCD\x32\xCC\xCB\xDF\xC0\x88\xAA\xCE\x27\xD0\xCC\x3E\xCA\x20\x23\xC4\x73\xCE\x34\xCE\xBA\x5C\xC2\x08\xDA\xC3\x3B\xD4\xC7\x6C\xC6\x8D\xE3\xC5\x40\x11\xCF\x97\xB8\x1C\xDF\xC6\x71\xCC\x9E\xF7\xCD\x7D\xDD\xCF\xD8\xC6\x3E\xC0\x01\xE8\xCD\x8D\x8D\x0A\x30\xC2\xD0\xE9\xC2\x40\xEB\xC7\x4D\x19\x9E\x81\x0B\x3B\xC0\xD0\xCD\xC6\x31\x0F\xC6\x8F\xCE\x8D\x85\xD0\x7F\xDB\xCF\xF3\xCA\x40\xF8\xCF\x87\x0C\x8D\xDB\xC5\x85\xDE\xD0\xFA\xCE\x42\xD9\xD0\x00\xDB\xA1\xD1\xC7\x85\xC2\xD1\xE4\xC1\x18\xE8\xC7\x62\xCA\x77\xB2\xCC\x00\x0F\xD0\x18\xD5\x3D\xE7\xC5\xF7\xCE\x9F\xF4\xCE\x8D\xDA\xD0\xFF\xC9\x46\xF5\xD0\x1C\xD7\xA3\xA4\xD1\x8E\xC8\xD1\x01\x0C\x40\xE0\xD1\x84\x07\xA0", - "\x80\xD1\x82\xC0\xD0\x0B\xD4\x4F\x0D\xD1\x17\xD4\x9E\x8B\x0A\x72\xC1\xCA\x34\xD0\x00\x03\xC9\xBA\xC8\x92\xF7\xCB\x6B\xD8\xCE\x13\xCA\x3B\xF9\xCF\x84\x05\x86\xD4\xD3\x68\xD4\xC8\xFD\xBD\x49\xC7\x08\x2D\xDC\xA1\xF2\xC2\x6E\xC1\xC9\x11\x0F\x38\xF8\xC1\xD4\xC9\x99\xC0\xC7\x99\xCD\xC9\xD5\xCA\x31\xD5\xD2\xC6\xC1\xA5\xDD\xCE\x74\xC5\xCE\x09\x09\x06\xF2\xD3\x2F\xD4\xA6\xA6\xD3\x40\x1F\xC4\xDE\xCC\x2B\xC3\xC2\xAF\xC3\xA1\xAE\xD3\x69\xD3\x08\x4F\xD4\x10\xF3\x19\x42\xDB\x9C\x89\xCD\x73\xCB\xCC\x7D\xD2\x15\xCD\x09\x29\xD1\xA8\x8B\xCD\x57\xD3\xCC\x8C\xD0\x0D\xE3\xCE\x2C\xD0\x90\x91\xD5\x40\xC3\x1A\xE8\xC8\x34\xC2\x08\xB5\xC4\x19\x0B\xD7\x75\xDB\xD3\xB5\xCC\x4E\xCF\xCE\x81\x03\x9C\xF7\xD3\x77\xC6\xCE\x84\xD7\x54\xCF\xD5\x39\xDE\xA9\xBD\xC3\x4A\xCF\xD3\x3A\xC9\x4E\xC8\xCE\xC4\xA2\xAB\xEB\xD2\x4D\xC6\xCF\x38\xC8\x57\xC6\xCA\xF0\xC7\x91\x82\x09\xA6\xC4\xCC\x8E\xD6\x57\xCE\xCE\x60\xD9\x10\x00\xD6\xAB\xC2\xD4\xD2\xBE\x2B\xF4\xB2\x51\xD3\x9B\xA8\xD4\x54\xD3\x19\xD3\xD6\x50\xE2\xD3\x94\xCB\xAA\x81\x08\xA5\xCF\xD6\x96\xD7\x4A\xC5", - "\xD7\x6C\x8D\xAB\xFD\xC0\x9B\xD3\xD3\xB9\xCE\x4B\xE9\xD4\xDE\xC3\x99\xD9\xD5\xA3\xD5\xCA\x9C\xD4\x23\xD1\xD3\x56\xDB\x19\x53\xCC\x9A\xD0\xD5\xED\xD5\x5C\xCE\xCB\x73\xDF\xA5\x81\xCE\xBA\xCE\xCD\x1F\xC2\x5A\xFA\xD6\xD4\xCF\xAB\xED\xD1\xB0\xDF\xD7\xD4\xCD\x21\x3A\xD3\x5D\xDD\x0C\x83\xD8\xA2\xDC\xD7\xA9\xD2\x33\xC8\xD9\x7B\xD9\x10\x6B\xCD\xA9\xD1\x08\xA5\xAA\x5B\xF1\xD6\x68\xC3\x33\x19\xDB\xBB\xC1\xCD\xD6\xD1\x4B\xD1\xD3\x6F\xD5\xAF\xF8\xD3\x40\x08\xC8\x0C\xD9\xB2\x8F\xC2\xE6\xCA\xAC\x90\xD5\x94\xDD\xD2\x95\xD3\x4E\xEC\xD7\x71\xD9\x59\xEE\xC9\xB2\xC6\xD7\x05\xD8\x5D\xE6\xD3\x89\xD0\xA7\xF8\xD4\xCD\xDE\xD8\x9A\xD5\x5A\xF3\xD4\x3E\xD1\xA5\xC2\xD2\x45\x16\xD7\x3D\xD9\x21\x2F\xC9\x8B\xD5\x58\x88\xCC\xBC\xC1\xD9\x9D\xD5\x4E\xE1\xD4\x17\xDB\xB0\xCC\xDB\xC4\x02\xCF\x42\xDD\x65\xF4\xD5\x28\xDE\xAC\xA5\xDB\xAB\xD5\xD8\xAE\xC1\x42\xD4\x0D\x63\xDE\x98\x9F\xD2\x7C\xD0\xCF\x3F\xD3\x48\xE3\xD0\x1D\xD1\xA0\xBE\xD1\x8F\xCC\xDB\x25\xD2\x52\xE7\xD0\xB5\xD8\xB6\xD7\xC6\xD1\xDB\xD2\xE7\xC7\x1A\xC7\xD2\xB6\xD9\xA4\x95\x17\x92\xD0\xD1", - "\x38\xD9\x08\xC9\xD5\xB1\xC3\xB2\xD3\xDB\xC7\xC2\x08\x28\xDA\x6B\xC4\xDB\x6E\xD0\x00\x30\xD8\xB8\xD2\xD9\x11\x0C\x54\xC1\xDC\x97\xDC\xB8\xF4\xD5\x60\x08\xDA\xB9\xD6\x67\xC3\xDB\x54\xD5\xAB\xE7\xBE\x9B\xDC\xD9\x99\xDA\x69\xDB\xD6\xDB\xC2\xB5\xC2\xD4\x5A\xC4\xD6\x9B\xD9\x3B\xDC\xDA\xC3\xD1\xB4\x80\x02\xC5\xDB\x0C\x37\x1E\x61\xCF\x09\xC1\xD7\x82\xB1\xDC\xD6\xDC\xCB\x1B\xDF\x2A\xC5\xDC\xD3\xD1\x99\xE2\xD5\xCA\xC1\x08\xB7\xCA\x13\xCA\xDC\xCE\xDF\xB2\xAC\xDC\xB2\xC1\xD3\x93\xC9\x78\xEC\xD9\xC9\xDB\xB5\x95\xDE\xF1\xD6\xD2\x9A\xDE\x6A\xC3\x08\xE5\xD7\xB3\xFB\xD5\xCE\xDD\xD7\x9F\xD9\x66\xDF\xD2\x97\xCE\x95\xD4\xDF\xD3\xC9\xDD\x22\xDC\x71\xF6\xD2\xAF\xD0\xAD\xF9\xD1\xF7\xD2\xDD\x4E\xD0\x62\xD0\xCA\x89\xDA\xBD\xEB\xD7\xA0\xD3\xCC\xF1\x8F\x76\xC7\xD5\xD9\xD6\x7E\xB3\x19\xFC\xD6\xD9\xDF\xDB\x78\xEA\xDC\xC6\xD4\xB2\x97\xDE\xC9\xC8\xDC\x5E\xCF\x7E\xCE\xDA\x90\xD0\xBE\xD1\xD8\xE3\xCE\xDC\xE4\xD9\x5C\xD5\xC9\x00\xE8\xBE\x87\x08\xED\xD8\xCC\x3A\xDD\x21\x16\xDD\xA3\xDF\xBF\x81\x0A\x9A\xD0\xDD\x11\x0A\x80\xEB\xD9\xEA\xD4\xB0\xCB", - "\xD6\xC1\xD7\xD5\xA0\xDB\x58\xC1\xD8\xF8\xDD\xC0\x86\x0B\x03\xE0\xCE\xCC\xD3\x20\x23\xDE\xFF\xDF\xB5\x83\x09\xD5\xD8\xE0\x0D\x0A\x83\xD9\xC8\x0E\xEF\xB0\xD7\xDD\xC4\xC7\xCF\xBC\xDB\x49\xEF\xDD\xC0\x01\x93\xF2\xDF\xE8\xD1\xCA\x24\xCB\x83\xF9\xDE\xE6\xDB\xB8\xA9\xE2\x40\x1D\xDF\x14\xE5\x85\xC0\xE1\xC9\xC9\x8F\xCB\xDE\xF5\xDE\xE0\x11\xE4\x4B\xCF\xDE\x30\xD9\x86\xCC\xE1\x09\xE5\x08\x27\xE5\x3C\xDF\xE1\xB9\xC3\xC5\xF8\xC8\xCD\xCD\xE2\x34\xE4\x7E\xF6\xE1\xF5\xD9\xBD\x8F\xDF\xF6\xDA\xD5\xD2\xDD\x27\xD4\xD6\xDC\xD0\xB5\xF2\xD6\xF8\xDD\xE2\xA8\xD9\x8D\xCA\xC9\x25\xD3\xBF\xE9\xDF\x18\xF4\xD0\x3E\xC0\x8E\xD1\xD7\xDC\xDB\x84\xD9\xE3\x0E\xDB\xE2\x47\xE2\x8F\xDA\xC2\x3E\xEE\x97\xC5\xDD\x0E\xEB\xE3\x92\xDF\x89\xD4\xDC\x23\xE1\x10\x13\xE3\x44\x18\xDC\x22\xE6\x0E\xFF\xE1\xCE\xDE\xAF\xED\xDC\xC0\xC2\xDD\x84\xE0\x82\xD8\xDF\x83\xD6\xC9\x89\xDA\xF9\xD9\xE4\x28\xE0\x90\xC1\x09\xAE\xDC\xC2\xE5\xDF\x40\x1B\xE1\x1D\xE3\x31\xFE\xE3\x31\xDB\xBB\xA1\xE3\xE9\xCD\x08\x89\xDC\x88\xC4\xDF\x03\xE2\xC8\xD5\xE1\x1B\xF0\xD2\xCE\xDF\x90\xEE\xD1", - "\x0B\xEA\xC8\xCD\xDC\x23\xE3\xD0\xB5\xE6\x10\xD3\xE5\xD2\xDE\xCA\xBD\xDE\xC2\xC3\xE6\x8C\xDC\x94\xC9\xE2\x53\xEA\x9E\xAD\xD3\xE1\xC1\x08\x18\x07\x87\xEB\xE4\x6E\xDF\xCB\xC8\xE3\x23\xF5\xE0\x00\x01\x96\xFD\xE5\x22\xE2\xCA\x8D\xDD\x30\xE1\x08\x89\xE1\x95\xFE\xE5\x6E\xEE\xC8\x8F\x08\x24\xEF\xE5\x92\xE0\x94\xDA\xE3\x28\xE0\x9D\xDF\xE4\x00\x0B\xDA\xB2\xE3\x7F\xFF\xE5\x15\xEB\xCC\x8A\xE3\x27\xF7\xE5\xBA\xD9\x99\xEE\xE6\x54\xE5\xC3\x82\xDE\xFA\xD8\xE3\x02\xCE\x9D\xDA\xE6\x71\xEC\xCD\xEC\xE6\x40\x08\xE0\xA5\xE6\x9E\xF6\xE5\x02\xEE\xC6\xBF\xE5\x39\xEB\x08\xE7\xE6\x98\xE9\xE6\x7C\xE4\xB8\x8C\xDF\xDD\xC6\xE7\xD8\xE0\x9E\xDB\xE7\x59\xE3\xCF\xEE\xE7\x0B\xFB\xE8\xF2\xE5\x9B\xCA\xE7\x6B\xEA\xC4\x81\x08\x3F\xE5\xD3\xA5\xC6\x3D\xCC\xDD\xB8\xDF\xA9\xF5\xD8\x8F\xCF\xE9\x6E\xD8\xA6\xF0\xDB\xB4\xD7\xB6\xBB\xD1\x4C\xE0\xD0\x17\xEE\x4F\xC2\x09\x22\xDC\xB6\xFB\xD8\x90\xC0\x00\x7D\xDC\x56\x3F\xDA\xAF\xC0\xB4\xC7\xDF\x4F\xCA\xE7\x0B\x0D\x63\xFB\xCA\x9A\xCA\xBF\xE1\xDD\x35\xE2\xE8\x44\xEB\xA9\xC8\xE7\x5F\xE8\xD0\xF5\xE4\xE4\xCB\xE0\x93", - "\xCD\xA8\xD0\xDF\x84\x0C\xD4\xF1\xE6\x53\xE4\xE7\xEE\xE4\x97\xD6\x08\xA5\xE7\xBB\xDD\xE8\x48\xFF\xEA\x06\xE9\x48\xEE\xE6\x8D\xE3\xD6\x98\xDA\x54\xE8\xEA\xAC\xE7\x8D\xFA\xE5\x67\xE0\x00\x1F\xE9\x5B\xED\xDA\x42\xE7\xA8\xD4\xE9\x42\xEA\xCF\xF3\xE9\xEB\xC7\xE9\x76\xE6\x9F\xF7\xE3\xA1\xC1\x11\x56\xE4\x46\xE5\xE9\xD9\xE3\xAA\xDD\xE7\xAA\xE4\xD2\xCC\xE4\x38\xEA\xEC\x69\xE8\x00\x0F\xE9\x83\x01\xD1\xCB\xD2\x58\xFD\xE7\x8B\xE5\x9B\xF9\xE8\xCA\xE9\xD1\x90\xEF\x26\xFC\xCE\x1E\xEE\xB3\xF7\xE1\x3C\xEE\xD7\xC6\xE9\x33\xF0\xEB\x26\xE7\x9F\xC4\xED\x49\xD0\xD5\xA8\xEC\xE9\xD4\xE5\xA5\xEB\xAB\xCB\xE9\xA6\xE6\xC0\x8E\xE9\x58\xE2\xED\x64\xE4\xF6\xAB\xEA\xDC\xE0\xD0\xAA\xE1\x68\xEE\xED\xAA\xD7\x97\xE3\xE9\xC3\xEE\xD8\xAE\xDE\x34\xEA\xED\x59\xCD\xB0\xED\xED\xBD\xEA\xC9\xA3\xEE\x14\xF1\xED\x54\xE3\x54\xFC\xED\xD5\xE2\x9C\xB7\xEC\x70\xF4\xE4\x65\xE1\x81\xD7\xEA\x4C\xEC\xDC\xA1\xE5\x64\xF4\xE7\x8D\xEA\xA1\xC2\x08\xBB\xE8\xD9\xE3\xE5\x64\xE3\xEE\x10\xE8\x9B\xC0\xEC\xB9\xD3\x10\x62\xDB\x66\x04\xDB\xB8\xCE\x6C\xF8\xDA\x97\xE7\xD3\xB3\xEB", - "\xDB\xDF\xE9\x2C\xEE\x56\xEB\xDA\xFC\xE4\xD3\xF3\xEE\x4D\xEC\xDB\x9B\xED\xA5\xC1\x08\x9E\xEF\xD3\xBE\xE8\xDD\xD3\xBB\xCE\xE5\x75\xC0\xDD\x03\xF0\x00\x11\x02\x4A\xE1\xC2\xF0\xEE\x22\x11\xF1\x89\x03\xE1\x8F\x09\x85\xEB\x08\x17\xF7\x20\x19\xF0\x83\x0B\xE1\x85\x09\x87\xFF\x07\x1F\xF5\x1C\xA4\x02\x57\xCE\xE0\xB3\xD2\x0B\xDF\xF0\x28\xF6\xFC\xA9\xF1\x13\xFA\xE2\xAD\xF0\x8B\xEC\xDC\x23\xF7\x1A\xE5\xF0\x67\xCE\xE2\x90\xF1\x8D\xEB\xCC\x2B\xF6\xC6\xEF\xF0\x1D\xFC\xE3\xB8\xF1\x94\xDC\x02\x24\xF7\xC1\xFE\xF1\x1D\xF3\xE4\xBD\xF3\x9C\xD9\xF1\x45\xF1\xC9\xC7\xF3\x1B\xF1\xD9\xC1\x01\x90\xE6\xF1\x46\xF7\x4B\xC8\xF3\x25\xF4\xE4\xD4\xF1\x94\xE9\xD5\x53\xF2\xCA\xD1\xD2\x49\x1F\xD3\xB3\xF2\x84\xCC\xF2\x5A\xF5\xCA\xE1\xF3\x2B\xF0\x95\xD9\xF0\x96\xE0\xF3\x67\xF2\xCC\xCE\xEF\x81\x0E\xE5\xE3\xD8\x9A\xE5\xF3\x6F\xF3\x22\xE6\xF2\x38\xFA\xE6\xF4\xF0\x99\xFD\xED\x02\x09\xC6\xC2\xD1\x36\xFF\xDE\xF1\xF0\x40\xD3\xF3\x72\xF6\xCF\xF6\xC6\x40\xFF\xE7\x82\xF4\x34\xC1\xF1\x11\x08\x06\x0F\xF2\x1A\xF5\xE7\x81\xF5\xA3\xE5\xF4\x8F\xF3\xD0\xC6\xF4\x42", - "\xC4\xE8\x92\xF4\xE3\xDB\x02\x8B\xF7\xCB\xD1\xF5\x43\xF3\xE9\xCB\xC1\xA5\xFC\xF4\x9B\xF4\xD2\xDD\xF5\x13\xC8\xE8\x8D\x0A\xA2\xF2\xF1\x42\xF6\xCA\xCA\xF3\x31\xFB\xEA\xE9\xF3\x9D\xF0\xF4\xAF\xF6\xD2\xF1\xF5\xB2\xC9\xE8\x99\xF6\x9B\xE1\xF5\x9E\xF3\xD4\xD2\xF0\x5D\xF4\xE1\xBC\xF6\x85\xFE\xF5\x18\xF1\x4A\xEE\x00\x5B\xFD\xE7\xB8\xF4\xA9\xE0\xF6\x1A\xF0\xD9\xDC\xF0\x65\xFE\xE1\xCC\xF4\x88\xF1\xD2\x46\x04\xD8\xC1\x0D\x4F\xF2\xEA\xC6\xF7\xAE\xF6\xF6\xBD\xF0\xDB\xFF\xF4\x6D\xF1\xEC\xDC\xF4\x7B\xE2\x08\x33\x02\xDA\xD7\xF7\x59\xF5\xED\xE4\xF5\xAE\xFE\xF6\xCB\xF0\xDD\xCD\xF6\x75\xFF\xEC\x8C\xDF\x0E\x02\xF7\xD9\xF6\xDC\xC7\xF6\x76\xF4\xED\xE7\xF6\xBC\xE3\xF7\xAD\xF6\xCE\xDD\xE7\x1E\x00\xEF\xDB\xF7\xBD\xF1\xF7\xF9\xF6\xD1\xFF\xF6\x7F\xF1\xF0\xB0\xF5\xC1\xE9\xEE\x0D\x0F\x03\x3D\xF7\x6E\xF3\xF0\x8C\xFB\xC1\xE0\xF5\x0D\xF9\xD9\xF4\xF6\x67\xF5\x0E\xE0\x03\xC2\xF2\xF8\x11\xF9\xDD\xD9\xF9\x75\xFB\xF1\xED\xF5\xC7\xF5\xF7\xF3\xF7\x97\xE7\x00\x57\xC6\x02\x17\xFA\xC6\xEF\xF8\xE5\xF0\xE5\xF6\xF6\x95\xF1\xF2\xAC\xF8\xBE\xEA\xF5\x30\xFF", - "\xB3\xC3\x09\x91\xF7\x8D\xA5\xF8\xAA\xF0\xF2\x2E\xF8\xE0\xF1\xF8\x57\xF9\xF3\x84\xFB\xCE\xFA\xF7\x3F\xFA\xE0\xDD\xE6\xB6\xEE\xDF\x8D\xF1\xAA\xEC\xF5\x41\xFE\xE0\xC9\xFA\x59\xFD\xF3\x8E\xFB\xD2\xF0\xF8\x4D\xFF\xDB\xC1\x09\x30\x06\xF2\x9C\xF9\xD4\xE7\xF9\x4F\xF9\xE5\xD9\xFB\x95\xFB\xF5\xAD\xF9\xD7\xEF\xF9\x48\xFA\xE6\xC2\x08\xDA\xD5\x0E\xFC\xF3\xB4\xEE\xF6\x20\xF8\xEC\xFC\xF9\xAF\xFA\xF3\xE1\xFB\xDA\xEE\xFB\xB9\xE9\x88\xF5\xE8\xA3\xF8\xF3\xEC\xFA\xCF\xF0\xFB\x42\xFE\xEE\xCE\xFA\xBC\xFA\xF4\xFC\xF8\xD3\xF1\xEC\xE1\xE5\xE8\xE6\xFA\xB5\xF0\xF4\xFE\xF8\xD4\xFA\xFB\x18\xFF\xEA\xD6\xFA\xC4\xF8\xF5\x86\xFC\x60\xD1\x08\x34\xFA\x40\xF6\xF9\x3D\xF7\xF4\xEF\xFA\xE5\xE5\xFC\x97\xF9\xEF\xCE\xFC\xAE\xFB\xF9\xDE\xF9\xE7\xF3\xFB\x91\xF8\x40\xD3\xFC\x00\xD3\xF8\xED\xF9\xE6\xFD\xFB\xA7\xFF\xEF\xDF\xFC\xD3\xF8\xF9\xAD\xFE\xE6\xE9\xFD\xB4\xF5\x21\x21\xFC\xB6\xD3\xFA\xEC\xD9\xE9\xF7\xFB\xB0\xFA\xEB\xEB\xFC\xDC\xFE\xFA\xA8\xFD\xEF\xEA\xFD\xB9\xFC\xF3\xEB\xF2\x81\x03\xFB\xBF\xE9\xED\xFD\xF2\x95\xFF\xF7\xC7\xFD\xDD\xFB\xF7\xC1\xFE\xE7", - "\xEE\xFE\x84\xFF\xF5\xCA\xFE\xDD\xF3\xFC\x81\x08\x0F\x15\xFA\x1E\xFA\xF1\xD9\xFE\xC6\xFB\xF8\xCC\xFD\xE2\xFC\xFE\xDB\xFE\xFB\xCD\xFC\xE8\xF5\xF4\x8D\x00\xF6\xE9\xFB\xAC\xFA\xFA\xEA\xFE\xDF\xFB\xFE\xC0\xFF\xF4\xE2\xFE\xEF\xF9\xBE\xCD\x08\x24\x09\xE0\xA6\xED\x40\x0A\x04\xE7\xF8\xED\xFA\xFF\x89\xFC\xFF\x9F\xF9\x94\xC2\x02\xF5\x7E\x6C\x72\x10\x3E\x01\xF9\x7D\xFF\x7A\xFD\x68\x7F\xBC\x7D\xFB\x7B\xFC\x64\x7F\x09\x80\x75\x73\x10\x22\x00\x01\x81\x74\x71\x10\x06\x78\x73\x7F\xED\x7D\xFC\x71\x7F\xD1\x7C\xFB\x7A\x01\xAE\x7F\x0A\x80\xF5\x78\x01\xA9\x7F\x1B\x81\xEC\x79\x10\x2D\x00\x11\x83\xF7\x58\xE9\x77\x7C\x8C\x7A\xFF\x76\x00\xA0\x7F\x08\x83\x05\x8D\x01\xB0\x7F\x78\x79\x40\x06\x05\x25\x80\x11\x05\x28\x05\x00\xAA\x80\x38\x83\x01\x8B\xFF\x79\x80\xE0\x7D\x39\x44\x02\x34\x80\x0D\x04\x11\x0F\xC3\x6D\x80\xDF\x7E\xF8\x7D\xFD\x4C\x80\x2E\x81\x08\x8E\x01\xAF\x80\xF2\x7D\x42\x0A\xE7\x5A\x7A\x3C\x82\x11\x81\xFE\x48\x81\x45\x80\x15\x83\xFE\x5F\x80\x28\x76\x13\x89\xFC\x4C\x81\x19\x80\x07\x8A\x04\xB0\x80\x5F\x83\xF3\x78\x05\x89\x81\x5E", - "\x80\xC2\x79\x10\x00\x79\x75\x7E\x14\x84\x04\x97\x81\x5C\x80\x08\x85\x06\x8B\x80\x63\x81\x15\x81\xF7\x43\x04\x4E\x79\x1A\x86\x05\x87\x81\x71\x80\x1B\x81\x06\x9D\x81\x70\x81\x1B\x8D\x00\xAF\x81\x8F\x7D\x43\x0C\xE5\x67\x7D\x2B\x82\x1A\x8B\x03\xBA\x80\x85\x83\x1D\x83\x05\xB9\x81\x78\x82\x1F\x84\x06\xBD\x81\x7B\x82\x1B\x80\x09\x80\x82\x65\x6D\x43\x0F\x04\xB7\x7A\x51\x82\x22\x8B\x06\x8D\x82\x91\x83\x1F\x83\x09\x9F\x82\x81\x81\x42\x07\xEA\x69\x80\x88\x81\x26\x8C\x08\x8B\x82\x8E\x82\x1C\x89\x0A\xBA\x81\x66\x83\x40\x07\x02\xA4\x82\x2C\x83\x21\x81\x0B\x89\x82\xA7\x81\xA9\x72\x0A\x9B\x81\x9D\x83\x23\x8B\x04\xB9\x82\xAA\x80\x2F\x8C\x0A\xA0\x82\x60\x80\x25\x8D\x04\x83\x04\xA3\x80\x14\x85\x0A\x87\x83\xB3\x82\x29\x8B\x0A\x9C\x82\xAD\x82\x40\x03\xEC\x76\x81\xB5\x82\x2C\x86\x08\xB4\x82\xCB\x80\x2A\x8E\x00\x82\x04\xD1\x78\x34\x85\x0D\x9B\x82\xD6\x82\x30\x8C\x07\xBB\x82\xDE\x82\x24\x80\x0E\x80\x83\xC3\x80\xB8\x78\x0B\xA1\x83\x9E\x83\x38\x8A\x0E\x81\x83\xE4\x83\x37\x8C\x0E\xAB\x83\x62\x81\x0C\x80\x00\x2F\x7B\xDA\x82\x2F\x8C\x0C", - "\xAD\x83\xE2\x83\x3B\x8A\x0F\xB1\x83\xF6\x81\x37\x88\x0F\x99\x81\x03\x04\xBF\x75\x0F\xA8\x83\xBA\x83\x3E\x8E\x0E\xBC\x83\x04\x85\x2F\x89\x10\xBF\x82\xA1\x83\x40\x0A\xF0\x43\x84\xFF\x81\x41\x88\x10\x91\x84\x0A\x84\x45\x8C\x10\x86\x84\xF9\x81\x39\x81\x10\x16\x7C\x10\x84\x3C\x87\x10\x9F\x84\x19\x84\x48\x89\x0E\x98\x84\x23\x87\x44\x8E\x11\x85\x7D\xC5\x7C\x83\x77\xFC\x44\x82\xCA\x81\x3F\x8C\x0D\xAF\x84\xD2\x81\xF5\x70\x00\x29\x84\x73\x7F\x4A\x82\x12\x92\x84\x37\x85\x45\x87\x12\xA5\x84\x39\x87\x45\x86\x12\xA4\x84\x38\x85\xD1\x74\xF4\x7C\x84\x21\x85\x51\x84\x14\x87\x85\x41\x84\x52\x8A\x13\x80\x85\x4B\x87\x4F\x8A\x11\x80\x00\x54\x7D\x47\x8C\x14\xBE\x84\x3D\x87\x3D\x8B\x13\x89\x85\x58\x85\x53\x85\x15\xBE\x83\x57\x86\xD4\x70\x00\x34\x6E\x30\x84\x35\x8E\x12\xB1\x84\xD1\x80\xE3\x6E\x19\x21\x85\x2D\x87\x42\x86\x15\x93\x85\x6B\x86\x53\x8B\x15\xA5\x43\x81\x7E\x52\x84\x15\x86\x85\x59\x87\x5C\x82\x17\xAD\x85\x5B\x84\x5A\x8D\xCD\x74\x84\x45\x7E\x4D\x84\x17\x9A\x85\x7F\x86\x5D\x85\x17\xB8\x85\x81\x84\x61\x87\x17\x9C\x85\x6C\x86", - "\xE7\x62\xFB\x64\x7C\xE7\x82\x45\x86\x18\x83\x86\x88\x86\x5B\x85\x18\x91\x86\x79\x84\xC5\x70\xF9\x4C\x86\x52\x86\x64\x87\x18\xBA\x85\xC9\x80\x32\x82\x05\xA5\x43\x7C\x84\x40\x82\x10\x3E\x85\x9B\x84\x59\x8B\x0D\xA6\x86\x63\x86\x58\x8D\x0C\x96\x7F\x8D\x85\x57\x82\x18\x80\x86\xA5\x86\x6A\x8E\x18\x94\x86\x93\x86\x2D\x83\x10\x26\x7F\x99\x85\x65\x82\x1B\xAE\x86\x8F\x84\x6C\x80\x19\x9C\x83\xE5\x40\xFD\x77\x8C\x6B\x71\xF8\x7D\x6E\x85\x1B\xA8\x86\x6A\x84\x6D\x81\x1B\xA9\x85\x22\x83\x40\x00\x00\x83\x87\x2E\x68\x01\x86\x1C\x8B\x87\x9E\x86\x26\x88\x1C\xB3\x86\xB6\x86\x40\x00\x01\x90\x87\x74\x74\x05\x87\x1C\xBB\x86\x89\x84\x67\x83\x0D\x9D\x7C\xE5\x40\x09\x8C\x1D\xAD\x6E\xAF\x82\x31\x8D\x19\xAB\x87\xE3\x85\x75\x85\x16\xBF\x72\x33\x83\x79\x86\xFF\x40\x00\x36\x83\x74\x8F\x1B\x97\x87\xBC\x86\x72\x87\x1F\xA0\x87\x9A\x86\x4E\x71\x10\x3F\x80\xF2\x86\x00\x86\x6C\x3F\x70\xE5\x43\x0B\x00\x04\x89\x04\x5E\x01\x6B\x81\x1E\xB8\x87\x0B\x88\x7F\x8F\x16\x91\x04\x97\x81\xB1\x7C\x1C\xB9\x87\xE2\x86\x75\x8C\xEE\x62\x78\x0A\x89\x7F\x8E\x1B\x9B", - "\x88\xAF\x85\x87\x8D\x1B\x9E\x88\xFA\x84\x87\x8F\x21\xBA\x77\x02\x04\x1A\x80\x0B\xAD\x87\xEC\x86\x85\x83\x21\x8D\x88\xBF\x71\x1D\x87\x22\xAA\x88\xEE\x87\x69\x8E\x20\x9F\x87\xBF\x73\x20\x8A\x1B\xAB\x88\x1A\x88\x88\x85\x21\xAF\x87\x31\x89\x6A\x88\x23\xB7\x88\x3D\x89\x72\x88\x21\xB6\x87\x22\x89\x88\x8A\x23\x8C\x88\x39\x8B\x88\x86\x24\x8A\x89\xE5\x41\x31\x88\x09\x81\x89\xD8\x84\x92\x80\x24\xA9\x88\x73\x82\x40\x09\x1E\x8F\x89\x54\x8A\x8C\x8F\x23\xB4\x88\x50\x89\x43\x82\x10\x0E\x89\x12\x89\x97\x8C\x22\xA2\x89\x49\x8B\x92\x86\x26\x99\x87\x01\x04\x98\x8C\x12\xA4\x89\x53\x88\x8A\x8E\x26\xB0\x88\x91\x77\x33\x8F\x22\xBC\x88\x59\x8A\x8F\x8C\x26\x9C\x89\x91\x75\x36\x83\x27\x9A\x89\x77\x88\x75\x85\x27\x89\x87\xC0\x85\x44\x01\xEE\x44\x89\x47\x8B\x8C\x8E\x27\xAF\x89\x74\x8A\xD8\x71\x10\x34\x83\x7B\x8A\x9D\x8F\x27\x91\x89\x86\x8B\x7E\x8F\xCB\x42\x84\x8D\x88\xA0\x82\x25\xB8\x89\x88\x89\x35\x85\x0E\x4F\x84\x95\x88\xA4\x8B\x25\x87\x8A\x70\x8B\x67\x81\x11\x1C\x84\x9D\x88\x85\x87\x29\xA0\x8A\x89\x89\xA8\x82\x13\xA1\x86\xFE\x84\x00", - "\x04\x1A\x92\x8A\x7D\x88\xAC\x8F\x28\xA6\x8A\x17\x8B\x65\x85\xF3\x59\x88\x6D\x8A\xAA\x89\x2A\xBB\x8A\x7C\x89\x64\x73\x14\xB2\x8A\x99\x8A\xA3\x81\x2C\x96\x8A\xB5\x89\x43\x01\x15\xA5\x8A\x63\x8B\xAC\x89\x2C\x83\x8B\x9E\x8A\xF6\x75\x0E\x60\x85\xA7\x88\xB0\x8A\x2B\xBD\x8A\xCC\x8A\x97\x83\xC7\x58\x8A\xD3\x8A\xB0\x89\x2D\x84\x8B\xE4\x85\xE4\x68\x2B\x98\x8B\xBC\x8A\xB6\x81\x2E\x9C\x8B\x7B\x84\x66\x88\x2C\xA5\x89\x3B\x88\xB5\x8B\x2D\x8D\x8B\x91\x74\xAB\x8E\x15\xAF\x8A\x45\x89\xBA\x82\x2E\xAA\x8B\xE3\x8B\x6C\x80\x1A\xA6\x8B\xEA\x85\xB5\x8B\x2C\xAB\x8B\xB4\x8B\xA7\x8D\x2A\xAE\x8B\x02\x7A\xAB\x8F\x2D\xA8\x8A\xF4\x89\xC1\x83\x2F\x87\x8C\x42\x89\x44\x07\xFD\x44\x8A\x4A\x8A\xBC\x84\x2E\x8A\x8B\xE8\x8A\x65\x8D\x10\x38\x86\xE7\x89\xAE\x85\x2F\xBD\x8B\xB1\x89\xBC\x81\xA5\x42\x87\xEC\x60\x71\x83\x30\x92\x8B\x17\x8F\xBE\x81\x32\x91\x8C\x8C\x6F\x73\x8D\x31\x91\x87\x1F\x8E\xC6\x81\x29\xAA\x8C\xFE\x88\xCB\x8D\xCD\x5B\x87\x27\x8D\x77\x89\x32\x85\x8A\x2D\x8C\xCD\x89\x31\xB6\x8C\x91\x76\x79\x81\x33\xA8\x87\x33\x8D\xC3\x81\x2D\xAE\x8C", - "\x10\x8E\xC5\x82\x0F\xB1\x87\x3B\x8F\x7C\x85\x1F\x95\x8C\xE0\x8A\xC1\x8F\x30\xBA\x8B\x24\x8D\xB7\x8D\x10\x00\x88\x45\x8E\x80\x80\x00\x02\x81\xC0\x75\x39\x43\x28\x82\x68\x64\x7E\xC2\x8E\x8A\x54\x8C\x00\x68\xD4\x8C\xA0\x6B\x71\x54\x8D\xD4\x82\x01\x80\x00\x1E\x00\x81\x8C\x96\x47\x88\x03\x06\x1C\x0E\x8A\x47\x66\xB4\x77\xD2\x8C\x2F\xA2\x8C\x4A\x8C\xBB\x8A\x28\x80\x00\x11\x8B\x9A\x81\x34\x89\x8D\x08\x8E\xDC\x8A\x08\x83\x89\x48\x8C\xC1\x89\x37\x98\x8C\x77\x8E\xDF\x8B\x1A\x80\x00\x26\x89\xBE\x8F\x36\x8D\x8D\x37\x8E\xCF\x8B\x32\x81\x8C\x2E\x8A\xE1\x83\x32\x82\x8D\x7F\x8C\xDC\x81\x39\x8F\x85\x36\x88\xDE\x8E\x36\x8F\x8E\x96\x8E\xDE\x88\x39\x82\x8E\x9A\x8D\xDC\x80\x38\x8C\x8D\x73\x7D\xDD\x80\x39\x97\x8E\x9E\x8E\xE4\x84\x3A\xBD\x83\x4D\x89\xCF\x87\x26\xBF\x8C\x38\x8C\xE8\x89\x39\x96\x8B\x00\x03\x95\x81\x26\x81\x8E\x20\x8D\xE9\x88\x38\xB4\x8E\x5E\x86\x9A\x83\x3A\x9D\x8E\x93\x8F\xEE\x8F\x39\xBB\x8D\xB5\x78\xC3\x8B\x3A\x8B\x8E\x8A\x8D\xCD\x85\x3C\x9D\x73\x72\x8A\xE3\x86\x3B\xBE\x8E\xA6\x8C\xEF\x87\x3A\x83\x8E\x7A\x8A\xF2\x8D", - "\x3B\xAF\x8E\xCD\x8F\xEF\x8B\x39\x90\x86\x56\x8E\xEA\x8E\x30\x8E\x8F\xDC\x8E\xF5\x8A\x29\x91\x04\x8C\x8A\xF4\x8F\x3C\x9D\x8F\xD5\x8D\xF9\x87\x3B\xB3\x8D\x94\x8A\xF8\x84\x3E\xA7\x8F\x87\x8C\xF3\x85\x26\x9B\x8A\xDA\x8C\xEB\x87\x3C\xB8\x8E\xAD\x8E\x4C\x84\x2A\xAA\x8F\xDE\x8F\xF4\x8C\x39\xB9\x8F\xE3\x8C\xEC\x80\x30\xA4\x88\x01\x04\xBC\x85\x3F\x97\x8F\x40\x8E\xEB\x8B\x3F\x89\x86\xF7\x8B\xAD\x82\x3C\x9B\x8F\xFC\x8F\xFA\x8E\x3E\x8F\x88\x23\x71\xDF\x85\x3B\xBA\x8F\x13\x91\xFF\x86\x3E\xB3\x7D\xC7\x88\xFE\x87\x41\x94\x8F\xEC\x8C\x01\x93\x40\x9F\x8F\xC9\x65\xFC\x84\x3C\x83\x8F\xC6\x8C\x09\x9E\x2C\x81\x71\xB3\x8E\x01\x95\x41\x8E\x90\x1C\x93\x03\x95\xF4\x71\x85\x2B\x91\x03\x92\x43\x9B\x90\x07\x93\xFB\x86\x2B\x92\x7E\x22\x91\x09\x9C\x40\xB4\x90\x31\x91\x25\x89\x10\x3F\x8F\x8A\x85\x42\x02\x40\xB3\x8F\x2A\x91\x01\x9D\x3E\xAD\x90\x93\x85\x02\x98\x43\x8B\x90\xF2\x8E\x09\x94\x3F\x84\x91\xC0\x8F\x62\x8A\x40\x92\x90\x46\x92\x07\x90\x45\x96\x91\x4E\x92\xA8\x8D\x10\x0B\x8C\x54\x93\x07\x94\x41\x95\x91\xCB\x8C\x12\x97\x18\xA5\x43\x5C", - "\x8C\x96\x85\x44\x9E\x91\x16\x91\x07\x91\x46\xA2\x86\x01\x04\xC7\x8F\x35\xAE\x68\xC5\x85\x17\x97\x45\xAB\x91\x3D\x92\x1A\x9F\x45\x81\x8C\x26\x8F\x1B\x94\xD7\x52\x87\x72\x91\x16\x97\x44\xB5\x90\x2E\x90\x20\x95\xF4\x70\x8C\x7A\x91\xEB\x6E\x1D\x82\x92\x88\x91\x1D\x91\x48\x8A\x92\x49\x91\x44\x0A\x33\x85\x92\xF3\x86\xEC\x86\x37\xA7\x91\x73\x93\x1D\x95\x49\xA9\x91\x73\x7C\xD1\x80\x49\x92\x8D\x47\x8E\x06\x96\x47\x98\x92\x62\x90\x23\x99\x48\x85\x89\x3E\x80\xDA\x82\x10\x21\x8D\x0C\x75\x73\x82\xA3\x7D\x91\x1D\x6B\xDC\x79\xDF\x41\x91\xFB\x74\x83\x7F\x4A\xAD\x92\x45\x7F\x2C\x92\xDF\x6C\x91\x6D\x6E\x7D\x72\xD3\x7F\x74\x01\x78\x00\x90\x00\x04\x78\x0C\x7B\x21\x9D\x2A\x81\x75\x23\x0B\x50\x7C\x44\xA3\x90\x3B\x93\x27\x96\x2F\x90\x88\x39\x91\xE2\x8E\x47\x98\x91\x81\x8A\x25\x8D\x4C\x8F\x91\xCF\x90\x1D\x90\x46\xA8\x8E\x11\x05\xE1\x86\x46\xBF\x91\xA2\x91\x37\x97\x4D\xA0\x92\xB8\x91\xE3\x8B\x4D\x90\x93\x4D\x91\x32\x9B\x48\x9E\x85\x95\x8F\x28\x98\x46\xAC\x90\xEA\x93\x25\x9C\x4E\x9E\x93\xEB\x93\x0C\x9A\x4C\xB2\x93\xA1\x8F\x34\x94\x49", - "\x95\x93\x96\x90\x3E\x99\x30\xA6\x7A\xF6\x90\x37\x9F\x4D\xAF\x93\xFF\x91\x7E\x85\x0E\x52\x92\xE7\x91\x3C\x9C\x43\x81\x94\x07\x94\x88\x89\x3A\x87\x93\x3A\x91\x39\x9E\x50\x8C\x6E\xBA\x8D\x28\x98\x50\xB3\x93\x09\x96\x3B\x92\x50\x91\x04\xC9\x8F\x38\x96\x4D\x86\x94\x14\x95\x47\x95\x50\xBE\x92\xD1\x8E\x46\x99\x4F\xA6\x93\x12\x94\x47\x9F\x51\xB0\x92\xE6\x80\x43\x9E\x4C\xA4\x94\xED\x92\x3E\x9A\x4A\x8B\x8A\xFD\x90\x39\x98\x4C\x8F\x94\x93\x89\x4C\x9B\x51\x96\x94\x15\x96\x4B\x90\x3B\x9C\x8A\x9E\x93\x49\x9C\x52\xB0\x93\x38\x97\x53\x87\x3F\xA2\x94\xE0\x90\x50\x9A\x53\xB9\x94\xD1\x93\x0F\x98\x2F\x84\x95\x00\x96\x49\x95\x52\x81\x95\x27\x96\x12\x92\xFA\x76\x94\x23\x94\x4D\x9B\x52\x91\x69\xBF\x8B\x44\x9E\x53\x96\x95\xD4\x90\x9A\x80\x15\x94\x95\x45\x96\x56\x9F\x54\x87\x95\x1E\x95\xD1\x70\x2D\xB3\x94\x68\x95\x43\x95\x2C\xB2\x7D\x63\x97\x4F\x92\x56\xAD\x94\x49\x97\x6C\x79\x42\xBE\x93\x4E\x94\x5C\x9C\x55\xB3\x8D\x40\x91\x39\x43\x44\xA4\x95\x5B\x95\x5A\x97\x55\x8C\x6E\x79\x95\x44\x0B\x57\xAE\x95\x75\x96\x51\x94\x58\x8C\x89\x37\x93", - "\x54\x9A\x52\x9D\x95\x77\x94\x5D\x98\x58\x92\x91\x4B\x91\x1F\x97\x58\xBC\x95\x6D\x95\x63\x95\x25\xAC\x86\x8B\x97\x3D\x93\x59\x9B\x96\x12\x8D\x42\x05\x46\xB3\x95\x32\x96\x5A\x92\x5A\xA7\x90\xF3\x7E\x29\x97\xFF\x60\x95\x4D\x94\x54\x95\x59\xA3\x90\xE5\x41\x1E\x9A\xA4\x6B\x71\x7C\x91\x4F\x9B\x5A\xA3\x96\x8C\x97\x5A\x9F\x00\xA6\x96\x00\x02\x30\x9F\x56\x86\x96\x96\x97\x4D\x96\x26\xA5\x87\xB8\x94\x41\x93\x5B\xBF\x95\xB4\x97\x3D\x95\x0E\x5A\x92\xAF\x96\x8B\x6D\x49\x8C\x95\xF4\x93\x70\x95\x5B\x85\x97\x32\x86\xD7\x89\x5C\xB4\x75\xA8\x91\xDB\x80\x8D\x53\x73\xA4\x64\x5E\x73\xC3\x49\x04\x86\x02\x57\x60\xC6\x5C\x97\x51\x77\xED\x68\x08\x1E\x97\x7B\x67\x78\x96\xC5\x77\x6E\x8F\x01\x78\x98\xBF\x43\x04\xE9\x97\x35\x6A\x4D\xBF\x74\xE2\x93\x4F\x79\x4E\x98\x8F\xC1\x8E\x80\x62\x5C\xB8\x92\x11\x94\x7E\x9E\x8A\x59\x94\x3F\x75\x48\x90\x5A\xB2\x83\x57\x8C\x80\x61\x3E\xAC\x6D\xE9\x8C\xDB\x61\x58\x8D\x04\x7B\x96\x54\x94\xFB\x6E\x62\x59\x95\xC0\x89\x41\x8C\x97\x3E\x93\x40\x09\x35\xA8\x90\x73\x7C\x0C\x9E\x15\x87\x98\x42\x92\x2B\x68\x61\x83", - "\x04\x09\x99\x62\x9B\x60\x97\x63\x1B\x9B\x68\x8A\x3A\xA5\x43\x5C\x92\x6C\x98\x4B\x9F\x96\x0C\x7A\x1B\x93\x5D\xAD\x6E\x71\x90\x80\x6E\x5A\xBE\x6D\xB0\x96\x2B\x64\x48\xAB\x98\xF3\x86\x6E\x91\x30\x8F\x92\x34\x9A\xD4\x87\x5F\xAD\x8A\xC8\x94\x8C\x9A\x5C\xA3\x98\x11\x06\x74\x9E\x63\x94\x97\xB8\x97\x2A\x07\xDC\x43\x76\x83\x8D\x44\x75\xD9\x6B\x71\xF3\x96\x03\x78\xDC\x6F\x94\x7C\x32\x3B\x7C\x07\x13\x77\x83\x8C\x10\x02\x65\x94\x99\x50\x9A\x0C\x0E\xCE\x65\x01\x58\x98\xEC\x8A\x00\x2E\x73\x98\x57\x59\x75\xDB\x5D\x73\x32\x71\x42\x7B\xDD\x61\x2D\x5D\x99\x84\x92\x10\x3C\x94\x66\x72\xFB\x6B\x45\xA9\x99\x42\x96\x3B\x71\x0B\x30\x99\x73\x7E\x59\x76\xD5\x67\x71\x0D\x06\x2D\x04\x67\x85\x7D\x76\x99\x78\x77\x66\x82\x04\x7A\x9B\x75\x71\xA5\x7D\x99\xC4\x76\x78\x71\x10\x01\x9A\xDD\x77\x3A\x73\x37\x84\x9A\xE9\x74\x62\x78\x68\xA9\x92\xF9\x73\x2F\x7C\x02\x2E\x73\x59\x03\x9E\x98\x4B\x8B\x01\xEE\x72\x23\x08\x5A\x8D\x97\x76\x96\x5F\x91\xD9\x62\x8E\xCE\x96\x66\x9D\x5B\x98\x93\xD2\x91\x66\x9E\x58\x94\x96\x9D\x99\x09\x95\x0E\x6F\x97\x93\x93\xA9", - "\x9C\x59\x9E\x9A\x5A\x91\x42\x01\x5F\xAD\x9A\xA1\x94\x71\x96\x6B\xBD\x80\x11\x05\x93\x95\x58\xBB\x96\xBC\x9B\xAE\x9E\x6B\xAA\x96\xA9\x9B\xAD\x92\x6A\xB6\x96\x79\x7B\xA6\x98\x54\xA3\x9A\x61\x96\x42\x95\x5F\xA6\x98\xBC\x94\xAC\x9E\x6A\x9D\x96\xAE\x82\xB1\x95\x56\x81\x9B\xCF\x94\x69\x97\x0B\xA6\x9A\xB5\x99\xB5\x9A\x6D\xB3\x8D\xF9\x95\xB3\x90\x5D\x99\x9B\xC6\x94\x46\x92\x6D\xBD\x95\xDF\x9A\x6F\x9E\x55\xBE\x97\xB4\x9A\xB9\x98\x6C\xA9\x96\xA8\x98\x7D\x9D\x10\x01\x98\x10\x9B\xB4\x9E\x6D\x82\x9B\xA7\x99\x39\x43\x60\xBF\x97\x55\x96\xB3\x90\x6E\x91\x91\x09\x05\x81\x98\x6F\x89\x9B\xC0\x9B\xBC\x94\x4D\xB0\x8F\xD8\x9A\xBA\x9A\x6F\xBE\x96\x15\x7F\xB8\x91\x6A\x8F\x9B\x07\x9F\x35\x81\x10\x21\x98\x01\x92\xC2\x94\x6D\x83\x9B\xE5\x9A\xC3\x93\x13\x8B\x95\xFF\x98\xBB\x9F\x6A\x95\x9C\xFB\x90\x77\x7C\x6C\xBD\x9A\x01\x9C\xC8\x9D\x6E\xA2\x9C\xE5\x43\x83\x99\x71\x9C\x9A\x02\x9C\xC5\x94\x6F\x97\x96\x5F\x86\xC4\x99\x72\x8C\x9C\x1C\x9C\x94\x97\x16\xAB\x9B\x28\x9E\xC8\x93\x59\xB0\x85\x2E\x9E\xCD\x94\x73\x87\x9B\x80\x94\xC6\x99\x6E\xB9\x9B", - "\x31\x9D\xCD\x9F\x6B\xA8\x94\x0F\x9E\xCF\x94\x6E\xAB\x9C\x06\x9E\xAA\x9E\x61\x86\x7F\x39\x9F\xD0\x9B\x71\x88\x9D\x16\x9C\xC4\x92\x30\x85\x9C\x40\x9C\xD4\x90\x70\xA3\x9C\x01\x8D\x89\x91\x6F\x87\x9D\xDB\x98\xCC\x9E\x4C\xA4\x91\x4D\x9D\xC8\x9E\x74\xBB\x9C\x36\x91\x69\x91\x20\xA3\x8D\x2D\x9B\xD6\x9B\x70\xBB\x9B\x6C\x9C\x08\x99\x10\x2F\x98\x42\x75\x8C\x94\x75\x97\x9D\x4F\x9D\xD7\x9C\x72\xB3\x98\x43\x9A\x21\x91\x76\x98\x9D\x62\x9D\xDF\x9C\x77\xBF\x96\x8E\x91\x70\x9B\x77\xB5\x9D\x2A\x9F\xC0\x91\x11\x3D\x98\x71\x9F\x8F\x93\x77\x9A\x9C\x64\x9C\xD7\x91\x6B\x83\x04\x42\x99\xE2\x94\x64\x80\x77\xD8\x95\x70\x7D\xCD\x4A\x99\xD8\x72\xAE\x98\xC5\x4F\x99\xB0\x8E\x95\x90\xDD\x5F\x5F\x53\x9A\xA0\x9C\xB8\x5E\x9E\xC5\x73\x92\x61\x7A\x89\x9A\x7F\x71\x64\x7A\x65\x9F\x9E\x11\x04\x97\x92\x7A\xBF\x72\x5F\x98\xEB\x9D\x10\x21\x99\x04\x74\x47\x74\x66\xAE\x73\x0C\x02\xA5\x9D\x2A\xAC\x99\xDA\x74\x9E\x99\x10\x1A\x9D\x5E\x77\x98\x91\xD9\x43\x95\xBD\x9E\x9B\x99\x10\x33\x99\xAF\x9D\x37\x7C\x68\x9C\x76\x8E\x9A\xEE\x9E\x15\x8B\x9F\x06\x07\x92\x9E", - "\xA2\x4F\x9A\xD6\x95\xA4\x9A\x7C\xAE\x73\xD4\x9D\xF0\x9D\xD0\x57\x9F\xB2\x9D\x42\x09\x7D\xA2\x99\xDB\x9D\x64\x73\x69\x9D\x9F\x03\x05\xA5\x99\x7C\x91\x76\x98\x98\xF9\x92\x10\x1A\x9A\x8B\x9E\xD0\x9E\x77\x84\x9E\x32\x84\xA8\x93\x71\x9E\x9D\x76\x9E\xDB\x93\x10\x32\x9F\x2F\x9D\xDB\x95\x75\x86\x9E\x0D\x04\xAB\x9E\x78\xB4\x9F\x85\x9D\xB8\x9D\x10\x33\x9A\xFF\x9E\xFE\x94\x77\x8D\x91\xE5\x42\xE6\x9F\x77\xB0\x9F\x06\xA0\xE3\x9D\x70\x87\xA0\x0F\xA3\x32\x95\x6A\x92\x96\x8D\x9F\xDA\x99\x74\x9D\x73\xDD\x9A\xCE\x91\x81\xAE\x9F\x0B\xA1\x94\x6B\x63\x9A\xA0\x41\x9C\xCF\x9A\x74\xBC\x93\xED\x9E\x08\xA6\x75\x8E\xA0\xBF\x71\x06\xA3\x76\x9B\xA0\x26\xA0\xFF\x99\x10\x3C\x97\x3F\x9C\x04\xA1\x82\xB2\x9B\x24\x9D\x44\x08\x6E\x85\xA0\x17\xA1\xFD\x9B\x7F\xB3\x8D\xF0\x9B\xC9\x9D\x82\x81\xA0\x00\xA0\xBF\x93\x10\x37\x9B\x31\xA0\x0A\xA7\x82\x9C\xA0\x71\x96\x40\x0E\x6F\x85\xA1\x48\xA1\x05\xA3\x7F\xAC\x9C\xBC\x9C\x13\xAF\x83\x81\xA1\x0D\xA0\xEC\x84\x7C\x92\xA1\x34\xA3\x0A\xA3\x83\x91\x95\x4B\x9E\x4A\x83\x78\x8E\xA1\xF9\x9C\xC2\x9D\x85\xB5\x84\x5F", - "\xA0\x0B\xA9\x85\xAF\x9F\x58\x95\x19\xAB\x85\x96\xA0\xF9\x91\xC9\x9A\x86\x87\xA1\x53\xA1\x15\xAA\x66\x81\x04\x67\x97\x1A\xAF\x84\xB9\xA0\x8F\x9E\x1A\x77\x87\xBB\xA0\x54\xA2\x18\xA8\xD5\x54\xA0\x66\xA0\x0E\xAC\x87\xAC\x9C\x52\x9F\x60\x90\x86\xA0\xA0\x70\xA1\xD9\x9A\x54\x93\x91\x1F\x9E\x16\xA9\x88\x82\xA2\x1D\x9F\xCC\x76\x74\xAC\xA1\x32\xA3\x23\xA3\x56\x8A\x98\x4C\x9D\x09\xA7\x86\x9D\xA0\x81\xA3\x25\xAA\x35\x9A\xA2\x90\xA2\x11\xAA\x83\x91\xA2\x02\x04\x8A\x91\x8A\x8D\xA1\x9D\xA1\x4B\x91\x1C\xB8\x96\x69\x9E\x0F\xAB\x89\x8C\xA0\x78\xA2\x10\xA2\x10\x30\x9D\xC5\x92\xDC\x90\x88\xB6\xA1\x61\xA3\x20\xA2\x0F\xB8\x9D\x92\x9E\xDE\x90\x8A\x94\xA2\xA2\xA0\x10\xAC\x72\xB8\x98\x79\x9D\x24\x9F\x86\xA3\xA2\xC1\xA1\xBD\x97\x78\xB8\x96\xCB\x96\x2B\xA7\x8A\xB1\xA1\xB1\xA0\x16\x95\x4A\xA7\x9D\xDF\x5D\x75\x9E\x8C\x80\xA3\xA8\xA0\x2E\xAE\x15\xB8\x9F\x88\xA0\x32\xA9\x8D\x96\x9B\xF7\x9F\x31\xA2\x8C\x91\xA3\x7E\xA3\x19\x82\x8E\xBD\xA1\xBA\xA1\x1B\xA1\x11\x04\xA0\xD8\xA0\x34\xA9\x8E\x97\x9D\x09\xA3\x39\xA2\x87\xAF\xA2\x87\xA2\x23\xAE\x8D", - "\xAE\xA3\xA4\xA1\x40\x0C\x8D\xB6\xA3\xE3\xA3\x3B\xAC\x6E\x8B\x94\xB7\xA2\x25\xAB\x87\x95\xA2\x91\x77\x07\xAC\x8F\xA8\xA3\x04\xA6\x00\xA7\x6D\x81\xA4\xF7\xA0\x3D\xA9\x8A\xAD\x8A\x2A\xA0\x1A\xAF\x90\x9D\xA3\x0A\xA7\x40\x00\x83\x8F\xA3\x0E\xA6\x36\xA3\x74\xA5\x43\x37\xA1\x3B\xA9\x91\x82\xA4\xB9\xA3\xE0\x8D\x83\x98\xA1\x18\xA5\x49\xAE\x91\x90\x90\x09\x04\x11\xA6\x92\x83\xA4\xC9\xA2\x34\xA1\x11\x0B\xA1\x2B\xA5\x48\xAD\x92\xB6\x9F\x6B\x9A\x3C\xA4\x8E\xBE\xA3\x17\x95\x43\x07\x85\xB1\xA4\x14\xA4\x42\xAF\x8F\xA3\xA1\x7D\x86\x4D\xA8\x93\xB8\xA3\x3F\xA4\x64\x9A\x58\x8C\xA4\xFD\xA1\x42\xAE\x93\xB0\x8E\x0D\x9A\x44\xAA\x91\x8E\xA5\x5F\x9D\x44\x06\x72\xA4\xA4\x27\xA5\x55\xAC\x92\x9C\xA0\xCF\x8A\x50\xAA\x94\xB3\xA3\x5C\xA0\x85\x96\x95\xB2\xA4\xDF\xA2\x0B\xA2\x57\x94\xA5\x57\xA4\x51\xA1\x96\xB9\xA1\x45\x9C\x23\xAA\x76\xA5\xA5\x1F\xA5\x43\xA8\x92\x92\xA2\x6A\xA7\x35\xAC\x96\xBC\xA4\x07\xA7\x29\x88\x89\x9E\xA1\xBF\xA3\x5C\xAF\x95\xBD\xA4\x84\xA3\x24\xAA\x97\xBF\xA5\x60\xA6\x59\xA3\x87\x80\x00\xC0\x9C\x59\xA1\x98\xAD\xA5\x49\xA5", - "\x51\xAE\x59\x9A\xA5\x33\xA7\x50\xAB\x89\xAB\xA2\xD4\xA1\x44\x0D\x8A\x86\xA6\x7C\xA7\x4D\xAB\x95\xB4\xA4\x01\x04\x2D\xA6\x1F\x0B\x69\xB1\x97\x5A\xA7\x98\xB4\xA5\x50\xA4\xAE\x98\x55\x38\x96\x36\x99\x68\xA9\x98\xA7\xA5\xCA\xA1\x43\x04\x8C\xBD\xA2\xC6\xA1\x5E\xAF\x99\xBB\xA5\x75\xA7\xD0\x8C\x8C\x8C\xA6\xA8\xA4\x57\xA0\x9B\xBE\x92\x91\x9D\x2D\xAE\xA2\x56\xA3\xE0\x9F\x75\x9C\x79\x83\xA6\x98\x9C\x62\x7A\x80\x95\x9E\xD8\x75\x43\x04\x7A\x9D\x72\x14\x6F\x40\x07\x7A\x90\x9A\x15\x77\x2F\x77\x9C\xAD\x99\x97\x72\x72\xAE\x7C\x81\x8C\xAB\x9D\xE9\x9B\xC6\x6E\x9E\xA8\x9D\x5C\x70\x7B\xA0\x99\xD3\xA6\x2F\x95\x66\xB7\x99\xC6\x9C\x9A\x97\x7E\xB3\x8D\x51\xA0\x78\xA1\x9D\x82\x04\x85\xA5\xED\x91\xD2\x43\x9F\x72\x99\x77\xA4\x74\x80\x00\xD0\x9D\x41\x02\x7D\xB4\x75\xDF\x9E\x7A\xA8\xD6\x4B\x9A\xD8\x9E\x7B\xA5\x0E\x71\xA7\xFF\x03\x7C\xAD\xBA\x75\xA7\xE5\x75\x41\x78\x9F\xAA\x9F\x87\x9A\x7E\xA1\x11\x23\x9F\xD6\xA6\x8B\x66\x7E\x99\xA7\xD4\x71\x37\x79\x7E\x89\xA8\x74\x74\xFB\x98\x94\x8B\xA5\x82\xA7\x63\xAC\x4C\xAE\xA6\x95\xA6\x63\xAD\x95\x9A", - "\x81\x18\xA9\x6C\xAA\xA1\xB7\xA6\xEF\xA6\xFF\x90\xA2\xB0\xA2\x1F\xAB\x18\x9B\x8E\xB4\xA6\x15\xA8\x68\xAF\x77\xB1\xA3\x1D\xAA\x69\xA4\xA1\x88\xA6\x2F\xAA\x8A\xA4\xA2\xB9\xA3\x74\x8C\x8A\xA0\xA3\xB6\xA6\xAA\xA3\xB2\x9E\x99\x99\xA8\x97\xA5\x89\xAE\x6E\x89\x04\x06\xA6\x8B\xA8\xA3\xAF\xA6\x39\xA8\x09\xA3\xA1\x83\xA9\x3C\xA9\x63\xA3\x38\x91\xA4\x9C\xA3\x53\xAD\xA4\x91\xA5\x0D\x07\x45\xA3\xA2\xB5\xA3\x42\xA8\x66\xA0\x00\x1D\xA4\x80\xA5\x92\xA5\x9B\x96\xA6\x50\x9B\x48\xA2\xA3\x94\xA9\x4F\xAA\x68\xA9\x92\xB6\xA8\x5F\xAB\x44\xAA\x6C\x8D\x04\x30\xA7\x94\xA6\xA6\x95\xA9\x16\x9D\x79\xAA\xA6\x8E\xA9\x37\x9F\xA8\x84\xA6\xAF\xA9\x20\xA4\x29\x90\x94\xB8\x92\x86\xA3\x9A\xA1\xA6\xA7\xA6\x08\x93\x9D\xAD\x2A\xB9\xA9\x70\xA8\x98\xA1\xA7\x91\x90\x8D\xA0\x9B\xAD\xA3\x87\xAA\x12\xA1\x42\x03\x95\xA5\xA9\x81\xAA\x9E\xAE\x55\xB5\xA1\x75\xAA\x87\xA8\xA8\xB9\xA4\x6C\x95\x96\xA2\xA9\x8A\xA9\x8A\xA7\x58\xAC\xA8\x91\xAA\x86\xA9\xA2\xA0\x97\x91\x96\x85\xAB\x9E\xA1\xA3\xB4\xA9\xED\x8A\x5F\xA4\xA4\xA7\xAA\x5A\xA9\x4E\x97\x97\xA4\xA1\x2D\xAA\xA8", - "\xA8\xA4\x97\xAA\xFE\x8E\xA9\xA9\xAA\xB7\xA8\x5C\xAB\x96\xA6\x71\xA9\xA7\xA4\xA8\x9F\xA4\xAB\xAA\xA3\x13\x8F\x9C\xA6\xA9\x9D\xAA\x58\xA5\x44\x0A\x62\x85\xA3\x52\x8F\x64\xAB\xA9\xAE\xA5\xB9\xAA\x4C\x8A\x99\xB8\x07\x9C\xA6\xAF\xA8\xAA\xB0\xAA\xAA\xA9\xE8\x24\x9A\x8E\xAB\xB3\xAB\xB1\xA8\x96\x80\x00\xAB\xA6\x6E\xA4\xD7\x41\xA9\xAE\xA9\xAD\xA9\xA2\x9E\xA2\x0D\x04\xE2\x9A\xAD\xAD\x6E\xCD\xA0\x65\xA0\xAD\xBB\xAA\x93\xA9\xB4\xAF\x34\xB8\x96\xBC\xA6\xB5\xA3\xAA\xBF\xAA\xEF\xA7\x3E\xA0\xAC\x9F\xAB\xF0\xAA\x57\x92\xAF\x9D\xAB\x3E\xA9\xB5\xA0\xAE\xA6\xA3\xAD\xAB\x8C\xA8\xA9\x81\xAB\x03\xA0\xB5\xA7\xAE\xAE\xAB\x76\xA5\xAE\x92\xB0\xB3\xAB\xE8\xAB\xBF\xA4\xAF\x8F\xAB\x08\xAF\x5B\xA5\x6C\xBD\xAB\x82\xA9\xC4\xA0\x51\x87\xAC\xF8\xA9\xBA\xA6\xA1\x8D\x04\xDC\xAA\xBF\xA6\xAB\x96\xAC\x0E\xAD\x9A\x84\xB1\x9A\xAC\x0B\xAE\x9D\xA6\xA4\xA1\xAA\x20\xAD\xC2\xAB\xB1\x90\x99\x52\xA9\xBD\xA2\xB1\x8E\xA9\x1C\xA7\xC7\xAB\xB2\x9C\xAA\x80\x9F\xBB\x9E\xB2\x8E\xAA\x60\xAA\xBD\x93\xB3\x8D\xAA\x2C\xAF\x4B\xA7\xB3\xB0\xAC\x83\xA9\x42\x0E\xA6\xAA\xAC", - "\x34\xAC\x6B\x92\xA7\x90\xAC\x41\xAC\xCE\xA5\x2E\xB1\xA5\xE6\xA9\xC3\xA9\xAC\xAF\xAA\xBE\x91\x21\xAB\xB3\x88\xAB\x40\xAF\x2F\x7D\x94\x95\xAC\x0A\xAE\xC9\xAA\xAE\x8A\xAA\x4F\xAE\xAE\xA4\xB0\x96\xA9\x90\xA8\xD4\xAC\xB0\x94\xAD\x94\xA8\x49\x6B\xB5\xB9\xAB\x03\xAD\x23\x9F\x87\xA4\xAC\x2F\xAE\xD7\xA5\x83\x86\xA5\x1F\x9B\x91\xAE\xAD\x96\xAD\x70\xAC\xE8\x72\xAB\xA5\xAD\x51\xAC\xCF\xA1\xA5\x4E\xAD\x44\xAE\xD1\xAA\xB6\xA7\xA9\x8B\xA0\xA8\xAB\xA3\xB4\xAD\x5F\xAD\xC9\xAD\xB1\x84\xA6\x59\xAF\xBB\xA1\xB8\x90\x9B\xA5\xA1\xE1\xAC\xB4\xA0\xAD\x7D\xAA\xD9\x92\x36\x9F\x5F\xC6\xAB\xD2\xAF\xB6\xA3\xAD\x83\x8F\xB2\xA6\x24\x0D\xAB\x79\xAE\xDD\xA5\xB4\xAF\x8C\xD3\xA9\xE6\xAB\xB7\x8A\xAD\x45\xAB\x08\x82\x78\x9E\xAE\x5A\xAE\xE4\xA4\x6A\x89\x04\xE2\xAB\x66\xAB\xC6\x65\xAB\x94\xAD\xD5\xAD\xBA\xA1\xAD\x02\x05\x6E\xAA\xBA\xBB\xA6\x47\x98\x14\x73\x37\x81\xA7\xC5\x77\x70\xAF\x9B\x8F\x85\xCF\xA5\xF1\x97\x9E\x81\x04\xCB\xA5\xF5\x9D\x9C\x9D\x73\xBD\xAE\x99\x9E\x7B\x92\xA7\xE3\xA6\x4C\x85\x9D\x88\xA7\x49\x6F\x40\x08\x9D\x8C\xA7\x7C\x77\x76\xA4", - "\xA0\x83\x56\x06\xA9\x0C\x78\x7B\x95\xAF\x3E\xAE\x3B\x78\xAB\xA2\x71\xB6\xAE\xFD\x8D\x9E\x89\xAF\x2C\x9C\x7F\xAE\x9F\xB3\x87\x00\xA8\xF7\xA9\xD9\x51\x76\xE2\xAC\x36\x75\xBE\x81\x76\xE7\xAF\x80\xA0\xA1\xBF\xA7\xD8\xAE\x5E\x7C\xBC\xA1\x6E\x03\x07\xFA\xAE\x64\x88\x99\x50\x98\x82\xA3\xBF\x91\x72\xE5\x9D\xFC\xA2\x10\x0F\xA8\xFB\xAC\x3A\x73\x10\x12\xA8\xBF\x6C\x39\x4B\x97\x7B\xA4\x01\xA9\xAA\x68\xAD\x47\xB0\xFE\xAD\x40\x08\xBB\x86\x9A\x00\x02\x02\xAB\xC0\xB7\x6E\x08\xB2\xF9\xA6\xDE\x73\x8D\xC5\xAE\x79\xAE\xC9\x48\xAF\x34\x6E\xBB\x6D\xBA\x55\xB0\xEC\xAF\x05\xB2\x13\x99\xB0\x7E\x9B\xF1\xA2\x10\x01\xAF\x30\x72\x30\x44\xC1\x8D\xB0\x00\x03\xF2\xA0\x9D\x9B\xB0\x02\x07\xF3\xA2\xC7\x46\xB0\x2B\xB0\xF8\xA2\x0F\xB1\x9E\xEF\xAF\x7C\x84\x7B\x9C\x5F\x11\x06\x07\xB3\x1F\xA0\xB0\xF7\xAD\xF7\xAC\x72\x9F\xA7\x25\xB1\x78\xA6\x34\x02\x6C\x35\xB0\x83\xAF\xDA\x7F\x72\x3F\xAD\xA3\x95\xDC\x5B\xAF\x49\x75\x0F\xBC\xC0\xB6\xB0\x16\x9C\x10\xB1\x7D\x98\x73\xC8\x9D\x07\xB3\xC5\x8A\xB1\x96\x9C\xFA\xA9\x9F\xB9\x6B\x49\xB0\xF4\xAD\xDC\x61\xAF\x5F", - "\xB2\x16\xB1\xC6\x82\xAF\xD1\xAC\xF7\x99\xC3\x92\x8D\xF6\xAE\x41\x03\xC1\xAB\x97\x02\x06\x15\xBB\x79\xB8\xAF\xB0\x8D\xFA\xAD\x7C\xA0\xB1\x70\xB3\x46\x8C\xC2\xBA\xAF\x2F\xB1\x72\xA2\x10\x0B\xA8\x05\xB2\x0F\xB2\x35\xB2\xB1\xFF\x00\x71\xA1\xA5\x40\xB0\x7D\xB1\xF3\xAB\x7E\xAE\x62\x06\x89\x64\xAD\x10\x09\x88\xD7\x61\x23\xBF\xB8\x91\x04\x90\xB2\xDB\xA4\xB6\xA0\xAE\x46\x94\xDF\x88\xB6\x9B\xAE\x9F\xAD\xCC\xAC\xA1\x96\xB2\x1C\xAE\xE9\xA0\x8F\x99\x93\x8A\xAF\xE4\xA2\xCA\x90\x99\xEC\xA1\xDD\xAD\xC9\x82\xAE\x45\x7E\x02\xAC\xCA\xAA\xB2\xA5\xAC\x2C\xB6\xB8\xBA\xAB\x26\xAB\x04\xAB\xC9\xBA\xAD\xB1\xB1\x26\xBA\xA3\xB2\xA5\x87\xAC\x27\xB5\x91\x96\x89\xA5\xB3\x25\xBC\xB8\x8A\xA2\xC4\x81\x30\xB1\xCA\xB2\xB2\x2C\x9C\x93\xAF\xCA\xBD\xB2\x39\xAD\x94\xA6\xCC\xAE\xAE\xA7\xB0\xEC\x88\xA5\x8C\xB3\x9A\xAC\x2E\xB2\x13\x9E\xA9\xD1\xB1\xC8\xA0\xB8\xA2\xAC\x63\xA8\xE9\xA3\xCB\x9B\xB3\x1B\xA6\xCE\xAE\xCD\x8B\xAE\xCB\xB2\x57\x8D\xC4\xB4\xB2\xD4\xB1\x27\xB9\x70\xA3\xB3\xA6\xB0\x32\xB6\xA5\xB8\xAD\xA0\xB0\x34\xBE\xCE\xBC\xAA\x7D\xAF\x51\xA7\xCB", - "\x95\xB3\xF8\xB2\x98\xA3\x10\x13\xAD\xE5\xB0\x38\xB8\xC9\x9C\xB3\x03\x07\xA2\xA9\xCD\xB1\xAD\x03\xB7\xE0\xAD\xB5\xB9\xB2\xE8\xB1\x42\xBC\xB7\xA2\xAD\x05\xB5\x43\xB0\xAF\xB8\x9C\xEC\xB2\x30\xBD\xCF\x8F\x96\xF5\xB1\xDB\xA7\xCF\xAB\xB2\x69\xAF\xB5\xA0\xCF\x97\xB4\x08\xB6\x3F\xB3\xCC\xB2\xAD\x48\xAF\xEB\xAA\xCD\xBF\xB3\x0B\xB4\xF1\x73\xB7\xA4\xB4\x28\xB7\x47\xB0\xA2\xA4\x98\xCF\xB3\xC9\xAE\xD2\x97\xAD\xB7\x85\x4B\xB3\xD2\xAA\xB4\xB5\xB1\x42\x03\xAC\xAC\xA6\xC5\xAA\x4C\xB4\xD0\xB3\xB3\x95\xAC\x6E\x9D\x99\xBC\xB2\x0A\xB5\x4A\xB3\xD1\xAF\xA7\xBC\xA3\xB8\xA5\x63\xBA\xB4\x22\xB7\x4E\xBD\x2A\x99\xAB\xB3\xAF\xB6\xA8\xD4\x8E\xB4\x5F\xAF\x71\x93\x9B\x91\xB4\xC7\xB1\x3A\xBF\xCB\xBF\x87\xEC\xA9\xED\xAD\xBE\xB2\x84\x0F\xB3\x9F\x91\x10\x3A\xAE\x74\xB3\x60\xA4\xC2\x85\x9A\x5E\xB4\x00\x08\xC2\xBD\xA6\xD6\x9D\x64\x73\xD6\x8E\xB1\x10\xB3\x59\xB6\x9F\x82\x9F\x73\x8E\x0B\xBE\xBB\xB0\xB0\x01\x06\x0C\xBA\x7D\xB8\x72\xD2\xAF\x1A\xB3\x36\xBB\xB0\x16\xB2\x80\xA2\x13\x84\xB1\x64\xB6\x09\xB1\x10\x39\x9E\x54\xB3\xE0\x87\xCE\x97\xB1\x88\x74", - "\x14\xB1\xC4\x9B\xB5\x2C\x9C\x21\xB3\xBE\x92\x8D\x59\xB2\x18\xBE\xDD\x6E\xAF\x01\xB2\x44\x75\xBF\xAC\xB0\x76\xB1\x71\x7D\xC6\xB3\xB1\x42\xB2\x3C\x89\xD9\x90\xB0\x9B\xB5\x21\xBB\xBB\xB5\x99\x65\xB2\x64\xBA\x68\xB2\x84\x7C\xB3\x5C\xBE\xC7\x81\x04\x80\xB0\x1A\xB3\xC6\xB2\x83\x88\xB2\x6A\xBA\xC8\x81\x04\x04\xB0\xDB\x6E\xDE\x49\xAD\xEF\xA6\x2D\x91\xA2\x72\x92\xFD\x74\x2E\x9A\xDB\xB3\x6D\xAE\x91\x6F\xBD\x2A\xBF\xB6\xB1\x93\xDC\x7D\x4B\xAF\xA7\xC0\x93\xDC\x75\x9A\xAF\xA7\xC4\x91\x53\xBA\xE0\x61\x6D\x40\x9B\x6E\xB1\xDC\xB7\x77\xBC\xB4\x75\xB3\xDD\xBB\x92\xD5\xB4\x76\xB7\xDD\xB8\x74\x2A\x6A\xDE\x6C\xA2\x4E\xB2\xEE\x63\x53\xBC\xD3\x99\xAA\x0F\xAD\x3C\xBF\xD2\x8A\xB5\x6B\xAF\x27\xBC\xD1\x9F\xB3\x42\xB4\x02\xA4\xCA\x94\xB5\xF2\xB2\x55\xB2\x8B\x81\x04\xA9\xB2\x7C\xB4\xCE\xB5\xAC\x06\xAC\x7C\xB7\xDE\x89\xB5\xFC\xB4\x54\xB1\xD4\x9E\xB2\xE1\xA2\x7E\xB3\xD3\x83\xB5\x5E\x96\x32\xB9\xD1\xAC\xB7\x34\xB5\xAB\x89\xB1\x87\xB8\xF7\xB6\xD0\xA3\xB2\xBF\xAD\xED\xB6\x2F\xB9\x9A\x8B\xA4\xEB\xB5\x83\xB6\xCD\x85\xAC\xCE\xB2\x80\xB8\xDE\x9E", - "\xB4\x49\xA1\x40\x03\xCD\xBF\xB7\x04\xB8\x83\xB0\x60\xA2\xB7\xF6\xB5\x3B\xBD\x2A\xAA\xA4\xFE\xB4\x87\xB8\xDF\xA8\xA9\x24\xB8\x88\xBE\xDE\x89\x7C\x2D\xBA\x8A\xBE\xE0\x89\x04\x84\xB1\x88\xB2\xE1\xAE\xA4\x6C\xAD\x26\xA6\xDE\x83\xB8\x22\xBB\xE9\xAF\xA9\xB6\xB3\x10\xB9\x82\xBE\xE2\xBA\xA9\xE5\x40\x3F\xBD\xE3\x95\xB5\xFF\xB6\x1B\xAA\xE1\xBD\xB7\xE3\xB4\xEC\xA4\x87\xB1\xB8\x11\xB9\x33\xB5\xA9\xA5\xB8\x12\xB7\x8A\xB8\xBC\x7B\xB8\x1B\xB9\x94\xB0\xA5\x95\xB4\x3A\xB9\x85\xB6\xE2\x83\xB9\x23\xA0\x97\xB8\x97\x98\xB9\x4C\xB8\x95\xB4\xA3\x9B\xB4\x41\xBA\x8D\xB7\xE1\xAF\xB3\x27\xB6\x90\xB2\xE3\xAB\xB9\x3E\xB8\x7A\xA0\xE5\xAE\xB9\x5A\xBA\x3E\xB9\xB8\x8B\xB9\x29\xB9\x9D\xB3\x37\xB7\xB4\x46\xB5\x4E\xB8\xE7\x8D\xB9\x3C\xB9\xC9\x8E\xD3\xB3\xB9\x6A\xBB\x96\xB7\x5B\xA0\xB7\x03\x07\x72\xB5\xE8\x98\xB4\x33\xBB\x40\x0C\xD4\x8C\xAB\x6B\x73\x82\xB7\xE3\x9F\xB9\x1E\xB6\x54\xB8\xE8\x82\x04\xAC\xAD\x9E\xB4\xE7\x9B\xBA\x1D\xB8\x00\x02\xBB\x90\xBA\xB4\xAF\x9F\xB6\xE6\xB1\xB7\xDB\xA0\xA1\xB7\xE4\x9E\xAA\xE5\xB6\x97\xB5\xE5\x93\xBA\x71\xB9\x40", - "\x02\xA2\x80\xBA\x59\xB8\xA7\xB1\xA5\x75\xB7\x60\xB9\x3E\xBD\xD1\xBE\x92\xAE\xB3\xA9\xBB\xDF\x9A\xBA\x8B\xBB\xAD\xBB\xA2\x97\xA8\x64\xB8\xAF\xBA\xEB\x83\xA6\x06\xB8\xAB\xB8\xE4\x95\xBA\x11\x06\xA4\xB0\xE7\x87\xBB\x29\xB4\x40\xAA\xEA\x8C\xBB\xB2\xB9\xA3\xBF\x25\xA6\xBA\xC6\xB8\x79\xB1\x10\x29\xAC\xA3\xBB\xAE\xB0\xEB\xB3\x7D\x1F\xBB\x9B\xB6\xEB\x88\xB8\x5E\x94\x36\xBB\xED\x82\xBB\xD2\xB8\x4C\x92\xEA\xB5\xBA\x8C\xB9\x4D\x97\xEE\x9E\xBB\xEA\xB1\x44\x07\xD8\xBA\xB9\xE0\xBB\x8B\xB4\xE3\x94\xBB\xCB\xBA\xB5\xB7\x71\xA1\xB4\xE4\xB9\xBD\xB0\xB0\xA2\xB9\xAC\xA9\xB0\xB3\xEE\xBF\xBB\x3F\xAB\x3E\xB4\xEF\x9F\xBB\x38\xB8\xD6\xAB\xEE\xB0\xBB\x16\xB8\x38\xA3\xF6\x43\xBC\xE9\xBA\xA1\xBA\x87\x99\xBB\x81\xBA\x94\xBA\xA9\xB9\xBB\x04\xBD\x39\xAF\xE3\x96\xB4\x69\xBB\xB0\xB1\xEB\x9D\xBA\x68\xB8\x50\xBC\xEE\xBE\xBA\x3D\xAF\xC5\xBD\xE5\x99\xBC\xD5\xBA\xB6\xBA\xCB\xB9\xB8\x63\xBB\xB3\xB4\xEA\x9F\xBC\x08\xB8\x4B\xB7\xF0\x91\xBB\xFA\xB9\xE3\xAB\x98\xAF\xBC\xBD\xB9\xCB\xB2\xAC\xAC\xA2\x0C\xBC\xC8\xB2\xEF\x8E\x87\x83\xB8\xCD\xBA\xF1\xAA\xA8", - "\xE5\x41\x51\xBE\xDC\x87\xB5\x3E\xBD\xC9\xB3\xD3\x80\x97\x97\xB9\x40\x0A\xEC\x95\xBC\xAB\xB9\x98\xB3\x10\x29\xAE\xA0\xB8\x5D\x79\xE9\x80\xBC\xE8\xBA\xCE\xBC\xB8\x5F\xBA\x97\xAC\xD8\x8A\xD5\xA2\xB0\x2C\x9D\x57\xB2\xD8\x91\xB0\x2C\xB3\x5A\xBC\x7C\x85\x77\x6E\xB5\x02\xBB\x9E\x98\xB0\x57\x99\x61\xB9\x65\x9B\x99\x2C\xB0\x0E\xB5\xD9\x8B\x69\x7C\xB5\x08\xBE\xD7\x83\xB1\xD7\xAE\xDA\xBB\x53\x9A\xAF\x2C\xB2\x63\xB8\xC5\x98\xB6\xA5\xB6\x6B\xB3\xD9\xB2\x84\x9F\xB5\x59\xB1\xDA\x86\xB2\x8C\x6D\xE0\xBF\xF5\x83\xBE\xA3\xB4\x9F\x9D\xF7\xB7\xB5\x69\xB7\xDC\x89\xDA\x86\xAF\x46\xB0\x6B\xBC\xC2\xB1\xB6\x90\xBF\xEF\xA0\x00\x35\xB6\x1E\xBE\x2F\x9A\xD5\x7F\xBA\x0D\x04\x61\xBE\xEF\xAD\x8A\x9E\xBE\xCA\xB0\x3B\x92\x00\x7B\x9D\x39\x44\xFA\xAD\xAA\x7A\x95\xE9\xB2\x58\xAA\xBE\x0D\x06\x5D\xB8\xDB\x9E\x95\xD1\x70\xEA\xB1\x11\x21\xBE\x24\xBF\x2F\x7A\x01\x2C\xBE\x09\x07\xED\xB2\xFB\x8D\x04\x57\x00\xEE\xB3\x10\x2D\xAB\xFB\xA9\xC3\x6B\xFB\x83\x59\xBE\xBE\x88\x93\xFC\x9C\x98\xC5\xBC\xB9\x67\xFC\x86\xBF\x9F\xBF\xBB\x89\xFC\xB4\xB0\xCD\xBD\xC0\x8B", - "\xDE\x61\xB3\x11\x62\xF0\x85\x0E\x5B\xBE\x9D\xB8\xED\xB9\xF9\x80\xB8\x47\xB3\xF2\xB1\x10\x27\xBE\xD1\xBE\x2F\x90\xFE\xA2\xBE\x83\xA4\xA0\xAA\xF0\x91\x9C\xDE\xBC\x00\x0E\xFA\x9B\xA8\x03\x05\xEC\xB1\xFE\xAF\xA7\xDA\xBF\xEB\xB1\xA5\x7A\xBE\xEF\xBD\x39\x44\xFF\xA4\xBF\x4F\x85\xEF\xB9\xFE\x80\xBF\xA1\xAE\xF0\xB5\xFF\x91\x04\x65\x8D\xFA\xB6\xFE\xB6\xB9\xE8\xBF\xFF\xBB\x74\x42\xC0\xCF\xBF\x00\xC7\xAD\x82\xB2\x9C\xBC\xD8\x69\xFE\xB4\x60\x72\xBD\xAA\x64\xF8\xBF\x72\x5E\xBD\xE4\xB0\xF6\xB6\xBD\x62\xB5\xDA\xBC\xC5\x85\xA7\x09\x06\xD8\xB8\xD8\xA4\xBD\x2C\xB2\x5C\xB5\xF9\xB4\xB5\xEA\xBD\xDB\xBC\x9D\x98\xC0\x4F\x84\x60\xBC\xD6\xA5\xB5\xF1\xBF\x5B\xB1\x7E\xA4\xA7\x78\xBC\x0A\xC3\xF7\x7A\xBD\x88\x75\x64\xBE\xF7\xA7\xB6\x64\xB3\xF4\xA8\xF8\xA1\xB5\x4F\x86\xE1\xB6\x01\xFB\xC0\x9D\xB6\xC5\x9E\x03\xD6\xBE\x40\xC0\x63\xBE\xD9\x8B\xBE\x68\xB7\xF0\xA2\x7E\x94\x9A\x93\xBD\xA6\x94\x5E\xA7\xB1\x8C\xBF\x12\x6D\xC3\x79\xB1\x00\x00\x21\xB3\x01\xD7\x9E\xEE\x72\x04\xB8\x42\xA5\x64\x3A\xA5\xD8\xBA\x01\xC5\xB0\xDF\x97\x40\x06\x05\xC9\xBE\xB8", - "\x92\x07\xC2\x9F\x98\x73\x65\xBC\x13\x6B\x05\xCB\x69\x63\xC0\x0F\xC3\xF7\x62\xC0\x1A\xB3\x6A\xB5\x02\xE7\x97\x54\xC1\x1B\xC1\x04\xC3\x8E\x6E\xBD\x22\xB4\xBF\x82\x04\x71\xBF\x41\x03\x05\xC3\x70\x71\xB0\x0B\xBA\x02\xE3\xBD\x10\xB1\x0B\xCC\xC3\x9E\xA5\x2E\x6A\x1D\xC6\x04\xED\xA9\x31\xC3\x17\x7B\xC5\xA6\xB6\xA9\x9F\xDC\x84\x03\xC5\x77\x36\xC1\x0A\xBC\xD0\x89\xC2\x7C\xBE\x0E\xCF\x04\xF5\xC1\x99\xC2\x5E\xBF\x7D\x61\xB6\x7F\xC1\x5E\x71\x08\xF2\xC0\x8A\xBE\x26\xC4\x07\xC0\xC2\x7A\xB0\x29\xC8\x4B\x83\xC1\x24\xC0\x28\xCB\x06\xEB\x71\x8A\xC0\xD7\xB2\x0F\x8F\xBE\x71\xC3\x6C\xB0\x00\x2D\xB6\x96\xC3\xC3\xBF\xC1\x8D\xC1\xD3\xAC\xE6\xB2\xFF\x86\xBD\x1B\xBD\x94\x67\xAF\xB5\xBC\x09\xBC\x01\xC5\xA3\x85\xBD\x31\xBD\xAC\xBB\x6A\xB9\xBC\xF1\xB9\xB9\xB0\x00\x34\xBA\x2C\xBD\x31\xCE\xEB\xAC\xA8\xEF\xBC\x31\xC4\xE9\x88\xBC\xD7\xC0\xCC\xB7\xFE\x87\xC3\xD5\xC3\xCF\xBA\xE9\x8E\xBB\xB5\xBC\xD3\xB0\xED\x9D\xBA\x4B\xBD\xC3\xB6\x0E\xD7\xB5\x00\x01\xB1\xB9\x0C\xE5\xB9\xE9\xB5\x31\xB8\x0C\xE2\xC3\x2B\xBE\x2F\x98\xED\x95\xBD\xCD\xC2\xC4\xB8\x0D", - "\x8C\xC3\xD2\xC2\xCD\xB2\xB3\xAF\xC3\xE7\xC2\x3E\xCD\xCD\x9D\xC3\xC0\xC0\x3B\xC1\x30\xA9\xA9\x54\xBD\x34\xC6\xF1\xB5\xA4\xFC\xC2\xD5\xBE\xF4\xA3\xC2\x00\xC7\x3A\xCF\x0D\xFE\xA9\xCE\xBD\x42\xC5\x0F\xF0\xAC\xAB\xA9\x50\xA2\x11\xF9\xC3\x8B\xAD\x91\xB8\x0F\xD9\xC3\x21\xBE\x40\x02\xD0\x85\xC4\xD8\xC1\xD3\xBD\xCD\x47\xB4\x13\xC5\x3F\xC5\xF0\x97\xC2\x10\xBD\x30\xC4\xE4\x9E\x8B\x17\xC4\x47\xC6\xE5\xA2\xBC\x29\xBD\x38\xC6\x12\xEE\xC4\xC4\x99\x5A\xAE\xB7\x9B\xBF\xD6\xC2\x48\xC6\x0C\xDD\xBC\xBF\xC2\x43\xC0\x12\xDC\xBF\x36\xC4\x90\xB8\x13\xDE\xC3\x3F\xC5\xA7\xBA\xD8\x86\xC4\x3A\xC6\x42\xCD\xCD\x66\xA2\x14\xBF\x4C\xC4\xCF\x83\x04\x7C\xBB\xD0\xBE\xE7\x8D\xC4\xF0\xC2\xC9\xB0\xD0\xB3\xA2\x3D\xBC\x55\xCE\x14\xE3\xC3\x51\x6A\xD0\xB1\xF5\xBE\xA2\x5A\xC6\x52\xCB\x15\xD0\x99\x8F\xB9\xD6\xBE\xA2\x65\xC3\x62\xC5\x5A\xC3\xE1\x8F\xBD\x53\xB5\x58\xC5\x12\xEA\xC5\x18\xB9\x42\x08\xF5\x88\x08\x4B\x68\xFF\xB9\x12\xC2\xC4\x7E\x9E\x26\xB2\x13\xF0\xC5\x34\xC7\x2F\x73\x0C\xC4\xC5\x77\xC5\xF0\xB5\x22\x9B\xC4\x49\xC7\x5A\xC2\x10\x10\xC3\x21\xC4", - "\x57\xCB\x12\xC2\x82\x84\xC6\x62\xCE\x13\xC1\xC6\x45\xC6\x30\xCD\x18\xF1\xC3\x9B\xB8\x38\xC3\x14\xC1\xC4\x4D\xC7\xDC\x88\x16\xEF\xC5\x9C\xC7\x49\xC3\xED\xAD\xC4\x85\xC5\x46\xCB\xCB\xBD\xC4\x55\xC5\xC4\xBB\x0D\xF3\xC3\x48\xC6\x63\xC4\x11\xF6\xA0\x93\xC6\x55\xC9\x1A\xDD\xA9\xAD\xC6\x69\xC2\x96\x82\x04\x28\xB9\x64\xC8\x19\xFD\xBF\x4A\xA1\x6C\xCA\x12\xCE\x8D\xD9\xAC\x68\xCA\x1A\xF3\xC6\xA9\xC2\x5B\xC8\x11\xFD\xC5\x47\xAF\x4D\xC4\x1A\xE3\xC5\xAE\xC5\x5E\xC0\x11\xC1\x8C\x0A\xC1\x67\xC4\x1C\xC0\xC7\xEF\x72\x6E\xC8\x17\xCD\xC0\x01\xB6\x74\xC9\x19\xC6\xC6\x4F\xBA\x6F\xC4\x19\xC3\xB5\xE5\x43\xCC\x97\x1B\xD0\xC6\x27\xBF\x95\xB8\xFF\x93\xC7\x39\xC7\xE0\x8C\x13\xE4\xC7\x80\xC5\x3B\xC6\xD2\xB8\xBB\xB6\xC7\x63\xCA\x1E\xC1\xC5\x18\xBF\x65\xCE\x1E\xEF\xC6\x4E\xBB\xBD\xB6\x1C\xE8\xC7\xDF\xC5\x92\xBF\x89\x82\xC7\xCF\xC4\x5F\xCD\xEA\x80\x00\x4C\xC5\x7B\xC5\x1A\xD7\xAC\x36\xB4\xCE\xBA\x1D\xC9\xC7\xDA\xC1\x64\x76\xB9\xB4\xC5\xB6\xA3\x78\xC7\x1D\xC3\xC7\x16\x9E\x57\xC6\x16\xF2\x8C\x07\xCA\x6C\xC3\x0D\xC1\x9E\x49\xBD\xEC\x86\x1D\xC2", - "\xC8\xC6\xC0\xD4\xB3\x21\xE4\xAB\x1B\xC8\x78\xCA\x1F\xEB\xAB\x19\xCA\x5D\xCB\xD8\xB3\x69\x57\xC1\x64\x75\x01\xD6\xBE\x60\xB7\x1D\xC0\x65\xA6\xC1\xFD\xA4\x1A\xCE\x05\xD3\xAF\x69\xC1\x04\xC7\xF6\x8A\xAF\x6C\xBE\x2A\xCD\x2A\xB9\xC1\xB2\xB7\x1E\xC1\x10\x3D\xC1\xA9\x76\x1B\xC5\xF4\x43\xC2\x1F\xC1\x21\xCC\xC2\xAF\xBB\x31\xC9\x62\xB9\xF7\x9F\xAF\x1B\xC3\xA0\x98\x04\xEE\xC0\x78\xB6\x1A\xBF\xF6\xAB\x71\x45\xC2\x2C\xC2\x04\xCF\xC9\x66\xBF\x7D\xA0\xF8\x98\xC9\x7D\xB6\xED\x9B\x04\xD3\xAF\xB8\xC1\x12\xC9\xC6\xA8\x9F\x4E\xC0\xE5\x94\x06\xED\x8A\x2B\xC8\x09\xCD\x22\xCB\xC2\x55\x9B\x17\xC7\x03\xD1\xC2\x23\xB2\x9B\xC1\x05\xE3\xC9\x71\xB5\x8E\xCD\x24\xCC\x6E\x3C\xCB\x08\xC2\x07\xC0\xC9\x9C\xB4\x9B\xC0\x65\x84\xC9\x67\xC0\x62\x76\x08\xDD\xC9\x37\xC8\x14\xAD\x08\xD0\xC2\xDA\xA5\x37\x73\x09\xD0\xB0\x95\xC2\x98\xCF\xDA\x97\xC9\xA6\xC3\x9D\xCF\xCB\x6C\xC2\x72\xC1\x95\xC3\xF7\x87\xC1\x91\xC8\xA2\xCD\xA0\x9E\xB1\x99\xCB\x9B\xC9\x28\xDF\xC9\x9E\xC1\x44\x01\x26\xD0\xC9\x8D\xBE\x4C\x84\xF9\xB5\xC2\x3E\xCB\xE5\xBA\x5E\xA8\xC2\x55\xC3\x0F", - "\x74\xD6\x5C\xC2\x3A\xCA\x57\x89\x26\xF2\xC1\x5A\xC2\x76\x9C\x05\xF3\xBB\xB1\xC9\xC0\x80\x23\xCF\xB6\x63\x8D\x8D\xCE\x07\xEE\x75\x50\xC2\xA3\xCF\xF7\xAC\x9C\xBB\xCA\x8C\xC9\xD5\x4F\xC2\x9E\xCB\xA6\xC5\x27\xD3\xAF\xEB\xBF\x21\xC7\xB5\x70\xCA\x92\xC9\x37\x79\x27\xE8\xCA\xFC\xAC\x1F\xCB\x2A\xE2\xC2\xC1\xC6\xA6\xCB\xC4\xB7\x9E\xD3\xAF\xA0\xC1\xC5\xB6\xCA\x6C\xC3\x91\xC7\x28\xF3\xB0\x9B\xBF\xF7\x51\x0B\xD7\xCA\x55\xB0\x93\xC5\xC0\xA5\xCB\x43\xAD\xB4\xCC\x29\xE1\xCA\x79\x9B\xB5\xCB\x5D\xA2\xC1\x9D\xC3\x94\xC3\x7D\xB2\xCB\xB7\xC8\xBD\xC9\x2B\xFE\x92\x94\xCA\x2D\xCE\x0A\xE0\xCB\xB0\xC1\xBD\xCA\x07\xD5\xCB\x05\xAB\xB1\xC1\x2C\xE4\xCA\x4A\xC2\xE3\xBC\x04\xC6\xCC\xD0\xCA\xB6\xCD\xC5\xB3\x8D\xA7\xC9\x11\xB6\xF9\xBE\xC2\xF8\xC7\x7C\xC4\xD1\x81\xB8\xFC\xC5\x68\xC9\x0D\xFA\xC5\xF2\xC7\x80\xC5\x31\xDD\x73\xAF\xBA\x88\xC4\x1F\xC7\xBD\x27\xA9\x85\xCB\x1B\xEB\xC6\x8C\xC6\xC9\xCF\x31\xC8\xC7\x16\xCA\x73\xCF\x1F\xFF\xC5\xF9\xC7\xC8\xC4\x20\xEE\xC3\x19\xCF\x6F\xCE\x1F\xC3\x8E\x9B\xC4\x84\xC6\x33\xD8\xC7\xE9\xC1\x88\xC4\x0F\xDE\xC6", - "\x1E\xAE\xCA\xCF\x20\xC7\xC4\xD7\xBA\xCF\xC2\x33\xEC\xBF\xF7\xC2\xD0\xCC\x21\xD7\xC8\xFB\xC1\xCD\xCB\x1D\xE9\xC7\x01\x8D\x6D\xC2\x32\xC9\xC6\x94\xC5\x39\x44\x10\xD3\xCD\x09\xC8\x3A\xC8\x24\xE5\xC7\x4F\xCD\x4D\xCD\x2A\xCA\xCD\x58\xCD\x47\xC0\x1F\xE3\xBC\x1D\xCC\xCB\xC7\x32\xFB\xC4\x6D\xB8\xD7\xC8\x20\xE2\xCD\xD1\xC4\xD8\xCF\x33\xDB\xCC\x52\xA6\xD1\xC4\x35\xC8\xC8\x59\xA6\xDB\xC7\x34\xEB\xB4\xAF\xC3\xD2\xCE\x32\xE3\xB2\x67\xAF\x5E\xCB\x37\xDD\xCD\xBC\xC4\x4C\xCD\xEF\x8E\xC8\x7A\xCE\xCE\xC0\x65\xA7\xC7\x43\xCE\xC6\xCF\x14\xEB\xC7\xF7\xC5\xE2\xCB\x33\xC0\xCD\xF6\xC6\x50\xC7\x1C\xF7\xCC\x80\xCE\xC3\xB8\x59\x8E\xCD\x6B\xCC\xD4\xC7\x31\xF7\xB9\x98\xCD\xCB\xC6\x38\xF0\x8E\x51\xC7\x57\xC3\x1F\x91\xAE\x85\xCD\x7F\xCC\x33\xCB\xC8\x16\x08\xE6\xAD\x39\xE7\xCD\x94\xCC\xEC\x82\x21\xCC\xC8\x2E\x6A\xA2\xBA\x39\xD9\xCD\x3C\xCD\x59\xC0\x3B\xCE\xB5\x76\xCF\xDC\xC4\x32\xE1\xAB\x6D\xC4\xE1\xC1\x36\xF3\xCE\x5E\x97\x5C\xC9\x3A\xDA\xBD\x66\xCA\x90\xC8\x4B\xB3\xCA\xB6\xC3\x9A\xC6\x25\xED\xC9\x34\xCB\x8C\xC0\x2F\xC9\x04\xBE\xC9\x90\xCE", - "\x22\xF0\x8E\x70\xC2\xC4\xC4\x02\xCD\xCB\x84\xCA\x96\xCC\x72\x93\xCB\xD6\xCF\x9E\xC2\x08\xF5\xBD\xEE\xC8\x0C\xC3\xBD\x87\xC5\x7D\xCB\xF2\xC0\x65\x8B\xCA\x65\xB5\xA3\xC8\x30\xF4\xC9\x5B\xC9\xA7\xC3\x27\xCF\xCA\x83\x8D\xBF\xC9\x2A\xD6\xCA\x5E\xC8\x65\xB3\x30\xC2\xB0\x80\x9A\xC0\xCD\x23\xC4\xCC\x00\x00\xFD\xC5\x28\xF3\xC2\x0B\xCD\xF8\xC6\x2A\xE5\xC9\x02\x6B\x6D\xB3\xB8\x84\xB7\xF4\x76\x2E\x95\xDF\x7C\x77\xD6\xB5\x2D\x92\xDC\x9E\x85\x08\xD3\x7F\x7C\x4B\x9D\xB7\x08\x6B\x77\xB3\xC9\x89\x63\x5B\xBC\xBA\xC9\x64\x99\xC1\xCE\xCE\xBD\xC4\xD7\x51\xCF\xE5\xCE\x06\xDF\x22\xF2\xC9\xC2\xC8\x0E\xC2\x0F\x95\xCF\x81\xB6\x05\xC8\x3D\xF6\xC8\xDA\xCF\x0D\xB7\x02\xC2\xD0\x74\xBD\xB7\xC2\x2E\xE3\xCF\x4B\xCB\xF4\xAA\x3E\xD9\xC9\x70\xB5\xFB\xCF\x3C\xD7\xB6\xFB\xCB\x7B\xA2\x3F\xFC\xCF\xFE\xCD\x0B\xD0\x29\xFB\xD0\xF9\xCD\x0F\xDB\x9F\x9C\xC9\x2C\xD1\x0E\xDC\x72\xB4\xC2\xDD\xCE\x2D\xC3\x2A\xF8\xD0\x2F\xC3\x00\xDD\x0B\xF7\x80\x1E\xCE\xE3\xC0\x65\xB7\xAB\x65\x7E\xDC\xC4\x3B\xF1\xC5\x18\xCC\xE9\x7A\x45\xEA\xCD\x32\xBF\x40\x01\x32\xDE\x85\x16", - "\x83\xDB\xCA\x38\xD0\xBB\xE5\x40\x62\xCF\x9E\xA5\xD1\x77\xCD\xE9\xCB\x38\xDF\xB5\x54\xD2\xD9\xCB\x32\xE8\xC3\x6C\xD2\xEE\xCC\x3A\xFC\xCC\x58\xD1\x44\x05\x47\xDB\xD1\xA6\xCE\x68\xCF\xE0\x88\x7F\xB9\xCC\x1F\xD2\xCC\x83\x94\x71\xD1\xEB\xCE\x39\xC4\xCD\x3D\xCC\x0A\x8E\x3B\xE6\xD1\x8F\xCE\x95\xAC\xA4\x99\xD1\x81\xD0\x18\xD3\x33\xCE\x83\x85\xD3\xDF\xC9\x39\xCE\xC3\xDD\xBA\x2F\x9B\x47\xD2\xD2\x73\xD0\xCF\xC2\xEE\xAD\x8A\x9B\xD0\xF0\xC2\x4A\xEE\x7B\x95\xD3\xE7\xC7\x48\xEF\xD1\x00\x03\xD5\xC4\x46\xDF\xD1\xB3\xCC\xC1\x94\xF9\x51\xD2\xA3\xD3\x2F\x74\xC8\x90\xD2\xAB\xCD\x27\xDE\x47\xFC\xBB\x16\xC7\x2B\xD5\x4B\xD6\xD1\x74\xCF\x72\xCE\x4B\x9D\x98\x0D\x05\x28\xD1\x33\xF6\xD1\x48\xCD\x40\x03\xB5\xB4\xD2\x8B\xD1\x1B\xDF\x3B\xCC\x6E\x1F\xC4\x28\xDC\x4A\xC3\xD3\xD4\xC7\xC2\xBA\x48\xFE\xCD\xA6\xD3\x1D\xDC\x45\xFA\xC2\x01\x8E\x30\xD6\x31\xC2\xD2\x7C\xCE\x78\xC6\xFB\x4F\xD3\xDB\xD2\x57\x98\x38\xF8\x92\xDA\xD1\x15\xDE\x46\xE7\xB9\x6D\xB8\x32\xD4\x4D\xFD\xD1\xEC\xD3\x7F\xC3\x4E\xCE\xD3\xB0\xD0\x34\xDC\xF1\xA9\xD3\x7A\xD0\x38\xD6\x4E", - "\xE1\xC7\xA3\x59\x29\xDD\x4E\xCD\xD2\x83\xD1\x44\x01\x20\xF0\xD3\xBB\xD3\x39\xD5\x35\xF7\xBC\x19\xC8\xE9\xC0\x50\xC9\xD3\xC4\xD0\x2F\xD3\x98\xA8\xCE\xF4\x06\xEA\xCE\x45\xF1\xD3\xE1\xD0\xE2\xA1\x10\x2F\xCE\xC3\xCD\xEC\xCA\x4F\xE7\xD1\x95\xCC\x74\xC6\x3B\xD5\xD4\xB8\xCE\x2E\xD8\x50\xDC\xD3\x19\xD7\xB5\xAE\x21\xF7\xCE\x20\xCB\x34\xD5\x36\xC6\xD2\xD6\xD0\x22\xD2\x3C\xCD\xD4\xC4\xCE\x47\xDB\x4E\xD8\xD4\x97\xD2\x5F\xC7\x51\xFC\xD3\x34\xD4\xAA\xBA\x8F\xB3\xD4\x21\xD6\x25\xD0\xD3\x83\xC6\x26\xD7\xE4\xCA\x53\xE9\xD4\xFF\xC6\x1A\xDA\x4E\xE7\xD4\x3F\xD6\x2D\xD2\x0F\x8A\xA0\x43\xD6\x4F\xD5\x4D\xC6\xD5\xFF\xC5\x39\xD2\x47\xCA\xD4\x4F\x85\x1E\xD1\x4C\xF6\xD3\x4F\xD5\x4D\xB4\x33\xCF\xD4\x01\xD7\x32\xD6\x0F\xCA\xBD\x38\xD5\x4C\xD7\x4F\xEF\xC7\x89\xD2\x4B\xD4\x54\xCB\xD5\x50\xD7\xDC\x7F\x48\xF5\xD3\x10\xD7\x57\xD4\xFD\xAF\xA0\x5D\xD7\x29\xD5\x53\xFB\xBB\x03\x05\x26\xDB\x46\xD4\xD5\x28\xD5\x31\xD0\x00\x1F\xD2\xAB\xD1\x5A\xD5\x55\xF8\xD3\xB4\xC5\x5B\xD0\x54\xEF\xD5\x3B\xD5\x40\x0A\x4A\xD9\xD3\x74\xD5\x51\xD5\xF4\x48\xC9\x49\xD4", - "\x53\xD0\x58\xC4\xB3\x0C\xC4\x56\xDF\x51\xDC\xD2\x0F\xC4\xCA\xB3\x38\xDF\xD3\x7A\xD5\x5D\xD2\x18\xE3\xCD\x31\xC4\x20\xD9\x55\xCC\xD2\x39\xD4\xCB\x97\x4C\xE8\xD5\x9B\xD6\x32\xDC\x59\xF0\x8E\xCD\xD1\x5E\xD1\x5A\xC9\xD4\x02\xD4\xEC\x83\x61\x89\x04\x4E\xD6\x65\xD9\x5A\xE1\xD1\xD8\xD2\x26\xD5\x58\xE4\xD5\x56\xD6\x74\x7D\x53\xCA\xD6\x9D\xD4\x22\xDF\x4E\xE6\xD6\x8F\xD5\x2C\xD8\x32\xF8\xD2\x78\xAA\x5F\xD8\x5B\xDE\xD5\x68\xCC\x7B\xC7\x50\xEF\xD4\x8B\xD7\x70\xD3\x98\xBB\xD6\x84\xD5\x65\xD6\x58\xCF\xB4\xFB\xC6\x63\xD8\x5C\xF9\xD6\x30\xD5\x60\xD0\x20\xC2\xD7\x65\xD5\x76\xD8\x4B\xA1\xCE\x1F\xCB\xE8\xC8\x5D\xEF\xD6\x7F\xD6\x4D\xD0\x00\x0C\xD4\x47\x0A\x43\xD4\x59\xE7\xD6\x20\xD4\x71\xD3\x37\x94\xD4\x2C\xD6\x45\xD7\x5B\xDA\xD7\x5A\xD7\x36\xCB\x51\xED\xD7\x1D\xD6\x74\xD3\x56\xFB\xD3\xD4\xD4\x8D\xA3\x52\xDC\xD4\x25\xD6\x58\xDA\x54\xF8\xD7\xEA\xD4\xCF\xCB\x52\xE5\xD7\x2D\xD6\x7D\xDF\x5F\xD5\xD7\xE1\xD4\xEC\x82\x55\xEC\xD6\xB3\xD4\x80\xD3\x98\x8B\xD8\x6C\x79\x83\xD8\x60\xC3\xAE\x63\xD1\x73\xD8\x5E\xD0\xD6\xD0\xD5\xC0\xAF\x5E\xE0", - "\xD7\xCA\xD4\x63\xD0\x47\xDB\xD8\xF1\xD7\x5E\xD3\x22\xCC\xD8\xCE\xD4\x6D\xD1\xF0\xA9\xBA\xE7\xD5\x6F\xD2\x4F\xEF\xC4\x9F\xC6\x7F\xDD\x61\xEF\xD8\x66\xAC\x90\xAF\x5D\xE1\xD8\xAE\xD7\x89\xD1\x34\xEE\xD8\xF0\xD7\x68\xD6\x5D\xE7\xD5\x53\xD5\x89\xDE\x60\xD3\xD2\x45\xCC\x88\xDA\x63\xC9\xD8\xBB\xCD\x42\x02\x57\xC9\xD6\x39\xDA\x68\xD8\xEC\x8D\xCD\x06\xD8\x8C\xDC\x61\xF1\xD8\x43\xA3\x8C\xD3\x64\xCE\xD9\x36\xD9\x2A\xD2\x65\xCA\xD9\xA8\xD5\x95\xD8\x58\xE0\xD6\x2A\xD9\x44\xDE\x0C\xF3\xD2\x5C\xDB\x74\xD1\x60\xE6\xD8\x57\xC4\x66\xD3\x59\xDA\xD6\x5D\xDA\x5A\xD9\x65\xD7\x98\xF4\xD1\x8F\xD7\x61\xFE\xD6\xD0\xC7\x67\xDE\x66\xE9\xD9\x22\xD8\x96\xDF\x9E\xA5\xD6\x16\xD8\x9D\xD5\x63\xD3\xD9\x50\xDA\x34\xD8\x63\xCF\xD9\x80\xD9\x95\xDE\x19\x08\xD9\x81\xD8\x9F\xD8\x1B\xCF\x76\x42\xDA\x9D\xD8\x61\xFC\xD5\x66\xD9\x2E\xDD\x64\xC9\xD9\x6B\xDB\x5A\xD2\x38\xCE\xDA\x29\xDA\x98\xDE\x56\xF9\xD7\xE2\xD4\x73\xD2\x5B\xFE\xD8\x13\xDB\x65\xD1\x39\xF1\xC7\x0C\x79\x6B\xDF\x5C\xF4\xD8\x3C\xCC\xF9\xC3\x57\xDC\xDA\xC9\xD4\xDE\xCD\xAB\x89\xDA\x91\xD9\xAB", - "\xD5\x19\xC4\xD4\x17\xD1\x42\x06\x50\xFC\xD6\x96\xD8\x91\xD6\x6B\xC3\xAE\xE4\xD6\x67\x06\x5E\xE8\xD9\xB5\xD8\x95\xD6\x68\xED\x8A\xEC\xD4\x81\xDE\x5E\xFF\xD9\xA4\xD8\x99\xD2\x69\xC2\x04\xF3\xD6\xB0\xD5\x5F\xD5\xDA\xF7\xD5\xA7\xD5\x68\xC1\x8C\xFB\xD4\x7D\xDD\x5F\xCF\xDA\xCF\xDA\xAB\xDC\x36\xC3\xD8\xBA\xD9\x81\xD9\x2C\xE1\xD0\xF5\xCC\x57\xBC\x41\xC6\xD1\x11\x05\xB1\xC8\xD8\x60\xD0\xA2\xB6\xF1\xCD\x2A\xA2\xDB\x20\xC0\xB8\xDD\x10\x28\xD0\x2B\xC3\xD7\xBB\x42\xE7\xC8\x22\xD2\x97\x9F\x42\xCE\xCC\x1C\xC2\x62\x50\x3E\xF4\xDB\x51\x68\x92\xCC\x2B\xDF\x5F\xA6\xD9\x8A\xC2\x09\xEA\xCB\xDB\xDB\xC3\xCA\x43\xDE\xD0\xF0\xAE\xBA\xDC\xD5\x48\xD1\xF0\xD9\xB7\xD9\x03\xC4\xD1\x05\xCC\x0C\xD8\x29\xCC\xDC\xFD\xCF\x1E\xB1\x40\xF8\xDB\x8C\x6D\xC4\xC9\x42\xD3\xCC\x57\xDA\xB5\xDD\x4A\xC0\xBB\xD4\xD9\xB1\xDF\x63\xC3\xAE\x10\xDA\x40\x02\x6A\xC6\xDB\x1A\xDE\xD7\xC5\x61\xDB\xDA\x6F\xDB\x8A\xDE\x0C\xC2\xD5\x61\xD9\xB3\xD9\x6A\xD5\xDB\xEF\xA4\x52\xDD\x72\xC7\xD8\x2F\xDE\xC7\xDD\x54\xD2\xD8\x35\xDD\xA9\xBC\x6A\xE9\xD7\x97\xD9\x2F\xDF\x47\xE1\xDA", - "\x38\xDC\xA6\xD5\x1F\xDC\xAB\x84\xDA\xCD\xD9\x73\xC7\xDB\x37\xD9\xC7\xDF\x6B\xCB\xDD\x4B\xD8\x85\xBC\x6C\xF4\xDC\x42\xDD\xCF\xD0\x5B\xC1\xD9\xC4\xD8\xD3\xD5\x72\xCB\xC4\x1E\xB9\xC6\xDC\x73\xF7\xDA\xAA\xD9\x42\x08\x57\xF9\xD9\xBD\xD8\xA4\xDB\x75\xF3\x7D\x52\xCC\xAD\xDE\x72\xD1\xDD\x5C\xDD\x6D\xD2\x58\xDA\xDD\x8B\xDA\xD5\xDF\x9E\x9B\xD9\x73\xD9\xD8\xD0\x73\xEC\xCD\x60\xD9\xDC\xD7\x76\xE3\xD9\x1F\xDD\x9F\xDD\x68\xC1\xD7\x3B\xDD\xDB\xDA\x68\xD2\xD4\x9F\xD8\xD9\xC0\x74\xE8\xDA\x68\xDE\x5D\xD2\x67\xE4\xD8\x29\xDE\x97\xD8\x75\xDF\x95\x7D\xDC\x9C\xDB\x67\xC8\xDD\x2D\x9D\xE3\xDA\x72\xCA\xDE\xDD\x73\xA0\xD3\x73\xFE\xDA\x7F\xDE\xD7\xC6\x61\xA0\xDD\x77\xDE\xD4\xD9\x76\xD5\xD9\x9A\xDB\xA9\xD9\x78\xEA\xD9\xAF\xDA\x64\xD4\x69\xFC\xDA\x9D\xDF\xE7\xDE\x76\xE2\xD3\x6D\xD8\xE2\xDA\x67\xE3\xDA\x6E\xDD\x45\xCC\x77\xD5\xDD\x99\xDC\xE5\xD0\x1D\xE6\xDA\x45\xDF\xEA\xDE\x78\xFC\xCC\xFF\xD2\xD9\xD0\x75\xF8\xDD\xCE\xD9\x95\xDC\x5D\xE4\xD4\xDE\xD6\xE4\xD6\x7B\xCF\xDE\x9B\xCD\x66\xA9\x15\xCA\xDD\xB5\xDC\xE9\xDD\xE9\x81\xDB\xD9\xDB\xB0\xDC", - "\x7C\xD7\xDD\xCE\xDC\xE0\xD9\x6C\xD1\xDF\xCB\xD8\xEA\xDF\x7B\xDE\xDE\x98\xDE\x2F\x91\x6D\xCA\xDB\xD3\xDB\xD3\xDD\x7D\xE3\xDD\x5D\xDC\xE4\x99\xD5\x85\xCF\xD3\xCC\x70\xAF\x6D\xCE\xDC\x16\x9C\xBA\xDD\xD6\x9D\xD0\xF7\xCE\x65\xB7\xC2\xA1\xC0\x76\xC8\xC5\xD9\xD7\x84\xDC\x3A\xB3\xF7\xC2\x43\xC6\xDC\x0E\x87\xB8\xCF\x3E\xC3\xCB\xF2\x80\xFA\xCF\xF5\xB7\xD0\xD9\xCE\x12\xDF\x70\xF8\xDF\x6C\xB2\xFE\xCA\x27\xFE\xCB\x0A\xE0\xB5\xC8\x3F\xCD\xDC\xF6\xDE\x94\xC1\x7F\xCB\x69\x41\xD2\x01\xE6\x71\x8C\xD1\x17\xDC\x09\xCF\x44\xC5\xE0\x51\xD0\xCB\x96\x71\xED\xDB\x16\xC0\xC5\xC0\x45\xFE\xA6\xE6\xDA\xAC\xCB\x7E\xD1\xE0\x6A\xB4\x09\xDB\x3E\xF0\xCF\x23\xD1\xF3\xCC\x7F\xC2\x04\xEC\xD8\x21\xC5\xD6\xAF\xDB\xD2\xCE\x9F\xC2\x6F\xD3\xAF\x7C\xC9\xB9\xD9\x7E\xE9\xC0\xF7\xD9\xC0\xD5\x6F\xC8\xC4\x10\xDD\xBF\xD7\x26\xDE\x85\x02\xE2\x05\xC4\x80\xC9\xD1\x1D\xE3\x01\xE3\x81\xD4\xC9\x0D\xE1\x13\xD3\x3F\xCD\xE1\x19\xE1\xA5\xC0\x85\xE0\xE0\x44\xC2\xC4\xD0\x26\xFC\xC2\x10\xDE\x08\xEC\x81\xE4\xE0\x3B\xE3\xDC\x78\x3C\xE9\xCA\xCA\xCD\xBC\xD9\x01\xEE\xE0\xEC", - "\xDC\xF3\xC0\x71\xE4\xDB\xFE\xD8\x8E\xCC\x2C\xE6\xC0\x38\xE2\xFE\xD0\x71\xDE\xCB\x09\xDF\xFF\xCC\x08\xF4\xD0\x2F\xE1\xB6\xCB\x84\xEE\x68\x47\xE1\x1C\xE2\x44\xF1\xCF\x08\xDD\x0D\xE6\x3E\xF5\xB1\x7D\xE0\xB7\xD2\x87\xFC\xE1\xEE\xCD\x09\xD0\x27\xCB\xDC\x08\xE3\xD8\x85\x81\xC9\xE1\x17\xE3\xC4\xDE\x83\xC7\xB2\x04\xD2\xC3\xC9\x86\xDD\xBD\x27\xE3\x23\xE3\x7A\xAA\xE0\x23\xE1\xA9\xC4\x2C\xD8\xE2\x5B\xE2\x26\xE7\x42\xF5\xDF\x96\xE3\xFD\xD7\x87\xF4\x75\x39\xE3\x24\xE2\x0F\x80\xCA\x49\xC9\x71\x70\x87\xFE\xE1\x62\xE3\x53\x8A\x6F\xD8\x73\x42\xE1\x09\xE1\x30\x85\xE1\x96\xBD\x1E\xEC\x8A\xCA\xDC\x4A\xE3\xFE\xCF\x80\xD1\xDC\x75\xE0\x7C\xA1\x88\xFA\xE0\x36\xE3\x60\xAF\x43\xFB\xE2\x8B\xE1\x94\xCF\x2E\xC9\xE2\x9F\xC2\x15\xE0\x71\xDB\xE0\x48\xE2\x31\xE0\x31\xD1\xE2\x01\xDE\x29\xE6\x71\x9F\xE1\xFC\xCD\x18\xE8\x8B\xED\xDF\x9C\xE1\x33\xEE\x89\xD8\xE3\x64\xE0\x0A\xEB\x2C\xD0\xDC\x34\xE2\x20\xEB\x87\xD0\x99\xDC\xCD\x14\xE6\x0B\xE5\xE2\x43\xE1\xC0\x88\x8A\xFB\xDB\xB3\xBF\x0C\xD1\x84\xF5\xD0\x10\xDE\x2D\xE2\x8E\xD6\xE0\x84\xE0\xC4\xD5\x8C", - "\xDB\xE3\xF5\xE0\x32\xE1\x11\x37\xE3\x09\xCF\xC0\xD3\x8A\xC5\xDC\x65\xE0\x94\x93\x8C\xF2\xDF\x10\xE1\x28\xED\xCD\x58\xE0\x54\xE2\x06\xE8\x85\xFA\xE3\x0D\x06\x16\xE6\x74\xC5\xDE\x7A\xDC\x37\xCF\x7A\xE4\xDC\xA5\xDE\x7A\xB2\x77\xCF\xE4\xC0\xDF\xE0\x87\x72\xE4\xDF\x73\xDC\xE0\xDA\x46\xFE\xDD\xD4\xDE\x31\xC9\xEB\x93\xDE\xD5\xDC\x49\xE5\x67\xCA\xC7\xB6\xB3\x45\xEA\x7B\xD0\xD3\x96\xC7\xF6\xDA\x7A\xCD\xDF\x05\xA5\xD0\xD9\x91\xE2\xD7\xEA\xC1\x49\xE7\x7C\xF2\x84\x35\xE7\x49\xEC\x91\xCC\xDA\x00\x00\x6A\xC1\x92\xC8\xDF\xD1\xD1\xD6\xD4\x78\xF3\xE4\x3E\xDE\xD7\xD2\x93\xDC\xDF\x11\xE5\xD9\xD0\x93\xC0\xE5\x9D\xBB\x60\xDF\x93\xF0\xDE\x25\xB5\x40\x0B\x35\xFB\xDE\x14\xE7\x3A\xB3\x7A\xFA\xE4\x6C\xCD\xE8\xD0\x92\xFB\xE4\x60\xD6\x56\xE4\x95\xF9\xDD\x6A\xDD\xDB\xC7\x95\xCC\xE5\x3B\xBE\x47\xC7\x94\xEF\xE4\x28\xE5\x42\x04\x12\xD4\xE4\x5B\xE6\x57\x9E\x1D\xF7\xE4\x6C\xE5\x94\x6B\x79\xCF\xE5\x71\xE6\xD7\xCE\x95\xE6\xE4\x64\xE5\xCF\x96\x5C\xEB\xE4\x70\xE4\x9B\xBB\x97\xCB\xE5\x50\xE5\x5A\xE3\x69\xF3\xDE\x13\xE4\x58\xE8\x91\xC3\xA6\xA6\xD9", - "\x5B\xEF\x95\xFF\xC7\xBD\xDC\x60\xE5\x97\xC1\xCE\x02\x07\xF0\xDC\x5F\xC5\xDF\x63\xE5\x60\xE5\x91\xFC\xBC\x19\xCB\x4F\xBE\x92\xE3\xDF\xDC\xC6\xB4\xA9\x21\xF2\xCE\x78\xE6\x65\xEE\x55\x97\xDF\xD8\x71\xCE\xC6\x98\xFC\xE5\xDB\xC3\xF7\xD8\x7D\xE1\xDF\xA9\xDC\x67\xEB\x71\xE4\xC8\xB1\xDB\xEF\xB7\x96\xD3\xC7\x1C\xCF\x66\xE2\x76\xEC\xCD\x30\xCD\x5F\xE1\x7C\xE5\xD9\x84\x8F\x6C\xE2\x76\xE9\xD1\xBE\xE4\xCC\xD4\x0D\xC5\xE6\xBB\xE6\x63\xE7\x9A\xC6\xE7\x2F\xCD\x70\xE7\x98\xCF\x85\x39\xE5\x5E\xEA\x9B\xF8\xCC\xCA\xE4\x6A\xE1\xD9\x4D\xE7\xA2\xE7\x62\xEB\xA4\x91\xE7\xC8\xE7\xE0\x8E\x93\xDC\xE5\xD9\xE6\xBD\xB2\x57\xCA\xE6\xA1\xE7\x35\xD1\x10\x1F\xDD\x74\xE7\x71\xE2\x98\xFD\xD5\x43\xE4\x52\xE7\x68\xD6\xD9\xE9\xE4\x5A\xE0\x14\xC0\x00\x53\xE5\x78\xE6\x9E\xEF\xA7\x35\xBA\x75\xE0\x91\xE1\xE5\x77\xE7\x73\xE7\x9F\xE0\xDE\x69\xCE\x7D\xE4\x94\xD3\xDD\x62\xE4\x71\xE7\x74\xEE\xDA\x4A\xB9\x65\xEF\x98\xFF\xD6\x12\x98\x76\xE5\x9E\xD6\x9C\x6F\xE6\x4D\xEE\xA0\xC0\x7E\x0A\xE8\x77\xE9\x7C\xC1\xDE\x99\xD6\x6D\xED\x91\xCB\xC6\xC0\xD7\x9F\xA1\xA1\xDB", - "\xE5\xB2\xDE\x86\xED\x9E\xEE\xE6\x7A\xE5\xE3\xC7\xA1\xFA\xE7\xF5\xC5\x62\xEE\x9F\xEA\xE7\x3C\xE5\x63\xEB\xA0\xC3\xE8\x41\xE4\x00\x02\x99\xD2\xDB\x94\xE6\x80\xEB\x9F\xF1\xDE\x11\x05\xAE\xD8\xCD\x5A\xE6\x20\xE8\x89\xE3\x98\x90\xDF\xD8\x70\x68\xEA\xA3\xEE\xE7\xA3\xE7\xE8\xA6\xA0\xF3\xE7\x6C\xCE\x6A\xE8\xCD\x53\xBD\xCB\xE5\x8E\xEB\x0D\xD8\xDB\xD8\x72\x89\xC7\x8B\xD0\x65\xD2\xE3\x06\xD3\xBD\x96\xE3\x83\xE1\x0B\xE7\x86\xF0\xDF\xBA\xE0\x41\xE6\xD6\xB4\xDF\x6B\xE1\x2F\xE5\x8E\xC9\xE4\xDE\xCD\x2F\xEB\x8E\xD8\x73\xAB\xE3\x3C\xEC\x88\xC6\xB6\xFE\xDE\x21\xEF\x29\xFF\xDB\x36\xD3\x14\xE2\x83\xC7\xBE\x6E\xE9\x91\xC2\xF8\xB1\xE9\x81\xCA\x66\xB4\xA7\xE9\xE2\xA0\xB6\x32\xEC\x90\xC9\x04\xCC\xE2\x1E\xE4\x8F\xD0\x99\x1F\xE3\x9B\xE1\x82\xDB\xE8\x2C\xDB\x4D\xDF\xA1\xFF\xE6\x1C\xDE\x4A\xED\x9D\xFF\xE7\x4F\x87\x46\xE0\x9E\xFF\xE8\x73\x7F\x47\xE7\xA2\xC0\xE9\x5B\x78\xA1\xE2\x9F\xC5\xE7\x2B\xEA\x78\xD9\x9B\xCF\xE8\xCE\xE4\x06\xA6\xA9\xDB\xD3\x84\xD3\xA1\xE3\xA2\xDE\xEA\xA2\xE9\x92\xE1\x91\xD4\xE7\x07\xE8\x56\xE2\xEC\x5F\xEA\xA4\xDD\xCB", - "\xA5\xAA\xD2\xE7\xE8\xC0\x79\xE2\xA1\xF3\xEA\x6C\xCE\x52\xE9\xA9\xCC\xEA\x76\xD6\x53\xE4\xAB\xD3\xEA\x73\x7D\x7C\xE0\xA9\xD1\xD6\xB8\xCB\x90\xE8\xA9\xD7\xE6\x8C\xCE\xE4\xCA\xA4\xEA\xEA\x21\xEA\xB1\xE7\x9B\xFC\xEA\x42\x84\xAB\xEA\x93\xC5\xE8\x32\xE8\xAE\xE8\xA8\xE1\x90\xAF\xEB\xA2\xE0\xA0\xCD\xE8\xC8\xEB\xAF\xE8\x4B\xB3\xE5\xBB\xEB\xA5\xE8\x4E\xFF\xE5\xB7\xE8\x8A\xED\x95\xFD\xE7\xDE\xEB\x8C\xE1\x95\xD4\xE8\x67\xDA\x85\xE6\xAA\xFF\xC4\x1D\xE9\x44\xC2\xAC\xEC\xE8\x9D\xE7\x9B\x95\xAD\xE1\xEB\x40\xDB\x75\xD3\xAF\xDD\xEB\x90\xE5\x1B\x96\x20\xEF\xEB\xE6\xE9\xB3\xB5\xA3\xCB\xDF\x8A\xE8\xBD\xE4\x9B\xDE\xE6\xB1\xE4\x31\x67\xAF\xCF\xEA\xDD\x70\x69\xE8\xD8\x66\xE6\xC3\xE8\xC2\xE1\xD9\x46\xE9\x88\x74\x92\xE0\xAB\xD5\xE7\xCE\xC0\x93\xE8\xD8\x4E\xE9\x02\xEF\xB4\xE6\x91\xED\xE6\xCB\xEA\x33\xCB\xA9\xD9\xEB\x9C\xEA\x4C\x8E\xA8\xCC\xEB\xC2\xE5\xC9\xCC\xAF\xD2\xEB\x19\xD9\x42\x03\x92\xDA\xEB\xEB\xE9\xCB\xE3\xB1\xE2\xE7\x12\xE5\xC0\xE8\xAF\xED\xEA\xA3\xC7\xB1\xED\xA9\xF1\xE4\x07\xEC\xC9\xE0\x91\x8E\xEB\x40\xE5\x4B\xE6\xB3\xD4\xEC", - "\xBF\x73\x76\xEE\xB0\xF7\xEC\x73\x8F\x77\xEA\xB3\xEF\xEC\x56\xAA\xAC\xE3\xB4\xC0\xED\xDD\x72\xAD\xE3\xB3\xE0\xEC\xC6\xC2\xAE\xEB\xB4\xD5\xE5\xEE\xB8\xCF\xEE\x0F\xFA\xCB\x27\xEE\xB8\xED\x74\xC3\xE6\x1E\xE9\xD6\xE4\xA9\xCE\xC3\xF9\xE5\xC8\xE9\xAA\xF3\x8D\x46\xB9\xB9\xE8\xB2\xD5\xD9\x78\xD9\xC6\xE3\xAA\xC6\xC3\x6B\xE4\x91\xE7\xB4\xC1\x8C\xD8\xE8\xD1\xEC\xB4\xD0\xE8\x39\xEE\xD9\xEB\x5C\xE4\xEB\x2C\xEC\xD2\xE1\x75\xB8\xED\x62\xEE\xDB\xE9\xAC\xE0\xDA\x3F\xEF\xD8\xEB\x2A\xBC\xED\x50\xEE\xDC\xE0\xB3\xE6\xE8\x76\xEF\xD7\xE9\xAF\xF6\xEB\x5E\xED\xE0\xE6\xA5\xAF\xE8\xE0\xDD\x8C\xE2\xB3\xD3\xED\x70\xCD\x43\x06\xA3\xC8\x76\x38\xE9\xC7\xE9\xB7\xC1\x8C\x3C\xE8\x62\x7E\xA3\xFD\xED\x0D\xED\x94\x6A\xB0\xC5\x77\x0C\xEC\xBC\xEF\xB6\xDE\xDF\xBD\xCF\xE4\xE7\xBA\xF3\xEA\xD3\xA1\xC1\xE3\x20\xB5\xED\xA0\xE9\xA2\xEC\xB1\xEB\xED\xE8\xC3\xC7\xE6\xB8\xFE\xED\xBF\x73\xC8\xE9\xB8\xE3\xDF\xC0\xE4\xEC\xE0\xBA\xC3\x8E\x2B\xEF\xEF\xED\xAF\xCF\xED\xB7\xEC\x2A\xD6\xBB\xF3\xED\xC5\xEF\x75\xEE\xBB\xC5\xEE\x32\x85\xE9\xE3\xBC\xD4\xEE\x16\x9C\xAA\xE8", - "\xBB\xC2\xEF\xB0\x8E\xF4\xE1\xBA\xFB\xEE\x45\x7E\xD0\xEB\xBA\xDC\xE8\xAC\xC7\xF2\xE9\xBC\xE2\xD7\x4A\xEF\xF6\xEF\x9A\xFF\xC3\xD1\xEA\xD6\xE4\xA0\xE2\xB3\x8D\xEE\xE6\xED\xCD\x7E\xEA\xD4\xEE\xF9\xE4\x9F\xD6\xED\x54\xEE\xE9\xD4\x98\xEA\xEE\xD8\xED\xCA\xEC\xB5\xEE\xEB\xE5\xEE\xE2\xE8\xA0\xC2\x73\xDE\xEC\xF2\xE2\x13\xA9\xED\xC4\xEE\xFF\xE0\x39\xED\xED\xD7\xEF\xE6\xEE\x4B\xB1\xED\x02\xF3\xF4\xE4\xB7\xE9\xEF\xB4\xEF\x7C\xB8\xAE\xE7\xDE\xEA\xEA\xDE\xEC\xA2\xED\xEB\xCC\xC4\xFC\xE3\x9F\xD4\xF0\xBF\xD2\x05\xF3\xAC\xD8\xF0\xEF\xA5\x73\xC2\xB8\xDF\xF0\x56\xA8\xE2\xE6\xC0\xC1\xF0\x30\xEE\x8A\xE4\xC2\xCA\xF0\xD7\xA8\xE4\xEB\x9A\xD2\xEE\xB3\xEE\xCB\xE6\x67\xED\x96\x00\xED\x0B\xF2\xC1\xC3\xEF\x41\xBD\xE7\xAC\xC0\xEE\xF0\xE7\xE5\x40\x03\xBA\xD0\xB0\xCE\xEF\xD9\xE3\xC3\xF5\xC7\x10\xED\x71\x72\xB1\xD6\xEB\xFA\xEC\x74\xC6\xB1\xC5\x77\x18\xEC\x10\x78\x08\xF4\x75\x7B\x02\xAB\xC9\x37\xCC\xF1\x2C\xB0\x35\xEB\x8B\xF5\xCA\x53\xB9\xEB\x6D\xC4\xFD\xE2\xEE\xDD\x59\xB4\x6E\xE1\xC2\xF3\xCA\x40\x07\xC5\xC1\xE4\x9D\x9D\x36\xEF\x2B\xCB\xF1\x56", - "\xF0\x97\xE0\x8E\xDB\xC2\xAC\xCB\x17\xFE\x8D\xF2\x84\x5F\xEA\xA0\xE6\xF9\xB9\xE0\x5C\xF1\xBE\xCE\xC5\xEE\xE1\x7B\xEA\x78\xAE\x08\xF7\x6E\x6A\xF2\x41\xE1\xD9\x6F\xE2\x4A\xCB\x29\xC8\x2D\xC0\x00\x79\xF3\xFF\xD6\x42\xE9\xCB\x6D\xEA\x1F\xFD\xC5\xC1\x04\x81\xF2\x9A\xEA\x2C\xFE\xE3\x59\xE8\x05\xE8\xC6\xFF\xF1\x89\xF3\x0A\xE0\x80\xC3\xD1\x75\xF1\x11\xD7\xC7\xD4\xC1\x91\xF1\x26\xED\x8F\xC8\xE2\xFF\xE0\xF9\xAF\xC8\xC7\xF2\x80\xF3\x9D\xEC\x8E\xF1\xCB\x86\xF2\x1C\xF8\xC8\xFA\xE9\x9D\xF2\xD4\x8D\xA7\xEE\xB1\x4F\xF1\x19\xFD\x8B\xC1\xEA\x72\xEB\xD7\xBE\x90\xC4\xDF\x52\x8E\x1E\x0A\xC1\xE8\xD1\xB2\xED\x04\xF4\xC4\xC0\xBD\xB9\xF2\xE3\xE5\xC0\xE0\xCC\xB7\xF0\x0D\xF6\xB2\xF9\xEF\xBE\xF1\x37\xD3\x10\x01\xEF\xCC\xEC\x08\xFF\xCB\xC9\xF3\x56\xAB\xF1\xEA\xCC\xE6\xEE\x13\xAD\xFF\xEF\xCC\xD0\x99\x3D\xF2\xFB\xE0\xBD\xCA\xEF\x37\xF3\x0F\xFB\x63\xC1\xF3\x3E\xF1\xC0\x8A\xBD\xF5\xEF\x38\xF3\x7B\xA6\xB4\xE0\xF3\xDA\xF2\x87\xD7\x57\xDC\xF3\xEE\xEE\xCD\xA2\xCD\xE8\xF0\x32\x86\xD4\xE2\xBE\xD8\xE8\xFD\xDF\x3A\xFB\xC1\xED\xCB\xC4\xF2\xFA\xE0\x1D", - "\xE1\xED\xCC\xF3\x32\xF8\x57\x84\xEE\xDF\xED\x37\xF3\xA1\xE5\xED\x23\xF0\xF7\xE6\x2C\xA8\xF3\x45\xF3\xDC\x84\xC0\xD0\xF3\x23\xF1\x77\xC4\xD0\xC3\xEC\x7D\xCE\x0C\xFB\xCB\xC0\xEB\xF7\xED\x05\xF2\xCF\xC8\xF4\xC5\xC6\xB2\xED\xC0\xD3\xF3\xB1\xA8\xB8\xE7\xC2\xFA\xF3\x0E\xF0\x3E\xFD\xCF\xD6\xF3\x80\xDE\x08\xFD\xBE\xC5\xF4\x0E\xF2\x09\xF7\xCD\xCF\xEF\x1B\x8F\xBE\xE5\xCF\xD7\xF4\x88\xD3\xE5\xE5\xDC\x59\xEE\x2C\xF4\x47\xF7\x77\xB6\xF0\x2B\xF5\x38\xFC\x36\xFB\xF0\x65\xB5\x35\xF4\xD2\xD8\xF4\x83\xA5\x10\xF0\xC1\x83\xF1\x6A\xEE\x4D\xF0\x78\xC7\xF1\x10\xB1\x12\xF7\xD2\xFE\xF3\xF1\xAB\x42\xF5\x7E\xE8\xD8\x0E\xF5\x50\xF4\xA3\xFD\x9F\x4A\xF4\xBB\xE3\xCC\xF4\xEF\x01\xF5\x59\xEF\x61\xD9\xF3\x0F\xF5\x4C\xF4\xD1\xD0\xC7\xCE\xF0\x3B\xFC\xD3\xCC\xE7\x51\xF4\xD6\xC1\xAA\xD8\xF5\x4E\xF4\xE4\xD6\xBD\xDB\xF5\x1F\xF4\x58\xF3\xD1\xE8\xF4\x8C\x6F\x37\xF5\xD5\xEC\xE4\xDD\xEC\x59\xFB\xD1\xF8\xF2\x4C\xD8\x55\xF3\xD2\xFC\xF2\x0D\x06\xD3\xE7\xD4\xE0\xF4\x8C\x6E\x3B\xF4\xCE\xEF\xF0\x55\xEF\x5A\xF8\xD4\xD6\xE5\x35\xF5\x39\xF8\xD7\xD9\xE8\xF8\xEE", - "\x5D\xF9\xCF\xF4\xF5\x88\xF6\x44\xF2\xD7\xFB\xF5\xE6\xF0\x40\xF7\xD7\xDA\xEC\xD5\xC6\x60\xFC\xD7\xCB\xEE\x07\xF4\x5B\xF9\xD0\xED\xF2\x59\xF6\x50\xFC\xB8\x5C\xEB\x90\xF4\xEF\xEE\x4B\xDD\xF0\x61\xF7\x53\xFD\xD8\xD9\xF0\x96\xF7\x4E\xF2\x0F\x9E\xF4\x09\xF2\x4C\xFB\xDA\xFC\xF3\xAD\xF4\x5A\xFE\xC0\xE2\xF4\x8B\xF6\x66\xFB\x0D\xE6\xF4\xEF\xF1\xEC\xEE\xB8\x9B\x92\x68\x9D\x69\xF0\xD8\xD6\xEE\x31\xF2\x2E\xF5\xD6\xE7\xEF\xA3\xA7\x67\xEE\xDB\xC4\xF7\xA2\xAD\x86\xCA\xD3\xC5\xF3\xC2\xF0\xEF\xC9\x21\xC0\xF5\x73\xF6\x6D\xF6\xC4\xE7\xDF\x8F\xF7\xEA\xE5\x9B\xCC\xF7\x83\xF5\x2F\xF6\xCF\xE9\xF5\x73\x7E\xEE\xEF\xD6\xFA\xF6\xB2\x9B\x71\xFC\xBA\xF9\xB7\xD5\xF7\x5F\xF3\xDC\xD1\xF7\x70\xD4\x53\xF2\xDC\xE8\xF7\xE9\xF1\xCD\xEB\xDD\xF1\xF6\xD4\xF2\x78\xF1\xAF\xCE\xDD\x4D\xF4\x7B\xFE\x9E\xFE\xEC\xEF\xF7\x57\xF3\xF7\x6E\xF5\x93\xF5\xC9\xED\x10\x23\xF3\xDF\xF5\x7F\xFD\x2A\xA1\xEF\xE6\xF6\x7D\xF4\x76\xF2\xF7\x85\xE8\x7B\xE5\xDE\xDB\xF6\x30\xB9\x6A\xFC\xD0\xC1\xEB\x85\xF5\x67\xF3\x62\xD1\xF4\xA8\xF7\x82\xF2\xE0\xFC\xE6\xAC\xF6\x7E\xF4\xD9\xFC", - "\xEF\x16\xF9\x6D\xF5\x1F\xC0\xF0\xA1\xF5\x7E\xF2\x0F\x99\xF6\x48\xF5\x88\xF8\x4B\x88\xF0\x1A\xFA\x7F\xFE\x4D\xF5\xF7\x26\xF9\x54\xB3\xDA\xE9\xBE\x0E\xFB\x86\xFB\x77\xDD\xED\x11\xFB\x79\xF9\x95\xF0\xF6\x29\xF9\x38\xFC\xC1\xF0\xF8\x1D\xF8\x77\xFE\x69\xF4\xF6\x3E\xFA\x56\xF0\x65\xB8\xF6\x05\xFA\x40\xF5\x20\xC5\xD4\x08\xF8\x3C\xF8\x15\xD9\xE6\x49\xFB\x56\xD0\x00\x1D\xEE\xC5\x77\xE7\xEE\xE1\xD7\xF6\x09\xEE\x90\xE5\xE3\xC6\xF8\x4B\xF6\x0C\x89\xBA\xEC\xF8\xB9\xF7\xFE\xE8\xD5\xA5\xC8\xF8\xCB\x92\x69\xC9\xDD\xE2\x52\xC0\xB0\xC8\xC9\xD1\xF1\x95\xE1\x2E\xC5\x59\x69\xF1\x58\xEB\x02\xE9\x2A\xDB\xF1\x66\xF8\x9B\xF8\xC5\xE2\xF1\xAC\xF0\xC0\xCE\xA2\x63\xF9\xDA\xE3\x26\xFF\x89\xDD\xE9\x3F\x6F\x5E\x68\xE7\xFE\xE9\x67\xE8\x39\xE3\x6F\xE4\xCB\x7E\xF8\x1D\xF9\xCA\xE3\x8D\x65\xEA\x12\xFF\x2C\xF2\xF9\x60\xF3\x60\xAC\xC7\xCF\xB1\x61\xFB\x1A\x7F\xE7\xCF\xE9\xE3\xE2\x15\xA0\x70\xEA\xF9\x35\x6C\xA3\xFB\xC6\xDC\xF2\x8D\xF0\x13\xEC\x30\xDA\xFA\x7A\xF2\xFD\xCD\xE9\xF7\xCB\x9F\xF8\x24\xF2\xCA\xEA\xAF\x91\xFB\x9D\xF7\xEA\xF7\xB1\x7D\xF8\x1E", - "\xF8\xCA\xE3\xFA\x74\x77\x2A\xF9\x5D\x8B\xFA\xA6\xFB\x2B\xF0\x8D\xC4\xAB\x63\x8F\xBD\xA5\x79\x91\xE9\x50\x9A\x14\xFA\xA5\xD4\xE9\x95\xFB\x18\xE7\xA5\xF3\xF9\xDD\xE1\xA8\xFA\x86\xE7\xF1\x5E\xEB\xA0\xF2\xC8\xC7\xE2\xA7\xE1\x0F\xEB\xEC\xEB\xE9\x32\x87\xA3\xF0\xC1\xB1\xE2\x5D\xE1\xD1\x74\x8B\xE4\xC0\xF2\xE0\x30\xEF\x87\xC2\xE3\xBF\xE0\xAF\xF0\x88\xC5\xE2\x92\xF3\x20\xF9\x8F\xC7\xFA\xC9\xE1\x2F\xE3\x90\xCE\xF2\xBD\xE0\x42\xEE\xC6\xCA\xE4\xB6\xFB\x14\xD9\x21\xE3\x43\x8A\xF2\x99\xEE\x8C\xDE\xDB\x53\xE9\x9B\xFE\x80\xDA\xE9\x68\xE1\x3A\xEE\x4B\x99\xF1\x5F\xBD\xBE\xF2\x8B\xFE\x92\x31\xE1\x2C\xFA\x42\xEC\xE1\x10\xDC\x3A\xEF\xEF\xEF\xA7\x63\xEA\xA0\xCE\x8E\xD5\xF2\x97\xCF\xA6\xF1\x80\xD7\xFA\xF1\xFA\xC0\xDC\xE9\xEE\xF9\x40\xD3\xAA\xF6\xA7\xE6\xFB\xDD\xFA\xBE\xFE\x43\xD9\xFC\x07\xFD\x39\x4A\xEE\xC2\xFC\x96\xBE\xAC\xFA\xED\xED\xE2\x73\x7C\x2C\xF5\xA7\xD0\xB0\xB3\xF2\x84\xFA\xF2\xFE\x92\x5D\xF6\x6B\xF3\xCF\xE9\xE4\x5C\xF9\x91\xF6\xD5\xFD\xE6\x31\xFA\x8A\xF4\x07\x8D\xF9\x5E\xFB\x05\xCD\xE3\xF0\xF7\x25\xF9\x97\xF6\x0C\xED\xFC", - "\xB2\xF5\x8E\xF9\x3B\xB8\xFC\xED\xB8\xC6\xA4\xF4\xCC\xCD\xF4\xF7\x7A\xFD\xE2\xD3\xF8\x2D\xDB\x95\xFB\xF4\xD0\xDE\xFC\xF7\x94\xFA\xDA\xD6\x9C\x00\xFB\x85\xFB\xF2\xEF\xE7\x04\xF9\x80\xFF\xAC\xE0\x8F\x47\xFF\xD5\xE9\x1B\xF5\xFC\x62\xF5\x60\xFB\xF3\xC2\xFD\xB3\xE1\xD7\xF7\x4B\xD4\xF8\xA4\xF4\xD8\xF6\xD8\xE8\x84\x38\xFA\x57\xFE\xF6\xD6\x9C\x92\xF6\xD4\xF2\xDA\xC3\xF4\x6A\xFF\xD5\xFF\xA8\xA6\xFD\x95\xED\x15\xF6\xF7\xD6\xF7\x2C\xC7\xD8\xFF\xF6\xDF\xEB\x22\xEA\x67\xFC\xE0\xE7\xF6\x69\xFE\xDF\xFE\xF2\xC0\xFE\x16\xF6\xE0\xF6\xF5\xCD\xAD\x6D\xFF\xE1\xF2\xDD\xD7\xAB\x40\xF8\xCF\xF4\xE5\xC6\xC3\x44\xFA\xD6\xFD\xB3\xF0\xDA\xBC\xF4\xE4\xA8\xF7\xFD\xD3\xC0\xF4\x93\xF5\xF7\xE7\xF7\x35\xF2\x71\xFF\xF9\xD8\xF9\xB8\x90\x4E\xFF\xF5\x8B\xF7\x22\xFB\xCB\xF8\xBA\x9B\xF9\x4A\xFE\xCF\xF8\xF4\xE6\xDF\x60\xF9\xA9\xF0\xCA\xE6\xF0\x95\x9F\xAB\xCC\x2A\xF4\xFE\x1A\xFD\x39\x4E\xEB\xCB\x69\x54\xF2\xD1\x24\x05\xF8\xFE\x1D\xFD\xB8\xD4\xE7\xF3\xFA\xBE\xFF\xED\xF6\xEF\xCE\xE1\xFC\xCC\x9C\xF6\xE7\xF4\x75\xC0\xFD\xB5\xF8\x4B\x81\xFC\x27\xFF\x0C\xE9", - "\xEA\xCC\xFF\x04\xFC\xC3\xF4\xBD\xB2\xFE\xA6\xF0\xE3\xEE\xF0\xD6\x9C\x09\xFE\x2A\xE3\xFD\xED\x6E\xCD\xFD\x30\xEE\x8A\xE9\xE9\x77\x74\xAD\xF3\xFB\xF0\xE3\xD6\xFD\xB6\xF6\xFB\xFF\xF1\xE1\xFF\xB6\xFD\x03\xFF\xE2\xEB\xFF\xF9\xF8\xF1\xE0\xFB\xCE\xC9\xF1\xFC\xFE\xD6\xFC\x79\xE8\xF6\xFB\xA4\x6D\xFF\x24\xFD\x29\xC6\x8F\xDF\xFF\xF3\x42\xFE\x7F\x35\x73\x70\x4F\xF1\x71\xFE\x5F\xBD\x22\x7E\xF1\x7F\xEC\x7E\x00\x85\x4A\x70\x3B\x46\xF9\x78\xE9\x65\x5A\x29\x7E\xE2\x7E\xCA\x30\x94\x7A\xAB\x75\xFD\x71\xF9\x7F\x78\x15\x81\xDC\x7D\x22\x30\xE2\x6D\xFB\x73\x00\x99\xFF\x19\x80\xC1\x7E\xE3\x53\xF0\x7A\xD1\x76\xFF\x74\x00\x87\xFF\x66\x71\x6F\x7C\x00\x82\xD4\x40\x04\x8E\xFC\x6D\x15\x50\xFF\x0F\x80\xEE\x6C\x15\x83\xD8\x44\x05\x82\xFE\x73\xFB\x2D\xF1\x20\x7E\x24\x60\x38\x7B\x05\x86\x04\x82\xA6\x6E\xF6\x7C\x70\x3B\x80\x1F\x81\x85\x7C\xB9\x79\xBA\x64\xE8\x77\xDD\x34\x00\xEE\x7F\x33\x60\x88\x7D\xF9\x7D\x04\x81\x04\x93\xFF\x7F\xFF\x7A\x7F\x6B\x39\x23\x81\xFF\x7B\x15\x60\xFF\x60\x02\x8B\x69\x52\x80\x03\x80\x81\x71\x15\x83\xF9\x7D\xBA\x38\x02", - "\x8C\x00\xDC\x7D\xF4\x7E\x35\x60\x17\x83\x3E\x4E\x05\x81\xF6\x4F\x85\x05\x80\x30\x80\x0B\x60\x02\x86\x0A\x81\x05\x8B\xC8\x43\x01\x8D\x72\xD0\x5A\xEB\x5F\x2D\x4B\xB8\x5F\x40\x61\x18\x51\xD0\x39\x49\x0C\x68\xED\x5A\x03\x6D\x81\x6E\xDB\x4E\xC5\x07\xB7\x65\x21\xC9\x5B\xA2\x3F\x72\x5D\x1C\x2D\xDC\x42\x9D\x52\x8D\x0B\x3C\x4B\x80\x0F\x83\x92\x32\x16\x0E\xC4\x63\x03\x92\x8D\x0C\x81\xBD\x71\xDD\x7C\x93\x4A\x06\x8F\x7D\x30\x04\x8D\xFA\x3C\x57\x23\x81\x04\x83\x22\x87\x04\x80\xA6\x76\x85\x4A\xFF\x66\x7F\xD9\x7E\x4B\x83\xF6\x7B\x70\x4F\x02\x83\xE5\x49\x04\x61\x71\x24\x80\x45\x83\x1A\x3A\x14\x86\xEC\x7B\x9E\x4A\xFB\x3F\x80\x8E\x81\xB1\x44\x2B\x87\xD9\x7B\xC8\x71\xA1\x6F\xE1\x14\x81\x11\x03\x59\x81\xC4\x7F\x07\x72\x95\x64\xFF\x75\xFF\x2A\x81\x2E\x34\x5D\x81\xB8\x7C\xD9\x74\xC8\x71\xC7\x78\x02\x8D\x02\xC2\x80\x4D\x78\xFB\x63\xE2\x77\xEF\x68\xF7\x6D\xFA\x54\x60\xC9\x80\x32\x7F\x32\x81\x17\x74\xF1\x64\xC6\x47\x03\x89\x02\xD1\x81\x3C\x7F\x34\x84\x92\x7F\x06\x9E\x3E\x57\x03\x83\x02\xD9\x80\x40\x7F\xBC\x7C\x19\x88\xFC\x76\x06\x90", - "\x01\xC1\x81\xAF\x7D\x6A\x82\x96\x73\x0D\x81\x0B\x95\x04\xAE\x01\xB0\x7D\xAD\x37\x08\x81\x2A\x81\x20\x00\xDF\x3F\xBE\x37\x02\x0D\x81\xBC\x35\xDB\x37\x3D\x81\x12\x89\xE6\x70\x05\xB9\x03\xD4\x60\xFB\x81\x4B\x83\xDC\x3C\xDF\x76\x01\x7F\x04\x8D\x56\x7A\x81\x9C\x81\x75\x7E\x1C\x66\x20\x86\xAC\x3B\xCB\x01\x04\xA3\x81\x6B\x5E\x3E\x7D\x01\x5D\x1E\x81\x11\x0F\x08\xAD\x02\xAE\x68\x6D\x70\x4C\x36\x43\x86\xD0\x70\x0F\x93\x0F\x49\xFA\x26\x35\x08\x83\x5E\x72\xB4\x7D\xAC\x56\x6A\x60\x09\x80\x04\xE8\x7F\xDD\x81\x81\x02\xFA\x79\x22\x04\x11\x8D\x08\x16\x04\xB4\x81\xDB\x65\x63\x71\x4A\x86\x92\x73\x11\x9B\x08\x8E\x01\xD6\x7F\xFF\x65\x7F\x80\xAB\x67\x25\x8B\x0B\x8E\x92\x61\x01\xDF\x65\x3A\x83\x3F\x78\x4F\x83\x18\x80\xED\x64\x07\xA8\x00\x95\x7E\x1A\x83\x90\x82\x40\x85\xE8\x38\x06\x86\x05\xBD\xAF\x49\x82\x27\x83\x76\x7D\x16\x71\x0E\x8C\x4A\x53\x03\x90\xD0\x75\x80\xBE\x49\x3B\x82\x56\x80\x2B\x89\xDB\x5C\x0A\xB4\x92\x38\x49\x7F\x81\x88\x01\x20\x80\x97\x43\x08\x91\x08\x05\x02\xDD\x6B\x87\x81\x6F\x82\x40\x03\x28\x8A\x0C\x89\x04\xAB\xF9", - "\x42\x82\x68\x7D\x7A\x7F\x39\x84\xAE\x3C\x16\x92\x06\xAC\xE0\x61\x78\xC5\x7C\x4C\x7C\xBB\x66\x25\x89\x10\x98\x01\x8B\x04\xEA\x82\x01\x03\xBA\x82\x36\x87\x2E\x83\x98\x45\x05\x98\x73\x28\x81\x9A\x81\x35\x3A\x60\x82\x1C\x88\x8F\x62\xF4\x59\x04\xCF\x81\x3B\x82\x8E\x82\x3A\x83\x49\x3F\x11\x8C\x03\xAE\x68\x0B\x83\x94\x7D\x3F\x77\xDD\x5C\x0E\x70\x19\x90\x0B\xBD\xE2\x57\x7D\x72\x61\x95\x81\x3B\x85\x22\x88\xFF\x73\xD3\x73\x05\xAD\x37\x98\x82\x79\x7D\x63\x87\xDB\x7F\x04\x9D\x0C\xA0\xF2\x29\x83\x23\x7F\x2C\x80\x6B\x80\x27\x80\x18\x80\x00\x30\x06\xDE\x7D\x60\x81\xD6\x83\xBA\x66\x26\x8B\x14\x98\x25\x4D\x05\xD8\x39\xEC\x80\x50\x83\x92\x37\x36\x8A\x01\x8D\x08\x0E\x00\xCE\x82\x8B\x58\x3C\x59\x64\x80\xB8\x3F\xC6\x4B\x0E\xBD\x06\xE8\x64\xFD\x80\xB7\x80\xF4\x5E\x39\x80\x11\x98\x0B\x83\xFB\x66\x58\x51\x83\xE7\x82\x57\x44\x20\x86\xF9\x4C\x08\x8A\xBF\x59\x83\xD5\x83\xC2\x80\x28\x70\xD3\x7C\x00\x76\x07\x95\xFF\x33\x82\x3F\x64\x24\x58\x78\x87\x22\x8C\xFD\x7E\x01\x92\x07\xE5\x83\xA4\x82\x91\x82\x2F\x82\x0C\x8A\xC2\x4B\x0F\xB0\x04\x92", - "\x7E\x0F\x7F\x42\x78\x76\x84\x3A\x8C\x1E\x83\xF7\x5D\x04\x89\x70\xCA\x82\xCF\x82\x76\x81\x60\x47\xEE\x7E\xF4\x7B\x07\x82\x84\xE1\x83\xF7\x7F\x4F\x83\x8C\x75\x1F\x9C\x0F\xB7\x07\xBC\x81\xBE\x71\x05\x85\x9D\x7D\x41\x88\x20\x9D\x0F\xB9\xAF\x0E\x71\xE4\x82\xDE\x81\x82\x85\xE4\x77\xEB\x6C\xF0\x06\xD0\x11\x72\x5B\x82\x3E\x80\x1D\x82\x44\x87\x15\x84\x11\xB6\x01\xDE\x82\x56\x83\x80\x45\x58\x86\x40\x3B\xA2\x2A\xC7\x38\x96\x08\x81\xBF\x81\x6B\x47\x65\x80\x1F\x88\x12\x68\x0D\xB1\x05\x9C\x80\x9F\x79\xEC\x7C\x71\x81\x04\x8D\x01\x79\x04\x9C\xF6\x52\x46\x3B\x85\x16\x83\x76\x86\x47\x84\xC6\x73\x0F\x41\x09\xB5\x80\x45\x3E\xC3\x80\x62\x38\x31\x8F\x23\x83\x1B\x47\x09\xC8\x80\x45\x3F\x1B\x82\x01\x86\x02\x6A\x03\x85\x12\x80\x09\x92\x83\xCD\x81\x35\x39\x65\x86\x4A\x8E\x24\x82\x02\xBF\x07\xE3\x46\x25\x83\x26\x86\x79\x87\x33\x8A\x04\x91\x11\xB1\x63\x43\x83\xA5\x82\x38\x75\x29\x78\x4D\x87\x13\x88\x0F\xBC\xE2\x17\x79\x0E\x85\x9E\x81\xE1\x5B\x0B\x8A\xF7\x77\x12\xAD\x09\xDF\x84\xE5\x7C\x38\x85\x85\x87\x41\x81\xA5\x3F\x0D\x88\x76\x41\x83", - "\x35\x84\x23\x87\x3B\x83\x32\x8B\xC6\x32\x07\xA5\x43\x1F\x84\x61\x73\x10\x86\x1E\x85\x0F\x86\x22\x99\x0A\xA8\x08\xD2\x5B\x7B\x81\x45\x85\xAB\x43\x45\x84\xA4\x2D\x11\x8A\x68\x2F\x84\x19\x68\xD9\x82\xFA\x6A\x2E\x83\x20\x9B\xF7\x63\x00\xB8\x83\x98\x81\xBC\x82\x9C\x87\x97\x3A\x24\x85\xEE\x28\x02\xA0\x85\x36\x81\x57\x80\x51\x85\x16\x8D\xEC\x7B\xBF\x5D\x0A\xEF\x6E\xF3\x83\xC1\x83\x24\x7B\x70\x40\x1A\x96\x85\x59\xFB\x28\x85\xFE\x7E\xDA\x83\x9D\x84\x50\x84\xEA\x6F\x15\x87\xD1\x12\x84\xAA\x82\x3D\x7C\x37\x80\x4F\x8B\x8F\x69\x07\x99\x09\x8A\x54\x83\x85\x63\x85\x84\x53\xF3\x76\xCC\x6A\xEF\x58\xF7\x6D\x7B\x30\x7F\xD6\x7E\xCC\x7E\x19\x6E\xDD\x6B\xFC\x64\xFE\x2D\x45\x92\x75\x69\x84\x78\x7F\x98\x7C\x2C\x8F\xFC\x52\xFE\x77\x7B\xDA\x7A\x21\x7D\xCF\x79\x9A\x76\xF8\x61\xFA\x56\xA9\x28\x7F\xE2\x84\x68\x85\xD2\x7F\x59\x83\xF5\x78\xE6\x4E\xFD\x2E\x7F\x0E\x79\xA8\x7D\x90\x7A\xC7\x71\xD7\x6F\x17\x9A\x0B\x96\x67\xE7\x79\xD1\x7E\x91\x79\xCA\x6A\x2F\x83\xDF\x41\x84\x5D\x85\xE9\x7B\x5E\x81\xBF\x82\xC9\x76\x87\x71\xF9\x56\xFE\x3C\x66\x19", - "\x7D\xBF\x7E\xB7\x85\x2F\x5A\xD1\x6F\xFA\x60\xFE\x68\x38\x06\x86\x6B\x84\xDB\x60\xC4\x70\x2F\x84\xFB\x7E\x92\x24\x7C\x93\x7F\x79\x86\x57\x40\xC5\x7A\x30\x83\x17\xBF\x72\x20\x7B\x15\x87\x0B\x7B\x8B\x7B\xF5\x53\x30\x9B\x16\x85\xEB\x00\x77\xA9\x7E\x73\x87\xDE\x75\x61\x81\x32\x8A\xFD\x68\xFD\x3C\x7C\xF6\x85\x83\x84\xE4\x61\xF2\x76\x31\x97\x16\xBC\xE6\x15\x7F\x12\x86\x7F\x85\x64\x72\xA5\x7A\xD8\x7A\x18\x9B\xED\x4B\x7C\xAE\x76\x00\x00\x4C\x7A\xF1\x72\xF7\x63\x24\x74\xF4\x3D\x86\xDF\x85\xC3\x7A\xA3\x5E\xCA\x78\x34\x95\x19\x85\xE9\x2C\x7F\xEC\x85\xA8\x85\xD1\x3C\xA8\x75\xD6\x49\xE2\x7B\xFA\x45\x83\x97\x31\xE8\x81\x5B\x83\x56\x86\xA5\x76\xFE\x7E\xFB\x42\x84\xBA\x65\x4F\x84\xD6\x83\x20\x05\x2A\x90\x60\x67\x0A\xE3\x86\x02\x02\x29\x85\x1A\x87\x8D\x78\x25\x85\x07\x9A\xE9\x09\x7D\xB8\x84\x5C\x4B\x48\x87\xEB\x54\xED\x68\x12\xB8\x92\x35\x85\xA9\x65\x5B\x84\xDA\x81\x20\x05\x20\x9D\x15\x9B\x08\xB9\x85\x6E\x84\x7E\x73\x36\x86\x3F\x8C\x2B\x94\x4F\x69\x09\xBF\x60\xC6\x84\xB7\x87\x92\x32\xE4\x71\x37\x8D\x15\x47\x07\xD8\x39\xF2\x81", - "\xAB\x84\x8F\x83\x20\x02\x09\x8E\xD1\x00\xFB\x1A\x83\xC2\x7C\xAF\x85\x5F\x83\x4A\x8D\x1D\x86\xE3\x56\xFF\x67\x86\x93\x87\xB4\x86\xAA\x83\x6B\x82\xEE\x7F\x93\x6E\x07\xA4\x87\xC4\x80\x34\x74\x67\x87\x6F\x87\x37\x85\x13\xB6\x05\xDC\x86\xB3\x83\xC0\x87\xE1\x85\x0A\x7B\x2B\x8A\x16\x80\xE4\x2C\x87\xAD\x45\xBE\x86\xE1\x81\xDD\x78\x21\x83\x15\x8E\xA8\x1D\x84\xAB\x85\x60\x87\xE0\x85\xD7\x7A\x35\x8F\x1D\xA5\x0E\xD6\x83\x9A\x86\x62\x7F\x75\x80\x77\x8E\x15\x45\x1B\x92\xFF\x49\x7D\x8F\x82\xE6\x86\x3A\x77\x74\x86\x3C\x89\x1D\x90\x99\x73\x86\x16\x61\xBA\x84\x94\x85\x75\x8A\x1F\x92\x1E\xBC\xCB\x1C\x7E\x60\x87\xEF\x84\xB0\x81\x36\x8F\x05\x8A\x10\xBA\x06\x96\x84\xB1\x86\x62\x84\x29\x7E\x57\x87\xA0\x5D\x1D\x81\x0F\xF8\x83\x16\x4F\xC7\x84\x62\x39\x72\x86\x7E\x2D\x1C\xA6\xE0\x1C\x85\xDE\x87\xF7\x50\x77\x84\x04\x6F\x35\x96\x1B\xA7\xDB\x62\x86\xA1\x87\x80\x02\xF3\x81\x06\x80\x3D\x85\xF8\x6D\x0D\xC7\x82\xBB\x70\xB8\x87\xDE\x80\x3E\x71\x2B\x8C\x0C\x82\x0B\xB4\x85\xAE\x86\x59\x87\xF1\x81\x37\x8A\x2B\x8C\x1F\xB3\x63\x60\x87\xFE\x87\xE7", - "\x4C\x06\x8B\x7B\x89\x3B\x9B\x20\x93\x01\xAD\x45\x7E\x85\xE2\x38\xE3\x83\x81\x82\x3F\x85\xEE\x32\x03\x8E\x86\xE3\x7B\x68\x86\xD4\x82\xAA\x7A\x42\x89\x19\x8B\x0C\xF2\x41\xD5\x85\xA2\x86\xCD\x7F\x30\x60\x30\x85\xB2\x5C\x0B\xA5\x86\x39\x87\x7B\x85\xD1\x7B\x63\x72\x2D\x92\x19\x88\xD2\x67\x7A\x2F\x88\xC7\x7C\xEC\x40\x5D\x84\x34\x97\xFC\x7F\xDC\x2B\x88\xF4\x85\x23\x8A\x0B\x8E\x63\x88\x3C\x55\x21\x8A\xC3\x75\x85\x4D\x87\x8E\x86\xBA\x83\x20\x09\xF5\x79\x21\xA6\x0C\xE6\x5D\xE5\x85\x20\x88\x8D\x56\xAF\x7E\x43\x9C\xFC\x7D\xC6\x59\x88\x4C\x88\xF6\x50\x0E\x8B\xEB\x72\xBF\x74\xF1\x51\x11\xC2\x88\x36\x89\x93\x86\xE0\x68\x89\x8B\xF6\x78\x25\x71\xFD\x3E\x86\x0F\x86\xBA\x7C\x18\x89\x63\x8C\x33\x78\x18\xAD\x0B\xDA\x88\x32\x4E\x27\x8A\xD2\x86\xB6\x63\x47\x97\x23\xB5\xC7\x09\x86\x68\x88\x3F\x8B\xDD\x74\x65\x8A\x43\x86\x22\x84\xFE\x30\x86\x67\x88\x95\x84\x63\x7F\x65\x84\x32\x9D\x23\xAC\x11\xE7\x75\x34\x86\x29\x8A\x20\x8E\x9C\x78\x33\x92\x21\x89\x11\xC7\x7C\x41\x87\x59\x6F\xDE\x7D\xC0\x70\xC3\x7E\xFC\x4E\x12\xCB\x88\x3B\x75\xA3\x85", - "\xC4\x86\x92\x8C\xF4\x7A\xE1\x4C\x0D\xA3\x89\x70\x88\x62\x76\x96\x7F\xB9\x7A\x47\x90\xE8\x71\xAE\x54\x7B\x00\x35\x90\x6E\xA1\x75\x2A\x80\xD5\x72\x03\x9A\xD8\x34\x89\x2A\x77\xE7\x5C\xD0\x78\xCA\x40\x44\x83\x22\x91\xB7\x6B\x85\xA7\x75\x5F\x8A\x45\x52\x98\x89\x34\x66\x80\x46\xE5\x36\x89\xE4\x77\x20\x5E\xD5\x66\x15\x30\x77\x70\xF0\x4A\x13\xA3\x86\x08\x4C\x62\x8B\x8C\x79\xB1\x7B\xFD\x5A\x88\x48\x13\x95\x7B\xC6\x89\x04\x77\x35\x89\xB6\x6F\x9E\x60\x19\xBF\xED\x6B\x88\x11\x72\x40\x8A\x79\x65\xF1\x73\x4E\x84\x24\x8B\xEE\x11\x89\x8C\x72\x69\x8A\x8B\x74\x67\x85\x4D\x9F\xD7\x5E\x12\xA1\x55\xA1\x7F\xA0\x86\x94\x7B\x6E\x46\xFA\x76\x80\x44\x11\xDE\x42\x3E\x7B\xB2\x58\x74\x7D\xD3\x54\x35\x9F\x7A\x49\xF1\x57\x7B\x45\x3F\x5D\x88\xEC\x41\x86\x83\x37\x59\x16\xB5\x88\x3A\x89\xEA\x89\x5E\x8B\x60\x57\x9E\x81\x30\x4A\x28\xAA\xF5\x38\x89\xC3\x89\x6D\x8A\x50\x71\x9B\x89\x52\x50\x28\xA8\xE7\x16\x8A\x6B\x6F\x6B\x31\x33\x88\x6B\x70\x4F\x90\x26\x99\x98\x12\x8A\x0F\x79\xF9\x75\x3B\x8C\x50\x5F\x4C\x92\x23\x9F\xD4\x75\x66\x18\x8B\x33\x85\x44", - "\x76\x9B\x82\xF2\x24\x27\x87\xCE\x2E\x8A\x19\x7B\xC0\x7C\x86\x78\xA6\x80\xA0\x68\x27\xB4\xA8\x15\x89\x7B\x5C\x76\x88\x6E\x5D\x93\x81\x34\x83\x1A\xBC\xE6\x50\x7C\x10\x59\x79\x8A\x4C\x45\x9E\x86\xF9\x4C\x28\xA8\xEE\x2C\x89\xE9\x5F\x7E\x8A\x05\x61\x89\x71\xC7\x6B\xD2\x39\x02\x66\x46\x2D\x88\x5C\x4A\x40\x8B\x30\x54\x50\x92\x09\x46\x14\xDD\x39\xC8\x79\x6B\x57\x54\x8F\xA1\x8D\x51\x86\xFA\x60\x14\x8E\x8A\x66\x6A\x75\x8A\xBC\x82\x26\x45\xF5\x66\x86\x55\x11\x91\x3B\x7A\x7B\x28\x36\xAE\x76\x95\x60\xA0\x35\xCF\x5F\x13\x95\x74\x83\x56\x71\x88\x94\x4F\x8D\x8F\xBF\x6F\x7E\x76\x11\xF3\x3E\x1C\x86\x8B\x4C\x4B\x8D\xA2\x78\x32\x98\xCF\x74\x14\xCF\x42\x72\x8B\x98\x89\xE2\x78\xAC\x66\x53\x82\xAF\x78\x14\xB2\x42\x2A\x78\x6C\x3A\x26\x8B\x42\x7E\xD2\x70\x60\x7E\x14\xE7\x75\x40\x8B\xB2\x5A\x50\x8B\x18\x57\x4A\x9B\x29\x8B\xA3\x48\x8A\x14\x8B\x2F\x7D\xD0\x84\xA9\x86\x19\x94\xEB\x0F\x15\xD5\x46\xE1\x85\x56\x47\x56\x8D\xBB\x7A\x4E\x97\x2A\x91\x76\x59\x8A\x0E\x79\xD1\x89\xD1\x38\xAC\x85\xF4\x26\x2A\xAF\xA7\x2C\x8B\xFA\x4A\x90\x8B\x58\x8C", - "\xE5\x45\x56\x97\x56\x67\x15\xF3\x46\x69\x8B\xBE\x78\x33\x8E\x15\x3E\x56\x8D\x29\xA6\x13\xFC\x8A\xE0\x89\xB0\x70\x5D\x8C\xE5\x44\x31\x9E\x9A\x77\x15\xC5\x3E\x79\x8B\xC1\x47\x5E\x8D\x54\x5F\x5B\x8C\x2E\xB2\x14\xE7\x75\x81\x8B\x41\x8B\x73\x89\x87\x74\xB8\x49\x7F\x47\x16\xAC\x4E\x89\x8A\xC4\x3B\x62\x8F\x3D\x7D\x58\x85\x6B\x4F\x16\x93\x74\x91\x8B\xAF\x5F\x64\x8A\x1E\x44\x54\x84\x81\x6E\x16\x96\x5D\x41\x87\x7D\x8B\x50\x78\x96\x83\xC3\x41\x83\x5F\xFD\x5C\x58\x87\x84\x75\x8A\xA2\x83\x81\x69\xDD\x54\x2F\x9B\xB7\x0A\x68\xF8\x8B\x3C\x82\x7D\x8D\xE8\x34\x29\x99\xDB\x15\xD0\x2E\x84\x19\x64\x18\x86\x54\x8E\x15\x3A\x5A\x98\x25\x55\x15\xAC\x4E\xA6\x8B\xB9\x44\x6A\x88\x66\x75\x60\x9B\xD9\x60\x14\xE7\x8B\xEE\x7B\xB0\x70\x6C\x8D\x55\x43\x5B\x92\x07\x75\x16\x8E\x78\xB7\x8A\x99\x41\x6E\x8A\xDD\x52\xA0\x3B\x28\x8D\xD6\x25\x8A\x87\x89\x46\x89\x57\x89\xC4\x81\x4D\x80\x29\x83\x17\xF2\x41\xC5\x8A\xCC\x7A\x3A\x89\xB9\x80\x65\x4B\x2E\xBB\xF3\x4D\x8B\x2F\x8D\xE9\x8B\x7B\x71\xBA\x80\x58\x9F\x2B\x83\xAE\x05\x8B\xF5\x63\xEB\x8A\x3C\x41\xBB", - "\x85\xDC\x3B\x2E\x9E\x95\x5D\x8B\x5F\x5F\xEF\x8B\x7B\x71\xBC\x86\x01\x63\x2F\x96\x9C\x65\x8B\x72\x60\x08\x8E\x73\x79\xBD\x8F\xFC\x4A\x2A\x96\xBE\x1C\x8B\x5C\x84\x77\x80\x68\x89\xAA\x82\x5A\x8A\x27\x87\x18\xF2\x41\x09\x8C\x99\x43\x82\x8D\x99\x79\x50\x8A\x27\x8A\x19\xC0\x89\x12\x8C\xB1\x8A\x3A\x8F\xC2\x80\xB3\x79\x30\xAC\x9C\x1B\x8C\xFB\x3D\xDD\x8B\x35\x35\xB7\x80\x5C\x90\x2B\xA1\x13\xB6\x8C\xCD\x74\x90\x89\x8A\x8B\x1B\x67\x5C\x87\xF1\x6A\x13\xAE\x8C\x83\x76\x18\x8D\x9E\x8A\xC6\x8C\x7A\x7A\x33\x8C\x0C\xFC\x8C\x21\x7B\xE7\x5E\x8E\x8E\xE2\x4C\x63\x90\x60\x7E\x18\xFF\x3F\xC1\x7B\xC1\x54\x91\x8E\xF2\x56\x64\x83\x1C\x48\x19\xB6\x61\x5F\x8C\xB6\x60\x66\x8F\xA4\x81\x64\x4C\x2F\x99\x08\xB7\x37\x9F\x8A\x2E\x58\x2A\x77\x7D\x86\xAF\x4A\x27\x8D\x18\xBC\x73\x57\x8D\xA0\x6B\xF3\x5B\xCB\x8E\x45\x9D\xA2\x72\xEC\x78\x7B\xEB\x72\xD7\x89\x81\x5F\xF9\x53\x61\x9C\xCD\x55\x18\xFF\x63\x64\x8C\x44\x6A\x99\x8E\x4A\x58\x66\x91\xDA\x6A\x13\xEC\x77\x62\x89\xCC\x89\x48\x8E\x8C\x85\xDF\x7B\xF1\x62\x18\xA7\x8D\x10\x87\xF5\x78\xB4\x71\x91\x80", - "\x65\x55\x33\x82\xDA\x4F\x5F\x78\x8C\x98\x74\x8D\x89\xAE\x80\x67\x9E\x2B\xBE\x19\xFE\x72\x80\x8C\x67\x60\x8E\x8E\xBA\x63\x68\x94\x51\x45\x1A\xE5\x5A\x87\x8C\xAF\x64\x90\x8E\x02\x62\x64\x8F\xBE\x62\x12\xC2\x8D\x18\x65\xA0\x86\xAA\x89\x4A\x39\x4F\x9F\x7A\x6A\x17\x95\x76\x96\x8C\x06\x3E\x2C\x89\x66\x73\x52\x9C\x57\x69\x14\xD9\x8C\x2C\x4E\x52\x8C\x8D\x57\xD3\x8D\x50\x9E\x32\x9D\x19\xDF\x8A\x62\x8C\x90\x89\xAC\x8F\x3F\x63\x6B\x96\x38\x75\x1A\xE8\x47\x6A\x8C\x01\x34\x9B\x8E\xB9\x83\x58\x90\x2E\x8D\x1B\xAD\x45\x27\x8C\x8B\x4F\x9C\x8C\x6D\x7B\x62\x97\x33\xAA\x13\xCB\x8D\x6C\x7F\x67\x8F\xCA\x81\xDA\x8E\x5B\x94\x38\x9B\xC3\x53\x8D\x94\x88\x75\x8B\xB5\x8F\xEB\x59\x6D\x9F\xE5\x1B\x1B\x96\x5F\xDD\x8D\xAE\x63\xB7\x8B\x70\x5F\x68\x89\x95\x51\x1A\x82\x02\xE5\x8C\x0B\x63\xB9\x8B\x71\x7E\x64\x84\x81\x50\x19\xEA\x72\x7B\x33\x05\x83\x44\x33\x66\x04\xBB\x3F\xBE\x32\x1C\x98\x87\x3C\x70\x57\x86\x24\x73\x81\x8D\xFD\x66\x92\x69\xBF\x74\x8D\x13\x74\xA0\x8D\x8B\x71\xD4\x8D\x2C\x94\x6F\x54\xAC\x43\x73\xC4\x8D\xA2\x72\xA9\x88\x95\x88\x93", - "\x67\x3A\x89\xBB\x4E\x8E\x4A\x88\xFB\x75\xD3\x79\xE9\x83\x98\x4F\x35\x85\x1D\xD7\x54\x73\x5D\xEC\x47\xCB\x5A\x9D\x78\x5E\x6B\x26\xA9\xBF\x38\x8D\xD7\x55\x81\x8C\x3A\x60\xE2\x8B\x9E\x64\x3B\xBC\xE4\x09\x8E\x57\x8F\x85\x8F\xEB\x7E\xCF\x67\xE5\x6A\xE8\x5B\x1D\xFD\x7E\x6D\x8E\x8F\x88\xF2\x5F\xED\x85\x46\x94\x26\xBD\x10\xED\x8C\xE9\x75\x3D\x8B\x34\x8E\xB1\x71\x33\x9D\xE6\x18\x1C\xFA\x8E\xDA\x7E\xAA\x8F\x53\x43\xE3\x86\x01\x7D\x38\xB8\x0B\x9F\x8E\x24\x61\x90\x8E\x33\x63\xD1\x84\x02\x6D\x34\xB6\xBB\x25\x8E\xFC\x67\x71\x8E\xD7\x61\xE5\x86\xF9\x4B\x39\xB9\xFC\x2D\x8E\x72\x60\xA3\x7A\x64\x60\xA4\x82\x74\x9E\x2A\x44\x1D\xE2\x6B\xF0\x8C\x2B\x56\xBC\x8B\xA0\x64\x65\x80\xAB\x6D\x1A\xE7\x75\x92\x8F\x14\x50\xAB\x8F\xF9\x56\x75\x82\xAF\x7B\x1B\xD7\x8E\xFD\x8C\x1A\x57\xBF\x8E\x81\x7C\x45\x8B\xDF\x6A\x13\xE2\x8E\x1D\x7B\x83\x8F\x4C\x8A\xE2\x84\xA3\x48\x3B\xA2\xD7\x6A\x8E\x75\x89\xE7\x5C\x8B\x8D\x3E\x69\x6C\x90\x36\x85\x1C\xD4\x8B\x66\x8F\xDD\x8E\xC5\x8D\xB8\x6B\x7C\x88\x87\x7F\x1D\x9E\x6D\xD5\x8C\xF1\x68\xE1\x8E\xF2\x56\x78\x86", - "\x86\x48\x1E\xF2\x60\x8A\x8F\xC5\x74\xE3\x8A\x0E\x6E\x78\x95\x8F\x50\x1E\xBB\x71\xA9\x8F\x6E\x38\xE5\x8C\x04\x66\x79\x93\xEE\x71\xFE\x34\x36\x6A\x86\x9B\x8C\x8D\x82\x74\x87\xBB\x37\x39\x81\xFA\x30\x47\x3D\x8E\x16\x62\x57\x31\xFD\x8E\x4F\x67\x20\x9D\x02\xA9\x65\x5B\x84\xA0\x05\xCC\x8E\xFE\x8A\x10\x96\x85\x49\xFA\x1D\x8D\x9C\x8F\xE7\x5F\xE7\x8D\x3E\x61\x7A\x9F\x8F\x63\x1E\xCA\x8E\xCE\x84\x4F\x6F\xE9\x8B\x42\x71\x7E\x93\xCE\x6B\x1E\xE9\x5F\xAD\x8F\xFA\x63\xEB\x8E\xDE\x51\x7B\x82\xAF\x73\x1E\xB0\x76\xB5\x8F\x3D\x7B\xED\x8F\xF9\x59\x7C\x86\x38\xBC\x1E\xE2\x6B\xBE\x8F\x0F\x7C\xD4\x88\xE6\x89\xFE\x43\x3E\x80\xE8\x45\x8F\xEE\x68\xDD\x8E\x07\x95\xF9\x89\x7B\x9F\x40\xBF\x11\xAA\x90\xD4\x8B\xE7\x8F\x7A\x71\xFA\x85\x1F\x73\x3E\xA4\xC0\x55\x8F\xD7\x55\xEB\x8E\x2D\x61\xFB\x8B\x0D\x7B\x3E\xB6\xC2\x5D\x8F\x00\x75\xEF\x8E\x96\x75\x01\x93\x37\x43\x3F\xB2\xC1\x65\x8F\xE8\x60\xCC\x8E\x2D\x67\xE5\x84\x39\x9B\x3F\x8C\x07\x9B\x80\xC6\x7F\x1E\x82\xCE\x8B\x86\x51\xD1\x2A\x3F\x92\x21\xB7\x81\x93\x33\x2A\x91\xFD\x8F\x0A\x96\xFD\x7F\x3F", - "\x9B\x1E\xA9\x8A\x9D\x8F\x1F\x3F\xF3\x5D\x00\x94\xA3\x47\x40\xA9\x11\xB3\x89\x94\x8D\xA8\x8C\x4F\x74\x08\x9D\x74\x89\x7F\x4B\x20\xEF\x73\x11\x90\x00\x77\x04\x91\x60\x89\x2F\x9A\x35\x97\x20\xD6\x54\x19\x90\xF1\x65\x4A\x88\xF7\x8A\x6C\x90\x41\xB3\x18\xFE\x90\x5E\x4B\x10\x90\x80\x70\xF8\x83\xC0\x62\x3E\x88\x1B\x9C\x90\x80\x91\xBB\x55\x22\x97\xAD\x89\x77\x9E\xB4\x5D\x20\xB1\x90\x23\x91\x98\x59\xFA\x5E\x06\x92\x07\x78\x41\x8E\xF0\x3A\x90\xA9\x64\x1E\x92\x31\x66\x07\x99\x2A\x60\x42\xA6\xF3\x42\x90\x4B\x34\x36\x90\xCB\x4E\x08\x96\x0B\x68\x42\x82\xD8\x69\x8D\xD2\x82\x08\x60\xF8\x7B\xFD\x81\x10\x0A\x45\x81\x00\xFC\x8F\x7E\x82\xFF\x8E\x57\x36\x15\x92\x35\x4E\x3F\xA3\x03\xAD\x85\x58\x90\x9A\x34\x2D\x93\x6C\x46\x8B\x8B\x0D\x83\xA6\x71\x8F\x5F\x5E\x05\x8A\x0B\x36\x7E\x83\x3D\x93\x42\xBC\x09\x8C\x37\xC0\x90\x0B\x62\x30\x91\x7C\x88\xF0\x74\x1E\xAE\xF8\x25\x8F\x3F\x86\x34\x92\xE0\x8C\xC2\x69\x75\x93\xEA\x4C\x1D\xB0\x76\x66\x91\x49\x8A\x5D\x69\x0C\x9E\x0C\x6F\x43\xAC\xCD\x22\x91\x3F\x89\x6A\x92\x1A\x96\xB4\x71\x51\x92\xEB\x6E", - "\xEA\x1F\x89\xB8\x49\x0A\x90\x02\x90\x8B\x8D\x77\x91\xEC\x39\x21\xBC\x66\x60\x8E\x9E\x64\x1F\x91\xEF\x7C\x48\x85\x31\xA6\x23\xF2\x8E\xCC\x5F\x76\x90\xD9\x72\x1C\x96\xF0\x48\x47\xAD\x8A\x46\x8D\xA5\x88\x95\x88\x0B\x8B\xC5\x77\x77\x8C\x3E\x87\x1F\xA9\x88\x24\x8D\x8F\x8B\x3D\x95\xEE\x8C\x77\x93\x46\xAF\x19\xAE\x90\x53\x88\x39\x5F\xBD\x70\xEC\x41\x48\x70\x4C\x59\x12\xFC\x91\x98\x73\x9E\x88\x46\x92\x3B\x43\x72\x8E\x25\xA6\x12\xCA\x7B\x1B\x93\x55\x88\x93\x8B\x22\x95\x69\x87\x3F\xA9\x21\xBC\x88\xDB\x91\x48\x90\x4F\x6D\xEB\x86\x8D\x85\x48\x8A\x18\x91\x74\x00\x8A\xA9\x8D\xD2\x6E\x21\x98\x4B\x40\x47\xBF\xC7\x5E\x91\x80\x6E\x9C\x92\xD7\x61\x0E\x95\xAF\x73\x43\xA7\x21\xF5\x90\x71\x8F\xBC\x7A\x4A\x91\xA3\x8A\x6B\x91\x47\xB0\xEC\x73\x91\xA8\x69\x47\x91\x8B\x72\x29\x9D\xE9\x42\x44\xB5\xEB\x04\x91\xF4\x90\xB6\x8C\x4D\x95\x55\x46\x82\x95\xD7\x68\x20\xD7\x8E\x4C\x92\xC0\x6D\x56\x96\x2E\x7B\x88\x8B\xDC\x5B\x25\x8B\x6F\x32\x91\x67\x93\xCC\x5C\x25\x9B\xDB\x79\x31\x7D\xF6\x74\x8E\x6F\x4F\x44\x8D\x96\x7F\xC9\x7D\x91\x92\x49\x98\xAB", - "\x15\x8B\x80\x8E\x52\x91\xAA\x66\x14\x97\xF6\x6F\x25\xA6\x24\xB3\x58\xF0\x83\x55\x6C\x17\x5D\x39\x87\xFF\x7C\x42\xAE\x09\xF9\x8F\xFE\x5F\x28\x92\x05\x89\x21\x09\x8C\x96\x7C\x40\x26\x82\x02\x79\x93\xB1\x91\xFE\x85\x1C\x25\x98\x84\x81\x47\x26\xDF\x83\x82\x93\xC5\x91\x06\x3E\x19\x90\x56\x7C\x46\xB2\xD4\x68\x92\x62\x69\xA1\x93\x33\x62\x33\x99\x8D\x93\xFB\x68\x24\xEB\x92\x3A\x93\xC5\x76\x4D\x94\x46\x51\x9A\x9B\x86\x65\x26\xC6\x61\x3C\x92\xBB\x6A\x4F\x97\x89\x85\xD7\x77\x46\xB2\x83\x77\x90\xA8\x69\x77\x90\xCC\x76\x28\x96\xA5\x48\x4A\x98\x25\xDD\x92\xDB\x61\xAF\x93\x36\x66\x29\x96\x57\x70\x4A\xA5\x1A\xD2\x92\xAE\x92\x06\x76\x66\x97\x2A\x96\xEF\x5A\x4D\x86\x24\xFD\x8A\x62\x93\x7A\x92\x42\x91\x28\x99\x90\x93\x3B\x8B\x24\xBF\x4F\x21\x93\xC0\x8D\x70\x93\x70\x44\x89\x96\x85\x56\x22\x90\x67\x98\x90\xFE\x66\x26\x90\x1D\x6C\x89\x9C\x9F\x5E\x22\xF6\x6A\xA0\x91\x48\x5E\x66\x92\x2E\x9C\x3F\x74\x4B\x91\x25\x9A\x8B\x99\x7F\x88\x00\x13\x92\x20\x0C\x36\x52\xFF\x7B\x25\xE7\x46\xED\x8E\x58\x90\xE7\x86\x31\x96\x98\x2E\x42\x83\x26\xF6", - "\x6D\xC6\x90\x7F\x83\x40\x05\x3D\x9A\x00\x92\x4F\xAB\x0D\xF4\x93\x93\x32\xFE\x93\xFE\x7E\x3F\x98\x1C\x83\x6C\x48\x14\xBF\x8E\x9A\x93\x01\x92\x75\x6C\x0C\x96\xEF\x5D\x4C\xB2\xF8\x6C\x8D\x2E\x93\x36\x90\x59\x92\xC6\x68\x99\x93\x3A\x93\x27\xBC\x89\x9A\x93\xD4\x92\xA7\x6B\x35\x90\x78\x8A\x47\x96\xD7\x30\x93\x57\x8E\xD9\x92\x95\x54\x36\x9F\x1F\x76\x4D\x85\x27\xB8\x93\xC7\x93\xE0\x89\x72\x94\xC3\x7C\x9C\x98\x26\xBA\x23\xB2\x42\x00\x92\xC8\x6D\x55\x96\xAE\x64\x9C\x94\x43\x86\x27\x9A\x5A\x28\x94\x1C\x94\x44\x95\x5E\x77\xA3\x85\xB5\x51\x27\xB4\x90\xD6\x6B\xEA\x91\xAA\x67\x3A\x9D\xD2\x6A\x4B\xAE\x25\xDD\x93\xBB\x71\xEF\x92\xA7\x69\x3C\x97\x16\x63\x4F\x90\x0D\x9E\x92\x9E\x5C\x54\x92\x99\x86\x7B\x32\x89\x8F\x4F\x8F\x2D\x76\x93\x92\x92\xEB\x55\x7E\x92\x3A\x84\xA5\x9C\x9C\x59\x29\x84\x93\x94\x93\x09\x87\xF4\x30\x4B\x98\x3E\x9F\x45\xA1\x29\x92\x80\xC0\x36\x32\x97\x31\x97\x97\x3D\x98\x92\x83\x5E\x21\xDE\x66\x96\x93\x6E\x39\x9C\x96\x18\x6A\xA0\x95\xD7\x4C\x28\xF4\x90\x0E\x95\x19\x8A\x34\x97\x42\x95\xBD\x7A\x4C\xA3\x26\xB4\x72", - "\x9A\x93\xD3\x93\xB5\x52\x43\x9B\x9E\x7C\x50\xAB\x25\x9E\x94\xF5\x74\x10\x96\xBD\x5A\x44\x9F\x1F\x64\x51\xB4\xA8\x26\x94\x36\x95\x1C\x95\x0B\x94\x05\x90\x39\x7C\x4D\x9E\xDA\x3E\x93\x8B\x88\xE0\x91\x84\x94\xE5\x43\xA3\x9E\xB4\x75\x28\xD6\x6B\x3D\x95\x3E\x93\x8E\x96\xAE\x61\xAA\x86\x3E\x88\x27\xE4\x91\x12\x93\xE7\x91\x95\x95\x45\x9B\x33\x88\xF2\x55\x28\xCA\x6F\xEF\x89\xA9\x92\x57\x40\x49\x9A\xA5\x6A\x52\xAB\xE7\x4C\x94\xD9\x6F\x4D\x96\x6C\x53\xD2\x82\xAB\x87\xD7\x4A\x21\xA9\x65\xEB\x92\x7A\x82\x9A\x91\xE2\x76\x12\x91\x4C\xA5\x29\xB9\x8E\xB9\x91\x9A\x81\x7C\x96\x2F\x9A\x3E\x89\x08\x0F\x26\x80\x00\x2D\x82\xC5\x93\xB1\x93\xEE\x3D\xA6\x92\x45\x90\x05\xC6\x95\x6B\x94\x6E\x65\xB2\x91\x1A\x7C\x73\x87\x53\xA4\x0F\xE6\x80\xD4\x94\x6F\x94\x31\x96\x3B\x52\xAE\x9D\x56\x9B\x29\xD0\x94\x73\x95\xDA\x76\x16\x6B\x19\x64\x92\x97\x25\xAF\x28\xD8\x91\xAD\x89\xF5\x71\xBA\x96\xEB\x73\x93\x9C\x53\x96\xD7\x7F\x94\xEB\x91\xB0\x6B\xBB\x96\x91\x6B\xAE\x82\x37\x6D\x2B\xC6\x6C\x30\x92\x41\x45\xBF\x92\x28\x9F\xAF\x9F\x17\x95\x24\xE2\x7E\xFB", - "\x95\x62\x81\xC2\x90\xF1\x77\xAA\x97\xFA\x7E\x1A\xF6\x91\x0B\x96\x10\x93\xC0\x95\x1F\x91\xB1\x94\x43\xB1\x28\xC8\x7B\x81\x85\x38\x88\x41\x96\x33\x9A\x9C\x8E\x4E\x95\x2C\x80\x74\xA5\x95\xDF\x93\xDE\x8D\xC2\x7F\xB1\x86\xE7\x61\x2C\x93\x78\x44\x80\x7B\x94\x6B\x92\x5A\x9A\xB2\x96\xAB\x42\x29\xFC\x67\x44\x94\x97\x84\xD0\x81\x3D\x9D\x10\x1B\x4E\x96\xE6\x71\x89\x34\x97\x84\x02\xAD\x91\xEC\x7A\x9A\x50\x4B\x8F\x28\xE4\x93\xBB\x70\xF3\x91\x20\x8B\xEE\x3F\xAB\x9C\x9F\x5A\x1E\x9E\x76\x9A\x93\x79\x94\xE4\x65\x4E\x90\x78\x97\x53\xBF\x24\xF9\x94\x45\x89\xD4\x89\x74\x92\x50\x9C\x33\x78\x57\x9B\xF3\x07\x96\xE3\x91\xDF\x78\x5B\x68\x6B\x90\xB0\x85\x58\x95\x14\xA5\x96\x07\x7C\xAE\x96\xC1\x93\x42\x91\xCF\x64\x5B\x9F\x18\xAD\x96\x0F\x92\x4A\x97\x79\x93\xD7\x86\x77\x8F\xF0\x42\xBC\x62\x96\x66\x72\xAF\x95\x76\x62\x55\x9C\x4D\x93\xEF\x53\xBC\x03\x92\x1D\x97\x7C\x91\xAF\x93\x42\x77\xB2\x87\x51\xA3\x2A\xEB\x92\x7D\x97\x7C\x95\x58\x90\x55\x99\x34\x11\x4E\xAF\x2C\xBB\x71\x31\x97\x4C\x94\xAC\x92\x23\x90\xB7\x93\xA8\x6D\x25\xBC\x96\xC9\x7A", - "\x71\x8D\x74\x90\x68\x9A\xA5\x62\x5A\xA8\x2C\xB0\x73\x39\x96\xD9\x73\x64\x34\xB1\x3E\xA2\x3D\x45\xA5\xF9\x11\x32\xCB\x95\xFB\x92\x40\x05\x5A\x98\x7F\x9E\xCA\x1C\x2E\xD4\x7F\xCC\x95\xC2\x85\xEB\x37\x4D\x9B\x78\x6A\x5A\x9C\x19\x8D\x97\x34\x7E\xBA\x96\xD1\x88\x76\x90\xB5\x8D\x23\xBC\xE4\x2E\x97\xA8\x68\xAA\x94\xE4\x66\x6A\x95\xAF\x7A\x5D\xA1\x23\xB0\x97\x84\x95\x15\x97\x44\x88\x6C\x91\x91\x68\x54\x80\x1E\x8A\x95\xF9\x94\x46\x97\xD5\x8E\x51\x96\xEF\x50\x54\xBF\x24\x81\x97\xA0\x94\x49\x95\xA5\x91\x3A\x98\xA9\x8D\xEE\x64\x20\xB2\x97\x02\x92\xC8\x97\xDD\x92\x7B\x9A\x46\x8E\x33\xB8\x2D\xDD\x97\x8D\x91\xEF\x97\xC8\x95\xF0\x74\xBC\x98\x25\x50\x2F\xAB\x96\xF9\x68\xB9\x96\x74\x92\x57\x9F\x1F\x67\x5C\x9A\xE9\x09\x97\xA4\x8F\xB4\x91\xAC\x90\x6D\x91\x96\x74\x55\x8B\x69\x3B\x96\x01\x92\x5C\x94\xCF\x40\x76\x94\xB9\x8B\xD2\x16\x2E\xD6\x97\xB0\x7F\xCD\x8A\x57\x31\xD1\x76\x85\x96\x52\x8E\x2B\xC3\x95\xEF\x86\x08\x84\xE9\x94\x7F\x6F\xAC\x84\x60\x9B\x21\xA2\x97\x01\x03\x05\x99\x02\x89\x53\x85\x3E\x81\x57\xA7\x2B\xD5\x87\x45\x82\x5C", - "\x91\x17\x93\x62\x9B\x74\x8C\x5F\x97\x1D\xB8\x97\x97\x96\x77\x8D\xF9\x94\x27\x7E\xB4\x9A\x46\xAD\xB2\x71\x95\xDC\x97\x3D\x96\x07\x99\x7E\x97\x55\x7B\x5B\xAA\x12\x9A\x64\xA3\x7E\x54\x8D\xD4\x91\x99\x51\xB0\x99\x70\x7E\x23\xBC\x73\x86\x95\x74\x87\x53\x46\x78\x9F\xA0\x88\x5E\xB4\x11\xAC\x4E\xCA\x96\x00\x98\x10\x73\x84\x9C\x9B\x6E\x5E\xA6\x30\xE6\x97\xD2\x96\x91\x84\x43\x94\x64\x9E\xC2\x8C\x9B\x56\x2A\xFA\x94\x8C\x6F\x1B\x98\xE4\x6F\x62\x96\x33\x90\xDB\x75\x30\x9B\x96\xA0\x89\x1A\x8F\xDF\x90\x8A\x97\xBE\x8E\x5B\xA0\x2F\x90\x78\x8F\x88\xC6\x7F\x16\x9B\x86\x92\x0F\x43\x5C\x9B\x12\xBF\x39\x40\x95\x23\x99\xAB\x46\x7D\x9B\xA4\x30\x5F\xA1\x11\xF3\x46\xD9\x93\x5D\x72\xCD\x95\x66\x88\xB3\x86\x4B\x9F\x5F\x78\x97\x0E\x97\x70\x8D\xE6\x90\x98\x51\xC3\x97\x2C\xA3\x24\xD2\x98\xD4\x8B\xA2\x97\x2E\x77\x68\x9E\xE4\x60\x61\xB6\xBB\x06\x99\xF9\x94\xA6\x94\x94\x95\x84\x9E\xC5\x97\xEA\x44\x31\xE7\x98\x72\x94\x0E\x9A\x85\x93\x85\x94\x87\x9C\x5D\x80\x1E\xBE\x97\x22\x96\x7D\x95\x13\x98\xF0\x61\xBC\x84\x5C\x98\x1D\xFD\x98\xAD\x92\x4A\x9B", - "\x87\x92\x92\x94\x94\x8F\x64\xBE\x92\x4C\x97\xF9\x94\x23\x99\x23\x9C\x6D\x9D\x90\x94\x5F\xBC\xE4\x5D\x98\x6B\x93\x27\x99\x0A\x99\x8A\x96\xCA\x8D\xD1\x54\x31\xF6\x96\x75\x96\x9D\x84\xA2\x68\x90\x9F\x9E\x50\x65\xAE\x25\xBE\x99\xC2\x96\x56\x98\x13\x9E\x95\x93\xAE\x63\x63\xB6\x2E\xDE\x42\x66\x98\x8D\x97\xAA\x93\x93\x9E\x35\x6C\x63\x9E\x8C\x6A\x97\x71\x98\x2D\x77\x1C\x9A\x89\x99\x10\x16\x5F\xAB\x71\x78\x98\x18\x96\x64\x6E\xCF\x90\x8A\x9D\xBF\x8B\x5D\x57\x31\x81\x98\x7B\x99\xD7\x74\xCD\x33\xFC\x5D\x97\x86\x60\x83\x04\x64\x99\xEE\x93\x2F\x94\x7E\x93\x5B\x98\xE9\x68\x67\xBD\x27\xA9\x97\xB6\x86\x8F\x82\x57\x36\x9D\x93\xA0\x90\x67\x8A\x0E\xDA\x84\xF3\x98\x04\x98\xEA\x81\x83\x9D\x1E\x97\x60\x80\x05\xE7\x99\xFA\x98\x0C\x98\xAB\x85\x9F\x9C\xCE\x9A\x4F\x82\x04\x74\x99\x6B\x38\xCF\x97\xF0\x80\xFE\x8E\xAD\x98\x65\xAA\x30\xAB\x99\x88\x99\x9F\x92\x22\x9A\x7C\x9B\x99\x8A\x5F\xB5\x2E\x90\x99\x3B\x89\x0E\x98\xC7\x93\x92\x9B\xD1\x9C\xAA\x6A\x2F\x98\x99\x8A\x96\x4D\x98\x31\x98\xEA\x74\xCA\x9F\x64\xBC\x32\xE1\x5D\x25\x9A\x1F\x98\xB8", - "\x84\xC5\x50\xBB\x88\x65\xBF\x24\xAA\x99\x50\x94\x60\x99\x40\x92\xA6\x91\x8D\x81\xD0\x4C\x33\x8B\x77\xD5\x97\x37\x98\x8C\x95\xA4\x9D\xA9\x94\x68\x9F\x2A\xAB\x9A\xCD\x92\xBD\x97\x48\x98\xF9\x89\xC4\x99\x64\xB4\x34\xFE\x75\x4B\x98\xF2\x97\x4D\x98\x5F\x89\xCC\x95\x62\xBE\x92\x69\x98\xAB\x98\x67\x98\x1C\x4D\xA4\x91\xCD\x9B\xB5\x62\x32\xF5\x75\xD6\x98\xE9\x6F\x52\x9E\x18\x6A\xBF\x8D\x4D\x7C\x32\xE8\x8B\xE1\x98\xFA\x43\x37\x9E\x2E\x92\xC0\x93\xCC\x26\xF0\x05\x98\x0E\x67\x99\x07\x59\x9F\x81\x9A\xCE\x83\x5D\x9E\x2B\xEA\x9A\x01\x9A\x09\x8A\xF5\x84\xA1\x9E\xCF\x8C\x10\x8B\x33\xE9\x99\xD3\x95\x21\x67\x5B\x9C\xAD\x95\xCE\x8D\x6B\x91\x30\xFB\x9A\x7A\x92\x6C\x96\xEF\x81\xB2\x32\xC1\x8F\x1B\x9E\x65\x6B\x9A\x81\x9B\xBC\x98\x2E\x4D\xB0\x94\x19\x91\x4E\x91\x34\xF5\x75\x8F\x9A\xC0\x8F\x44\x9B\x96\x9C\xC8\x90\x52\x97\x34\xB6\x7C\x09\x7D\xC8\x98\x68\x95\xA4\x96\xC9\x9B\x6C\x9F\x34\xA5\x9A\x9D\x98\xAD\x95\x5C\x6B\xAC\x93\x9E\x69\x69\xA5\x34\xC1\x98\xF9\x94\x97\x98\xFA\x97\x6C\x97\xD5\x84\x55\x85\x35\xA1\x9A\x47\x9B\x17\x9A\x2C\x9E", - "\x93\x99\xD3\x9F\x61\xA3\xF8\x3C\x9A\x25\x9B\x9F\x9B\x2A\x99\xB6\x97\xE3\x66\x66\xA2\x36\xDF\x98\x22\x8B\xD6\x9A\x23\x97\xB5\x92\xC4\x8D\xF8\x5B\x35\xE8\x61\x50\x9A\x28\x96\x54\x9C\xAE\x3E\xC6\x91\x48\x8B\x2E\xE1\x9A\xD3\x98\x99\x96\xE3\x92\xF4\x7F\xD5\x9A\x63\xB6\x31\xCF\x8E\xEA\x97\x6E\x9A\xE2\x4F\xA4\x91\xA5\x22\x64\x9A\xE9\x41\x95\x00\x01\x07\x01\x5C\x9E\x81\x85\xBB\x31\x08\x22\x37\xA1\x97\x7E\x9A\x00\x00\x63\x98\x9F\x93\x99\x27\x6F\xBF\xFE\x04\x94\x64\x74\xAF\x32\x7B\x9A\xB0\x99\xC0\x91\xD2\x2B\x37\xAE\x34\xCF\x95\xF9\x99\x5F\x9A\xB1\x9D\x2A\x57\x6F\xB4\x75\x79\x9B\xE3\x9B\xCC\x83\xFB\x8E\x4C\x95\xD7\x82\x53\x82\x04\x7A\x9B\x78\x9B\x6C\x94\x61\x9D\xA1\x99\xD9\x8E\x6C\xA5\x34\x93\x9B\x9E\x99\xCA\x98\x45\x9F\xB2\x9E\xD4\x88\x48\x9A\x34\x8F\x94\x20\x9A\x16\x98\x1F\x9D\xBA\x99\xB5\x8A\x66\x9C\x34\x8F\x94\xA1\x9B\x6C\x9B\xF0\x97\xB8\x9E\x49\x66\x6D\xAA\x2F\xA8\x9B\x3F\x92\xD5\x98\xE0\x88\xA6\x94\xD1\x9C\x6D\xB3\xFC\x2E\x9C\xCE\x61\xD9\x9B\x6F\x9B\xEA\x34\xDA\x91\xBC\x5C\x38\xF5\x84\x15\x9C\x88\x5B\x8D\x99\x6F", - "\x95\x00\x75\x65\xBD\x19\xEA\x96\xD2\x9A\x61\x9A\x52\x9B\xA8\x9B\x94\x84\x6E\x99\xF7\x72\x75\xDC\x9A\xC6\x35\x72\x9C\xA2\x9B\xDC\x8C\x31\x54\x35\xC6\x94\x97\x89\x43\x5E\x3C\x8D\xA4\x9D\xD5\x9A\x31\x65\x34\xDA\x9B\x52\x5F\x1A\x9E\x77\x9D\x2E\x6E\x95\x3B\xA3\x68\x35\x81\x6E\x33\x06\x2F\x9C\x5F\x9A\xC1\x93\x37\x5E\x6F\xAB\x2E\xDD\x9C\x01\x9C\xE1\x84\x61\x80\x59\x9B\xC1\x93\xCC\x22\x39\x89\x9B\x64\x9D\xBF\x58\x60\x9E\xF5\x6B\xDF\x91\x73\xB6\x02\xED\x9C\x34\x37\x37\x9C\xCB\x93\xB0\x95\xE6\x93\x73\x91\xD8\x68\x9B\xFC\x9A\xAF\x42\x99\x9A\x9E\x90\xBB\x9A\x6C\xB2\x2B\x8F\x9C\x25\x9A\x09\x9F\x2C\x9C\xC2\x98\x42\x98\xCD\x65\x34\x99\x9C\xF9\x95\xCE\x9A\x5B\x90\xD2\x9F\x93\x94\x74\xA5\x89\x00\x00\x00\x10\x00\xB7\x4C\x01\x00\x03\x00\x01\x82\x80\x0F\x7D\x82\x83\x83\x08\xFF\x40\x83\x81\x81\x86\x86\x83\x02\x0C\x81\x8E\x12\x8C\x82\x87\x85\x0C\x8F\x8F\x98\x83\x82\x8F\x8B\x8A\x1E\x89\x9C\x82\x81\x90\x87\x91\x86\x25\x90\x95\x86\x20\x97\x8E\x89\x94\x06\xA7\x96\x90\x92\x98\x99\x83\x9A\x36\xB8\xB4\x8D\x90\x99\x8A\x89\x19\x3C\xA6\x81", - "\xA5\x9A\x99\x95\xA2\xA2\x43\xA1\x87\xA1\x9E\x9C\x87\x1D\xA4\x37\xD0\x9A\x8B\xAE\x8C\xAB\xA8\xA9\x1B\xD8\x8E\x8D\xA3\x85\x1E\xA8\xAB\x59\xAF\xB9\x9A\xA2\x94\xB0\x84\xAE\x02\x9F\x1F\xA6\xB7\x80\xB2\x97\x8C\x63\xE2\xBD\x95\x80\x33\xB6\xB8\xA3\x6C\xB1\xB9\xB1\xA7\xB8\xA5\xBE\xA6\x15\xA7\x12\xA8\xB1\x86\x12\xBA\xB8\x3B\xFF\x95\xBB\xBA\x84\xC6\xB7\x84\x84\x80\x02\xCA\xCF\x79\xCA\xC2\xCA\x8F\xC2\x94\xC1\xB8\xC0\xBF\xCD\xB7\x1D\xB6\x91\xC2\x37\xC1\xD1\xC5\xCE\x7E\xA8\xCA\xAE\xCC\xC1\xC9\x31\xD2\x24\xF1\xAA\xCB\xCF\xCD\xB1\xDA\xCD\xB3\xD7\xB7\xC7\x81\xCD\x00\xD8\x94\xA7\xA6\xDE\xD9\xDC\xCA\xE1\xD4\xE3\x80\x95\xBF\xD3\x93\xE0\xE4\xDA\xE2\xA0\xB1\xC1\xF2\xE9\x91\xC9\x0D\xE5\x36\x8D\xFB\xDA\xBB\xEC\xBC\xE8\xDB\xDF\xE7\x81\xC3\xC5\x8F\xC9\xDD\xCC\x6D\xAC\xDD\xFA\xE1\xF1\xF7\xF5\xC8\x93\xB9\xD6\xD8\xE2\xDE\xE6\xDD\xF6\xDC\xF8\xDE\xF6\xFF\x80\xF8\xF2\x89\xE6\x76\x78\x79\x7E\xFC\x51\x70\x71\x73\xD4\x47\x79\x81\x72\x0C\x71\x76\x7F\x7C\x98\x6A\x7A\x7C\x7B\x05\xA0\x75\x84\x6E\x17\xAE\x73\x85\x64\x3C\x34\x73\x77\x81\x0A\xA0\x8B", - "\x6B\x7A\x03\xBB\x7B\x82\x47\x91\x4D\x0E\x84\x82\x22\x8F\x79\x84\x81\x27\xB7\x7F\x89\x41\x91\x48\x12\x56\x72\xD9\x49\x05\x46\x22\x2B\xA1\x8C\x72\x8F\xD9\x65\x84\x85\x8C\xFD\x55\x42\x13\x8D\x8C\x7A\x82\x46\x1F\x3D\xA3\x83\x86\x90\x50\xAD\x65\x46\x08\x48\xAB\x7A\x90\x43\x3F\x0D\x9E\x88\x91\x06\xBF\x8E\x93\x8C\x43\xAD\x8A\x45\x64\x2D\x15\x93\x87\x95\x03\x5B\x1A\x96\x8C\x5C\x96\x8D\x98\x86\x6F\x9A\x80\x99\x64\x56\x26\x90\x98\x9A\x02\x61\x2B\x99\x71\x71\xB0\x82\x98\x9F\x7F\x9D\x91\x92\x94\x12\x64\x06\x9D\x9F\x05\x78\x91\x40\x11\x52\x41\x05\x46\x03\x52\x4A\xA0\x02\x8A\x94\x7E\x6B\x7A\xA3\x12\x50\xA4\x66\xA4\x94\xB9\x66\xA7\x84\x07\x04\xAC\x40\x01\x52\x48\x09\x91\x45\x0C\x0D\xAF\xA1\xA4\x15\x5D\xA6\x7F\xA7\x60\xA1\xAF\x79\x45\xA4\x94\x66\xAA\x95\xA8\xAA\xA9\xA4\xAB\x12\x6E\xA1\x8C\xAC\x88\xBF\x32\xAF\x86\xB4\xA5\xA7\xAA\x44\xA9\x94\x68\xA4\x43\x9A\xB9\x6C\xA6\x54\xC0\x81\xA9\x43\xB0\x73\x85\xB6\xAF\xB1\x0C\x49\xB9\x6F\xB2\x03\x4D\xB6\x7F\xB3\x95\x8C\x64\xB5\xB0\x91\x75\xA9\x6F\xAD\x67\xB9\xAA\xB3\xAA\x9B\xAD\xA0\xB6", - "\xB8\xA2\x83\x46\xBA\x7D\xE8\xB7\x9A\xBB\x79\x12\xA0\x91\x97\xAC\x12\x64\x1B\x9E\xA0\xF5\x41\xB2\x91\x64\xFE\x91\x84\x89\xBE\x02\xC8\xC2\xB6\x78\x12\x5C\x1F\xBE\x9B\x0B\xF2\x99\xC3\xC1\xFC\x8C\x41\x13\xC3\x70\x91\xCE\x9E\x97\x5B\x9A\xC6\x8A\xC7\x95\x55\x43\x04\xC6\x12\xE0\xCB\xBF\x93\x0A\xDC\xCC\x9A\xC9\x29\xC3\xA5\xC7\x40\x05\xF8\xB4\xC4\xCA\x33\xFA\xB1\xBE\x40\x30\x24\xCB\xC6\xCB\x34\xFD\xC5\xB6\x44\x6A\x86\xCE\xCF\xC4\x43\xEC\xCF\xC8\xCE\x3A\xDF\xCA\xC8\xA0\x4B\xC0\xCF\x85\xD3\x90\x55\x49\xCE\xD0\x36\xF5\xC4\xD1\xD5\xC4\x92\x44\x44\xD5\x57\xDD\xD6\xD1\xD1\x50\xCC\xCC\x40\x4B\x5C\xDF\xD8\xD7\xD9\x5E\xE1\xD5\xCA\xDA\x2A\x7F\x49\xD1\x98\x6C\xCA\xDC\xCC\xDA\x20\xD1\x6F\x51\xD9\x71\xF0\xD3\xDD\xDA\x7B\xF5\xD5\x46\x57\x78\xFD\xD9\xDF\xC9\x3F\xCC\x4A\x59\xE0\x01\xE6\xDC\xDE\x68\x74\x6F\xD4\xE3\xE2\x4F\xD9\x7E\x7C\x65\x10\xB2\xC0\xDA\xE0\x98\xC9\xE9\xDF\xE4\xF2\x65\x7E\xE1\xCB\x9A\xD9\xE3\x5E\x44\xA4\x48\xE1\xE5\xE8\xA8\xE7\xE3\xE8\x43\xAF\x66\xEC\x8B\xE0\xA0\xEA\xEF\xEA\xE4\x15\x51\xBA\xCB\xE3\x8A\xF9\xE0\xEF\xD1", - "\xCA\x62\x98\xEF\xEE\x97\xE9\xE5\x75\x45\xD7\x6E\xE0\x92\xF0\xC7\xF2\xE5\x48\xE7\x0F\x9E\xE6\xF3\x97\x90\xF3\xE8\xF0\x83\x03\x4E\x81\x8D\xE5\x02\xB1\xE2\xF6\xF2\xD0\xFE\xD2\x46\xF5\x62\x98\xF1\x8F\xEF\xA2\xDB\xF6\xFB\xF2\xE3\x54\xEE\xF2\xE5\x74\xC0\xFD\xF9\xF9\xC9\xC3\xF2\x45\x87\xCF\xDD\xCE\xF9\xF4\xF1\xF9\xF4\xF6\x40\xBE\xBE\xEA\xF6\xFE\xF6\x70\x7F\xFE\x01\x26\x46\xCA\x38\x46\x26\x92\x5C\x45\xFD\x2B\x67\x7E\xDD\x42\x80\x45\x46\x47\x50\xC8\x12\x5C\x49\x05\x8C\x6F\x81\x0C\x98\x81\x91\x12\x24\x4A\x03\x98\x5B\x20\x59\x56\x82\xD3\x67\x7D\x7B\x06\x9B\x75\x22\x65\x5E\x80\xAE\x40\x6F\x72\xAB\x4E\x83\x7A\x10\x92\x21\x9D\x2A\x89\x5C\x89\x3A\x4A\x84\x10\x66\x86\x06\xA3\x80\x81\x31\x55\x26\x50\x34\x96\x5E\x44\x0C\x5B\x5C\x89\x10\x04\x57\x0C\x3D\x7E\xCA\x36\x79\x3A\x6E\x42\x27\x88\xED\x5D\x57\xBB\x6B\x33\x5C\xEF\x63\x56\x58\x2B\x99\x5A\xAE\x0C\x20\x8A\x67\x6E\x59\x5C\x54\x97\x65\x40\x73\x51\x47\x7A\x41\x5A\x52\xDA\x56\x3E\x13\x81\x2D\x8B\x6F\x5F\x8E\x53\xF0\x5C\x74\x00\x64\x82\x4C\x33\x93\x87\x5E\x6A\x95\x21\x1B\xB1\x40", - "\x5C\x38\xA1\x8A\x8E\x74\x8A\x66\x1D\xF9\x68\x8D\x2D\x83\x23\x8F\x62\x5D\x8F\xAB\x71\x89\x6B\x2B\x97\x59\x8B\x03\x29\x8D\x8C\x6B\x80\x00\x44\xAA\x62\x91\xBF\x4C\x91\xE1\x72\x58\x8B\x1A\x9A\x88\x8C\x13\x4C\x8A\x4D\x55\x87\x84\x89\x01\x97\x21\x83\x99\x44\x1E\x99\x9F\x8F\x46\x9C\x97\x91\x9E\x91\x93\x14\xA0\x52\x8D\x39\x9D\x92\x88\x9F\x9E\x8C\x2D\x80\x97\x97\x33\xAB\x92\x4C\xA2\x90\x24\x29\xB4\x76\x95\x5E\xB7\x88\x59\xB3\x91\x55\x2D\xA7\x9E\x21\x54\x88\x87\x97\xB7\x7F\x7D\x09\xBB\x89\x86\x6A\xA2\x68\x66\x2D\x81\x78\xF7\x01\x80\x86\x1F\xBD\x59\x9B\xEF\x7D\x9B\x05\xE2\x9C\x87\x01\x80\x06\x61\x38\x99\x62\x0E\xE4\x95\x9A\x76\xAA\x9C\x98\x16\x60\x9C\xFE\x53\x9E\x9D\xB5\x56\x9C\x37\x22\x72\x9F\x0B\xDB\x99\x83\x7A\xBB\x66\x9F\x72\x60\xA2\xDE\x02\xA4\x7C\xC6\x5F\x99\x9D\xF6\x84\xA2\x34\xDC\x9C\x9F\x0D\x8C\x23\x6A\xEC\x73\x9C\x43\xA4\x83\xA3\x1E\xA3\x9B\x75\x69\x5A\x9F\x3A\x8D\xA5\x9D\x8A\xB4\x98\xA3\x48\x68\xA3\x3F\x9C\xAD\x9C\x92\xAF\x9A\xA0\x91\x30\xA1\xF6\x2E\x8B\xA2\x8A\xBD\x9E\xA4\x09\xA0\xA7\x44\x1A\xA7\x9F\x91\xAE", - "\xA7\xA2\x37\xBB\x2B\x4A\x34\xAA\xA0\x96\xB5\xA1\xA0\x30\xAD\x6C\x43\x40\x22\xA4\xA0\xB9\xA5\xA4\x47\xA7\xA5\x50\xB4\x45\x23\xBB\x51\xA3\x9F\x49\xB1\xA5\x54\xB6\xA6\xA2\x9D\x92\x20\x70\x4F\xAD\xA5\x55\xC8\xAB\xAA\xA5\xB2\x7E\x70\x3C\xAB\xAB\x40\xE2\xA3\x61\xC6\x45\xAB\xAC\x53\xA6\xA9\x57\xD2\xAB\xAC\xA1\x95\x7F\x3F\x0C\x21\x43\xF8\x0B\xAF\xA5\xB4\xA8\xAD\xAD\x6A\xA6\x9C\xF8\x2A\x62\x7C\xFF\x7E\xA5\xA7\xDA\x96\xAD\x59\xA4\x71\xAC\xC1\xB4\xA8\xA7\x78\xA1\x66\x44\x2D\x79\xAB\x9F\xB7\xAF\xA3\x86\xBF\xAE\x58\xBD\x35\xB1\xC4\x85\xA4\xAC\xB5\x87\x80\x57\x90\xB6\xB3\xC3\x9D\xA5\xAE\xE8\x72\x21\xF1\x0D\xB0\xB1\x70\x98\xB2\xB2\x5F\xAF\xAE\xFA\x00\x45\xB2\xCE\xAE\xB6\xA3\xB0\xA0\xB6\x5E\xF0\xA3\x20\xB9\xBE\xA9\xB0\x9D\xA8\xB5\x6E\xAE\x92\x21\xBD\x8E\xA5\xB6\xAD\xB1\xB4\x62\xAF\xB2\xB6\xE1\x96\xAD\x41\xB4\xA2\x22\x6D\xD1\x9A\xB6\xE2\x83\xBE\xB8\x9B\xB0\xBA\x57\xA1\xBC\x20\xFA\x64\xB7\xB4\xB8\xAE\xBB\x67\xCF\xB5\xB8\x6F\x89\x89\xB8\xDD\xBC\xBA\x78\xDB\xB4\xBD\xA8\x52\x25\x80\xB9\x3A\xB1\x4A\x09\x80\xBD\xF1\x91\xB9\xBC\xE5", - "\xB3\xBA\x39\xC7\x41\x88\x5F\x8B\x4D\xBD\xF1\xAC\xAE\x76\xEF\xBE\xBD\x6B\x82\x25\x83\xE9\xBF\x82\x40\x21\x87\xBB\xC8\x99\xBA\xBA\xFA\xA8\xC2\x5B\x82\x29\x85\x00\xD0\x92\x20\x41\x65\xC3\x6E\xA6\xB6\xC0\x0A\xD4\xBB\x20\x33\x8E\xC1\x2C\xF9\x48\xBE\xFE\xB9\xBC\xAA\xFB\xB2\xBE\x82\xCC\xA5\x50\x09\x84\x95\x22\x44\x92\xC1\x88\x89\xC0\xBE\x0F\xE6\xBC\x21\x31\x6B\xA7\x81\xAD\xC2\xC4\x1A\xF8\x9F\xA0\x2A\xC3\xC7\x63\xBA\xC7\xB3\xD4\x82\x20\x9D\x39\xD6\xC4\x88\xBC\xCE\xB3\x17\xC3\x27\x62\x67\xBD\xC7\x84\x92\xAE\xBB\x81\x23\x61\xC9\x45\xD5\xC5\x7F\xAC\xC3\xCB\x21\xC2\xC9\xAF\x44\xD2\x8D\x8C\xF3\xAD\xB9\x2C\xF3\xC5\xCA\x24\xCF\xA1\x87\xD2\xCF\xC2\x2C\xD7\xCA\xB1\x0C\x31\xC2\x8C\x96\xCB\xC4\x2B\xE0\xCB\xC7\x4D\xC1\xA5\x90\xEF\xCA\xC9\x36\xE6\xCF\xB7\x72\xCB\xCC\x93\xF4\xC1\xCA\x2A\xC7\xBB\x20\x5B\x73\xCD\x99\xF0\xCC\xCF\x2E\xF1\xC9\x20\x64\x62\xD2\x8B\xE4\xCB\xD0\x3F\xCD\xD6\xCD\x7F\xC2\x20\x51\x8A\xDC\xD1\x4A\xCE\xD6\xD2\x90\xC6\xCA\x40\x4E\xAA\xCE\xA8\x8B\xCE\xD3\x76\xC8\xCD\x57\x63\xC7\xD3\x52\xD9\xD6\xBF\x01\x27\x70\xA5", - "\xA6\xD7\xCF\x41\xC3\xB4\x21\x75\x30\xCA\xA1\x85\xDF\xCB\x48\xC1\x26\xB7\xB6\xC0\x03\x72\xB4\xDC\xCC\x2F\xFD\xD7\xD0\x92\x29\xB9\x61\x24\xD7\xD4\x56\xC4\xD3\xD0\xA3\x24\xD9\xAB\x8F\xDB\xD8\x4C\xE1\xCB\x20\x8C\xBD\xD2\x56\xA1\xD5\xCE\x5F\xE4\x5D\x76\xCA\xC7\xD8\xB3\xDA\xDE\xD8\x51\xFD\x77\xB6\xBF\xDC\xD7\x9E\xC8\xD4\x79\x6C\xD5\xDF\xCC\xAF\xCA\xB5\xE7\x2C\xB2\xD7\x5A\xDB\xDF\xDC\x78\xD7\xD6\xB0\xBA\xD6\xDD\x3E\xC5\xDF\xDE\xCF\xDD\xB7\xBC\xBB\xDE\xD4\x7B\xCD\xDE\xD8\xE9\xDA\xDF\x6A\xF1\xA5\xDF\x59\xFD\xDE\xE0\x9A\xC1\x22\x75\xD2\xDE\xB0\x78\xC7\xE6\xDD\xA8\xD3\x51\xC1\x90\xE0\xE1\x5A\xA8\xBE\x3E\xEA\xA5\x24\x7B\xED\xD1\xDD\x87\xDD\xE1\xE1\x00\x14\xBE\x86\xB8\x93\x21\x0A\xAB\xD0\xDF\xDC\xD5\xE0\xC2\x91\xE0\xC0\x8C\xC2\xC1\x20\x04\xCC\xE1\x69\xE3\xDF\xDD\x5A\x8D\xC6\xE5\x0F\xC1\x22\x9A\xDC\xC4\xE2\x94\xCE\xE3\xDB\x74\x46\xC6\x2A\xB6\x83\xE3\x8F\xDD\xDF\xE7\x11\xE0\x8B\xC8\xF6\xBC\x21\x14\xF9\x8A\x22\x4F\xDE\x8A\x14\xA0\x90\x4C\x4A\x91\xEE\x8D\x53\xFA\x96\x32\xBC\x90\x96\x92\xC2\x22\x92\xC0\x8C\x31\x30\xA9\x23\x98", - "\x83\x8E\x97\x5C\x2F\xE0\x00\xD8\xCC\xBD\xE7\x7F\xFE\xE6\xDF\x29\xEB\xC1\x40\x5B\xC0\xDC\x9A\xC7\xE8\xEE\x48\xF7\xC4\x8C\xC5\xE6\xEE\x95\xED\xE9\xEE\xF9\xC1\x20\x90\xB2\xE8\xBA\xA3\xFE\xEE\xF0\x28\xF1\x30\x92\xA7\xEE\xED\xC6\xC0\xF7\xF1\x79\xE9\xF1\x3E\x9C\xED\xEF\xB7\xEB\xE7\xF0\x95\xEE\xF1\xE4\x9A\xF8\xEF\x5A\xB4\xEC\xED\x88\xFC\xF3\xE5\x96\xFF\xEF\x94\xBC\xE8\xD4\xD6\xC8\xF7\x99\x91\x3B\xE7\xBA\xEA\xF2\xDC\xAF\xFE\xE1\xE6\xDE\xD1\x20\x95\xBC\xE1\xF4\x90\xFD\xF3\xE8\x8E\xF6\xF4\xCA\xF1\xF5\xE6\xBB\xF9\xF6\x1C\x81\xD4\xF1\x0A\xF3\xF3\xF3\xC2\xFC\xB4\xA2\xA7\xF3\xDB\xD4\xCD\xF8\xDD\xB5\x93\xD1\xF1\x9F\xDF\xF8\xD8\xD5\xFC\xDC\x12\x3C\xD3\xED\xC7\xFA\xF7\xBF\xC8\xF9\x32\x58\xB3\xF8\xB5\xDD\xF8\xF7\x80\xE9\xD4\xF9\x0D\xE4\xFF\xB5\x92\x21\xD6\xC6\xC9\xFD\xFC\xEA\xFF\xF5\xC4\xB8\xD0\xE4\x7E\xC0\xFE\xFB\xF1\xF7\xF8\xD0\xE9\x7B\xDC\x82\xFE\xF2\xFF\x77\x71\x7C\xDF\x75\x11\xA5\x3E\x7E\xC8\x77\x80\xF9\x70\x4F\xD0\x68\x7E\x33\x72\x7F\x98\x7E\x80\x72\x70\x00\x63\x7F\x80\x00\x84\x81\xE9\x71\x7C\x91\x19\x71\xA4\x70\x7F\x02", - "\x89\x80\x66\x73\x10\xA3\x52\x7E\xCE\x77\x81\xF8\x78\x81\xFC\x7D\x3C\xEC\x66\x80\x1E\x85\x78\xDC\x72\x47\xF4\x71\x71\xF6\x71\x80\x25\x83\x83\x1C\x8A\x7C\xC1\x63\x70\xC0\x5F\x7F\x24\x85\x83\x3C\x8B\x7E\xC8\x58\x83\xCA\x5C\x80\x2C\x80\x81\xA2\x75\x7A\x15\x1B\x70\xDB\x74\x84\xEF\x7D\x82\x34\x83\x7B\x29\x22\x84\xC6\x7A\x84\x03\x87\x5E\x42\x7F\x4C\x12\x1A\x40\x2A\x8D\x81\x5A\x8D\x84\x56\x43\x10\x22\x78\x73\x1B\x61\x10\x26\x72\x82\xD0\x7B\x85\x3D\x8A\x84\x91\x1D\x72\x31\x2A\x81\x1E\x12\x29\x31\x79\x84\x15\x8B\x81\x4C\x87\x86\xA5\x4C\x10\x37\x7B\x86\x69\x7D\x7A\xA0\x73\x87\x7C\x82\x85\x70\x71\x74\xF5\x57\x4C\x0C\x17\x43\x59\x8C\x85\x71\x85\x84\x74\x8A\x80\x02\x1A\x74\x60\x8E\x75\x8B\x20\x85\xD4\x7E\x58\x04\x30\x89\xE3\x76\x82\x38\x64\x86\xD6\x7B\x83\x7D\x85\x87\x03\x13\x78\x70\x8A\x89\x7E\x86\x86\x3E\x87\x64\x94\x83\x82\x0D\x8C\x89\x02\x17\x75\x9F\x87\x8A\xA0\x87\x88\x4B\x81\x8A\x86\x8D\x8A\x8A\x83\x77\xA5\x85\x86\xB1\x8F\x81\x79\x6B\x8A\x43\x8E\x8A\x08\x82\x47\x7A\x89\x89\xAC\x81\x8C\x93\x52\x35\xB5\x80\x8C\xBB\x83", - "\x8B\x00\x06\x7B\xAE\x7C\x8B\x2B\x81\x85\xA8\x83\x53\x3A\x82\x8C\xCE\x82\x89\x3B\x51\x8D\xC7\x82\x8D\x91\x88\x8B\x01\x12\x7D\xBA\x83\x8D\xD8\x85\x89\x36\x8A\x7D\xCB\x82\x8B\xDF\x86\x8A\x32\x50\x00\xE1\x7D\x8D\xD9\x87\x8D\xC3\x82\x11\xAA\x68\x89\xB2\x70\x8B\xB8\x71\x19\xED\x70\x8F\xF7\x79\x88\xE5\x80\x6C\x2F\x8A\x77\x39\x85\x88\xF8\x8C\x8E\x76\x5C\x3C\xD7\x3B\x3E\xF6\x82\x83\xFF\x8E\x8D\xE7\x85\x80\x05\x96\x81\xF9\x86\x8C\x3E\x61\x10\xD1\x6A\x8E\xE0\x87\x90\xEB\x81\x90\xD8\x66\x8D\x08\x99\x91\x89\x59\x81\xC5\x81\x8F\xCC\x82\x47\x21\x82\x91\xE6\x8A\x91\x13\x93\x8A\x02\x7D\x7F\xFD\x8B\x90\x72\x82\x8F\x9B\x88\x8C\xFB\x81\x81\x31\x8C\x90\x00\x95\x91\x1B\x97\x82\x03\x99\x82\x2A\x98\x88\x2D\x9D\x90\xB9\x6F\x92\x81\x74\x6F\x18\x94\x93\x25\x9C\x92\x5D\x82\x10\x48\x83\x8E\x3C\x97\x8F\x3B\x9D\x8E\xDF\x51\x94\x43\x9F\x91\x46\x84\x85\x81\x87\x62\x57\x8D\x91\x4A\x94\x94\xCF\x81\x72\x55\x80\x13\x14\x46\x95\x06\x9B\x94\x0F\x90\x00\x6A\x82\x26\x6C\x8A\x11\x6E\x8E\x95\x32\x94\x92\x31\x46\x87\x5B\x9B\x5E\x15\x1F\x8B\x1E\x94\x8E", - "\x33\x91\x6A\x80\x8B\x74\x82\x83\x10\x84\x89\x93\xAF\x80\x95\x14\x94\x97\x3F\x4D\x96\x1A\x78\x62\x86\x42\x10\x14\x08\x44\x03\x1A\x44\x0F\x13\x81\x21\x14\x49\x85\x91\x45\x4D\x9A\x75\xC1\x25\x76\xE7\x8C\x4C\x09\x1E\x4C\x5C\x90\x4D\x89\x92\x76\x9A\x46\x92\x63\x46\x4C\x54\x99\x4B\x7A\x9D\x8B\xB7\x83\x97\x6B\x98\x4D\x4E\x93\x92\x42\x98\x9A\xE6\x4F\x79\x0E\x99\x9A\xB6\x8D\x97\x3A\x61\x19\x9E\x88\x94\xA4\x9F\x9A\x60\x9E\x9A\xF1\x60\x00\x8B\x71\x9A\xCD\x88\x9B\x71\x98\x52\x93\x7E\x8F\xB7\x9F\x94\x72\x9A\x96\xB6\x98\x95\xC5\x9E\x9B\x20\x7C\x9A\xBF\x95\x9B\xAD\x94\x9C\xC0\x92\x11\xCA\x8B\x87\xC8\x99\x94\x5F\x95\x9D\xE7\x80\x97\x57\x9C\x97\xC3\x9A\x9A\xB1\x94\x8C\xA7\x97\x9C\xDC\x98\x9D\x16\x92\x9D\x68\x9B\x92\xE3\x99\x9E\xC8\x84\x7C\x22\x92\x9E\xC9\x90\x9D\xCE\x99\x6B\x89\x6C\x9B\xA2\x84\x9E\xCA\x97\x9D\x59\x9C\x8D\xB4\x96\x9C\xCF\x9E\x9D\xEE\x9A\x8D\x00\x02\x8E\xD4\x9A\x9E\xD6\x99\x96\xF7\x9C\x8F\x02\x19\x8E\xFB\x97\xA0\xE8\x9F\x9E\xDF\x9E\x8E\xE7\x9A\x93\xF6\x9E\x97\xEC\x71\xA1\x7B\x9E\xA0\xFF\x97\x8E\x3E\x94\x7B\x40", - "\x92\x9C\x13\xAE\x9F\xFD\x9B\x7A\x36\x91\x3E\x04\x9D\x9E\x21\xA7\xA2\xCD\x9C\x9F\xB9\x6A\x90\x26\xA9\xA2\x0C\xA2\xA1\x04\xA7\x8E\x11\x9B\xA0\xF0\x9A\xA2\xDB\x98\xA1\x6F\x64\x59\xE1\x98\xA2\x37\xA5\xA0\x92\x7F\x6D\xF4\x93\x9A\x36\xA8\x9F\xD4\x82\x5A\x16\xA2\x9A\xB0\x92\xA2\xDF\x3B\x6F\x47\xAD\x9B\x35\xA5\x93\x4B\xA0\x84\xC3\x6B\xA3\x2E\xAF\xA4\x56\xAF\xA0\x3F\x88\x92\x41\x84\xA5\x3D\xA1\x9F\x5D\xA5\x9E\x59\xA8\x82\xFE\x7E\xA1\x31\xA3\xA4\x06\xA7\xA5\xC0\x67\x94\x03\xA8\xA3\x55\xA0\xA2\x6D\xAA\xA4\x8F\x91\xA4\x49\xAC\xA3\x44\xA1\x9D\x0C\x17\x71\x78\x89\x73\x00\x08\x85\x72\xAD\x9D\x19\xA6\xA6\x3F\xAC\x10\x5F\x89\xA7\x61\x80\x00\x63\x8D\xA2\x5F\xAF\xA2\x17\xAE\xA3\x3F\x93\x96\x2A\x35\x96\x0F\x17\x96\x5C\xA5\xA7\x5E\xA4\xA9\x60\xA3\x10\x77\x84\x96\x79\x8D\xA4\xF5\x95\xA6\x50\xAC\x10\x19\x6D\x88\x4C\x78\x97\x9C\xA2\xA4\x8A\xA3\x85\x0C\x1C\x88\x84\xAE\x88\x00\x0E\x74\x88\xA6\xA9\xA7\xAF\x87\x15\x1C\x9C\x89\xA8\xA6\x74\xA6\x6C\x93\x83\xA9\x67\xAE\xA6\xB5\xA5\x9A\x3F\x65\xAA\x73\xAF\xA6\xB9\x9B\x9B\xAF\xAB\xAB\x7F\xA1", - "\xAB\x72\x4A\x8A\x34\xAC\xAB\xB0\xA6\xAB\xC2\xAF\xAC\xBD\xA7\xAC\x14\xAB\x77\xBA\xAD\xA0\x8C\xAB\xA8\xE7\x83\x9D\xB7\xA6\xAD\x95\xA6\xAC\xB9\x9A\x9D\xCD\xAC\xAC\xDE\xA0\xAD\x11\x7A\xAD\xE4\xA3\xAE\xD1\xAB\xAD\x3F\x96\xAE\xE9\xA7\xAE\xDC\xA0\xA8\x3F\x9C\x9E\xCB\xA2\xAD\xE2\xAF\xAE\x9F\xA3\x10\xF3\x95\xAC\xF6\xAE\xAC\xED\xAD\xAF\x11\x7A\x9F\x6B\xA7\xAD\x48\xAE\xA7\xB9\x92\xA0\xEA\xA8\xAD\xF0\xA8\xB0\x17\x69\xA0\xC0\xA4\xB0\xD8\x70\x56\xD5\xA0\xA3\x6C\xAB\x7F\x15\xA1\xB1\x0A\xBC\xAF\xE1\xAA\x8F\x4C\xA6\xB1\x03\xBF\xA1\x70\xAA\x6E\x62\xA9\x92\xFA\xA2\xB1\x02\xBE\xA4\xBE\xA1\x10\x2C\xA3\xAF\x07\xBD\xB1\x9E\xA6\x4E\x33\xA1\xB0\xDD\xAB\xAF\xF5\xA4\xB2\xE7\x8A\x98\x34\xB9\xB0\x2C\xB5\xA4\x40\xAA\xB2\xEE\xA7\xB3\xC8\xA6\x83\x21\x9C\xB3\xFE\xA8\xAE\x19\xB9\xA3\x23\xAC\x57\x25\xA2\xB4\x45\xBD\xB3\x17\xB8\xA5\x20\xB7\x93\x63\xAD\xA7\x1E\xBB\xB2\xB2\xA1\xA5\x5A\xA3\xA5\x64\xA3\xB1\x4B\xB3\xB4\x11\x8B\xA1\x7D\x50\xB3\x38\xB6\xB2\xF4\xAF\xB1\x46\x9D\xB0\x53\xBC\xB4\xE6\x72\x71\x1C\xB2\xB6\x54\xB2\x47\x78\xAA\xA9\x7A\xAC\xA7", - "\x23\xBD\xB4\x63\xBD\xB6\x36\x83\xA8\x70\xB5\xA8\x87\xAA\xB4\x44\xBD\xB7\x32\xB4\xB6\x01\x1E\xA8\x0F\x10\xA9\x0E\x12\xA9\x59\xB5\xB2\x9D\xAA\xB3\x98\xA0\x98\x21\x12\x29\xE0\xAE\xB7\x3E\xB8\xB1\x90\xBC\xA1\xA1\xAB\xAA\xA3\xAC\x61\x6B\xB9\xB8\x88\xB1\x95\xA9\xAC\xB8\x6D\x82\x98\x45\x4C\x10\x15\x06\x98\xFC\x39\x4C\xC1\x24\x49\xA3\xBE\x98\x87\x96\xBA\x20\x32\x99\x61\x94\x99\x08\x16\x99\x6E\x98\x4C\x54\x71\x2C\x36\xBA\x11\xAE\xBB\xB0\x9D\x9D\x75\x97\xB1\x10\x6B\x76\xB7\xC1\xAC\xB5\x91\xB7\xB2\x00\x04\xAB\x5B\xB7\xBC\x93\xB9\xB3\x00\xA6\xBC\xC9\xBC\xB6\x68\xBE\xBC\x20\x73\x9B\x60\xBF\xB3\xC1\xB8\xBC\x7F\xB3\xAC\x66\xBD\xB2\x33\xB4\xB7\xB9\x9A\xAC\xD3\xB2\xB9\xD7\xBF\xBC\x9A\xB1\xB3\xC3\xB5\xB7\xE2\xBC\xB9\xA6\x97\xB8\xE4\xBC\xBD\xE7\xB3\x8F\xE0\x9A\xBE\x61\xB3\xBE\xF1\xB6\x83\x8F\xB1\xBE\xC2\xBC\xBE\xF7\xB8\xAA\x03\x1C\xAE\xD6\xB5\xBE\xC0\xBE\xB0\x14\xB2\x66\x99\xB6\xAA\xE0\xBE\xBF\x0F\xB0\x68\xD9\xBA\xB5\xCD\xB6\x89\x63\x39\xC0\x9B\xB5\xBD\x93\xB1\x19\x00\xBF\xBF\x67\xB9\xBF\xD0\xB1\x71\x06\xBD\xBE\x00\xCD\xBF\xF8", - "\xBD\x6D\xE0\x7E\xC0\xEB\xBA\xBC\xE7\x8F\x8E\x73\xB2\xC2\xF3\xB0\xC1\x11\x85\x8F\x25\xC7\xC1\x0B\xC4\xC0\x4E\xB7\x92\x21\xBB\xA5\xF0\xB4\xBD\x1B\xCD\xC2\x9B\x40\xC3\x50\xB2\xB2\x7C\xB6\xBF\x1C\xC6\xC2\x8A\xA9\x6C\x03\xC8\xC2\x06\xC6\xC1\x72\x4F\xB2\x14\xCA\xBD\xE6\xB4\xC4\xE8\xB2\x10\xB7\xBE\xC3\x05\xCD\xC1\x36\xCC\x99\xBD\x37\xC4\x0A\xCC\xC3\x51\xC5\x94\x01\x11\xB4\xDF\xBB\xBD\x4E\xCC\xC5\x55\xB1\xA6\x39\xC2\xC3\x52\xB8\xC4\x54\xCF\xC0\x52\xCE\xB5\x49\xBB\xC5\x49\xCD\xC3\x2C\xC6\xC5\x5D\xBB\xB1\x33\xCF\xC4\x5D\xCB\xC6\xB8\xA7\xB4\xB9\x91\x93\x6E\xC3\xC4\x6C\xC2\xBF\x3F\xC7\x84\x20\xC7\xC2\x35\xC9\xC7\x1C\xA8\x98\x1A\xC5\xC1\x7B\xCE\xC2\xC0\x6F\xB6\x8F\xA9\x76\x72\xBB\xC3\x7A\xC7\xC5\x64\xCC\xB4\x91\x18\xB7\x8B\xCA\xA7\x7B\xBA\xC6\x65\xC1\xC2\x6D\xCC\x7B\x53\x2E\xB9\x66\x95\x11\x6F\x8E\xC8\x50\xC2\xC8\x73\xC7\xB0\x64\x2E\xC9\x91\xAF\x96\x7F\xC4\xC3\x86\xC5\xC7\x32\x48\xCA\x85\xB5\x11\x79\x9B\xC2\x7C\xC2\xC7\x9B\xC3\xCA\x3F\x9A\xAA\x79\xBC\xAA\xAE\xA2\xCA\xA5\xC5\xC8\xAE\x89\xAB\x71\xCE\xC5\xB5\xCF\xC2\xB4\x81", - "\xC4\x81\xCF\xC8\x82\xC2\x9B\xAB\xC6\xCB\xC5\xC0\x6C\xC4\xAE\xCB\xB7\xCF\xCB\xF7\xB1\x19\xDE\xB9\xC9\x80\xCD\xCA\xA4\xC3\xCD\xDC\xCC\xC0\xE9\xB3\xC6\x55\xCA\xCC\xE2\xCF\x78\xBD\x73\xCC\x74\xCB\xCD\xCF\xCF\xAD\xCD\xC4\xCC\x88\xC9\x9B\xFC\xB0\xC9\xE1\xC8\xCB\xF2\xC5\xCE\xE0\xC6\xC6\xDA\xC3\xCE\x91\x12\xAF\x98\xC0\xCC\xF1\xC4\xCD\x11\x79\xAF\xD2\xC9\xCE\xFC\xC6\xCF\xF9\x9B\xCE\xE7\xC3\xCE\x69\xB9\xC1\x4A\xC2\xC4\xF2\xCA\xBF\x0C\xB8\xCC\xF7\xCD\xD0\xB5\x44\xC2\x01\xDD\xCE\x03\xDC\x94\x03\x1A\xC2\x15\xDC\xD0\xFE\xC1\xC1\x76\xC9\x6B\x78\xC8\xD0\xDD\xC6\xD1\x01\xCF\xB4\x24\xA8\x93\xB4\xC4\xD2\x87\xCC\xD0\x40\xC6\xCE\xD8\xCC\xCA\xC1\xC5\x11\x46\xC7\xD1\xD9\xC1\xC9\xD5\xC7\x91\x2E\xD4\xD3\x30\xDA\xB8\x40\xAF\xD2\xCE\xCA\xD2\xAE\xCC\x10\x5A\xCE\xD3\xEC\xCC\xD1\xB5\x48\xC6\x28\xDB\xD1\xC9\xC2\xD1\x02\xD0\x72\x48\xD1\xB5\x29\xD6\xD4\x4D\xDC\xC1\x02\x97\xD2\x50\xDA\xD4\x11\xDD\xD1\xCB\xCF\xD1\xF5\x76\xD0\x44\xD7\xD0\xE4\xCE\xC7\x10\xD6\xD3\x2B\xDB\xD4\x4F\x83\xD6\xFD\xC3\xD2\x37\xC4\x40\xB0\xC9\x10\x1B\x79\xD3\x0B\xDB\xD4", - "\x0E\xD1\x10\x94\xC3\xB8\x69\x77\xC9\x5F\xD9\xD7\x3A\xD6\x4E\x82\xBE\x10\x84\xBE\xD6\xA0\xCE\xD5\x7B\xDB\xBD\xA7\xC3\x95\x43\x79\x66\x82\xD1\xD7\x11\xD5\x97\xA2\xA7\x97\x98\xB0\xD7\x65\xD9\xD5\xB7\xC1\x19\xBA\xC5\xC9\x85\xAD\xCB\x2A\x34\x49\xB0\xB7\x10\x98\x41\x76\x97\x26\x2D\x52\x71\xA7\xAC\x4B\x4B\x36\x8B\xD9\x06\x12\xBB\x81\x94\xBB\x90\x90\x32\xB7\xBF\x10\xB9\xB6\x4E\xA6\xD5\x10\xA8\xDD\xB8\x98\x93\xD8\x60\xDA\xD5\x9C\xC7\x89\x51\xD2\xD7\x6A\xDE\x84\xB3\xA9\xD8\x91\xD4\xD6\x41\xDD\x89\xC0\xD0\xCF\x04\xD8\x8C\xD1\xCB\xCF\x8A\xD2\xDC\xE8\xCB\xC4\x01\x17\xCD\xB6\xDA\xD7\xCB\xD9\xD6\x53\xD6\xDC\x9A\xCA\x65\xC5\xDD\xDC\x52\xD6\x83\xEF\xCA\xDD\xBC\xD5\xDD\x5B\xDC\x42\x68\xD7\xDC\xE4\xD8\xD1\xB9\x88\xD5\xCC\xD2\xD2\xE0\xD9\xDB\x02\xC0\xD9\xD6\xD5\xD3\xF1\xC9\xCF\xD9\xDA\xDE\x40\xD1\xA8\xF8\xA3\xDF\x4C\xD5\xDF\xF8\xC5\x11\x13\xC1\xDD\xFE\xD3\xDD\x76\xA3\x10\x0A\xD1\xDC\xD4\xDA\xDF\xF3\xCF\x37\xF8\xD8\xDB\x07\xE0\xA1\xE3\xD7\xDD\x06\xE9\xB6\x1A\xDA\xDC\x04\xE5\xDE\xF0\xD0\xA0\x4F\xDA\xC3\x12\xEF\xDE\x3B\xD4\xE1\xBA", - "\xB7\x83\x57\xBD\xA1\xF5\xCE\xE0\xDB\xDC\xD2\x04\x89\xE0\xBD\xDB\xD8\x32\xD6\xE2\xEB\xD9\xDF\xEE\xB2\x11\x4D\xC7\xE2\xE9\xDC\xE2\xBE\xDB\xB3\xE8\xD5\xE0\x23\xE6\xD6\xE5\x6D\xE0\x15\xE2\xE2\x33\xE0\xC6\x56\xD8\xE1\xD2\xD3\xE1\x3C\xE8\x86\x5C\xD0\x83\x2A\xEF\xE0\x93\xD5\xE4\x08\xA8\xB5\x21\xEB\xE3\x4E\xED\xC7\x56\xB1\xC3\x4C\xEB\xDB\x92\xDB\xE2\x0A\xE9\xB6\x6A\xA1\xE4\x1A\xEF\xD3\x24\xE9\x75\x4D\xEB\xE1\x43\xE1\xE3\x35\x2D\xD6\x08\x1F\xD6\x5F\xEC\xE5\xDF\xD6\xE0\x93\xC4\xE6\x9C\xD5\x11\x78\xDF\xDF\x42\xEF\xE4\xD3\xA3\x10\x7D\xD9\x10\x7F\xD5\xE6\x81\xDA\xE3\x60\xE2\xE7\xC6\xC0\x00\x99\xA6\xD9\xAC\xA5\xBF\xF4\xD7\xE3\x55\xEE\xDC\x00\x05\xB9\xBB\xCD\xBB\x00\x03\xCB\x35\xEC\xE1\x68\xE5\xE8\x6B\xD0\x00\x95\xD6\xD7\x7A\xA8\xD9\x5A\xEE\xDD\x90\xE2\xC5\xCC\xB8\xE9\x31\xE7\xE5\x9E\x77\xE4\x84\xE2\xE6\x15\x12\xBD\x97\xE3\xE8\x69\xED\xE2\xF1\x4A\xE7\x8F\xED\xE9\x5F\xCE\x64\xA0\xE7\xEA\xB0\xE9\xE9\xB2\xEC\xEA\xD8\xDA\xEA\x45\xD1\xEB\x31\xD6\x9E\xB6\xE7\xDB\x30\xEC\xD3\x3A\x7F\xEA\xB3\xE1\xDF\xEF\xB7\xE6\xB7\xE1\xEC\xD7\xA4", - "\xCF\x54\xE4\xEB\x48\xEB\xE2\xF2\xDB\xEB\xA5\xE2\xE3\x44\xE2\x11\x00\xD9\xE1\x9C\xE6\xE3\xB8\xEE\xEB\x00\x0D\xDF\x00\xE1\xE6\xD6\xE1\xED\x4E\x10\xEC\xCA\xED\xE5\x0C\x1A\xA0\xD4\xE6\xEA\xC6\xEB\xBE\x91\x14\xD1\xE5\xE0\xED\xE1\xE8\xE3\x15\xBE\xDE\xD5\xEE\xE8\x84\xDA\xE4\x30\x90\xEE\xDD\xE2\xEA\x51\xE1\xC6\x53\xED\xE8\xDC\xE2\xEF\x60\xDD\xD2\xC4\xEC\xEB\x56\xE9\xE4\x8B\x56\xEF\xFE\xEF\xEC\x3A\xA0\xEF\xE6\xED\xEE\x28\xE4\xE3\xEB\xEE\xE9\x03\xFC\xEC\x39\xEA\xF0\xEC\xE7\xEF\xC2\xE9\xEF\x3F\xE2\xC6\xC9\xE6\xF1\x07\xF2\xC9\xF4\xEF\x93\x21\xD5\xF1\x1D\xFB\xED\x97\xA8\xC3\x19\xFB\xEF\x0F\xFD\xEB\x23\xF4\xD5\x1F\xFC\xA1\x21\xF0\xF1\xCB\xE1\xF3\xA8\xE3\x10\x59\xE0\xE7\x5B\xE5\xEC\xF8\xE2\xDA\xFC\xEC\xE7\x02\xFA\xE6\x15\x1A\xC8\x94\xE5\xA8\x8D\xC9\xF2\x11\xF2\xF3\xEE\xE2\xA8\x6C\xE6\x10\x5D\x9E\xEC\x36\xF1\xEF\xE6\xD1\xB8\x49\xF9\x28\x79\xE4\xF1\x30\xF1\xEA\xD8\xEF\xE7\x41\xF1\xE8\x06\xFD\xEF\xE8\xE5\x11\x88\xE0\xE8\x8A\xEC\xE8\x44\xF6\xF4\xE7\xEC\xF3\xB9\x93\xE9\x7E\xD9\x76\x96\xED\xF4\x0B\xFC\xF1\xE7\x8B\xE9\x6D\xFB\xF2", - "\x37\xF0\x6C\x70\xF2\xF2\x5C\xF6\xF6\x07\xCF\xAB\x4C\xF4\xF2\x7B\xE7\xAF\x02\x19\xDC\xCF\xE5\xF5\xD7\xE0\xA0\xD0\xDC\xF7\xAB\xEE\xF6\x78\xF6\xF8\x38\xF7\xF1\xD4\xA4\xF5\x2A\xF7\xF7\x7E\xF5\x7B\x5B\xF9\xF8\x2C\xF2\xDE\x8E\xF5\xF4\x56\xF1\xE0\xE7\xD3\xF6\x99\xF0\xF9\x4F\xC8\xEC\x3B\xFD\xF7\x87\xF7\xEC\x15\x1A\xCF\x81\xFF\xF8\x94\xFB\xE4\x00\x03\xED\xA7\xF8\xF9\x83\xFF\xF4\xD9\xE3\xF9\xA2\xF3\xEF\xD9\x72\xFB\xA3\xFD\xF5\x57\x56\xFB\x8B\xFA\xF9\xE7\x7B\xF7\x71\xE3\xFB\xC0\x61\xE1\xAD\xF4\xF6\x0C\xF9\x95\x17\xEA\xF1\xA1\xF7\xFB\xA9\xF1\xDE\x3E\xE8\xB4\x49\xDC\xF9\xAF\xFB\xFC\xFB\xD4\x58\xBE\xF3\xF7\xC3\xF1\xE9\x33\xDA\xF8\x3D\xFD\xF9\x09\xB9\xF0\x01\xF7\xFD\xD1\xF1\xF9\x53\xCC\xF6\x76\xF2\xFD\x61\xD6\xA4\xD5\xFE\xF4\xE6\xF9\xB6\xC7\xF8\xF2\xE0\xF5\xF6\xC0\xF9\x9B\xED\xF0\xE2\x1B\xF2\xF7\xEA\xF0\xE5\xCD\xF7\xC7\xBA\xFB\xFD\x47\xF6\xD2\xCE\xF7\xD5\xD0\x78\xFE\x4A\x7F\xF8\x79\x6B\x35\x7A\xF6\x6F\x7F\xC5\x78\xDB\x44\x65\x03\x84\xFE\x02\x7C\x16\x60\x00\x40\x79\xED\x71\x5B\xFD\x78\x00\xD8\x75\x5D\x72\x80\x7A\x5C\x02\x8D", - "\x81\x56\x7F\x5F\x51\x7B\x3F\x06\x5C\xDF\x7B\x03\xAE\x7C\x6F\x7B\xB8\x06\x6E\x15\x48\x6C\xE9\x79\xEE\x5E\x7D\x3E\x7F\xF5\x59\x79\xD8\x7A\x80\x0C\x81\x06\x89\x3A\x0F\x82\x29\x6B\x79\x42\x0D\x6D\x0E\x0F\xB5\x7A\x31\xD9\x6E\x11\x31\x6E\x46\x18\x81\xD3\x15\x96\x2A\x00\xCF\x47\xD8\x03\x09\x14\x10\x81\xBF\x7B\xCE\x42\x09\xBA\x7E\x00\x89\x80\xE9\x7A\x6D\xC9\x7B\xF7\x6B\x81\x7F\x73\xEA\x48\x82\xF5\x7E\x78\x12\x08\xF0\x62\x80\xE2\x78\xF8\x1D\x71\xE1\x69\x82\x52\x83\xFD\x68\x7C\x02\x82\x03\xC3\x6F\x12\x96\x82\xF7\x7F\xF3\x43\x77\xFA\x73\x05\x95\x80\xEF\x60\x00\x82\x75\xFC\x64\x82\x30\x80\xB8\x49\x44\x1A\x8A\x81\xDD\x7B\x0D\x91\x82\xFE\x72\x00\xB4\x7C\x43\x06\x7D\x5B\x84\xFB\x73\x82\xD5\x7C\xFA\x01\x85\xF8\x63\x80\x4A\x83\x1B\x77\x82\x39\x8A\x06\xB5\x7D\x0A\x8C\x84\x61\x82\xFC\x64\x76\x37\x8D\x06\xD8\x80\xC4\x57\x7C\x5C\x86\xFE\x7F\x48\xE1\x76\x08\xFD\x80\x1F\x86\x7E\x70\x61\x04\xA5\x83\x34\x8E\x07\xFE\x7E\xFE\x6F\x84\x4D\x85\x0B\xA6\x27\x94\x51\x00\xCE\x81\x25\x97\x69\x05\x78\x15\xA3\x82\x44\x8D\xE7\x2F\x73\x08\x8E\x85", - "\xE6\x7C\x23\x72\x85\x5B\x8A\x0A\xC4\x5F\x50\x7D\x84\xB8\x83\x10\xAF\x62\x29\x54\xFF\x7B\x80\x25\x82\x83\x2E\x41\x14\xAC\x82\x64\x89\x09\xB0\x7F\xFC\x6F\x79\xB3\x81\x12\xB4\x84\x8D\x54\x0C\xD0\x84\x2F\x9A\x84\x90\x85\x0E\x86\x80\x3A\x87\x0C\xC2\x84\x7B\x6B\x5D\xBB\x85\x19\xB9\x85\x9F\x74\x03\xBB\x13\x22\x89\x85\x6F\x87\x02\xB6\x73\xBB\x67\x0E\xD1\x85\x1D\x95\x73\x08\x0F\xCE\x6D\x72\x89\x01\xCA\x2D\x85\x2F\x9F\x84\x8C\x7D\x04\xB6\x4B\xCF\x49\x51\x61\x86\x20\x93\x86\xB9\x4D\x05\x98\x80\x56\x52\xF6\x5D\x84\x40\x80\x86\xC8\x40\xED\x6B\x87\x4A\x7D\x0E\xD7\x87\xDB\x6D\x88\xE2\x85\xC3\x4C\x82\x77\x86\x10\xA5\x86\xDE\x78\x84\xFF\x82\x1A\xBD\x72\x2D\x83\x0A\xF8\x82\x37\x87\x7F\x0C\x0F\x0B\x97\x83\x8E\x89\x0D\x95\x88\x3E\x98\x86\x69\x5B\x22\x8E\x88\x66\x82\xEE\x7B\x5C\x44\x99\x88\x75\x81\x0E\xA8\x87\x57\x8C\x0D\xB9\x35\x77\x7E\x88\x07\x8C\x24\xA9\x5B\x9B\x85\x12\x88\x88\x36\x8D\x76\x18\x8F\x10\x9A\x89\x3A\x85\x08\xBA\x88\x45\x9E\x89\xE7\x42\xDB\x75\x88\xA3\x8B\x12\x9D\x73\x80\x63\x89\x4B\x89\x2A\xA6\x83\x80\x03\x09\xC8", - "\x88\x4B\x9D\x71\x03\x0A\xDD\x66\x89\xAD\x89\xF7\x01\x08\x27\x8C\x8A\x11\x89\x27\xB3\x3E\x65\x86\x0C\xD6\x8B\x47\x8C\x7F\x64\x8E\x1E\xA8\x89\xA3\x85\xD2\x02\x08\x2B\x9C\x8A\x60\x8D\x25\x82\x09\xEC\x72\x15\xA4\x87\x49\x98\x7D\x0C\x0E\x16\xA1\x8B\xA1\x88\xF0\x0E\x7A\x5A\x94\x89\x50\x8E\xA3\x68\x7F\xA0\x8E\x09\xF0\x8B\x58\x95\x86\x2F\x8A\x28\xB5\x83\x67\x89\x18\x85\x8D\x57\x9E\x70\x52\x75\x18\xBF\x8B\xAB\x8E\x18\xED\x8A\xBC\x28\x8C\xFE\x82\x31\x86\x8C\xD5\x7B\x0D\x81\x8E\x5D\x9B\x8C\xF6\x6D\x74\x59\x8D\xCA\x85\x17\xBF\x49\x04\x8B\x88\x42\x7D\x31\x81\x87\x44\x8A\x95\x26\x83\x65\x57\x2F\xA3\x8B\x35\xBC\x8B\x5C\x30\x0F\x87\x0A\x3C\x8A\x7A\x53\x7A\x14\xA5\x8D\x9E\x80\x0B\xEC\x4A\x6B\x93\x5D\x28\x84\x30\xB2\x8D\xBB\x85\xF2\x01\x0A\x40\x88\x8D\x04\x8A\x35\xB7\x86\x53\x6F\x97\x3F\x8D\x6A\x6D\x3A\x83\x4F\xDB\x29\x64\x2F\x73\xDA\x5B\x3B\xDF\x3C\x81\x1A\x0E\x07\x99\x4D\x56\x21\xE9\x3E\x80\x76\x93\x8E\xA0\x4B\x19\xA7\x8A\xB6\x8E\xC1\x3F\x6D\x6C\x8B\x8E\xE4\x7A\x98\x7A\x8C\xCF\x88\x13\xB3\x8D\xF4\x4A\x8E\x6B\x8E\x9B\x7F\x7A", - "\xF8\x80\x18\xCC\x7E\xAB\x67\x8F\xF1\x8B\x2F\x84\x8F\xF1\x8D\x14\xAC\x8E\x4A\x9A\x8F\xA0\x8D\x3D\x80\x36\x9E\x83\x13\x94\x8F\x70\x8A\x67\xF8\x8D\x3E\x82\x90\xA3\x5A\xEB\x42\x8C\x7A\x91\x8B\x58\x8B\xF3\x41\x90\xDE\x8B\x1B\xE9\x58\x20\x90\x90\xA4\x8C\x3D\xA0\x89\xFB\x69\x20\x86\x93\x83\x85\x8F\x6E\x1D\x43\xBC\x8E\x00\x99\x6B\x4F\x8B\x67\x86\x8B\x62\x8B\x2A\xA8\x46\xFA\x8E\x21\x80\x52\x56\x88\x91\xEE\x8B\x37\xB4\x46\x16\x93\x22\xB3\x7A\xC9\x7F\x7F\x40\x70\x46\xBB\x8F\x14\x91\x1A\x97\x8F\x87\x76\x86\x24\x90\x43\x87\x91\x15\x54\x23\xBC\x93\xF4\x6C\x1D\x45\x91\x46\x9A\x90\xEF\x72\x1E\xC6\x90\x85\x8B\x92\x7E\x8B\x42\x85\x91\x8F\x86\x1D\x49\x93\x8E\x96\x88\x3E\x91\x32\x80\x92\x98\x82\x25\x84\x79\xFE\x60\x69\x56\x95\x4B\x89\x86\xCC\x8E\x20\xF9\x8C\x97\x8F\x8C\x8C\x8A\x44\x8E\x93\x29\x9C\x1A\x9D\x8F\x89\x82\x92\x1F\x92\x30\xBA\x79\xC9\x85\x23\x9A\x8E\x25\x83\x08\xA7\x89\x1E\x8C\x65\x30\x9A\x23\x8C\x90\xD2\x6E\x8E\xB4\x68\x36\xA5\x92\x05\x9F\x24\xF6\x8D\x07\x80\x94\x9F\x5C\x1E\xBC\x92\x38\x9F\x06\xD8\x7B\x40\x8A\x74\x32", - "\x8C\x3C\x9A\x90\x36\x94\xBC\x47\x8E\x9E\x9A\x53\x05\x8D\x4F\x9A\x94\x46\x97\x8E\x0A\x8B\xA5\x97\x6C\x52\x0A\x3B\x8E\x08\x20\x81\x71\x59\x03\xA2\x95\x90\x9F\x72\x4D\x8A\x93\x37\x91\x71\x7F\x8F\x99\x9C\x94\xE3\x85\x61\x27\x95\x49\x9C\x01\x81\x08\x47\x88\x95\xFD\x8B\x55\x9F\x87\x54\x43\x2B\xAC\x94\xAD\x99\x95\x57\x91\x58\xB9\x4C\x57\x96\x27\xB0\x94\x95\x9A\x83\x74\x93\x4D\x92\x94\x43\x9F\xEB\x2A\x96\xB0\x9B\x94\xE5\x55\x57\x8B\x91\x3B\x92\x21\xD0\x97\xAF\x81\x92\x11\x3F\x42\xB8\x94\x6C\x97\x2D\x91\x75\x51\x9B\x96\xAF\x90\x5C\x91\x90\x45\x8E\x2C\xE2\x92\xCF\x6E\x84\x83\x95\x45\x84\x95\xB4\x55\x15\xC6\x96\xB2\x92\x78\x0C\x71\x5D\xB5\x93\x0C\x99\xC2\x52\x95\xA1\x87\x92\xA6\x80\x4C\xA5\x96\x6B\x9E\x2B\xC3\x87\x8F\x96\x97\x94\x95\x0E\xAF\x8A\x7E\x93\x2D\xEE\x94\xF1\x54\x8B\xDD\x95\x58\xA2\x96\x12\x8C\xC4\x00\x9B\xB2\x9B\x95\xD2\x8C\x60\xB7\x97\x89\x99\xB6\x3F\x86\xC1\x8F\x96\x17\x9A\xFE\x69\x8A\x73\x91\x2E\xD0\x90\xC6\x78\x91\xC8\x79\x59\xBA\x94\x8A\x9E\x25\xF9\x95\x57\x7B\x97\x19\x99\x3D\xAD\x79\xAF\x5C\x31\x8A\x99", - "\xC2\x8F\x80\x6E\x95\x60\x8B\x99\x21\x9D\x1B\xE0\x86\xBC\x8F\x97\xDC\x95\x47\x90\x81\x72\x85\x95\x28\x9B\xCC\x91\x93\x11\x42\x1D\x9F\x94\x56\x5F\xE6\x29\x9A\xD1\x92\x91\x9D\x60\x51\x9F\x64\x45\x9E\x33\xAF\x98\xCD\x91\x38\x8E\x90\x39\x90\x94\x87\x90\x2C\xFE\x90\x86\x3C\x99\x83\x44\x6A\xB9\x98\x7C\x9B\x88\x58\x9B\x40\x16\x81\x11\x3E\x00\x2C\x5D\xAC\x42\x36\xC4\x85\x08\x1A\x9A\x1D\x99\x02\x75\x7B\xC8\x07\x36\xCD\x99\xBF\x92\x99\xAA\x7B\x6D\x95\x09\xB6\x97\x33\xA3\x99\xC0\x96\x9A\x17\x89\x32\xB4\x9B\xF5\x8F\x36\xA4\x98\xBC\x89\x75\x1F\x73\x6F\x8D\x92\xBB\x9F\x30\x8B\x71\x48\x8F\x1B\x91\x0D\x6C\x81\x9C\xB4\x9E\x32\xCC\x94\x00\x02\x9C\x65\x8F\x68\x8E\x9A\x64\x42\x37\x92\x08\xE4\x82\x99\x18\x9F\x67\x8F\x83\xF6\x6A\x37\x8C\x9C\xBD\x90\x98\x70\x83\xDE\x17\x9D\x96\x9F\x39\x93\x98\xE8\x60\x99\x01\x0B\x74\x92\x99\xBB\x9A\x32\x8D\x91\xE7\x8E\x9B\x70\x9D\x6F\x96\x90\xD1\x9E\x39\xCF\x9A\x8A\x9F\x96\xAA\x7A\x75\x92\x9C\xD9\x95\x38\xE9\x5A\x52\x99\x9D\xB5\x98\x68\xA0\x9C\x13\x9F\x93\x3A\x9E\xE6\x8B\x97\x85\x9F\x83\x66\x9B\xE0", - "\x9F\x13\x95\x0B\x8B\x80\x39\xC6\x9B\x72\xA6\x93\xFE\x72\x10\x5F\x89\xC4\x31\x9E\xBC\x9D\x6A\x92\x99\xAA\x68\x3A\x92\x8D\x6E\x58\x9E\xB1\x99\x7C\xBE\x9A\x43\x79\x26\x8B\x9C\xEC\x83\x9F\x69\x9F\x27\x43\x98\xE8\x9C\x3C\xC8\x9D\x11\x74\x9D\xE7\x9C\x75\xBB\x9D\x9F\x47\xBB\x6C\x99\xFB\x8A\x97\x61\x4D\x2C\x76\x9F\xF8\x9D\x3B\xA5\x9A\x40\x16\x98\x11\x39\x05\x08\x9C\x76\x1F\xE1\x66\x03\xBC\x25\x03\xF3\x32\x07\x9C\x51\xC6\x4F\xE1\x4A\x03\xBC\x37\x00\xF3\x35\x08\x03\xA0\x89\x0B\x02\x13\xA0\x43\x1A\x02\xF3\x34\x0D\x16\xA1\x81\x03\x02\x73\x36\x17\x10\x9F\x75\x99\x73\x92\x9E\x67\x8B\x31\xB9\x34\xF8\x88\x9F\x8D\x9A\x7C\xA8\x8A\x32\x9F\x3A\xA1\xA0\xE9\x96\x9D\xFE\x92\x4B\xA0\xA0\xBE\x9A\x42\xFD\x9E\x7C\x99\x92\xFA\x76\x7B\x94\x97\x80\x04\x05\x59\x35\x64\x1D\xA1\x16\x5F\x87\xBE\xA1\x8A\x00\x44\x94\x7A\x10\xA7\x2B\x91\x0F\x09\x1B\xA0\x81\x0A\x44\xCB\x9C\xFF\x9A\x9E\xF3\x9C\x43\x71\x99\x0D\x92\x10\x0F\x03\x12\xA1\x08\xDE\x16\x72\x4E\x6D\x80\x00\x02\x33\xA3\xE0\x82\xA1\xD9\x9B\x6B\x83\x64\x2F\xA1\x39\xC7\x9C\xFE\x82\x7F\x79\x96", - "\x36\xBB\x92\xA5\x90\x1E\x87\x24\x19\xB8\x9C\x2F\xA2\x78\x94\xA2\xBA\x6E\x35\x82\x09\xD1\x97\x9E\xF7\x9B\x5E\x99\x4B\xDA\x86\x10\x37\x8E\xD4\x6C\x9A\xE6\x9E\x85\xAB\x9D\xE4\x98\x42\x75\xA1\xB3\x81\xA4\x34\xA0\x85\xA5\x9D\xB9\x67\xE8\x06\xA7\xA2\x6F\xA3\x71\xA3\x7A\xA5\x9C\xCA\x6E\x48\xE0\x98\xF0\x8F\xA2\x62\xA4\x91\x95\x9C\x86\x07\x42\xF2\x9E\x19\xB8\x7F\xDF\x61\x87\x9D\xA4\x1B\xA9\x49\xFE\x9E\xE0\x30\xA4\x83\xA0\x8A\x88\x9B\x2C\x88\x4A\xD1\xA2\x27\xBE\x98\x87\x98\x89\x95\x08\xC5\x9D\x42\x89\xA7\x2B\xA1\xA3\x72\x89\x75\xB9\xA2\x27\x9A\x1E\xA2\xA7\x2E\xA4\x9C\x72\x24\x27\xBB\x9E\x41\xAE\x4A\x84\xA6\xE5\x75\xA5\x5F\xA1\x92\xAE\x9E\xEE\x6D\x4A\x9F\xA4\xCE\x89\x9F\x1C\x52\x98\xB3\x9B\x5F\xA0\x46\xA0\x9E\xB6\x97\xA4\xC4\xA6\x99\x80\xA6\x1B\x48\x3B\x91\x43\x28\xAA\xA5\x23\xA7\x8C\xA6\x27\xDF\x9E\x4D\xD4\xA7\x84\x96\x1B\xCD\xA1\x9C\xBA\xA2\x39\xAA\x3C\x88\xA5\x32\xA9\xA5\x62\xA1\xDD\x69\xA6\x5C\xA9\x42\xA6\x9E\x59\x2E\xA7\x65\xA2\x9D\x8F\xA7\x71\x90\x19\xB9\xA1\xC8\x63\xA6\xB6\xA4\x94\x90\xA7\x15\xAF\x2F\xCE\xA1\x36", - "\xBA\xA7\xDB\xA1\xD2\x6B\x9E\x3C\xA8\x49\x83\xAA\x29\xA0\x00\x08\x9D\x9C\x8D\xA9\x7A\xA7\x4B\xF4\x9F\x3C\xB5\xA1\xE0\xA4\x9E\x8F\x80\xFD\x93\x4D\x93\xAB\x22\xAF\xA8\x00\xA2\xF5\x42\xA0\x59\xAB\x2B\x44\x86\x01\xA4\x86\x08\xA4\x18\x8A\xA1\xC8\x0C\x40\x91\x8E\x03\xA4\x86\x10\xA4\x18\x92\xA0\x92\xAC\x10\x15\xA0\x4D\xA3\x08\x18\xA4\x18\x9A\xA1\x9B\xA2\x10\x1D\xA0\x31\x9F\xA0\x06\xA9\xA0\x99\xA8\x8C\xA4\x3E\xA5\xA0\xFB\x9E\xA8\x30\xA2\x7C\x9C\x9F\x53\x88\x4F\xF0\xA0\x3C\xAE\xA8\x63\x95\xA0\x8D\xAA\x65\xA2\x4E\xD8\x91\x3F\xA7\x79\x3A\xA5\x66\x82\x09\x22\xA9\x48\xC7\xA2\x11\xA4\xA2\x43\xA2\x22\x1C\xAB\x77\xA0\x72\x63\xAA\x28\x69\xA2\x57\xA0\x00\x0D\xA3\xA9\xAF\x54\x94\xAA\x31\xB5\x2E\x69\xAE\x8A\xBC\xA8\x2C\xAE\x48\xDD\xA1\x50\xA4\xAB\xDA\xA5\x9A\xB6\xA6\xEA\x88\x55\xDF\xA5\x29\xA3\xAA\x7B\xAF\x4E\x4E\xA5\xA1\x7E\x02\xDB\xA1\x25\x37\xA8\x8A\xA1\xA9\x89\xAC\x64\x42\x34\xEA\xA2\x25\x68\xAC\x15\xAB\xB1\x8D\x9E\x0E\x2E\x48\xF5\x87\xF7\x86\xA7\xDB\x9D\x90\xAC\xA3\x58\x67\x4C\xBE\xA4\x52\xB2\xA3\x0A\x74\xB1\x5A\xA2\x7E\x8F", - "\xD8\x48\xA5\x3E\xBA\xA8\x8A\xA9\xB4\x8D\x8F\x7D\x85\x04\x82\x0A\x25\xA6\x08\xA4\x92\x45\xB4\xA5\xB9\x51\x19\x36\xA9\x6E\x02\x95\x37\x84\x31\x38\xAC\x84\x01\x5B\x91\x42\x6D\xA2\xAA\x7F\xA9\x9E\xA6\x8F\x83\xA8\x5A\xEC\xA7\x70\xA0\xAE\x50\xA9\xB8\x91\x74\x52\x7D\x56\x9F\xAB\xDF\x84\x45\x9F\xAA\x92\xB9\x79\xFB\x84\x5C\xC4\xA9\x72\xB7\xAE\x6E\xA8\xB0\xBD\xA5\xD3\xA6\x5D\xD9\xAE\xA1\x64\x90\x02\xAE\xBB\xB9\xA5\xD0\x91\x5D\xCB\xA7\x78\xA0\xAF\x80\xA9\xB2\xAA\xAC\xD7\x98\x57\x88\xAA\x5E\xAC\xA4\xD7\xA5\xB8\x92\xAE\xE3\xA2\xED\x18\xAD\x31\xB2\x23\xE4\xA5\xBB\x8E\xAE\xE1\xA8\x2E\xC8\xAE\x78\xBF\xAF\x0F\x85\x5D\xB9\xAA\xAA\xA2\xFE\x4F\x9F\x80\xAD\xAE\xB9\x70\xD6\x36\xAF\x03\xBE\xD4\x46\xA8\x83\xAF\xB0\xB0\xA6\x64\x86\x73\xF2\xA5\x55\xD4\x80\xF5\x75\xAE\x92\xAE\xBC\x92\x63\x88\xAA\x5F\xA9\xAD\x78\xAF\x80\x7A\x88\xBB\xBB\xAF\xF1\xA5\x96\x6A\xAF\x87\xB3\xAE\xFF\x9B\xC1\xAE\xAE\x8D\x9C\x42\xED\xAE\x7C\xBA\xB0\x0C\x98\x87\x98\xAB\x2D\x90\x60\x9E\xB3\x73\xB7\x91\x4C\xAE\xBF\xA3\xB1\x1A\xBE\x92\x0E\xB3\x8A\xA8\xB0\xF4\xA8\xAE", - "\x94\xB1\x75\xA3\x59\xF3\x90\x81\xBB\xA7\x0D\x7A\xB0\x9B\xAC\xC0\x6D\x33\x98\xB2\x89\xBA\xAE\x11\x23\xC9\xB8\x72\x41\x9A\x63\xB6\xB2\x72\xB2\x62\x7C\xA5\x20\x3E\xA3\x0F\x89\x1B\xAE\xB1\x87\xA0\xAD\xB5\x96\xCF\x4E\xA5\x48\x99\x5E\xA7\xB1\x3E\x82\x08\x96\x96\xB1\x85\x55\x4C\x97\x5F\xD7\xB3\x24\xAB\xAD\x8D\x6C\xB4\x8F\x44\x29\xB3\x0F\xA0\x57\xBC\x3D\x02\x69\xAB\x08\x33\x36\x3D\xB4\x0C\xFC\xB3\x87\x7E\xB3\x91\x88\xD0\xB9\xA0\x41\xB8\x55\x84\xB5\xF7\x86\xB4\xB9\x48\xD1\xB9\x34\x45\xB0\x72\x31\x03\xBC\x28\x01\xF3\x36\xB2\xB9\x35\x24\x0E\x48\x8B\x06\x8A\xBD\x9B\xDB\xAE\xA9\xAD\xB2\x68\xA9\x69\xC7\xB1\x42\xB4\x9E\xA7\xA3\xC8\x88\xB2\x14\xB6\x2B\x97\xB7\x97\xA4\x7C\xA6\xB1\xC3\x95\xB0\x4F\xB6\x61\x8D\x7D\x95\xA0\xB3\x65\xB1\x98\xA9\xB5\xC8\xAC\x7A\x33\xB7\x5B\xAE\x89\xA2\xB7\xD3\x89\xB2\x5C\xBE\x64\xE6\xB1\x91\xA8\x60\xB9\xB7\xBD\x8F\xA9\x6E\xA7\x6A\xB0\xB2\x95\xB1\x74\xF9\xAA\xD5\x84\xB2\x42\x98\x4E\xC1\xB4\xAB\xB8\x9B\x54\x8E\xD6\xB7\xB1\xDE\x7D\x6B\xB1\xB7\xB9\x8A\xB0\xCE\xB0\xC8\xAF\x83\xF2\x9F\x6A\xF3\xAE\xB7\xBA", - "\x50\x3E\xB7\xC5\xAB\xB5\xD6\x9C\x10\x0B\xAB\x8F\xBB\xB4\xA0\xB0\xA2\x92\xB6\x37\xB9\x95\x21\xB0\x8F\xBF\xB6\x79\x86\xE1\x4F\xB6\x6D\xB0\xFB\x21\xAA\xB8\xAB\xB6\xB1\x97\x4B\xA7\x99\x6A\xBC\x6E\xC1\xB2\x84\xAA\x7D\x34\xB3\xC7\x82\xB8\x52\xB7\x55\xDD\x9D\xC0\xA7\xB6\xEF\xB0\x2F\xBF\xB7\x7A\x79\x6D\xE8\xB7\xAE\xA5\x5B\x0D\xB8\xC2\x98\xB5\x37\x2D\x6D\xC6\xB4\xAC\xB6\x41\x69\xA5\x8F\xAB\xA2\x7E\xB2\x62\x8A\xAF\x9A\x74\xB3\xB8\x8C\xCA\x9E\xB2\x65\xB3\x6A\xD8\x75\x96\xBF\x07\x5B\xB0\x04\xA3\xB9\x27\xBD\x6F\x80\x51\xD4\x83\x9A\x53\x99\xE2\xA7\xB7\xCA\x76\x67\xA0\xBB\x1F\xB9\x9A\x32\xBF\xDE\xBC\xA4\x38\xB3\x5A\xAD\xAF\x9C\xBF\x70\xB3\xAF\xAC\xB3\xA5\xB4\xAF\x5B\xD5\x8E\xED\x4C\x0C\x94\x24\x92\x2D\xA3\xF9\x81\xBA\x3B\x5B\xD2\xA5\xB5\xC4\x81\xA7\x9F\x70\x9F\xAC\x5A\xA7\x82\x17\x4B\xB7\xE3\xAC\x58\x83\xB9\x8B\xB6\x23\xC7\x64\xC7\xA9\xB8\xF9\xB4\xB8\x79\xB9\x62\xB1\x6F\x80\x9D\xC5\xA3\xB7\x51\xA6\x9A\x58\xBA\xB0\xB8\x6F\xED\xB9\x23\x8E\xB5\x2B\xBE\xD7\x96\xB8\x00\x58\x5E\xAD\xBB\xDC\xAA\xB8\x10\x33\xED\xAF\xB2\xF6\xAC\x5D", - "\xA4\xBA\xAE\xA9\xB0\xBC\xB7\xEC\xAE\xBB\xBF\xBB\x9E\x7A\xBA\xC7\xB5\x46\x5F\xBB\xEB\xB0\xB7\x0E\x79\x6C\xAC\xB9\xC7\xA7\xB3\x01\x0C\x78\xBE\xBA\x61\xB0\x65\xB9\x7F\xD8\xB3\xBC\xD0\xB0\x00\x06\xB1\x99\xBC\x79\x8E\x9E\xF5\x9D\xBC\x64\xBF\x58\x9F\x99\x1C\xB1\x77\xD6\xB7\xE3\xB6\x70\xE1\xB1\xF4\xA5\xB9\x5F\xBE\x16\x86\xBE\xBF\xB3\x8B\xAE\xBB\xF1\xA6\x26\x77\xBA\x78\xF7\xB9\xD9\xAE\xBA\xF4\xB0\xED\xB4\xB8\x10\x41\x7B\xCC\xB7\xCA\x89\x63\xF3\xB6\xE1\x80\xBC\x1C\xBA\x2F\x89\xBC\xC2\xBB\xBB\xFA\xB3\xC2\x86\xBE\xAE\xB5\x4F\xCB\xA9\xF1\xA2\xBC\xAB\xBE\xF6\xA2\x7F\x29\xAE\x78\xEC\xBB\xCE\xBC\xAB\x9A\xB2\xE2\xAA\xBD\x3E\x79\x71\xDA\xB3\xC6\xB0\xBE\x84\xBA\xF6\x84\x5F\xC6\xAA\x71\x8F\xAF\xE5\xB5\xBE\x31\xB2\x2C\x55\xAD\xDE\xB1\x76\x8C\x33\x98\xAC\xBF\xA2\xBD\xE6\x95\xBB\xD7\x88\x73\xCB\xBE\xF8\xB4\xBC\x36\x46\x53\xAA\xB2\x5E\x63\x6F\x41\xBB\x12\x32\xBB\xBA\xBA\x4E\xA1\xA5\xBE\xB8\x7E\x87\xBC\x14\x99\xBE\xA0\xB8\xF3\x8F\x8C\xE6\xA2\x7C\xCC\xBF\xC3\xB0\xBA\xF6\xBA\xFA\x97\xBF\x58\xA1\x81\x81\xC2\xCE\xA1\xBF\x12\xC6\xAA\x9A", - "\xBB\xE3\xBC\x81\x90\xBE\x1D\x87\xBF\x00\xC2\xFC\x64\xB2\xBB\xB6\x81\xDC\x9A\xE4\x60\xC1\xA6\xBC\x9F\xB5\xBB\xD3\xB9\x81\xAD\xB4\xB0\xB5\xC0\x83\xBA\xAF\x91\x0C\x62\xBA\x80\x8D\xC0\xEB\xA4\x97\x30\xC1\xFA\xAD\xBF\xC8\xB0\x7F\x93\xC3\xA8\x28\xC1\x24\xC5\xC3\x5B\xBD\x0B\xC8\x7F\xE3\xAF\xE7\xA4\xC2\xC1\xBB\xF7\x84\xBF\x7D\xB0\x7E\xC5\xC2\xF5\xA4\x5E\xDC\xB5\xF4\x81\xC2\x1D\xCD\xE1\x66\xB4\x12\xD9\xBD\xA0\xA0\xF6\x80\xC2\x16\xC7\x7B\x8D\x9B\x16\xCF\xC2\x75\x85\xC4\xA1\xC0\x2A\xCF\x76\xBC\xBF\x17\xD5\xBD\xC5\x8D\xE0\xA4\xBC\x02\xC3\x86\x98\xC1\x58\x51\xC2\x6C\xC1\x05\xE8\xC3\x0E\x70\x87\x88\xC3\x15\xD6\xC1\xE0\xB5\xC5\xB1\xC3\x29\xCE\x86\xD3\xBD\x0F\xDD\xC3\xE6\x23\x01\x9A\xBF\x1A\xCB\x4A\xCA\xB3\xFC\xA0\x8E\x03\x0C\xB0\x98\xC2\x32\xC6\x55\xE4\xBE\xF7\xA6\xBF\x39\xC0\x10\xE3\x99\x34\x4B\x7E\xE7\xC1\x07\xCD\x94\xEF\xBE\x12\xCE\xC1\xE1\xB6\x1C\x8E\xA4\x9B\xA3\xC4\x05\xC7\xF5\x81\x08\xFD\xB5\x7E\xA0\x94\x31\x86\x95\xA7\xC5\xFF\xA3\x9A\x64\x49\x45\xD8\xAA\x5C\xBF\x70\xAD\xC0\xEC\x46\xAC\xBB\xAB\xDA\x79\x19\x6F\xBF\x49", - "\xFE\xBD\xB0\xB2\xB3\xC7\x95\x57\xFF\xC2\x0B\xC7\x83\x9A\xC7\xFE\x83\x96\x5F\xCD\x17\xB2\x95\x30\xCD\xC1\x99\xBF\x56\x89\xC1\x50\xCB\x39\xD4\xAD\x13\xC9\xC2\xCB\xC5\x0D\xCE\xC3\xF4\xBB\x81\x9B\xC6\x35\xCD\xC6\xD5\x90\x0F\xE5\xC0\xC3\x9D\x0F\x91\xC7\x34\xC6\xC0\x9C\x9A\x0A\xDC\xC3\x18\xCE\xCE\x44\xC4\xB9\xAF\xC1\xCF\xC3\x11\xD3\xC4\xC4\xB9\x8E\xDA\xC4\x39\xD9\x35\x8D\xBA\x1A\xD0\xC6\x9D\x92\x79\xCC\xC4\x32\xDB\xA1\x2B\x97\x18\xDB\xC6\x79\xAA\x8F\xEF\xC4\xC8\x27\xC2\xDB\xBF\x1B\xE2\xC4\x35\xCF\x7C\xE2\xC4\x18\xC7\xA7\xBF\xBF\xF9\x73\xC7\x80\xCC\x1C\x97\xB1\x3B\xC0\xC5\xB7\xB2\x0B\xDE\xC7\x85\xC1\x58\x83\x08\xED\xB7\xC4\xF7\xC2\xAB\x91\x98\x77\xCC\x88\xBF\xC5\x16\x66\xC7\x24\x8E\xF9\x8C\xC2\x83\xC3\x87\x9D\xC8\x8B\xB2\xAA\x0F\xC9\x1A\xD5\xBD\xE4\xB0\x70\xA0\xC9\x21\xCB\xB8\x20\x7E\x25\xC9\xC0\x0E\x12\x93\xF7\xC1\xC4\x22\xC4\x2A\xCC\x0F\xDE\xC9\x9D\x96\x73\xDC\xB1\x93\xA9\xC9\x36\xCB\x26\xD1\xB3\x43\xCF\x1C\xA5\x39\x4D\xCA\xAA\x49\x9C\x28\xC1\x94\x2C\x17\x94\x95\xCA\xFB\xBD\xC9\x8E\x5D\x29\xEB\xAE\xF9\xB1\x67\xBE", - "\xBB\x23\xBD\xC7\x26\xC8\x1F\xE4\xC5\x47\xC6\x8A\x93\xCA\x3A\xD5\x83\xD5\xC2\x18\xDF\xCB\x61\xC8\x95\x92\xC5\x1D\x8C\xC0\x10\xCA\x0E\xC4\xB8\x65\xC1\x94\xED\xC8\x52\xD0\x3A\x52\xCA\x1E\xE3\xCB\xCC\xA7\x80\x94\xCA\x3D\xC9\xC3\x2B\xC7\x20\xF3\xCA\xCB\x84\x5E\xDE\xC8\x47\xD6\xAA\x79\xCD\x24\xE6\xCB\x86\xC1\x8E\xFB\xC3\x38\xD9\xCA\x20\x39\xBE\x8C\xC9\xBD\xCA\x84\xCB\x3D\x59\xC2\xC8\xD8\xC0\x07\xC0\xCB\xC5\xC9\x76\xCD\x29\x5C\xD3\xB6\xF9\xC6\x2F\xE9\xCA\x43\x73\x84\x94\xCF\x66\xDD\xBA\x00\x00\x20\xC4\xC5\x9C\xC3\x5E\xF5\xC2\x5D\xD2\xCB\x7C\xCE\x34\xCC\xCC\xD2\xCC\x4F\xD6\xC2\x67\xCC\xCD\x0F\xC2\xDD\x8F\xCD\xD3\xC2\x47\x17\xCB\x35\xD9\xC8\x8D\xCB\xFC\x7F\xCA\xC8\xC8\x77\x9F\xCB\x6C\xCB\xCD\x31\xA6\x9F\x97\xCD\x6B\xB0\x93\xAE\x7B\x70\xC5\xCD\xA9\xBB\x34\xEE\xCA\xA7\xC2\x63\x86\xBB\x71\xCD\xBE\x62\x6A\x33\xF0\xCC\x70\xC6\x33\x93\xCE\x72\xCF\xCD\x11\x45\xFB\xA8\xB9\xEF\xB4\x92\x98\xCB\x3E\xC3\xCA\x55\xCE\xEA\xB6\xA3\xE7\xC1\x9B\xA7\xB9\xCA\xBD\xB2\x86\xCA\x2F\xD5\xCC\x89\x0F\x72\xFB\xBD\xCC\xB2\xCE\xCB\xCB\x2A\xD7\x9A", - "\xA8\xC2\xCB\x64\xCC\x75\xDD\x9A\xF4\xCB\x88\x2B\xC4\x00\x56\x49\x3A\xC6\x55\xD4\xBA\x91\x8D\x3F\xF9\x35\x5C\xC3\x2A\xB5\x24\x81\xC5\xAB\xF3\x36\xAC\x9D\x9E\x05\xD9\x9B\x0C\xD1\xAE\x2E\xD0\x09\x0C\x92\x16\x0A\x49\x10\x0A\x7B\xCC\x4C\x09\xBA\xA4\x59\x20\x15\xD1\xDA\x50\x32\x14\x25\x64\x0F\xBA\x00\x03\x43\xF5\xC5\x26\x21\x25\x9C\xAC\x43\x02\xD1\x8B\x27\xB3\x45\x26\xD5\x52\x10\x28\xD2\xD1\xAF\x80\x52\x06\x91\x9B\x04\x0B\xD1\x96\x53\x02\x23\xBD\x04\xF3\x31\x46\xF9\xCE\x86\x03\xA3\xC4\x86\x8E\xCA\xCA\x89\x94\x47\xEA\xC4\x0E\xDC\x89\x80\x00\x84\xC0\x91\x0C\x0F\x48\xEA\x90\x25\xDA\x33\xCC\xD0\xE8\x8E\xD2\x1C\x53\xAD\x91\x8C\x29\xDD\x73\xE2\xCD\x40\x17\x04\xF6\xC8\xDB\x61\xCA\xDC\xC3\x9D\x94\x9D\x96\xD1\xCC\xE7\x27\x4B\xFD\xCC\xDD\x42\xA6\xDD\xC3\x73\x65\xD3\xFE\xC7\x33\xEA\xCF\x56\x98\xA6\xE5\xC1\x36\xCA\xD3\x82\xCB\x27\xE3\xC1\xC3\xC3\x98\xF8\xC5\x60\xDE\xCE\x69\xD2\x00\xEF\xD3\x2E\xD2\x96\x9A\xC8\x00\x0A\xCC\xD7\xC9\x50\xF2\xCE\x81\x04\x83\xF7\xC9\x9E\xD3\xB8\x21\x90\x3E\xD8\xCF\xB7\xCF\xED\x3F\xCF\x6E\xD9\x4D\x02", - "\xB4\x4F\xDC\xD2\x9D\x9D\x99\x82\xD4\x6A\xC8\xD2\x19\x6D\x4D\xD6\xAA\xD5\xCF\xA8\xC0\xCC\xE8\x9C\xD4\x70\xD0\x4F\xEE\xD2\x94\x5A\xA9\xBB\xC8\x87\xB6\xD4\x6A\xCB\x20\xF6\xCD\x3E\xD1\xAA\xD8\x76\x18\xC9\xD5\xAC\xD2\x4F\xFE\xCC\x45\xD8\xAA\xC4\xCF\x12\xCA\xBE\xD6\xCE\x50\xFE\xC1\x5B\xDD\x92\x8E\xD5\xAB\xC8\xBD\x7A\xC6\x0E\xCB\xD5\x5A\xD1\xE9\x20\xD6\xA4\xDB\xC6\x83\xD2\xE1\x25\xD5\x62\xC6\x64\x9E\xD4\xB1\xDC\xA7\xDA\xCF\x3C\xFF\xC9\xEE\xC7\x9B\xDF\xCE\x44\x0E\xC4\xDB\xC8\x12\xF9\xD5\x4B\xD1\x61\x87\x94\x90\xCB\x9A\x4C\xCE\x57\xC7\xD7\x0E\x7D\x9E\xA5\xC6\xD6\x62\xD7\xF1\xCD\x96\x29\xB2\x73\xDF\x02\xE8\xD7\xB0\xCC\xA4\x5B\xC9\x5B\xDD\xCB\x6D\xD0\xAB\xE3\xD3\x96\xC8\xD6\xDC\xD2\x6D\x8B\xD6\x7C\xC8\x96\xE3\xD4\x62\xD9\xCD\x6C\xCF\x5D\xF9\xD6\x13\xC0\x00\x22\x89\xBA\xD5\xD7\xF8\xD0\x61\xC7\xD5\x9F\x47\xAF\x8B\xDB\xB3\xC9\xBF\x77\xD5\x5A\xCE\xD8\x46\xA3\xA7\xEB\xD2\xBF\xDD\x73\x11\xD9\x56\xC7\xD9\xEF\xAB\xAF\xFE\xD0\xA0\xDA\xD5\x75\xD6\x4F\xC5\xD5\x81\xDF\xB0\x84\xB9\x3C\xCA\xD8\xFF\xD2\x56\xC1\x51\x8E\xD9\x9B\x91\xD7", - "\xC6\xD4\xD3\x75\x85\x52\xE0\xD8\xDE\xC9\x86\xA2\xCF\xCC\xD4\xCD\x36\x46\x58\xEF\xD8\x8B\xDE\x38\xBA\xDA\xC0\xC8\xD9\x56\xAE\x35\xE5\xD8\x89\xD3\xAA\xB2\xCC\xAD\xD7\xD9\xE7\xC6\x0B\xC7\xDA\x92\xDC\x48\xAF\xD6\x4E\xD8\xD9\x91\x76\xDE\xBF\xD9\xA7\xD8\x8F\xBE\xDB\xD0\xDA\xD8\x04\xDE\x6A\xC8\xDB\x4E\xD9\x9A\xC9\xCF\xD6\xDF\xD5\x24\xA1\x58\xD0\xDA\x9E\xD4\xB0\xD4\xBC\xD3\xC7\xDB\x37\xA2\x6D\x4B\xDA\xA0\xDB\x93\xD1\xD4\x77\xC9\xCF\x71\xD0\x21\xD7\xD6\x47\xA7\x47\x97\xD8\xCD\xD9\xC2\x50\x7B\x47\xE0\x20\x96\xDA\xB2\xE5\xD4\x57\xC7\xD7\x6B\xDC\x6A\xFE\xD3\x75\xDF\xB7\xED\xD5\xE0\xD0\xD9\xCC\xD3\x20\x31\xD6\x69\xD0\x1D\xCD\xB9\x4F\x66\xD1\x03\x08\x13\x34\xD1\x92\x0C\xB8\x83\x08\x96\xCE\xD7\x81\xD5\xD3\x8E\xD7\xAF\xD1\x37\xFC\xDA\xE3\x9D\xD7\x3B\xD9\x6E\xF8\xC7\x80\xD7\xB5\x93\xD4\xC1\xC6\xD8\x53\xD8\x71\xDB\xDC\xB4\xD6\xAB\xDE\xB8\xBD\xC2\xDC\x2F\xCB\x4F\xE1\xDC\x51\xD6\x55\x95\xDA\xE8\xDC\xDA\x98\xD2\x76\xE9\xDC\xB2\xDC\x8D\xBA\xDD\xE9\xC9\xD8\x86\x77\x63\xEC\xDC\xD5\xDC\x97\xA3\xD8\xDB\xC3\xDB\xE9\xBF\x64\xF0\xDC\xBB", - "\xD9\x79\xF5\xC7\xF0\xDC\xDD\xEC\x96\x73\xE0\x9C\x99\xDF\xBC\xB7\xDD\xC4\x36\xD9\xD5\xDC\x76\xCB\x8C\xAF\xD9\xBD\xC4\xD9\x9F\x7A\xDA\xDD\xD8\x6B\xF3\xA2\x00\x02\xB4\x9C\xDF\xEC\xD8\x76\xA7\xD6\x7C\xFB\xDD\xD8\xCB\xAA\xA6\xDF\xEF\xC2\x7F\x4E\xDC\x78\xE0\xDB\x34\xC2\xB5\xEF\xDD\xCA\xDD\xD9\xDC\xDF\x78\xEB\xDD\xA8\xA2\x43\x98\xDE\xFA\xDC\x50\xE0\xDA\x7F\xF8\xDC\x15\x91\xC0\xCB\xDF\xF9\xC0\xD3\x66\xDA\x80\xF3\xDE\xBC\xDA\xB6\xAF\xDE\xFC\xDD\xD6\x6C\x6A\x6F\xC2\x08\x45\xC3\xC0\x87\xE0\xEC\x78\xD6\x95\xDB\x3C\xFE\xDE\x92\xD4\x89\x92\xE0\xCC\x32\xDE\xBD\xD9\x20\x3E\xDA\x79\xD0\xB8\x8E\xE0\xF4\xCF\xA8\x84\xDC\x84\xC6\xDC\x13\xE6\xBD\xC2\xC9\x89\x3E\xE0\xAD\x50\x84\xE9\x88\x19\xE9\x2A\x87\xDF\x09\xE9\xDB\xA0\xDB\x7D\xDA\xDE\xC2\xC0\x5D\xB6\xE1\x0B\xEE\x9C\xA8\xDE\x7E\xE1\xD9\x05\xE7\xBF\xC3\xD6\xE6\xD5\xE0\x3A\xE0\xDB\x59\xD8\xF7\xDF\xBF\xE9\x5A\xED\xDB\xE1\xFB\xDC\x99\x9B\xE0\x05\xEA\xFA\x4B\xE0\xF0\xCF\xE0\x3A\x9A\x78\xD4\xE2\x0B\xE9\x86\xC6\xDE\x01\xE9\xE2\x60\xD2\x79\xD8\xE2\x30\xE0\xFB\x4E\xDF\x16\xE4\xE3\x69\xC6", - "\x65\xE8\xE3\x89\xD3\xD1\x34\xE2\x1C\x38\xDE\x67\xE2\x88\xDB\xDE\xB1\xD1\xC5\xE3\xE3\xF8\xC5\xE0\x76\xE5\x89\xF5\x25\xF2\xD1\xBE\xCC\xE1\x2D\x29\xDF\x7D\xE7\x8A\xFC\xA7\xF6\xD2\xC8\xBF\xE0\xE8\x91\xDF\x37\xE7\x8B\xE3\xDF\xFA\xDA\xC7\xF1\xE0\x41\xBD\xDF\x3E\xE0\x8A\xFE\xD2\x3C\xE9\xC8\xF9\xE3\x51\x79\xDF\x8A\xE5\x91\xF9\xD8\x4C\xE6\xC9\x8E\xE5\x98\xA9\xE0\x99\xE1\x90\xE2\x7E\x9C\xCC\xC5\xEC\xE1\xDA\xCE\xDB\x13\x83\x8A\xCA\xE5\x8F\xBF\xAD\xA0\xD1\xDD\xC5\xE5\x45\xE1\x84\xEA\xBE\x18\xE2\x69\xC8\xE2\x1C\xF9\xBC\x23\xE1\x83\xC7\xA4\x16\xE2\xC9\xB1\xDD\x27\xD0\xE1\x9F\xC4\x79\xF5\xE2\x7E\xAB\xB8\xEA\x79\x74\x80\x00\x4A\xB8\x72\xC2\x08\xC9\xD4\xA4\xC8\x46\x8D\xC4\x86\xCF\xE3\x44\xC0\x50\xBF\xAD\xC9\xAB\xE7\x71\xBE\xAC\x91\xE6\x7B\xE0\xCA\xC8\xA2\xCA\xB1\xE5\xDA\x59\xE1\x1C\x54\x9A\xD5\xE5\x71\xEF\x00\xA4\xDC\x40\xB4\xD6\xE2\xDC\xD6\x81\x4E\xBD\x49\x38\xDC\xE6\x27\xEF\xE7\x86\x72\x9C\xC6\xE5\x5B\xE9\x6B\x1B\xA7\x40\x12\xE7\xBD\xE2\x98\xFC\xCA\x69\xA6\x39\xEE\xE2\xA1\x71\x83\xE7\xE0\x6E\xF9\xE7\xE5\xC7\x3A\x97\xAE\x2A", - "\xF6\xE3\x05\xEE\x84\xBE\xE6\xD0\xC0\xA8\x81\xEA\xB0\xD4\xE7\xEB\xCD\x81\x77\xAA\x81\xEA\xCD\x94\xCA\x04\x6E\xE7\xA1\xE0\x9E\xD1\x74\xC9\xBE\xD0\xC8\xDF\x40\xE0\x9D\x6A\xE1\x9C\xCB\xE8\x29\x65\xA9\x9D\xEB\x30\xF3\xE7\x33\x93\xA2\xCF\xE8\x4D\xEC\x69\x89\xC8\x00\x86\xE8\xD9\xE1\x9D\xE1\xB2\xAB\xD6\xD2\xB6\xE4\x4B\xF2\x62\x42\xDD\xA6\xC4\xE3\x21\xEA\xB2\xA7\xD6\x4E\xFA\xE7\x3B\xEB\x27\xF5\x9F\x8E\xA1\xD3\xFE\xE1\xDA\xDC\xA8\xFD\xE7\xA0\xFC\xDD\x2A\x94\x0C\xA3\xAA\xFB\x31\x0C\xB1\xC1\x37\x67\xA9\x0F\x79\x52\x9F\x73\x4A\xB5\x08\x2D\xA9\x87\xAF\xA9\x0F\x71\x53\x9F\x73\x4C\xAF\xEA\x15\x0D\xE8\x82\xBA\x89\x02\x75\x91\x8F\x4E\xA0\xEB\x12\x08\x40\xF9\xA0\xA0\xAC\x56\xB6\xE9\x37\xF0\xC2\xC9\xCF\xA7\xF0\xE4\x9E\xE8\xBF\xF4\xE3\x51\xA5\xEA\x85\xE5\x48\xF4\xE8\xA2\xEC\xCB\x95\xE9\xD2\xCD\xCE\x6B\xC7\xA1\xDE\xAB\xAE\xA0\x56\xC1\xA1\x61\xFF\xAA\x62\xA9\xAC\x89\xD3\xB4\xA4\xA5\xE3\xE8\x43\x0D\xEC\xDD\x98\x9F\xFE\xEA\xB7\xE9\xB6\xA0\xE5\xA4\x6F\xC5\xEC\xE4\x80\xA1\xCE\xFA\xB3\x10\x34\xC6\x69\xAB\xE9\x6F\xEF\x6E\xC1\xC4\x8C\xE5", - "\xCD\xA5\xEE\x14\x68\xE5\xA9\x8A\xA5\xDE\xE9\xC9\xE9\xBB\xF4\xA0\x0C\xEF\xE5\xC5\x9B\xA4\xE9\xBE\xF3\xC9\x76\x35\xE4\x43\xB8\xEB\xA6\xE6\xD0\x79\xE5\x4D\x5A\xDA\xA7\xEB\x47\xE3\xDF\x29\xE2\x97\xD7\xCB\xB6\xE1\xD4\xAB\xEF\x1B\x85\xE6\x0C\x8D\x99\xF6\x09\x5B\xC0\xD1\xC5\xED\x3D\xF2\xED\x59\x4D\x61\xDE\xE7\xD0\xE9\x9B\x60\xE7\x4D\xF3\xE7\x69\x5C\x74\xD7\xEF\xDF\xE9\xB6\x41\xE3\x76\xEC\xED\x40\xE9\xBC\xCE\x9C\xE9\xE4\xD7\xEB\xE0\x6B\x96\xE2\xB9\xEE\xB4\xCF\x81\x27\xE0\xDE\xF3\xE9\x1D\x88\xEF\xD3\xEA\xA3\xD2\x62\xF8\xE5\xDE\xCD\xEE\x8A\x9A\xE2\x19\xE9\xBF\xDE\x96\xE8\xEE\x81\xE2\xE0\x39\xFC\xEE\xB5\x26\x8C\xFA\xEF\xFF\xE8\x8C\x21\xEB\x77\xE2\xDF\xFC\xC0\xB7\xF1\xEE\x1B\x40\xC7\x83\xF0\x76\xF7\xE4\x76\xEE\xB9\xD4\xED\x4D\xE1\xE1\xE2\xEE\x79\xFD\x73\x7C\xE2\xBE\xCF\xF1\xF7\x9A\xD4\x9B\xF2\x0D\x44\xE4\xE9\xEC\xC0\xC0\x50\x44\xEE\xE1\xEA\xED\x56\x4C\xE4\xD4\xEE\x59\xE2\xC8\x5C\xD8\xCE\xC6\xE8\x7F\xAC\xC9\x0C\xBA\xC1\xF5\xEE\x46\xA4\xC9\xA5\xF2\x88\xF9\xC3\x28\xCD\xC5\xF9\xEB\xF6\xEF\x93\x16\xEF\x8D\xFB\xF1\x6F\x84\x94", - "\xD7\xF0\xD1\xE6\x55\xA8\xEC\xAB\x54\xE0\x12\xF1\xC9\xEA\x90\x0C\xEC\x0E\x9D\xF3\x6F\xFD\xE0\xAD\xE2\x99\xDF\xE0\x27\xFC\xE3\x9C\x53\x6E\xFA\x53\xEC\xEA\xA6\xDA\xF1\xAC\x41\xDC\xE9\x39\x30\xEE\xEF\xC6\xE8\xF6\x48\xEF\x79\xDF\xA2\xF9\x1A\x70\xF0\x02\x93\xDB\xC1\xE6\xF0\x2F\xD4\xE5\xB7\xC1\xF1\x5C\xEF\x6F\x86\xBA\xE9\xF0\x5B\xEA\x78\x70\xF0\xEC\x7E\xEE\x73\xF2\xC9\xE0\xF2\xDF\xEC\xE6\xB2\xF0\x91\xFB\xC9\xF4\xEF\xCF\xE1\xF3\xB0\x49\xE5\xAE\xF3\x9A\xF4\xBB\x76\xF0\x2F\xC9\xF4\xF1\x78\xDF\x87\xF6\xA1\xF2\x62\x5E\xE6\xD1\xC0\xF2\xD8\x7E\xDF\xB6\xF2\xA5\xF9\x4A\x02\xF2\xD2\xE1\xF1\x00\xBB\xE8\xE6\x24\xF5\xDB\xF2\x55\xF1\xA5\xFE\xF3\x41\xF4\x87\x9C\xE7\x8F\xFB\xF4\xA0\x85\xC2\xFB\xF3\x09\xFA\x50\x9D\xF5\x9F\x60\xE4\xA0\xF2\xCB\xC6\x74\x10\xFA\xE6\xA7\xF6\x39\x24\xF1\x00\xF1\xD6\xE7\x46\x14\xFA\xEB\x93\xF7\x1B\xC6\xF5\x97\xF5\xCA\xCF\xE4\xE1\xCD\xE6\xEE\xDF\x8A\xFD\xD5\xA3\xF4\xCF\xC0\xD7\x1C\xF4\xD1\xB2\xF4\x42\xF1\xCE\x7D\xEE\xD9\xD0\xCE\xEC\xB4\xEA\xB5\xF7\x03\x86\xF2\x8A\x70\xC9\xD6\xF0\xFB\xEA\x33\xCC\xF2\xB6\xDA", - "\xF1\xA8\xF3\x20\xF4\xEC\x3D\x56\xDB\xDB\xF7\x81\xE7\x47\x57\xF5\x50\x45\xF4\x5F\xF1\xEE\x80\x51\x97\xF8\x94\xAE\xF3\x27\xE3\xF2\xFE\xBA\xDC\x8F\xF5\xB0\xEB\x5E\xF1\xF4\x2C\xC9\xF6\x56\xF2\xC5\x72\xF1\xAF\xED\xF7\xE7\x42\xBB\xF9\xF3\x6D\xFA\x76\xC5\xF4\xBB\xF6\xF6\xB9\xF6\x06\x64\xEE\x41\xFA\xEC\xD9\x55\xBE\xEF\x8C\xEB\xF0\xE0\xC7\xF8\xE2\x51\xE8\xD5\xF5\x7D\xE9\xE8\xFC\xF7\xDE\xE7\x47\x46\xF6\xEB\xB3\xF1\x2D\x31\xF4\x1D\xFC\xE1\xFE\xD3\x4A\xF9\xF0\x9A\xF6\x39\x39\xF4\x21\xFE\xA2\xC8\x70\x83\xF1\x7F\xD9\x8B\xC3\xFF\xC7\x2F\xFD\xB5\xC4\xC9\x91\xCD\xEC\xF6\xF7\x7D\xC0\xEC\x05\xCD\xE6\xD3\xF8\x19\xC5\xE2\x2C\xF9\x2C\xEE\x0D\x31\xFA\x65\xF4\xF4\x8F\xFF\xEF\xB7\xF5\xD0\xFA\x99\xBC\xF6\xC1\xE5\xF9\x33\x60\xEC\xCB\xFA\xC6\xFF\xF5\xAA\xF3\xC8\xD6\xF8\x6A\x8C\xEC\xA0\xED\xD1\xEB\xC7\xA3\xB9\xE7\xD6\xFA\xA5\xF1\xEA\xD0\xF4\xB8\xE8\xF8\x5D\xFC\xDA\xCD\xF9\x9D\xF9\x9B\x58\xF6\x61\xBA\xF6\xAB\xF2\xCF\xE0\x9C\x6F\xF9\x01\xBE\xFB\xC5\xE9\xCA\x9B\xE8\x11\xC3\x31\xA3\xF0\x3A\xE9\xF5\x09\xFF\xFA\x44\xFF\xC5\xF3\xCF\x28\xFC\x64", - "\xF5\xBD\xB4\xF6\xF9\x03\xCB\xDE\xCA\x75\xD7\xA5\x10\x4C\xED\x3B\xF5\xF7\x29\x0A\xB8\xEF\x05\x21\xD2\xCD\xE7\x47\x81\xDC\xAD\x03\xF9\xED\xDD\xDC\xB7\xFC\xF3\xF5\xCB\xD8\xF2\xF8\x1D\x76\xDF\xDC\xFA\x69\xF5\xCE\xF4\xFB\xF8\xD8\xF3\x57\xFA\xE4\xEA\xFA\x6E\xF4\xB0\x8B\xFB\xD4\xF2\xDB\x85\xCB\xEB\xE6\xF8\xAC\xF1\x1C\xFF\xF8\xD9\xF6\xD3\x9E\xFB\x27\xB1\xFD\x5A\x2C\xF1\xCF\xF8\xE6\xE6\x27\x20\xFE\xF6\xE0\xFB\x37\x84\xF2\xC2\xF5\xE4\xFF\x49\x28\xFA\xF7\xF9\xFB\x48\x76\xE0\xBF\xFD\xE6\xCE\x9E\x9E\xFA\xD4\xEE\xFD\xDB\xFB\xA9\xCD\xFA\xEF\xE1\xFD\x27\xC8\x92\xCB\xFF\xDD\xF3\xA6\x99\xF3\xE6\xE0\xFC\x00\x50\xD6\xD7\xFF\xD7\xFC\x97\xC3\xFA\xE8\xE6\xF7\x99\x2B\xF6\xE0\x48\xF1\xF4\xE1\xD5\xFB\xE9\xEA\xF1\x2E\xE9\x47\x99\xF8\xA7\xF9\xEA\xE6\xFF\xE5\xF4\xFE\x50\xFE\xFD\xEB\xFF\xE7\xF6\xE8\x3E\xF2\xF0\xFF\xFE\x8E\x9A\xC8\xE4\xFD\xFD\xF9\xB6\x66\xFB\x2E\xC8\xFB\x52\x7F\xFB\x73\x7E\x74\x6D\xE4\x7D\xA4\x33\xEE\x45\x2A\xE5\x7A\xE4\x7A\x00\xB5\x7D\x99\x63\xBE\x73\xFA\x69\x2D\xEF\x7B\x9A\x55\x00\x84\x73\x95\x50\xE3\x79\xA2\x61\x12\x69", - "\x1D\x2F\x09\xE6\x7D\x40\x9A\x27\x7A\x0B\x5B\x47\x04\xCC\x77\x07\x80\x5B\x7A\x56\x1D\x83\x84\x02\x02\x85\x7E\xB5\x12\x13\x0E\x48\x55\x02\xF3\x19\x09\x03\x6F\x09\x73\x20\x1E\x0B\x80\xC3\x74\x60\x91\x06\x0C\x8F\xE1\x30\x80\x11\x1E\x0D\x81\xF7\x45\x65\x84\x6B\x06\x80\x6C\x0D\x01\x2D\x83\x0B\x81\x04\xB3\x80\x43\x83\x0D\x85\x04\xBB\x80\x4B\x64\x87\x40\x74\x7E\x80\xFE\x66\x95\x60\x00\x12\x02\xF3\x18\x9A\x74\x0C\x6A\x80\xC4\x40\x10\x83\x05\xB3\x1B\x56\x81\xE3\x71\x96\x14\x81\x1F\x39\x16\x81\x19\x78\x80\xEE\x66\x61\x5F\xA1\x4F\x4A\x86\x56\x55\x0C\xDC\x67\x7B\xD6\x68\xDC\x5A\xF3\x4C\x7F\x3B\x66\xE9\x72\x00\xB8\x7F\x3F\x26\xE6\x7B\xFA\x70\x81\xE3\x6E\xC0\x70\xFD\x68\x7F\x70\x64\xE5\x77\xFE\x73\x7F\x6E\x7A\x1B\x8C\x07\x86\x7B\xC8\x4B\x1E\x83\xFA\x75\x5A\x7A\x80\x5D\x69\xFA\x42\x82\x04\x7D\x20\x8F\x06\xAA\x7C\x5A\x0F\x04\x8F\x00\x79\x7E\xEC\x7C\xFD\x70\x9A\x7D\x7E\x9C\x7D\x24\x80\xA0\x01\x7F\x96\x80\xF6\x77\x8E\x05\x7F\x77\x81\x44\x7E\xF2\x45\x82\x21\x67\x3D\x53\xFD\x43\x7F\xE9\x59\x8D\x79\x09\x9C\x7F\x87\x46\xFC\x7F\x00", - "\x86\x7F\x00\x3C\xDE\x74\x07\xAA\x73\xB1\x42\x03\x80\xFE\x69\x6D\xDE\x7C\x22\x84\xD0\x65\x68\x7F\x80\x2A\x8A\xFA\x09\x7D\x73\x80\x23\x80\xE3\x71\x64\xA0\x83\x20\x67\xEC\x71\x78\xA3\x83\x2B\x8F\x50\x66\x82\x92\x81\xCA\x7D\x93\x0E\x7F\x95\x81\x32\x89\x7E\x76\x7F\xA7\x80\x1B\x89\x79\x7A\x7F\x68\x82\x34\x89\x6B\x3E\x7F\x56\x64\x00\x8C\xFF\x6C\x82\xE0\x65\x95\x6C\xD9\x5A\x70\xB2\x83\x02\x83\xBE\x47\x80\xAC\x29\x02\x81\x00\xB9\x82\xE4\x69\x03\x85\x0C\xB6\x82\xA0\x4D\x04\x89\x1C\x41\x83\x89\x83\x0B\x7C\xF7\x53\x59\x8D\x6E\x16\x8D\xE1\x3A\x00\x8E\x53\x08\x79\xB6\x20\x81\x8E\x4F\xEF\x28\x8F\x7E\x83\x7E\x6A\x04\x0A\xD8\x43\x04\x02\x86\x61\x7A\x90\x78\x63\x07\x5C\xB6\x35\xD5\x44\x76\x12\x04\x06\x03\x10\x9F\x1D\x0F\x85\x40\x0A\x01\x11\x84\x00\x03\x44\x86\x10\x8C\x04\x57\x00\x45\x84\xF8\x72\x72\x63\x82\x9F\x6E\x01\x14\x84\x09\x87\x1B\x41\x12\xB0\x3E\x1D\x85\x6E\x63\x12\xA9\x61\x27\x86\xF8\x35\x12\xAA\x6C\xF8\x83\x45\x83\x10\x12\x0A\x99\x5C\x3F\x84\xB0\x40\x84\xB9\x64\x4D\x8A\xB2\x45\x84\x88\x74\x43\x08\x13\x8C\x84\x2F\x74", - "\x42\x84\x11\x8B\x84\x23\x5D\x64\x0E\x10\xAE\x84\x10\x84\x51\x82\x11\x94\x84\x16\x85\x4E\x83\x10\x19\x84\x46\x85\x0C\x7D\x14\xAB\x84\x8E\x4F\x47\x8D\x14\xA9\x84\xAC\x44\x55\x8D\xE7\x10\x85\x04\x6E\x55\x85\x07\x5A\x85\x99\x5C\x56\x82\xCB\x6D\x84\x4A\x86\x40\x00\x13\x85\x68\x72\x12\x0E\x89\x43\x72\x84\x1C\x2A\x59\x89\xE8\x06\x56\x34\x81\x45\x08\x16\x82\x77\x6D\x86\x44\x08\x67\x73\x55\x00\x00\xA3\x51\x71\x36\x85\xAA\x3C\x5E\x81\x81\x3A\x85\x3F\x24\x5F\x8C\xA1\x3E\x85\x91\x04\x60\x85\x11\x02\x86\x12\x04\x61\x8C\x10\x06\x86\x03\x06\xA3\x54\x0C\x50\x5A\xC4\x42\x39\x8C\xA1\x14\x5A\x30\x72\xA5\x58\xF8\x5D\x38\x6A\x85\xF7\x48\x16\xB5\x80\x8E\x51\x5C\x8C\x10\x15\x86\xB9\x27\x65\x85\x11\x1C\x86\x64\x83\x2E\x60\x09\x88\x23\x8F\x7E\x8A\x42\xA0\x52\x4D\x86\x56\x5A\x7E\xD8\x6E\x51\x94\x07\x09\x8F\x0F\x21\x80\x25\x81\xA4\x30\x1A\xA0\x1C\x9E\x86\x44\x03\x1B\xB0\x5C\x6C\x87\x11\x87\x16\xBA\x86\x6B\x86\x68\x87\x67\x79\x59\x7B\x59\x70\x8D\x67\x42\x87\x7F\x58\x71\x81\x68\x46\x87\x83\x5B\xBC\x1A\x18\x9F\x38\x8C\x87\x87\x3E\x18\x91", - "\x06\x90\x87\x3C\x85\x67\x43\x04\x92\x84\x5A\x7C\x10\x25\x86\x3A\x4F\x69\x88\x1B\xBB\x62\xAA\x87\xBA\x31\x19\x1A\x87\x07\x06\x87\x69\xA1\x40\x00\x5B\x77\xD3\x1C\x10\x28\x85\x92\x09\x79\x83\x49\x38\x82\xF4\x83\x40\x0A\x1E\xB3\x58\x71\x74\xF0\x5A\xF5\x41\x76\xF4\x85\x68\x86\x95\x63\x70\x94\x11\x59\x22\x29\x1A\x67\xCC\x74\x86\x6C\xA2\x51\x70\xF6\x82\x39\x10\x14\xBD\x86\xF7\x87\x6F\x84\x17\x88\x86\x02\x04\x82\x81\x10\x0A\x88\x75\x84\x72\x85\x68\x4E\x88\x87\x58\x84\x89\x68\x4A\x87\x8F\x59\xA4\x53\x6F\x11\x87\x48\x81\x90\x64\x1D\x89\x7F\xD7\x73\x1A\x80\xFF\x4C\x70\x7E\x83\x2A\x81\xC7\x4C\x33\xF0\x83\x2D\x8C\x4A\x65\x88\x46\x73\x3A\x7E\x0A\xAC\x83\xDB\x81\x27\x89\x9B\x61\x88\xB3\x82\x35\x7C\x77\x6A\x7E\xCA\x81\x28\x8D\x59\x5E\x88\xA4\x80\xF2\x51\x78\x6B\x88\x8B\x80\xEC\x78\x22\x87\x7F\x8D\x83\x8F\x80\x0B\x92\x74\xE1\x83\x39\x89\x9B\x54\x82\x9A\x82\x2E\x81\x81\x18\x82\xCE\x81\x34\x86\x4E\x1C\x82\xDB\x7E\xC3\x69\xE0\x6B\x83\x3D\x88\xCC\x72\x24\x91\x64\x38\x7C\xCD\x74\x23\xB7\x7F\x89\x6C\xAF\x64\x0C\xBC\x88\xE8\x81\xD1", - "\x66\xFD\x7D\x82\x78\x80\x92\x47\x25\xA3\x88\x38\x34\x95\x81\x26\xBD\x39\xB8\x79\x93\x8E\x26\x80\x28\xBC\x81\x8D\x83\x08\xA9\x7F\x21\x4C\x8B\x8F\xBF\x43\x83\xC0\x81\x91\x8D\x22\xA5\x7F\xD2\x7C\x98\x82\x22\xAD\x6E\x33\x7C\x8B\x78\x23\x86\x83\x68\x8B\xFC\x0E\x08\x85\x69\xD4\x82\xF1\x77\x27\xA4\x43\x30\x72\x36\x85\x0D\x9F\x88\xF3\x14\x01\x87\x26\xBA\x7D\xDE\x69\x86\x80\xAE\x7B\x6D\x93\x89\x4B\x7C\x9E\x6A\x83\x7E\x89\x8C\x83\x5E\x6E\x83\x2B\x71\xA7\x82\x0E\x83\x89\x8A\x6D\x05\x83\x19\xA6\x13\x52\x86\x74\x81\x72\x7E\x46\x1F\x3B\x5C\x86\x1D\x83\x04\x0C\x89\xAC\x82\x21\x8B\x5A\xB3\x88\xC8\x12\x2B\x83\x87\xB8\x8B\x87\x3B\x1C\x91\x46\xCD\x85\x64\x4F\x1C\x95\x04\x18\x8A\x37\x82\xF7\x41\x04\xD5\x85\x64\x4E\x2A\x99\x76\x85\x85\xAD\x87\x17\x8A\x8B\x79\x84\xB3\x8B\x17\x8E\x8B\x7D\x84\xB4\x8C\xA1\x3B\x8A\x39\x51\xAF\x89\x43\x7F\x8A\x12\x05\xB0\x84\x20\x8E\x81\xC5\x89\x99\x78\x8C\x1B\x84\xC2\x77\x08\x71\x19\x07\x8B\xB4\x57\x60\x82\x2D\x81\x86\xE7\x8A\xB9\x89\x2B\x87\x87\xEB\x89\x72\x8D\x2E\x98\x55\xD4\x88\x56\x56\x2D\x98\x55", - "\xD8\x88\x43\x0A\x2D\xB2\x62\xBB\x61\xB7\x8B\x2D\x9F\x83\x01\x04\x20\x0E\x48\x41\x02\x8E\x53\x20\x0C\x04\xB9\x1A\x56\x07\xB8\x83\x6F\x16\x05\x69\x2D\xC1\x8A\x2E\x9F\x38\x0A\x8D\xB2\x84\x0C\x4D\x8C\x87\x87\xC1\x89\x2E\x92\x04\x10\x8C\xAC\x82\x31\xAF\x8B\xDD\x4D\xC5\x89\x20\x97\x8C\xC5\x87\xC3\x83\x31\x8C\x04\x1A\x8F\x82\x8C\x31\x91\x46\xF1\x89\xC6\x85\x21\x9E\x8C\x8D\x87\xC8\x89\x43\x77\x8B\x4D\x80\xBF\x80\x00\x3A\x8B\x5B\x8A\x93\x8A\x81\x5C\x88\x96\x7F\x9A\x84\x28\xB6\x20\x72\x82\x9C\x81\x0F\xA6\x5D\xA2\x8A\x91\x80\xC1\x45\x6C\x87\x8B\x9B\x89\x24\xA2\x3F\x30\x8B\xA8\x8C\xC1\x4A\x82\x36\x8E\x2F\x8D\x8D\x6A\x89\x7F\x88\x68\x65\xF1\x55\x89\xC2\x80\xD2\x8D\x34\xBA\x8C\x11\x21\xED\x72\x33\xB7\x8C\xFB\x75\xA6\x8B\xD4\x7C\x37\x41\x8F\x25\x8D\x35\x9B\x82\x34\x8F\x25\x4C\x34\x9E\x8A\x52\x31\x83\x74\x26\xB4\x79\x74\x8A\xFB\x30\x35\xBB\x8C\xC5\x64\xCB\x4B\x36\xA2\x83\xAD\x83\xA0\x86\x27\xA1\x59\xDA\x7F\xD9\x83\x35\xA0\x58\x5F\x8D\xFE\x49\x37\x9D\x38\x71\x88\x97\x85\x26\xAD\x8D\xF2\x85\xD2\x8F\x37\x9E\x89\x79\x8B\xD8\x86", - "\x34\xA9\x6D\xC8\x81\x33\x8A\x38\xB8\x78\x7D\x8A\xDC\x8F\x36\x8C\x6A\x34\x3F\xDE\x8C\x1A\x49\x8A\x2E\x88\xDB\x82\x10\x18\x83\x4E\x82\xA3\x8A\x28\x87\x8D\x73\x6F\x6B\x72\x39\x84\x2F\xE4\x82\xA2\x3E\x18\x8F\x8A\x39\x89\x56\x26\xF7\x6F\x67\x86\x8E\xCF\x8E\x38\x60\x8A\x86\x57\x97\x7A\x3A\xAF\x8E\xB2\x72\xE0\x76\x58\x5B\x84\xA4\x8C\x1D\x87\xC4\x77\x8D\x4F\x79\x87\x81\x33\x82\x8D\x3B\x61\x98\x6A\x35\xBA\x88\x4C\x5E\x9E\x85\x3B\x9D\x2F\x9F\x8C\xD6\x84\x35\xA0\x4E\x45\x8C\xEC\x8B\x28\xB3\x88\x73\x8D\xA1\x8D\xFA\x7D\x8C\x7B\x8B\x79\x55\x3C\xA5\x63\xBF\x8F\xCD\x7F\xA7\x53\x8F\xF2\x24\xF6\x8C\x97\x48\x89\x4A\x88\xEC\x8D\x6C\x42\x8F\xDC\x82\xE5\x50\x3E\x8E\x8F\x9F\x83\xF8\x82\x23\x98\x5B\xE6\x8E\xDD\x8A\xFA\x09\x8E\x43\x8C\xA4\x80\xD7\x51\x7D\xD1\x8F\xF1\x8C\xA1\x23\x89\xF2\x8F\xF2\x86\x26\xA9\x8F\xF5\x8D\x2D\x15\x0B\x8F\x8E\x40\x88\x8D\x3D\x3C\xA7\x8F\x66\x60\xFE\x8E\x37\x8D\x58\xF0\x8F\xF0\x83\x38\x99\x89\x82\x8B\xEE\x8B\x38\xBD\x8E\xEC\x8D\xF7\x8B\xFF\x78\x89\xC6\x65\xF5\x81\xF6\x42\x59\x02\x93\xD5\x83\x0D\x9A\x8F\x11", - "\x1C\xE6\x8E\x32\x9A\x8E\x95\x8C\xDC\x8D\x0D\xBB\x8B\xC3\x8A\xA1\x28\x41\xAA\x3E\xA1\x8E\x61\x53\x3A\x9B\x8E\xE4\x8F\x53\x6A\x2A\xB7\x5C\x4B\x8C\xF4\x86\x40\x83\x6E\x9E\x63\x08\x9A\x33\x72\x8E\xBB\x63\x46\x8D\x1F\x95\x04\x5E\x86\xA4\x0E\xD4\x66\x87\x03\x04\x7A\x85\x11\x3B\x90\x39\x53\x4E\x81\x44\xBC\x86\x96\x84\x11\x9D\x32\xA1\x90\x9A\x87\x40\x07\x1B\xAA\x3E\xB5\x87\x66\x89\x19\x96\x80\x39\x51\xC8\x80\x00\x24\x8B\x58\x54\x76\x8F\x93\x08\x8C\xB5\x12\x14\x9C\x20\x9A\x91\x2A\x8F\x83\x88\x32\x9D\x8C\x0C\x8F\xC7\x83\x10\x1C\x91\x5F\x90\xBB\x81\x46\x98\x8C\xB9\x24\x19\x97\x46\xA0\x91\x91\x46\x14\x95\x32\xA9\x91\x27\x8F\x1A\x9E\x2B\x9D\x91\xDD\x4C\xCB\x86\x1F\x9C\x8B\x74\x91\x6E\x24\x45\xA6\x8C\x74\x86\x1A\x9D\x46\xA2\x91\x02\x06\x1F\x91\x45\x80\x92\x01\x06\x20\x98\x55\x46\x92\x7C\x90\x1B\x93\x48\xA8\x91\x04\x8C\x21\x90\x00\x08\x92\x70\x90\x31\x4F\x46\x8D\x92\x8B\x85\x1E\x99\x6B\x35\x8B\x63\x93\x85\x85\x69\x43\x8C\x20\x1E\x15\x9C\xA1\x03\x85\x4B\x83\xA9\x84\xBC\x3B\x91\x99\x5F\xAD\x8A\x48\x9E\x91\xA7\x91\x84\x8C\x48", - "\xB6\x8A\x8E\x90\x83\x83\x49\xA0\x1C\xF3\x89\xF7\x48\x49\x82\x04\x76\x90\x6A\x89\x2F\x86\x88\xAF\x8B\xC6\x8B\x4A\x8B\x8B\xBB\x91\xB3\x8D\x4B\x8F\x8B\xBF\x91\xB4\x81\x4C\x93\x8B\x71\x93\x1C\x94\x0C\x75\x92\xDB\x86\x55\x60\x33\xB1\x84\x14\x86\x4D\x8D\x0F\x94\x84\x42\x91\xDF\x51\x19\x11\x93\x82\x75\xE0\x86\x12\xBF\x84\x14\x84\x28\x9C\x13\xB2\x12\x4D\x85\x52\x8B\x4D\x82\x04\xDE\x91\x50\x85\x11\x0C\x85\x61\x87\xCF\x5F\x4D\x81\x04\x5E\x84\x23\x59\x2A\xA7\x93\x59\x57\x35\x9F\x14\xA0\x84\xF0\x93\x3B\x9D\x14\xA0\x85\x91\x46\x14\x85\x4E\x80\x00\x63\x84\x5F\x68\x16\x8C\x52\xCE\x93\x4C\x80\x4D\xBF\x93\x53\x85\x3C\x97\x4F\x83\x88\xD5\x91\x43\x8D\x4C\x88\x85\x08\x95\x53\x84\x4E\xAC\x93\xB4\x8D\x98\x59\x4E\xA1\x59\xEB\x92\x38\x97\x10\xBE\x69\x5C\x87\x63\x4F\x50\xA9\x6D\x15\x94\x5F\x69\x51\xB2\x7C\x17\x96\xA1\x34\x4F\xB9\x50\xF6\x90\x3B\x99\x4F\x91\x1C\xFD\x90\x87\x25\x52\x91\x06\x25\x95\xB8\x87\xCC\x7A\x87\x15\x05\x07\x0B\x52\xA3\x87\x1B\x00\x27\x99\x4C\x8E\x81\xA7\x8E\x61\x58\x1F\xAE\x85\xE3\x86\x4B\x9E\xB8\x68\x93\x30\x96", - "\x4C\x91\x1E\xB8\x94\xFF\x84\x00\x0A\x53\x9B\x0B\x40\x95\x68\x33\x10\x31\x94\xA2\x90\xB0\x1C\x01\x0E\x52\x39\x02\x4F\x91\x81\x08\x95\x46\x80\x31\x40\x55\x96\x8A\x20\x6B\x0D\x02\x04\xB0\x70\x56\x94\x0C\x78\x03\x2F\x94\x41\x96\x0D\x0E\x54\xBF\x24\x53\x97\x6E\x82\x55\x8E\x52\x59\x95\x54\x9B\x42\xBE\x64\x0C\x05\x59\x91\x19\x4B\x95\x30\x71\x53\x94\x0C\x6C\x95\x67\x96\xA4\x0E\x56\x84\x95\x12\x06\x0F\x92\x11\x1E\x95\x49\x95\x6E\x21\x4E\x98\x55\x7B\x94\xBE\x85\x20\xA3\x95\xC4\x41\x13\x97\x54\xA4\x95\xF3\x19\x58\x98\x55\x42\x96\x02\x06\x61\x9E\x57\x8E\x81\x6A\x95\x0E\x5A\x58\x9D\x86\x85\x94\x61\x9B\x53\xBA\x66\xED\x86\xA4\x1F\x55\xAA\x70\x36\x95\x64\x91\x58\x9A\x96\x71\x95\x45\x0D\x58\x98\x55\x8F\x95\xAE\x18\x58\x81\x04\xA1\x94\x6D\x8C\x59\x94\x95\x52\x78\x00\x0F\x59\x9D\x4F\xA5\x97\x4C\x9E\x32\xAB\x96\xB9\x25\x6B\x9C\x44\xA7\x96\x62\x97\x87\x32\x5B\xAC\x6B\x86\x54\x6C\x99\x6B\x37\x96\x85\x6D\x6E\x94\x5B\x87\x96\xBF\x97\x62\x9F\x5A\x87\x73\x76\x97\x50\x17\x59\x91\x06\x58\x03\x55\x9F\xE1\x09\x97\x30\x70\x29\x0A\x5C\xA8", - "\x96\x7D\x7F\x40\x0E\x5C\x84\x43\xA4\x93\x63\x46\x4A\xA6\x91\xD8\x96\xBB\x89\x4A\x93\x88\xC3\x90\xBA\x8D\x5D\x95\x04\xAF\x91\xC4\x11\x4B\xB9\x26\xB3\x91\x40\x08\x4C\xA1\x81\xB7\x91\x5E\x99\x6B\x0B\x94\xC2\x88\x0F\x82\xC2\x73\x1B\xCC\x96\x59\x91\x19\x71\x97\xD0\x95\x65\x91\x10\x13\x97\xCB\x97\x73\x99\x43\x74\x97\xED\x95\x12\x82\x10\x38\x97\x17\x81\xD5\x1C\x1E\x93\x87\x4A\x6C\x0F\x92\x10\x05\x97\x03\x06\x27\x99\x1F\xA3\x87\xB7\x2F\x82\x91\x54\x8A\x98\x45\x94\xD6\x19\x17\x44\x97\xE3\x84\x84\x95\x57\x8C\x98\x5C\x96\x51\x92\x10\x16\x98\xE7\x87\x78\x88\x1D\x62\x87\x41\x97\x87\x93\x60\xAB\x8A\x03\x04\x76\x41\x19\x1E\x85\x27\x9B\xBC\x1E\x15\xAA\x94\xD4\x94\x70\x8F\x5D\x8E\x8C\xDB\x94\xAD\x8F\x62\x91\x8C\x33\x9A\xC5\x85\x63\x82\x04\xE1\x96\xEA\x33\x5E\x97\x92\x9A\x91\x64\x81\x36\x83\x60\x0A\x91\xFB\x83\x33\x92\x90\x6E\x79\xCE\x83\x40\xB3\x89\x27\x89\x05\x9C\x3B\x9E\x41\x32\x92\xF2\x81\x3E\xAA\x81\x41\x9A\x03\x99\xAC\x5F\x60\x4A\x9B\x02\x9D\xE1\x11\x7C\xEE\x8E\xF1\x8F\x00\x4F\x8D\x82\x8E\x27\x8E\xBB\x6F\x90\x48\x9B\x1F", - "\x4D\x64\x9C\x28\xA3\x86\x95\x99\x65\x99\x5E\xDC\x8E\x35\x88\x36\xBD\x57\x2E\x90\x0A\x96\xE8\x10\x89\xEA\x8E\x89\x82\x36\xAD\x99\x1D\x90\xE8\x46\x36\xB9\x8F\x29\x90\x02\x98\xEC\x69\x8E\xF1\x8D\xFA\x5D\x40\xAA\x99\x61\x9B\x40\x04\x3F\x87\x99\x96\x8C\x44\x23\x66\xA9\x2D\xFB\x8D\x97\x91\x35\xB2\x5B\xFC\x8E\xFD\x81\x40\xBC\x99\x60\x98\x01\x7C\x0C\x82\x99\x5A\x99\xFB\x7D\x38\x91\x99\x80\x9B\xCF\x8F\x67\xA7\x99\x07\x91\xA0\x8B\x67\xB4\x99\x51\x8B\xAE\x6A\xAC\x44\x99\x80\x82\xD8\x7A\x68\x85\x9A\x3C\x65\x67\x93\xAD\x4E\x8E\xA7\x9A\xE3\x4C\xF6\x44\x4D\x63\x98\x94\x75\x5F\x84\x98\x53\x79\x95\x94\x69\xB9\x26\x35\x97\x2E\x68\x65\xA5\x8E\x4B\x9A\x39\x1C\x3A\xBB\x62\xAE\x8D\x9F\x96\x41\x8F\x46\x34\x92\x55\x66\x43\xB5\x12\x23\x94\x7A\x9F\x57\xAD\x8A\x2E\x99\x8C\x9C\x4A\xB7\x98\x22\x8C\xB4\x9D\x20\x92\x9B\xD7\x95\x0E\x59\x63\x91\x20\x3B\x98\xC8\x15\x5E\x80\x00\xE7\x94\x6E\x99\x5E\x8C\x9B\x07\x89\x2B\x92\x6E\x94\x9B\xE3\x9A\xB3\x91\x71\x17\x9B\x3F\x25\xB6\x91\x71\x1B\x9B\xDD\x99\x6F\x9F\x6D\x81\x98\xFC\x51\x49\x99\xB6\x32\x9B", - "\xB5\x10\x35\x99\x79\x76\x9B\x8F\x47\x46\x9F\x69\xAB\x86\x02\x04\x41\x99\x79\x5A\x93\xE5\x8A\x6A\x38\x2C\x8C\x04\x7D\x95\xE6\x55\x70\x8F\x46\xEC\x94\xBF\x96\x4E\x81\x9C\x0C\x05\x47\x91\xE9\x11\x94\x0A\x9D\x3B\x9A\x22\x7A\x9B\x11\x22\xC3\x92\xC5\x14\x9C\x85\x8C\xC3\x93\x10\x16\x9C\x0F\x43\x47\x91\x71\x89\x9B\x06\x06\x6B\x80\x1B\xAB\x07\x23\x9C\x06\x8E\x01\xB1\x86\xC1\x0A\xC8\x94\x02\xA4\x9C\x2B\x9E\xC9\x96\x02\xA8\x9C\x20\x0E\xCA\x97\x72\xAC\x9C\x33\x9E\xCB\x90\x26\x32\x9C\x86\x3B\x3E\x91\x66\x74\x9B\x69\x6C\xCF\x96\xE8\x38\x9B\x01\x86\x40\x9C\x4E\x98\x9C\xE3\x6E\xBF\x98\x8F\x40\x9C\xD2\x91\x6D\x3E\xA7\x47\x9C\x4B\x9C\x45\x89\x70\x85\x94\xF5\x80\x3B\x9C\x71\x85\x69\x10\x9C\xD4\x9A\xFE\x6E\x93\xF7\x93\xD4\x98\xED\x04\x9D\x69\x2C\xD7\x95\x4B\x1A\x9D\x6F\x42\xC7\x96\x75\xA2\x85\xFA\x95\xC4\x9E\x73\x91\x3A\x67\x9E\x14\x30\x74\xB2\x7C\x6B\x9F\xC4\x99\x56\x44\x9D\x91\x06\xD1\x9C\x97\x48\x9D\xDE\x86\xD2\x92\xF3\x4C\x9D\x77\x9D\x5A\x5F\x74\x99\x5E\x0D\x96\x1C\x10\x76\xA7\x23\x55\x9D\xE6\x50\x77\x96\x93\x2A\x4B\xDF\x91", - "\x96\x03\x9E\x13\x94\x47\x99\x56\x62\x9D\x99\x5C\xC8\x98\x02\xB2\x11\x73\x95\x64\x4A\x5B\xB6\x92\x56\x65\x1B\x07\x59\x86\x7E\x15\x04\x5E\x9F\xE1\x11\x9E\x39\x52\xE6\x92\x79\x8E\x52\x96\x9E\x7A\x90\x72\x1C\x9E\x58\x57\xE4\x9E\x5A\xA1\x90\xA1\x9D\x80\x84\xBC\x24\x9E\xDD\x4E\xE9\x9A\x6C\x8E\x81\xA9\x9D\x64\x4B\x55\x84\x43\x9E\x9D\x0E\x5C\x7A\xB9\x26\xB5\x9D\xE9\x90\x7A\xB3\x1B\xB9\x9D\xF7\x47\x7B\xB9\x1A\xBD\x9D\x6E\x2E\x7A\x9E\x9B\x95\x9F\x65\x92\xDC\x6A\x01\x69\x56\xCE\x9D\x73\x87\x94\x4D\x85\xDB\x9E\x38\x4E\x9F\x59\x86\xD0\x92\x51\x8C\x04\x72\x9D\x6E\x64\x77\xBC\x70\x45\x87\x3D\x98\x77\xAA\x6C\xDB\x9E\xE3\x4B\x77\xB8\x63\x7D\x9E\xA1\x36\x78\xA2\x3F\x81\x9E\x4F\x81\x50\xB2\x93\xF7\x92\xD7\x92\x47\x2A\x9F\x36\x20\x8A\x95\x11\x33\x9E\xF7\x90\xE3\x98\x8F\x4E\x9E\xE3\x6E\xF2\x96\xE8\x29\x9D\xE9\x5C\xFE\x95\xA4\x50\x9F\xB2\x70\xFF\x9C\x48\x6C\x9F\x91\x38\x00\xA2\xC5\x15\x9F\x2A\x6F\xF5\x9F\x0F\x89\x94\xDA\x9E\xD3\x9A\x11\x94\x84\xE3\x9C\x6B\x45\x7E\x94\x94\xD2\x9D\xD2\x92\x11\x0D\xA0\x7D\x3A\x00\xAF\x00\x56\xA0\x59", - "\x26\xFB\x92\x11\x30\x9F\xEC\x92\xFC\x9E\xA7\x74\x9F\xFB\x80\xF3\x97\x4F\xBA\x9F\xD8\x3A\xFF\x91\x66\x66\xA0\x18\x95\x04\xA3\x76\x81\x04\x04\xA2\xE3\x46\x80\xBE\x69\x24\xA3\x1B\x4D\x7D\x84\x6C\x33\xA2\x2C\x7F\x7D\xBE\x69\xE1\x9C\x68\x64\x81\xB5\x41\x0F\xA0\xD6\x93\x74\x8C\xA0\x2A\xA0\xF6\x9A\x36\xBE\x69\x3B\xA1\xE6\x5E\x81\xB9\x66\xF4\x9D\x64\x04\x03\x33\x1B\x4B\xA0\x0C\x78\x7C\x93\x96\x2C\x96\x44\x09\x06\x06\x9F\x69\x1F\x13\xA4\x57\x9D\x98\x41\x97\x14\xA2\x7A\xB6\x97\xE4\x6F\x78\x87\xAA\x52\x0A\x5C\x82\x84\x93\x10\x21\xA1\x7C\x11\x45\x00\xD9\x60\x68\x77\x02\x17\xA1\x2A\x69\x1D\x4B\x91\xC8\x9D\x72\xB7\x9C\x6F\xA1\xCA\x91\x87\xB1\x9C\x73\xA1\xDE\x0E\x1A\xAE\x86\x92\x0A\x17\x85\x86\x89\x9E\xB4\x98\x00\x0F\x05\x23\x87\x73\x00\x20\xA3\x1E\x98\x76\x7B\xA0\x43\x07\x06\x23\x87\x53\x76\x18\xA2\x10\x3D\x01\xE3\x85\x14\xA8\x85\x9A\x98\x27\x60\x24\xA0\x00\x28\x9B\x68\x97\x40\x05\x5D\x91\x97\x02\x07\x25\xAC\x85\xA0\x73\x92\x09\x1C\x03\x1E\xB5\x01\xE3\x84\x1C\x01\x8A\xA3\x87\x74\x03\x78\x8C\x02\x2B\xA1\x7A\x29\x29\xA1\x54", - "\x85\x02\xE3\x87\x21\x03\x1E\xB4\x02\xE3\x85\x2D\x03\x1E\xA2\x75\x97\x11\x58\x73\x8B\xB7\xA2\x41\x94\xFF\x92\x29\x3A\xA2\x15\x05\x1E\x03\x1E\xB8\x01\xBF\xA3\x78\x8E\x8B\x81\x95\xC0\xA0\x31\xA3\x1E\x91\x75\xA9\x97\x2C\x03\x1E\xB8\x02\xCB\xA3\x78\x85\xD6\x45\xA2\x03\x05\x23\x08\x8A\x85\x2A\xBA\x03\x78\x85\x8D\x81\x95\x53\x52\xA4\x0A\x8C\x81\x95\xB1\x02\x35\xA7\x8C\x9F\xA3\x41\x94\x32\xA8\x89\xB4\x55\xE1\xA0\x38\xA2\x89\xA2\xA3\x5C\xA0\x3A\xAD\x87\xAA\xA3\x24\x9A\x40\x0C\x8E\xAC\x90\xEE\xA2\x39\xAA\x88\xA4\xA3\xE7\xA2\x3C\xA0\x8D\xB1\xA3\xE5\xA1\x3E\xA5\x8F\xBA\xA3\xF3\xA0\x00\x01\xCD\x7D\xA3\x3F\x69\x3F\xAF\x8E\x95\xA2\x02\x06\x29\x03\x1E\xA7\x02\xE3\x85\x04\x03\x1E\xBE\x00\xD3\xA0\xAB\x2A\x90\x81\x95\x50\x6A\xA4\x0C\x5F\x89\x12\x87\x75\x3F\xA7\x83\x9C\xA1\x55\x03\x78\x80\x04\x23\x87\x7E\x86\xA4\x0A\x0A\x23\x87\xA8\x00\x48\xA3\x1E\xA9\x02\xE3\x87\xC9\x52\x29\x15\x6A\x27\xA7\x78\x81\xAF\x52\x0A\x2B\xA5\x45\x0C\x09\x23\x87\x2F\xA5\x50\x9E\x09\x23\x87\x96\x00\x4D\xA6\x93\x81\x95\x35\xA5\x50\x9F\x09\x23\x87\x3B\xA5", - "\x50\x90\xA8\x52\x0A\x84\x03\x78\x8C\x08\x23\x87\xB0\x03\x78\x8D\x0A\x23\x87\xAE\x03\x78\x83\x0C\x23\x87\xC4\x03\x78\x84\x09\x23\x87\x5F\x75\x3F\xAF\x94\x81\x95\x91\x03\x78\x85\x95\x81\x95\x93\x03\x78\x89\x09\x23\x87\x9A\x02\x56\xAC\x95\x9E\xA5\x41\x95\x57\xA1\x54\xBE\x40\x92\x0B\x1B\x03\x1E\xA6\xA5\x41\x95\x54\xA7\x8F\x81\x04\x47\x03\x78\x8D\x6E\x84\xA4\xE6\x96\x5B\xA2\x97\x81\x95\x4B\x03\x78\x8C\x04\x23\x87\xBC\x03\x78\x8B\x0B\x23\x87\x92\x5E\xA4\x0D\x97\x95\x04\x82\x03\x78\x8B\x00\x23\x87\x0A\x00\x61\xA3\x1E\x9B\x28\x92\x08\x62\xA5\x11\x03\x41\x41\x96\xBA\x9D\x87\x8C\xA6\x92\xA2\x63\xAD\x8E\x81\x04\x90\xA5\x3F\xAF\x02\x23\x87\x35\xA2\xA4\x09\x99\x95\x04\x70\x95\x3F\xAD\x99\xAB\xA5\x00\x03\x67\xA4\x91\x92\x04\xA2\xA5\x2D\xA2\x11\x0D\xA1\x92\xA0\x6A\xAD\x8F\xAA\xA6\xA0\xA4\x6B\xA3\x9A\x8C\x04\x35\x03\x78\x81\x9B\x81\x95\x32\x03\x78\x85\x9B\xB4\xA6\xB6\xA5\x6E\xA8\x9B\xBB\xA6\x92\xA3\x6D\xAD\x9B\xA3\x87\xA3\x00\x70\xA3\x1E\xA5\x02\xE3\x86\x28\x05\x9C\xA3\x87\xF4\x9E\xA4\x0A\x40\x52\x0A\x59\x77\x6B\xA3\x10\x29", - "\x2E\x92\xA3\x29\xAD\x1A\xA9\x1D\x67\x75\x3F\xA5\x9D\xA0\xA6\xD7\xA6\x73\xA2\x10\x2E\x01\xE3\x84\x77\xA1\x54\xA8\x01\xE3\x87\x1A\x03\x1E\xA0\xA7\x41\x96\x78\xAF\x9D\x92\x05\xD7\x01\x4C\xAE\x17\x6B\xA7\xEC\xA5\x7B\xAE\x9E\xAF\xA7\xF0\xA7\x85\x92\x9F\x8F\xA2\x3D\x91\x84\x97\x60\xB6\xA7\x01\x06\x7F\x84\x9F\xB7\xA7\xF3\xA5\x7D\xAD\x9F\xBC\xA7\xFB\xA4\x4F\x93\x81\xB8\x90\x04\xAB\x80\xA6\xA0\x8D\x9C\x05\xA8\x82\xA7\xA0\x9B\x9C\x09\xA8\x83\xAB\xA0\x82\x04\x29\x98\xC5\x85\x11\x32\x04\x14\xAB\x84\xA6\xA1\x92\xA8\x18\xA8\xC8\x87\xA1\x9A\xA8\x19\xA9\x26\x9D\xA1\x81\x92\x1B\xAB\x2B\x17\x76\x22\xA8\x24\xAA\x40\x01\x48\x27\xA8\xA0\x35\x89\xAB\xBB\x23\xA8\x26\xA9\x8A\xAD\xA2\xAB\x68\x2C\xA9\x40\x06\x3B\x33\xA8\x69\x89\x81\x96\xA3\xB2\xA8\x35\xA8\x8E\xAE\xE2\x39\xA8\x12\x20\x8F\xA4\xA3\xBB\xA8\x12\x06\xFF\x52\xA4\x83\x5D\x41\xA8\x91\xA7\x1D\x86\xA9\x09\x98\x92\xAB\x61\x8A\xA9\x01\x07\x90\xA5\xA4\x8F\xA9\x0C\x04\x29\x12\xA5\x95\x04\x53\xAA\x44\x05\xA5\x91\xA9\x54\xA9\x96\xA6\xA5\x9A\xA9\x58\xAB\x96\xAE\xA5\x9D\xA9\x0C\x07\x20", - "\x12\x29\x05\xA6\x12\x07\x60\xA2\x70\xA2\x46\xCC\x09\x45\x04\x88\xAC\x11\x15\x07\x43\xAA\x13\xAA\x88\x01\x05\x73\xA0\x00\x22\xA9\x15\x04\x99\xAC\x10\x26\xA9\xE1\x45\x40\x0A\x44\x31\x62\x6B\xAB\x61\x52\x11\x2E\xA9\x04\x84\x9C\xA0\x00\x32\xA9\x74\xAA\x44\x06\xA7\x83\x04\x78\xA8\x37\x93\x27\x7C\xA9\x7A\x11\x9B\xA5\x11\x14\x93\xDE\x2E\x9C\xA0\x9D\xA5\x98\x15\x07\x98\xA5\x11\x09\xAA\xD9\x9D\x75\x68\x8F\x8C\x04\x7D\xAA\x25\x10\xA8\x82\x04\x90\xA8\x56\x75\x11\x13\xAA\x02\x05\xA1\xAC\x10\x07\xAA\x02\x04\xA6\xAE\xBB\x14\x5C\x9B\xAB\x40\x0D\xA9\x8E\xAA\x12\x05\xA8\xA2\x11\x12\xAA\x15\x06\xA9\xA3\x10\x28\xAA\x01\x06\xAA\xAA\x76\x2C\xAA\xF4\xA2\xAB\xAD\xA8\xBF\xA9\x8F\xAA\xA0\xA4\xAB\x92\x04\xB6\xAA\x40\x08\xAB\x80\x00\xBA\xAB\xDA\x1B\xA7\xAA\xA9\xBF\xA8\x43\x0F\xA9\x81\x04\xB2\xA8\x43\x04\xA8\x95\xAA\x75\xAB\xA5\xA0\x4D\x0B\xAB\x12\x07\xAB\xA0\xAC\xB1\xAA\xC2\xAB\xA8\xA5\xAB\x94\xAB\x86\xAA\xB5\xA7\xA6\xBA\xA9\x9A\x75\x15\x5D\xAC\x83\x04\xCF\xA8\x00\x01\xAD\x83\x04\xC3\xA9\x98\xA0\xAE\xA7\xAA\xE2\xA9\x9E\xAD\xC0\x6D\xAA", - "\xE6\xAA\x11\x10\xAB\xAF\xA9\x79\x82\xB4\xAE\xAD\x84\xAB\xEF\xAB\xAD\xA1\xAF\x8A\xAA\x9A\xA9\xAF\xA5\xAF\x9C\x11\xF7\xA9\xA0\xA9\xAF\xAC\xAB\xFB\xAA\xBB\xA2\x11\x16\xAA\x65\xAB\xB5\xA5\xAE\x81\x04\xDA\xAA\xB3\xA1\xAC\x87\xAC\x84\x25\xC2\xA4\xA9\x8B\xAC\xD5\xA9\xC3\xA3\xAE\xB3\xAB\x02\xAC\xC4\xA7\xAE\x82\x04\xE9\xAB\xBA\xA5\xB1\x92\x04\xA4\xA9\x40\x05\xAC\x81\x04\xC7\xA9\xB2\xAC\xAB\x80\x00\x8C\xAA\xBD\xAB\xAD\xB8\xAB\x14\x60\xC2\xA4\xB2\x95\x04\x16\x03\xB7\xA8\xB1\xA1\xAB\x1A\xAE\xBC\xA8\xAD\x9C\xAA\x1F\xAD\x40\x01\xB2\x9D\xAB\x33\xAC\xBF\xA7\xB3\xB0\xAB\x39\xAC\xC0\xA8\xA6\x9D\x0B\xCC\xAA\xCB\xA2\xB1\x9C\xAB\x14\xAD\x9C\xA6\xB1\xA5\xAA\xFD\xAA\xB1\xAF\xAF\x99\xAA\x47\xAC\xBD\xAE\xB1\x8A\xAD\xE8\xAB\xC4\xA1\xB3\xA3\xAC\x0A\xAC\x43\x0C\xB0\xB7\xA9\x0E\xAD\x49\x5C\xB3\x98\xAD\x20\xAE\xD6\xAE\x8C\x5C\xAD\x17\xAE\xD7\xA9\xB1\xA0\xAD\x1B\xAF\xCE\xAE\xAB\xA4\xAD\x3E\xAE\xD9\xAC\x2B\x73\xAA\x4F\xAD\x40\x0D\xD5\x43\x04\x74\x9F\xC9\xA0\x00\x29\xAC\x61\xAD\x9A\xA9\xAD\xBD\xAC\x00\x03\xCF\xAD\xB4\x83\xAA\x75\xAC\x00\x07", - "\xB7\xA9\x58\x42\xAE\xDA\xA8\xB3\xAC\xAD\x3A\xAF\xC3\xA0\x00\x11\xAC\x59\xAC\xD3\xAB\xB5\x8E\xAD\x41\xAD\xD7\xAF\x12\xAB\xAD\x88\xA9\xDF\xA8\xB4\xBF\xAD\x70\xAD\xE0\xA2\xB7\xA7\x69\x74\xAD\xE5\xA9\xB6\x97\xAE\x8B\xAD\xE6\xAD\xB6\x8E\xAE\x90\xAD\xD9\xA2\xB9\xA7\xAD\x94\xAE\xE8\x24\xB3\xB6\xAC\x8A\xAC\xD1\xAC\xB8\x86\xAD\xE4\xAA\xD8\xAF\xB6\x84\xAC\x2F\xAE\xC1\xA3\xB9\x84\xAE\xA2\xAC\xD4\xA3\xB4\xBE\xAB\x45\xAC\xD5\xA5\xBB\xBE\xAD\x63\xAC\xEE\xAB\xB4\xB0\xAC\xAC\xAC\xEF\xAE\xBA\x89\xAE\xA4\xAE\xEC\xA6\xBA\x8D\xAE\xB6\xAF\xC0\xAC\x1A\x87\xAF\xBA\xAD\xF2\xAD\xAE\x83\x04\x87\xAD\x40\x09\xB7\x91\xAD\x28\xAF\xD4\xAB\xAA\x98\x5F\x2D\xAE\xF1\xA1\xB9\x88\xAF\x73\xAE\xBE\xAD\xBB\xB6\xAD\x13\x3F\xE8\xA4\x76\xA5\xAE\xA9\xAA\xE6\xA6\xB5\x8F\xAE\x80\xAE\xE0\xAB\xBB\x97\xAF\x02\x05\xF6\xA0\x00\x1B\xAF\xBF\xAE\xD4\xA1\xBC\x9F\xAF\x8B\xA9\xD2\xA2\xBE\xAA\xAE\xE4\xAC\xE8\xA6\xBE\x8B\xAF\x0C\x06\xFD\xAA\xC5\x3A\xAD\x7C\xAF\xE9\xA1\xBD\x97\xAD\xFF\xAD\xDC\xAB\xBA\xA5\xAF\x32\xAC\x01\xB3\x10\x35\xAC\xCC\xAF\xFA\xAE\xBC\xAD\xAF\x0A", - "\xB0\xF1\xA7\xBB\x93\xAF\xE3\xAD\xF5\xA0\xC1\xA8\xAD\x02\x05\xC9\xA0\x00\x14\xB0\x96\xAE\x05\xB0\xBC\xB3\xAE\xC2\xAC\xC7\xAC\xB2\xBE\xAF\x1C\xB0\x00\xBE\xC1\x82\xB0\x11\xB3\x73\xA0\xBB\x8D\xAF\x27\xB3\xF3\xA4\xBB\xAA\xB0\xE1\xAD\x0B\xBE\xC0\x81\xB0\x40\x8D\xE8\xA2\xC1\xBE\xAE\xB1\xAD\x0D\xB8\xC1\x90\xAF\x1A\xB2\xF4\xAF\x44\x05\xAC\xA0\xA8\xD0\xAF\xC3\xA6\xAC\xDC\xAF\xDE\xAE\xBD\xBB\xAA\xE0\xAC\x0B\xB7\xC4\xB9\xAE\x49\xB3\xE0\xA4\xBF\x8C\xB1\xF9\xAD\xF7\xAB\xBF\x90\xB1\xFD\xAC\xE7\xAD\xC0\x9E\xAE\x0F\xB0\x0C\xB0\xC2\x81\x04\x22\xB0\x02\xBF\xC4\x8A\xAB\xA8\xAD\xFC\xAF\xB9\xBD\xB0\x03\xB2\x0C\xB2\x11\x24\xB0\x03\x05\x5F\x9F\xB5\xB6\xB0\x29\xB2\xDB\xA6\xC4\xAC\xA9\x54\xB0\xB4\xAA\xC4\xB1\xB1\x4D\xB1\x02\xB4\xC4\x9B\xAE\xC5\xAE\x0E\xB0\xC6\xBC\xB0\x91\xA9\x45\x02\xC7\x98\xAE\x43\xB3\x0D\xB6\xC7\x8C\xB0\x82\xB2\xFC\xA6\xBD\x85\xAE\x87\xB0\xFB\xA9\xAB\xAE\xAF\x1D\xAC\xFC\xAD\xB9\x8E\xB2\x1F\xB1\xEB\xAE\xC6\x84\x9C\x7D\xB3\x19\xBB\xB2\xB9\xB0\x53\xB0\xF5\xA5\xC5\xB3\xAF\x90\xB1\x27\xBB\xC5\xA8\xB1\x0B\xB2\x25\xBF\xC5", - "\x98\xB2\x62\xB2\x26\xB1\xC2\x86\xB2\xA6\xB0\x0A\xBC\xBF\x81\xAC\x2B\xB2\x17\xBD\xC8\xAB\xB1\x85\xB2\x44\x01\xC9\x97\xB0\x93\xB1\x06\xB0\xC8\x9B\xB0\xA1\xB1\x07\xB3\xCA\x8F\xB2\xE7\xAD\x45\x81\xCB\xB4\xB1\xB3\xB1\xD5\xA5\xC9\xA9\xAE\x3B\xB3\x0B\xBC\xC6\xB1\xB0\xAF\xB2\x2E\xB7\xCC\x89\xB2\x75\xB1\x1A\xB7\xC9\xB8\xB2\xA2\xA9\x31\xBB\xCB\x82\xB1\xBD\xB3\x1F\xBF\xBE\x8C\xB3\x83\xB2\x33\xB9\xCB\x8B\xB1\xC6\xB1\x16\xBE\xC4\xA7\xB2\x9F\xB2\x14\xB8\xC7\xA2\xB2\x7A\xB2\x15\xB5\xCA\xA6\xB3\x7E\xB2\x22\xB6\xCD\xAB\xB2\xD8\xB2\x0F\xBB\xC9\xBC\xB1\xF0\xB2\x27\xB1\xC5\xB6\xB2\xC1\xB2\x0B\xB3\xCC\x99\xB2\xCA\xAF\x3D\xB2\x10\x30\xB1\xE0\x93\x34\xBD\xCD\xB2\xB3\xA9\xB0\x38\xBC\xCA\x8F\xB3\x63\xB0\x00\x02\xC2\x9B\xB3\xFA\xAE\x2C\xBC\xC5\xB4\xB2\xA0\xB3\x3A\xB2\xCC\xAD\xB3\xA4\xB2\x36\xB6\xD0\x88\xAB\x94\xB1\x2D\xB1\xC8\xBD\xB3\xCD\xB3\x3F\xBD\xCA\x81\xB4\x05\xB5\x3E\xB8\xCE\xBB\xB3\x1F\xB6\x45\xBE\xCF\x98\xB4\xC4\xB0\x27\xB6\xD2\x92\xB4\xA8\xB1\x11\xBC\xC8\xA0\xB4\xE1\xB2\x48\xBC\xD0\xAE\xB2\x64\xB1\x45\x06\xBF\xB4\x9D\x10\xB6", - "\x16\xB0\xD3\xA9\xB3\xFC\xB2\x4A\xB1\xD2\xAC\xB4\x00\xB7\x15\xB6\xB8\xA9\xAF\x25\xB5\x10\xB1\xD1\x88\xB3\x13\xB6\x32\xBE\xD1\x80\xB3\x42\xB5\x4D\xB4\xD4\xA3\xB4\x46\xB5\x4F\xB7\xCE\xBF\xB4\x28\xB4\x54\xBE\xA7\xAC\xB3\xEA\xAB\x1E\xB1\xCD\xAE\xB4\x4A\xB6\x4F\xBC\xD4\xB1\xB4\xBF\xB3\x1D\xBB\xD5\x97\xB4\x5D\xB6\x3B\xB5\xCC\x84\xB4\x47\x87\x4B\xB3\xD6\x80\xB5\x29\xB7\x59\xBB\xD2\xA9\xB5\x19\xB4\x39\xB6\xD5\xB1\xB3\xD5\xB1\x42\xBA\xC6\xA1\xB1\x37\xB4\x49\xB9\xD3\x92\xB3\x6E\xB4\x35\xB9\xCC\x83\xAF\x65\xB7\x4C\xB1\xD5\x8B\xB4\xE3\xB2\x40\xB8\xBE\x86\x94\x80\xB5\x58\xB7\xD5\xAF\xB5\x59\xB6\x59\xBE\xA9\xB5\xB3\x6D\xB3\x57\xB8\xBD\x88\xB5\x6D\xB6\x63\xB8\xD7\x83\xB6\x38\xB2\x3A\xB2\xD7\x83\xB5\x74\xB5\x4B\xBA\xD8\x87\xB5\x8C\xB4\x58\xB4\xC3\x8B\xB5\x82\xB5\x53\xB4\xD8\x9F\xB3\x7B\xB4\x21\xB9\xCD\xA4\xB3\x06\xB0\x2C\xB1\xD8\x87\xB4\x79\xB6\x4C\xBA\xCA\xB7\xB2\x7C\xB5\x62\xB6\xD9\x83\xB4\xB2\xB6\x66\xBA\xCF\x9D\xB1\x71\xB7\x64\xB9\xDB\xAF\xB6\xA3\xB4\x5B\xB5\xCE\xBE\xB6\x27\xB4\x70\xBA\xD5\x82\xB7\xAE\xB6\x3D\xBB\xDB\x99", - "\xB6\xA7\xB6\x58\xB9\xDA\xA4\xB5\xAC\xB7\x35\xB3\xDC\x8E\xB7\x7F\xB6\x69\xB6\xC2\xA8\xB6\xB4\xB4\x67\xBB\xC8\xB7\xB6\x34\xB4\x62\xB4\xDC\x8F\xB7\xC7\xB5\x74\xBF\xD8\x93\xB7\x70\xB7\x72\xB8\xC4\x93\xB5\x7D\xB5\x55\xBB\xD1\xAA\xAC\x91\xB6\x61\xBF\xD9\x92\xB5\xA1\xB5\x51\xBF\xCE\x88\xB7\x58\xB6\x72\xB2\xD9\xAB\xB7\xF5\xB4\x55\xB5\xB8\x86\xB7\x8A\x97\x1C\xB8\xDE\xB1\xB7\xE0\xB7\x61\xB4\xD9\x90\xB3\xA4\x97\x7B\xBD\xD1\x95\xB4\xF3\xB6\x78\xB8\xDD\x80\x00\x01\xB8\x22\xBD\xDD\xAA\xB6\x9D\xB5\x50\xBD\xE0\x87\xB8\x0D\xB6\x08\xB1\xE1\x92\xB2\x1C\xB6\x2F\xB5\xDD\xB4\xB3\xD7\xB5\x65\xB9\xDD\x83\x96\xB3\xB5\x87\xBE\xCD\x8B\xB3\xAD\xB6\x38\xB3\xDE\xA3\xB8\x89\x96\x82\xBE\xE1\xA8\xB8\xD6\xB5\x73\xB2\xE2\x8E\xB4\x15\x07\x86\xBC\xCB\xA6\xB8\x08\xB6\x6D\xBA\xD0\x98\xB8\x38\xB4\x84\xBE\xE2\xA7\xB8\x4F\xB7\x7E\xB9\xC7\xBD\xB7\xED\xB5\xE1\xA6\xE3\x9C\xB3\x38\xB9\x6D\xB5\xD8\x85\xB8\x17\xB9\x88\xB8\xE0\xB4\xB8\x12\x07\x91\xBC\xDD\x89\xB9\xDE\xB7\x3C\xB8\xDB\xB2\xB8\x4F\xBA\x86\xBF\xE3\xB9\xB8\x4B\xBB\x8E\xBE\xE4\x99\xB8\x35\xBB\x96", - "\xBA\xE4\x9F\xB8\x57\xBA\x8A\xBF\xE0\x9A\xB9\x25\xB8\x7C\xBA\xDF\xB2\xB7\xCC\xB6\x99\xB3\xE3\xA8\xB9\xF8\xB4\x64\xBB\xE6\x8C\xB9\x6D\xBA\x4D\xBA\xDB\xAC\xB8\x01\x04\x80\xB2\xE6\x95\xB9\x7A\xB5\x8C\xBE\xE6\x99\xB9\x61\xB9\x9A\xBB\xE0\x9E\xB6\x75\xB8\x7B\xB7\xE7\x90\xB9\x0C\x06\x94\xB2\xDD\x93\xB8\xD4\xB4\x8C\xB0\xE2\x98\xB9\x0D\xB6\xA2\xB7\xDE\x8C\xBA\xE9\xB6\x90\xBC\xD5\xA2\xAC\x3D\xBA\xA4\xBB\xD9\x94\xB8\xDF\xB6\x97\xB0\xE9\xBD\xB8\x22\xB3\x4E\xB1\xE8\xB1\xB9\x03\xBB\x9C\xBE\xE9\xBF\xB9\x60\xBA\x44\x01\xDB\x91\xB9\x7B\xB8\xA7\xB6\xE5\xA1\xB7\x3C\xBA\x5F\xB8\xE8\xA4\xB8\xA4\xB8\xA5\xB4\xE0\xA7\xBA\x76\xBB\x8A\xB3\xEB\xAD\xB8\x82\xBB\x8B\xB1\xE4\xAC\xB9\xFC\xB4\xA6\xB2\xEB\xA2\xB0\x7A\xB9\xAF\xB0\xE4\x8C\xB8\x85\xB8\x91\xB7\xE8\xB0\xB9\xE6\xB7\xA6\xBD\xE8\xBF\xBA\x74\xB9\xB0\xBE\xD5\xB8\xB9\x3E\xBA\xB1\xBC\xE5\xA4\xB9\xB0\xBB\x97\xB0\xEA\xBA\xB4\x15\x04\xDD\x9A\xE9\xBF\xB6\x14\xB4\xA1\xB2\xED\xAA\xB5\xB0\xB4\x66\xB5\xED\xB5\xBA\x54\xBA\xAB\xBD\xE7\x8F\xBA\xA8\xBB\xB6\xBA\xEA\x9D\xBB\xA3\xB9\xB3\xB0\xEE\x8E\xB5", - "\xC8\xBB\xB8\xB5\xD7\xA3\xB6\xAB\xB9\xA2\xBD\xEA\x8F\xBB\xF5\xBB\x90\xB2\xEC\x86\xB5\xC5\xB8\xBA\xBA\xE6\xA1\xBB\x16\xB9\xB2\xBF\xEF\xBF\xB7\xF1\xBB\x76\xBB\xE8\xA9\xBB\xFC\xBA\xB8\xBE\xEF\x93\xBB\xBB\xB9\x82\xB6\xED\xA3\xB9\x8E\xB9\x99\xB9\xEB\xA7\xB9\x09\xBD\x40\x02\xE0\xB6\xBA\xA6\xB9\x8A\xB7\xF1\xAF\xB9\x19\xBC\x3E\x92\xE1\x8C\xBC\x95\xB8\xB0\xBF\xF0\xA4\xBB\xA3\xB7\xB7\xB9\xDC\x84\xBC\xC1\xB6\xBD\xB2\xDA\xA4\xB7\x2A\xBD\x7E\xBC\xF2\xAA\xB7\x27\xBF\xBD\xB4\xDE\x86\xB7\xA5\xA7\x50\x93\x10\x15\x9D\x1B\xBC\xC9\xB7\xEB\x9E\xBC\x86\xBA\xAE\xBC\xF3\xA3\xBC\x03\xBC\xBD\xBE\xF0\x97\xBA\x10\xBF\xD0\xBC\xE1\x85\xBD\xAB\xB5\xC5\xB9\xED\x9F\xBA\xC3\xB9\x45\x0A\xF4\xB7\xB8\x4C\xBD\x85\xBD\xF2\xB5\xBC\x2F\xBC\xB5\xB3\xF5\x88\xB9\x55\xBD\xA7\xB0\xF4\x8A\xBB\xBA\xBA\x08\xBB\xF5\x93\xB9\x5D\xBF\xAB\xB6\xE0\x9A\xBB\x51\xBE\x44\x03\xF6\x8B\xBC\x65\xBF\xBA\xB6\xF1\x81\xBD\x0F\xBB\xDA\xB3\xE9\xBE\xBC\x1D\xBE\x9F\xBF\xF1\x80\xBA\x6A\xBF\xBE\xB5\xF2\x91\xBB\x58\xBE\x7D\xB5\xCC\xB2\xBD\xCE\xBB\xDE\xB8\xEB\xB0\xBD\x20\xBD\xDE\xB3", - "\xF1\xBC\xB9\x3A\xBB\xD7\xB7\xF0\xBF\xBD\x7A\xBF\xCF\xB6\xF7\x84\xBE\x78\xBC\x43\x00\xF8\xB3\xBB\x4D\xBC\xB4\xB3\xF8\xA0\xBD\x18\xBE\xE1\xB2\xF0\x83\xBA\x05\xBE\xCB\xBE\xF7\xA4\xB3\xC6\xB7\xE4\xBB\xF2\x86\xBD\x9D\xBD\xDF\xBE\xDF\x8C\xBE\x87\xBE\xBA\xB9\xF8\x8F\xBE\x98\xBD\xE1\xB2\xF9\x8D\xBE\x75\xBC\xBB\xB7\xF7\x8D\xB4\xA2\xBE\xCC\xB4\xFA\x97\xBD\x48\xBC\xCA\xB2\x10\x35\xBE\x72\xBB\xCC\xB6\xE9\xA8\xB5\x8B\xBD\xB9\xB5\xDA\xBB\xBC\xB0\xBE\xEF\xB6\xF2\xB9\xBE\x36\xBC\xB5\xB9\xEF\x84\xBF\xA9\xBD\xC3\xB5\xFA\x88\xBF\x59\xBD\xC4\xB0\x00\x3C\xBE\xA5\xBA\xF1\xBC\xF7\x90\xBF\x9F\xBF\x68\xB4\xFD\x9C\xBC\xD6\xBF\xE5\xB1\xFC\x85\xB7\x52\xBD\xF1\xB7\xFB\xB4\xBC\xD8\xBF\xE9\xB4\xCE\x9B\xBF\x74\xBD\xF7\xBA\xF8\x90\xBC\x62\xBE\xF8\xB5\xF9\xBD\xBB\xE5\xBD\x91\xB5\xCC\xA2\xBA\x9A\xBE\xBC\xB3\xFA\xAF\xBF\x47\xBC\xF0\xBC\xFE\x9C\xBB\x83\x44\xF3\xBB\xF9\xBE\xBA\xF0\xBE\xFE\xBA\xFB\x8A\xBF\xF0\xB9\xFD\xBA\xF0\xB3\xBD\x6D\xBF\xEA\xB2\xFB\x90\xBE\xA9\xB9\x01\xB6\xEE\xA8\xBF\x09\xC1\x97\xBB\xFE\x83\xC0\xD2\xBD\xE8\xBE\xFE\x96\xBD\xE4", - "\xBE\x00\xC9\xFC\x95\xC0\xE1\xBD\xF3\xB2\xF8\x93\xC0\x1B\xC1\xFB\xBE\x01\xCE\xBE\x0B\xC1\xEB\xB1\xF9\xBE\xBF\xF6\xBE\xED\xB8\xFF\x8F\xBF\x1A\xC1\xF4\xB2\x02\xFF\xBF\xC7\xB9\xFE\xB3\xD7\x9F\xBF\xE4\xB4\x04\xCC\xF9\xB8\xBE\x2D\xC1\xF6\xB5\x03\xD7\xC0\x5E\xBC\xEB\xB4\x03\xD4\xBB\xC6\xB6\xBA\x32\x04\xC8\x7F\xF1\x49\xF9\x86\x04\xE9\x05\x44\xC3\x9C\x94\x6D\x47\xC1\x4B\xC0\x12\xC5\x04\xCE\xC1\x0C\x06\x67\x77\x00\xC1\xBE\x24\xC3\xDB\xB6\x02\xCD\xB4\x52\xC2\xC6\xB4\xF4\xB7\xC0\x19\xC3\x0C\xC0\xF1\x99\xC1\x22\xBF\xD2\xBC\x05\xFF\xBE\x5E\xC0\x05\xC2\xC2\xA0\xC1\x3D\xBD\x04\xC8\xED\xA7\xBD\x50\xBE\x51\xB8\x06\xDB\xC1\x00\xC2\x0C\xC0\xDA\xBF\xC0\xD2\xBF\x1B\xC2\x06\xF1\xC1\x2C\xC1\x19\xC1\x02\xD5\x04\x76\xC0\xD5\xB3\x06\xC7\xBF\x39\xC2\xF9\xBD\xD9\x7C\xC0\x66\xBD\x93\xBD\x06\xC5\xAE\x7D\xC0\xD7\xBF\x07\xD7\xBF\x81\xC2\xFC\xB4\xCE\x89\xC2\x64\xBF\x22\xCE\xFD\xBB\xBF\x12\x04\x24\xCC\xF6\x92\xC2\x20\xC2\x0B\xCC\x07\xC4\xC2\x6E\xBF\xD3\xBD\xEE\xA9\xBD\x51\xC0\x27\xCA\x00\xD6\xC1\x74\xC3\x19\xC2\x0A\xD2\xC0\x3E\xC0\x25\xCC\x10", - "\x06\xB7\x96\xC0\x02\xC8\x09\xE9\xC2\x66\xC3\x26\xC3\x02\xF1\xBE\xA4\xC2\x2A\xC3\x08\xF3\xC2\xEA\xBC\x2C\xCB\x01\xED\xC2\x54\xC0\x2D\xCE\x09\xF3\xBE\x3D\xB8\x2F\xC4\xF9\x98\xC0\x64\xC3\x1C\xC6\x0B\xF5\xAF\x05\xC1\x28\xC8\x0B\xE3\xBF\xC5\xC0\x7D\xB5\x0A\xFC\xBF\x42\x36\x2C\xC0\x03\xD7\xBB\x4E\xBC\x1B\xCF\x09\xEE\xC1\xA7\xC3\x1A\xC6\x08\xD7\xC3\x88\xC1\x36\xC5\x0D\xDB\xC3\xC0\xC0\x28\xC3\xC1\x92\xC3\x29\xC1\xEF\xBC\x0C\xC0\xC2\x7A\xC2\x26\xC5\x09\xDE\xC3\x96\xBD\x26\xCA\x03\xD4\xBB\xC2\xC3\xFD\xB4\x0C\xE8\xC3\xC6\xC1\x2C\xCF\xEE\x83\xBF\x02\x05\x3C\xCA\x02\xF3\xC3\x8C\xC1\x3A\xCF\x0E\xD2\xBF\xCB\xBD\x3E\xCC\x0E\xC1\xC0\xFE\xC2\x20\xC4\xDE\xB4\xBF\xCA\xC3\x34\xC4\xF1\xAD\xC3\xBA\xC2\x3A\xCE\x00\xFD\xBF\x02\xC7\x32\xCB\x02\xF8\xC0\x05\xC6\x23\xC0\xFE\xAB\xC3\x12\xC4\x3F\xC3\x09\xF6\xC3\xAB\xC0\x39\xC3\x05\xC3\xC3\x3D\xC1\x09\xCF\x0C\xD8\xC4\x0A\xC4\xE2\xB8\x0A\xE2\xC4\xC7\xC0\x17\x53\x10\xF2\xC1\xCE\xC1\x4A\xC0\x00\x3A\xC3\xE6\xC3\x44\xCD\x05\xF5\xC3\x7B\xC0\x49\xC5\x0E\xD5\xBF\xE7\xC1\x3F\xC4\x13\xCE\xC4\xB7\xC1", - "\x49\xCA\xFA\xA7\xC4\xB5\xC0\x47\xC3\x0E\xEF\xB1\xD0\xC0\xDE\xA5\x14\xC8\xAE\x1D\xC7\x3D\xCC\x10\x34\x9D\x01\xC7\x62\xBB\x14\xC7\xC5\xB3\x6B\x50\xC9\x14\xD3\xC5\xF7\x73\x4A\xC9\x07\xFB\xC4\xFF\xC3\xE5\x49\x06\xEF\xC2\x28\xC4\x05\xCA\x15\xF0\xC1\x31\xC3\x55\xCD\x12\xC2\xC5\x02\x07\x57\xC7\x07\xE1\xC5\x14\xC4\x56\xC6\x10\xD4\xBB\x66\xC6\x1F\xC8\x07\xE9\xC5\x63\xC5\x4D\xCC\x49\x56\xC5\x70\xC6\x83\xBE\xFA\x95\xC5\x19\xC5\x48\xC1\x14\xDB\xC0\x6D\xC6\x22\xCF\x16\xF3\xC4\x71\xC4\x4F\xC5\x16\xF4\xC5\x80\xC6\x5D\xC7\x02\xC3\xC6\x79\xC5\x21\xC6\xF0\xAE\xC4\x7D\xC5\x24\xCF\x17\xCD\xC3\x86\xC5\x03\xC8\x17\xFE\xC4\xCE\xBD\x5D\xC1\xEB\x86\xB5\x8D\xC7\x25\xCF\x18\xF4\xC3\x81\xC7\x3F\xC2\xC2\x99\xC6\xAE\xC3\x66\xCA\x13\xDD\xC6\x6B\xC4\x07\xC9\xD4\x54\xC6\x1F\xC1\x43\xCE\x19\xFC\x75\x1F\xC6\x3C\xCA\x17\xFF\xC2\x0C\xC2\xBB\xB3\x17\xC9\xC6\x9D\xC2\x35\xC1\x0E\xF2\xA9\xA0\xC5\x2F\xC9\x0B\xDD\xC5\x7C\xC4\x61\xC0\x19\xD7\xC6\x85\xAC\x42\xC3\x19\xF7\xC4\xDC\xBD\x4E\xCB\x11\xF2\xC5\x97\xB4\x44\xCA\x4B\x74\xC6\xA3\xC0\x6C\xC7\x05\xF2", - "\xC6\xC3\xC5\x6B\xCB\x0F\xEF\xC6\xB6\xC5\x6C\xC2\x0E\xC8\xC6\xA8\xC5\x15\xCE\x1C\xE3\xC4\x54\xC4\x76\xC4\x1C\xE9\xBF\xC6\xC6\x3B\xC5\x1A\xDF\xC6\xBE\xC4\x67\xC1\x19\xD0\xC7\xDE\xC6\x74\xC1\x13\xDA\xC4\xE2\xC6\x45\xC7\x10\xC9\xC3\xD1\xC6\x16\xC7\x16\xD4\xC3\x0C\xC4\x6F\xC2\x18\xCE\xC5\x8F\x99\x7A\xC2\x1F\xEE\xC5\x68\xC5\x61\xC0\x1C\xF3\xBF\xF0\xC6\x7E\xC1\x06\xFC\xC7\xF4\xC4\x41\xCA\x16\xEE\xC7\x04\xC2\x72\xCC\x8B\x4C\xC7\x40\xC7\x76\xCE\x12\xC6\xB7\xB9\xC4\x48\xCA\x18\xDE\xBE\xE3\xC7\xEB\xA7\x1A\xDF\xC7\x6A\xC3\x37\xCB\x18\xE4\xC5\xCB\xC5\x76\xCE\x0B\xD5\xC7\xCF\xC7\x75\xCD\x21\xD8\xC8\x5C\xC7\x5E\xC7\x1F\xCB\xC8\x1E\xCB\x6E\xC6\x22\xEB\xC6\x17\xCA\x7A\xC8\x13\xF2\xC4\xBF\xC4\xDA\xB8\x19\xE5\xC7\xA3\xC7\x79\xC2\x22\xE3\xB0\x70\x7E\x8B\xC5\x1C\xF0\xC8\xE6\xC7\x7F\xCC\x10\x0E\x2A\x5B\xC6\x68\xC7\x1C\xD1\xBF\x40\xC8\x58\xC5\x20\xEC\xC4\x36\xCA\x51\xB5\x24\xF3\xC7\x0B\xC6\x81\xC4\x1A\xC8\xC8\xD2\xBF\x92\xC4\x20\xCD\xC9\x48\xCA\x8F\xC3\xDA\x92\xC9\x7E\xC5\x7F\xC1\x23\xC7\xC2\xC5\xB0\x96\xCE\x18\xDA\xC9\x3D\xCA\x8C", - "\xC9\x23\xFB\xC7\x59\xCB\x91\xC2\x16\xC9\xC9\x85\xAE\x97\xCA\x19\xE0\xC9\x35\xCA\x95\xC4\xDE\xAA\xC9\xA1\xC4\x9B\xC3\x24\xEC\xC8\x3F\xC8\x8D\xC3\x27\xD5\xC8\x94\x54\x83\xCA\x0D\xDB\xC8\xC8\xC5\xA5\x8A\x23\xE0\xC7\x3C\xC9\x9B\xC2\x26\xDD\xC9\x76\xC9\x7B\xCB\xEC\x96\xC8\x75\xCA\x9E\xCA\x21\xD4\xC8\x50\xCA\x08\xB0\x27\xFA\xC6\xE1\xC6\x6A\xC8\x27\xC9\xCA\x29\xC9\xA4\xC6\x1F\xFF\xC3\x8F\xCA\x84\xC5\x1B\xE0\xC3\xD6\xC6\x9C\xA9\x29\xEE\xC6\x13\xCA\xE9\xBD\x28\xD0\xC5\xF7\xAF\x98\xC3\x20\xE5\xC9\x54\xCB\x99\xCE\x26\xC9\xC8\xD1\xC1\x9E\xC5\x29\xC1\xCA\x77\xCB\xA8\xCE\x2A\xE4\xC8\x42\xCA\xA1\xC1\xF6\xA6\xCA\x41\xCA\x9C\xC6\x2B\xD9\xBE\xDD\xC5\xDE\x6F\x2A\xEC\xC7\x92\xCA\xAC\xC4\x29\xF4\xCA\xBA\xC9\xB0\xC7\x28\xF3\xCA\x7F\xC9\x86\xC5\x1F\xEB\xC8\x93\xC9\x72\xCF\x14\xC8\xCB\x64\xCB\x97\xC6\x26\xD6\xC6\x83\xCA\xF0\xBD\x2A\xC3\xCB\xC9\xC9\x89\xCE\x20\xDC\xC8\xA4\xB7\xB3\xC8\x2D\xD1\xCB\x6B\xCB\xB4\xCE\x1F\xD5\xCB\xF8\xBA\xB9\xBF\x29\xD3\xC7\xA1\xC9\xFC\xB7\x2C\xFD\xCA\xB3\x73\xAF\xC4\x1D\xDC\xCA\x21\xC8\xC0\xB8\x2B\xC6\xC9", - "\xA9\xC8\xB5\xCC\x25\xE4\xB3\xE7\xCB\x7A\xCF\x2E\xFC\xC9\x27\xC9\xBE\xCF\x22\xC0\xCB\x97\xC9\xB3\xCE\x27\xE0\xCB\x71\xCA\xB8\xCB\x25\xDC\xC3\x84\xCA\xA2\xCB\x2C\xDB\xCB\x7D\xCA\xAF\xC4\x2C\xC6\xCC\x61\xCB\xBD\xC7\x11\xCC\x04\xDD\x85\xAE\xC0\x31\xC2\xCA\x12\xCD\x4F\x55\x28\xC6\xCB\xBA\xB9\xC5\xC4\x2F\xE6\xC4\x7B\xC8\xA3\xCB\x2E\xDC\x50\x1B\xCD\xC0\xC2\x2C\xE4\xCC\x0A\xCE\x93\xC8\x26\xC5\xB3\x1E\xCC\x93\xC0\x32\xCB\xCA\xA2\xCB\xC8\xCA\x31\xE9\xCC\x55\xC8\xB9\xC3\x33\xEE\xCB\xE9\xC9\x23\xC2\x33\xC1\x04\x2D\xCF\x94\xCF\x32\xCB\xCC\x20\xC8\x77\xC8\x32\xF8\xCC\x9B\xC8\xBF\xC4\x27\xC3\xCD\x0F\xCD\xBD\xC3\x2E\xD9\xCC\xD4\xB9\xCF\xC8\x2A\xFF\xCC\x2A\xCF\xAA\xC2\xFD\x8E\xCD\xD2\xCA\xD2\xC7\x30\xF7\xC6\x85\xAC\xD5\xC1\x2E\xD6\xCD\x11\xCC\xC2\xC0\xFA\x95\x04\x5A\xCD\xC1\xCC\x35\xD8\xCC\x5E\xCF\x68\xB1\x36\xD0\xCA\xB0\xCB\xAE\xC7\x17\xF7\xCC\x49\xCC\xD4\xC5\x33\xCC\xCD\x00\x03\xD9\xCA\x29\xCD\xC7\x41\xCC\xC4\xB2\x37\xE0\xCA\x45\xCE\xC8\xC7\x2B\xCA\xC5\x46\xC5\x5A\x75\x32\xCC\xCB\x27\xCC\x32\xCA\x20\xF7\xCD\xE8\xC9\xDE\xC1", - "\x33\xFB\xCD\x14\xCF\xDF\xCC\x30\xE7\xC8\x84\xCE\xBE\xC9\x33\xD5\xC4\x3B\xCC\x8E\xCE\x37\xF4\xCC\xAA\xCA\xCD\xCD\x34\xCA\xCE\x75\xCC\xB7\xCD\x38\xFF\xCB\xFB\xCA\xDE\xCC\x2B\xCE\xCB\x7D\xCD\xE2\xC4\x39\xF6\xCB\x65\xCF\x7B\xC3\x38\xD8\xCE\xF0\xCA\xD0\xC2\x38\xDE\xCB\x48\xCD\xB6\xC5\x2B\xDC\xCC\x9F\xCF\xEA\xC9\x1F\xFC\xCC\xA8\xCE\xD1\xC2\x30\xF9\xB9\x60\xCD\xED\xCE\x39\xEB\xCD\xB8\xCF\xE4\xC4\x34\xF4\xCD\xA9\xCE\x4B\xCB\x39\xFB\xC8\x00\xCC\xE0\xC1\x39\xC3\xCF\x80\xC9\xF1\xCB\x38\xC7\xCD\x6C\xCE\xEB\xC5\x2C\xE6\xCC\xC7\xCE\xEE\xC7\x38\xF1\xCE\xB4\xCF\xE8\xCB\x34\xE5\xCE\x40\xC0\xCF\x54\x30\xE8\xCD\xCA\xCD\xE6\xCB\x01\xD5\x36\x16\xCF\xD8\xC1\x2B\xC7\xBA\xE0\xCF\xC7\xCF\x13\xE1\xCC\xD3\xCC\xEF\xC2\xE9\x12\xCF\xEA\xC8\xE2\xC5\x2A\x96\xCF\x57\xCD\xA7\xC5\xB8\xA5\xCF\x2E\xCF\xF9\xC0\x33\xED\xCF\xD4\xCF\xFA\xC0\x3F\xDD\xCD\x58\xCE\x3C\x8D\x36\xF6\xCF\x40\xCD\xF0\xCC\x2D\xF4\xCF\x3E\xCC\x00\xD1\x35\xD6\xCE\xD2\xBC\x01\xDF\x34\xC6\xD0\x6F\xCC\xF6\xC9\x40\xEC\xCF\x3A\xCE\xFB\xC8\x9F\x7F\xCE\x0D\xCA\xF7\xC7\x22\xCA\xD0\x55", - "\xCE\xDB\xC5\x39\xF0\xCD\x22\xB0\x06\xDB\x35\xDA\xD0\xA4\xCD\xFF\xCF\x35\xFE\xCF\xCE\xCF\xC5\xC3\x3E\xD2\xD0\xA3\x60\x04\xD0\x39\xE8\xD0\xFA\xCC\x05\xD8\x3E\xF8\xCF\x33\xBA\x07\xD2\x36\xE0\xD0\xD7\xCE\x08\xDF\x3E\xEE\xD0\xF7\xCD\x04\xD9\x3F\xC2\xC7\x13\xD3\xFF\xC5\x19\xF5\xD0\xF2\xCC\x80\xCA\x20\xF2\xD0\xDC\xCD\xE7\xC9\x3E\xC7\xC6\x29\xD3\xFE\xC4\x36\xF6\xD0\xE4\xB4\x11\xD3\x37\xD5\xD0\x02\xD1\xC3\xC2\x39\xDD\x2E\x4A\xD3\x09\xD9\x3F\xCE\xD1\x78\xCC\xF0\xC6\x3B\xC1\xCE\x49\xD0\x0E\xD1\x40\xDB\xD1\x91\xCC\x0F\xDD\x45\xFE\xD0\xA9\xC4\xF4\xCC\x42\xCD\xC5\x2D\xD0\x19\xDA\x1D\xD6\xD0\xCC\xCC\x7E\xC2\x10\x34\x9D\x58\xD1\xE1\xCA\x45\xFB\xCE\x48\xD1\xB7\xC3\x3B\xE9\xD1\x25\xD2\xF8\xCA\x36\xF5\xD1\xC6\xB5\x1C\xDE\x38\xC6\xCE\x30\xD0\x1F\xDA\x3D\xE7\xCA\x19\xD0\x03\xDB\x41\xCE\xD0\x1D\xD2\x0A\xD7\x20\xD1\xCE\x7E\xD0\xE7\xCF\x38\xCB\xD2\x2C\xD1\x23\xD4\x3C\xC6\xD1\x81\xD2\x64\xCD\x43\xF9\xD1\x34\xD1\xFC\xC1\x2F\xF3\xCF\x8A\xD3\x93\xC1\x39\xC6\xB7\x95\x85\xF8\xC9\x49\xFC\xCF\x41\xD2\x13\x95\x45\xFB\xD1\x0D\xB5\x28\xD6\x3E", - "\xFF\xD0\x9A\xD2\xEA\xC1\x10\x2A\xD2\xF5\xCC\x2B\xD4\x4A\xDB\xD2\xC5\xB0\x2C\xD5\x40\xF2\xD2\x4B\xD1\x29\xD3\xDA\xB6\xD2\x0B\xD0\x2E\xD6\x45\xEA\xCF\xBC\xD1\x21\xDE\x4B\xE8\xD2\x3D\xB9\x30\xDF\x41\xC6\xD2\x21\xD2\x2E\xD4\xDE\x86\xD3\x33\xD0\x32\xD0\x44\xF4\xD2\xE4\xB0\x33\xD5\x44\xCF\xD2\x9E\xD0\x0B\xD2\x4D\xCF\xD1\x2F\xD2\x0E\xD0\x4C\xDD\xD2\x2B\xCD\x34\xDC\x4D\xD2\xCD\x22\xB3\x35\xD9\x45\xD0\xD1\x60\xD0\x0B\xD0\x4A\xDF\xD3\x08\xD1\x38\xD8\x4E\xDC\xD0\x9F\x87\x3A\xDE\x40\xE2\xD3\x72\xD0\x39\xD4\x47\xE9\xD2\xEE\xD0\x13\xDC\x2A\xE1\xCE\x4A\x91\x3D\xDA\x4C\xF7\xD3\x48\xC5\x3E\xD7\x4A\xF0\xCE\xDB\xD3\x3F\xD6\x46\xF9\xCF\xF0\xD3\x1F\xD3\x47\xC7\xD1\x96\xD1\xEF\xC6\x4A\xDE\xD1\x07\xD0\x3B\xD6\x1B\xBA\xD3\xD0\xD3\x2E\xD0\x51\xEE\xD2\x76\xD3\x1B\xDD\x4E\xC2\xD4\xC6\xCF\x19\xD6\xEE\x85\xD4\x8E\xD0\x20\xDA\x4D\xF5\xD1\x62\xD0\x00\x0C\x51\xD3\xD2\xD4\xD1\x37\xD5\x2E\xCA\xC8\x23\xD5\xF2\xC4\x49\xDF\xD4\x09\xD7\x14\xDE\x4F\xCC\xD4\x0D\xD2\x3D\xD6\x1A\xCB\xD4\x6A\xD3\x87\xC1\x45\xE7\xC8\x29\xD6\xB2\xCD\x50\xC8\xD2\x17\xD4", - "\x4C\xD7\x48\xF2\xD4\xEA\xD0\x46\xDB\x3C\xF7\xCE\x22\xD7\x44\xDE\x12\xF9\xD4\xDA\xC8\x1B\xD4\x54\xC6\xB7\xCB\x17\x5E\x11\x4B\xA2\xD2\xCE\xD1\x2B\xD0\xF1\x8F\xD5\xAB\xD1\x19\xD9\x51\xCF\xB8\x54\xD5\x2C\xD6\x55\xC3\xD5\x5C\xD0\x00\x09\x55\xF7\xD2\x5B\xD6\x52\xDD\x55\xDF\xD5\xBD\xD1\x58\xD7\x53\xED\xD1\x5E\xD6\x51\xDC\x2D\xE4\xD5\xC2\xD2\x59\xD5\x4E\xD8\xD5\x6A\xD6\x14\xDC\x56\xC7\xD3\xC3\xD0\x40\xD5\x47\xF3\xD5\xCD\xD1\x5D\xD3\x50\xEA\xCF\x78\xD7\x34\xDE\x51\xEB\xD0\xF9\xCD\x5F\xD8\x4D\xF9\xD0\x80\xD4\x5F\xD1\x57\xE7\xC8\x82\xD7\x38\xD9\x4D\xC5\xD6\x82\xD2\x44\x09\x58\xF1\xD3\x8B\xD4\x24\xD1\x58\xC7\xD6\x68\xD7\x63\xD6\x50\xF2\xD3\x08\xD5\x8F\xB6\x59\xDD\xD4\x07\xD5\x25\xDA\x59\xD4\xD6\x44\xD5\x48\xDB\x59\xE4\xD4\x7F\xD6\x64\xDA\x3E\xE8\xD1\xA3\xD6\x4A\xD5\x52\xE0\xD3\x15\x05\x6A\xDA\x53\xF1\xD4\xFB\xD2\xF4\xBE\x5A\xC9\xD5\x67\xD7\x52\xDD\x5A\xE0\xD6\x63\xD4\x6E\xD1\x39\xF3\xD6\xAF\xCF\x5E\xD0\x52\xC1\xC8\x01\x04\x6F\xDF\x3C\xD7\xD5\xA7\xD6\xB9\xB2\x5C\xE6\xD0\xC4\xD3\x8D\xC2\x5A\xFA\xD6\x1A\xD6\x82\xC7\x5C\xFA", - "\xD1\x76\xD5\x4B\xD6\xDC\x8F\xD7\xA3\xD1\x2E\xD1\x51\xF7\xBC\xB7\xD6\x50\xD2\x56\xFB\xD6\xCC\xD7\x64\xDA\x5D\xF5\xD6\xB9\xD7\x77\xDF\x56\xC6\xD6\xE2\xD7\x3C\xD8\x1E\xC1\xD7\xDD\xD6\xFA\xC6\xDC\x80\x91\x01\x04\x7B\xD0\x00\x2E\xD7\xF0\xD7\x0F\x92\x5F\xD2\x04\xF1\xD4\x7D\xD3\x5F\xCC\x04\xF5\xD4\x7E\xD7\x5F\xC3\x04\xEE\xD5\x65\xA2\x10\x3E\xD7\x94\xA7\x62\xA2\x60\xD2\x04\x00\xD8\x00\x05\x60\xC7\xD8\x03\xD8\x43\x08\x60\xC4\xD8\x09\xDB\x40\x0B\x60\xF5\x54\xE9\xD7\x93\xB4\x8B\x90\xD5\x7A\xD4\x71\xD2\x61\xD1\xD8\x2D\xD7\x84\xD5\x55\xEB\xD1\xE0\xD5\xE4\xCA\x61\xDA\xD5\x1C\xDB\x78\xD5\x47\xDF\xD8\x60\xD5\x88\xD6\x5E\xF7\xC8\x24\xD9\x59\xD6\x62\xD9\xD6\xB2\xB9\x8A\xDD\x56\xEB\xD8\x9E\xD4\x8A\xD8\x61\xE7\xD7\x00\x02\x8B\xD4\x57\xEE\xD5\x27\xDA\x51\xB6\x63\xF9\xD5\x38\xD8\x8B\xDA\x63\xF3\xD8\x32\xD9\x79\xDE\x63\xC5\xAE\x3B\xDA\x5F\xDD\x59\xEC\xD4\x34\xDA\x71\xB5\x64\xC3\xD6\x5F\xD1\x8E\xD4\x64\xC0\xD9\x3F\xDA\x90\xD1\x63\xF2\xA9\x4B\xDA\x62\xD4\x58\xE6\xD6\x17\xDA\x94\xD8\x64\xCA\xD7\xC0\xD5\x8D\xD0\x65\xC1\xC7\xE6\xB9\x95", - "\xD0\x59\xD7\xD9\xD5\xD1\xFE\xC2\x66\xD7\xD6\x91\xD5\x99\xDA\x3E\xE7\xD9\x9C\xD4\x66\xD3\x65\xC8\xBC\x14\x53\x97\xD5\xCC\xAC\xD9\xA4\xD7\x91\xDC\x58\xD9\xD8\x72\xDA\xB5\xC8\x4F\xC2\x04\x74\xDA\x6A\xD5\x5A\xEA\xD9\xBF\xD6\x82\xCD\x67\xEF\xD6\x3F\xD5\x6C\xD1\xEA\x9D\xD9\x83\xD8\x6D\xD2\x62\xED\xD4\x68\xD1\xA2\xDD\x5B\xD6\xD8\xD2\xD6\x2D\xAA\x65\xF7\xD9\x49\xDA\xA4\xDE\x53\xC9\xD3\xD7\xD4\xB5\xBE\x68\xC3\xD7\x5C\xD6\x87\xD9\x67\xE3\xB6\x9B\xD8\x72\xD1\x5D\xF4\xD8\xA1\xD8\x74\xDE\x5B\xF8\xD9\x93\xD8\x96\xD1\x69\xD2\x04\xD2\xA7\xA5\xDF\x4C\xF4\xC1\xAD\xD9\x4D\xDA\x22\xDD\xDA\xBA\xB9\xAC\xD8\x49\xD1\xD5\xB3\xD0\x45\xD6\x6B\xDB\xCF\x4C\xDB\x4E\xD0\x54\xD5\x04\xBB\xD8\x21\xD7\x63\xF0\xD8\x5B\xDA\x51\xB1\x6C\xD4\xD8\x3D\xDB\x9B\xD5\xCC\x87\xDB\x1B\xDA\x4D\xDB\x68\xFD\xB8\xCC\xD8\x88\xDE\x6C\xCE\xD9\xCB\xDB\xA7\xD4\xDE\x91\xDB\x25\xDB\xB4\xD3\x64\xD5\xDB\xA9\xD8\xA0\xDD\x52\xD8\xDB\x2A\xDA\xB6\xDA\x6C\xE4\xB3\xE0\xDB\x8B\xD2\x6E\xC5\xDB\x85\xAD\xB9\xD3\x6C\xE7\xDB\x94\xDB\x8D\xC6\xDC\xAA\xDB\x3C\xD8\xB1\xDD\x6E\xC6\xDB", - "\xD6\xD8\xB5\xB0\x6F\xC6\xD9\x6E\xD8\xBA\xDC\x6A\xF5\xDB\x00\x03\xBD\xDD\x6B\xF0\xD6\x99\xD8\x40\xCD\x65\xFE\xDB\x56\xD9\x93\xDB\x6D\xFA\xD9\xFD\xD2\x40\x04\x70\xE3\xD9\x06\xDF\xB8\xD3\xDA\x8B\xDC\x68\xD8\x99\xD6\x52\xD7\xDB\xFC\xD8\xB1\xB0\x6C\xD5\xDC\x17\xDD\xB7\xD3\x71\xF6\xDB\x18\xDC\xDF\xC6\x51\xFB\xDB\x1A\xDC\x6B\xDE\x71\xD1\xC5\x0A\xDD\xC7\xDF\x10\xEC\xCE\x25\xDD\xC8\xD9\x4E\xE4\xCA\x5A\x30\xC4\xDD\x66\xE9\xD9\x1B\xDF\x4C\xD3\x10\x2E\xDC\x75\xD9\xBE\xD3\x6F\xF0\xD9\x0C\x04\xCD\xDE\x67\xF6\xD9\xAA\xD8\x8D\xDA\x73\xC4\xDA\x98\xDA\xAE\xD6\x72\xF3\xDC\x43\xDD\xCA\xDE\x6A\xD2\xD5\xDC\xCB\xCF\xDA\x68\xD4\xDB\x23\xD0\xAB\x88\x8E\x6A\x90\x03\x07\x65\xA3\x23\xBF\x39\x52\xDD\xEA\x74\x75\xE0\x97\x15\x06\x6F\xAA\x0F\x51\xDD\x58\xDE\x44\x0A\x75\xD0\xDD\x02\x05\xD5\xD3\x10\x00\x2C\x74\x9F\xD5\xD9\xA8\x77\xD1\x66\xDC\x43\x0E\x9A\xA2\x59\x12\x06\xD8\xD2\x10\x33\xA6\x4E\xDD\xD8\xD8\x2C\x69\xDD\x03\x05\xEF\x94\x77\xC2\x04\x76\xDD\x45\x0E\x76\xC1\x04\xAB\x97\xDD\xD1\x10\x1C\xA0\x60\xDD\x40\x0B\x77\xC0\x00\xAC\x9E\xD8\x9E", - "\x77\xEB\x6C\x9B\x89\xDB\xDC\x35\xB8\xC3\xEF\x96\xE2\xD7\x76\xC9\xDC\x8D\xDC\x43\x03\x78\xC5\xDE\x9A\x56\xE4\xDB\x78\xE8\xDC\x91\xDC\xD7\xDF\x78\xE4\xDC\x99\xDE\xDC\xD2\x11\x14\xDE\x89\xDE\xE5\xD6\x28\xA1\xDE\x9A\xDF\xB8\x35\x11\x0C\xA4\x41\x88\x43\x08\x7A\xE2\xDE\xA9\x7F\xEA\xD5\x7A\xFB\x88\x01\x06\xEB\xDE\x79\xCC\x04\x25\x8F\xD7\xD1\x7B\xFA\xDD\x5D\xDC\x43\x06\x7B\xC0\x00\xB2\xDE\xE0\xD7\x79\xFB\xD9\xB7\xDE\xE3\xD6\x5C\x8A\xC8\xBD\xDC\x00\x03\x78\xEB\xDD\xC5\xDF\xE0\xD0\x77\xC3\x04\xC9\xDC\xB2\x4D\x7C\xF7\x95\xA7\xDC\xEE\xD0\x7D\xD2\x04\xCF\xDD\x5A\x91\x7D\xC2\xDF\x03\x04\xE0\xD1\x7C\xEC\xDE\x03\x04\xE8\xDA\x7A\xD2\xDF\x8D\x6B\xF7\xD8\x7D\xD6\x96\x8C\xDC\xEF\xD0\x7E\xE3\xDD\xE6\xB9\xF5\xDD\x7D\xD5\x04\x62\x9E\xFA\xD4\x7E\xD8\xDE\xE6\xDF\xF8\xD2\x99\x50\xDE\xF1\xDC\xF7\xD2\x10\x1E\xDF\xCC\xDF\xF9\xD0\x71\x62\xDF\xF6\xDD\xB4\x50\x48\x58\x8A\x0C\x07\x46\xAA\x72\xF0\xCD\x02\xE3\xD1\xD9\x6B\xD0\xBC\x05\xE2\xAC\xD6\x29\xD0\xDA\x34\xD9\x02\xE7\x6B\xD5\xD8\xB4\xD9\xFE\xCE\x80\xFC\xDA\x05\xDE\xAF\xD6\x68\xD5\x04\x13", - "\xE2\xB0\xD1\x6F\xEC\xDB\x3D\xDF\x8D\xC9\x81\xC8\xDB\xF2\xD9\x07\xE2\xA7\x9F\xE0\xCD\xDB\xAC\xDB\x5D\xEC\xD0\x24\xE2\xB4\xD6\x82\xDD\xD8\x28\xE1\xD1\xD1\x10\x29\xE0\xD9\xDB\x0A\xEF\x6C\xDE\xE0\x2E\xE0\x00\x00\x83\xE1\xDB\x32\xE0\xD3\xD3\xDA\xB7\xE0\xE6\xD9\x0E\xE7\x70\xD3\xCC\x03\x04\x0F\xEB\x6E\xFE\xE0\x0E\xDC\x79\xB2\x84\xDB\xE0\x44\xE2\xBE\xD4\xCE\x87\xE1\xF8\xD8\xCC\xD2\x35\xCC\xE1\xFF\xD9\xA1\xD1\x70\xD0\xE1\x15\xE0\xC0\xD4\x51\xE1\xD4\x54\xE0\xC3\xD6\x81\xC1\xDC\x87\xDA\x82\xC9\x85\xD1\xDC\x0D\xDE\x12\xEB\x83\xF5\xE0\x5F\xE3\xCB\xD2\x71\xE2\xDC\xEC\xC9\x19\xE5\x73\xCE\xE1\x2B\xDE\x44\x0A\x86\xFB\xDC\x36\xDE\x08\xE5\xB8\xAF\xE1\x40\xDF\xAB\xDE\x12\xD8\xE1\x35\xE0\x1A\xD4\x87\xCB\xDD\x3F\xE2\xE9\xC0\x7F\xFB\xE1\x8F\xD9\x04\xE5\x5C\xDE\xE1\x35\xE2\x71\xB0\x88\xDC\xDA\x27\xE1\xFE\xC6\x88\xE4\xE1\x8C\xE3\x00\xEC\x53\xEE\xE1\x8D\xE2\x01\xE6\x5D\xD4\xD4\x87\xE2\xA8\xD7\x6A\xD5\xDA\x49\x9A\x02\xE9\x36\xE3\xDA\xB2\xB9\x72\x30\x82\xDC\xE0\xDE\xD9\x8F\xBE\x89\xE5\xE0\x0B\xE2\x20\xE5\x47\xE3\xE2\x2A\xE1\x29\xE9\x88", - "\xEA\xCF\xA8\xE1\x0C\xEA\x8A\xEC\xE0\xF9\xCD\x2B\xE8\x83\xEF\xE2\x33\xE2\x51\xB2\x8B\xFD\xE0\xB4\xE2\x0E\xE1\x3C\x9A\xE2\xDD\xCC\x2C\xEC\x8A\xF5\xE0\xB7\xE3\x10\xE9\x8B\xFD\xE1\xD4\xB9\x30\xE8\x84\xC3\xE3\x45\xE1\x31\xE0\x8C\xCB\xE3\x8E\xE3\xAF\xD4\x14\xD9\xE2\x0F\xE1\xB2\xD2\x86\xE4\xB7\xC6\xE1\x13\xE7\x86\xED\xE1\x3C\x8C\x05\xEA\x85\xD6\xE1\x10\xBD\x35\xE1\x85\xC1\xDD\xDD\xE1\x1E\xED\x65\xDE\xE3\x55\xE2\x14\xE7\x85\xE6\xBB\xE4\xE3\x36\xE6\x8E\xEE\xC4\xE9\xE0\x18\xEB\x85\xD4\xD4\xED\xE2\x19\xE1\x86\xF7\xDC\x6B\xB5\x45\x01\x8F\xEB\xE1\xD7\xE2\x43\xD9\x8D\xDA\xE0\xD6\xE3\x3C\xE2\x87\xC5\xB3\xF7\xE0\x1C\xEC\x86\xFA\xE3\xA0\xCF\xC7\xDB\x8F\xDF\xE2\x49\xE0\x3D\xE8\x70\xDC\xDE\x64\x69\x33\xE7\x81\xE3\xDC\xA5\xC8\x34\xEA\x8D\xEE\xE3\xDC\xE0\xB7\xC8\x46\xC1\xE4\x75\xE0\xD2\xD2\x45\xC6\xB7\x18\xE4\x1F\xE9\x8C\xF2\xDC\xBB\xE1\x34\xE1\x82\xE1\xE2\x37\xC9\x47\xE1\x88\xEB\xE2\xA7\xE0\x33\xE2\x89\xFF\xD2\x29\xE6\x43\xEC\x85\xF6\xE3\x85\xE3\x07\x9D\x1A\x74\x98\x2B\xE5\x72\xD2\xA7\x86\x5A\x08\xE4\x32\xE3\x8D\xD1\x9B\x35\xE4", - "\x27\xE6\xD4\xB8\xE4\xA4\xE3\x26\xE7\x89\xF7\xC8\x40\xE5\x2A\xE2\x94\xCC\xE0\x44\xE5\x0D\xE5\x94\xEE\xE2\x47\xE6\x29\xED\xD0\x8B\xE5\xB3\xE1\x53\xE8\x92\xED\xD4\x50\xE4\x2E\xE2\x95\xFE\xE2\x75\xD1\x55\xE2\x8C\xD7\xE5\xB5\xE1\xE1\xAA\x95\xC7\xE3\x5C\xE6\x2E\xE4\xED\x9F\xE5\xFD\xE3\x3B\xEE\x12\xE4\xE5\xDF\xE2\x1D\xEC\x2D\xE8\xE5\xE5\xE0\x38\xEC\x2D\xC6\xB7\x6C\xE6\x3A\xEE\x96\xD2\xD1\x71\xE4\x45\xEB\x8E\xEB\xE5\xFC\xD9\x5D\xE2\x8F\xE6\xE5\x14\xC2\x5E\xE8\x8F\xFE\xE3\x24\xE6\x51\xB1\x52\xFE\xE5\x02\xE5\x3E\xEF\x88\xE7\xDC\x77\xD0\x61\xE9\x91\xC7\xE0\x78\xE6\x4B\xE4\x51\xCA\xE6\x1E\xE7\x4E\xE0\x92\xFC\xE4\xBC\xE3\x4A\xDA\x90\xE3\xB6\x90\xE7\x49\xE8\x95\xD4\xE5\xE2\xE1\xF9\xD9\x99\xC8\xE2\x9B\xE4\x8D\xD8\x46\xDF\xE6\x96\xE0\x52\xE2\x98\xDD\xD9\xA4\xE6\xA9\xD6\x9A\xE0\xD9\x0A\xC9\x6A\xE5\x5D\xEC\xE4\xAB\xD8\x4D\xE5\x99\xEB\xD6\xD8\xE2\x54\xC6\x63\xBD\xE4\x43\xE7\x4F\xEA\x94\xFB\xE6\x8E\xE7\x59\xEC\x9B\xF8\xE6\xAB\xE5\x3D\xEA\x9F\x43\xE7\x51\x9E\x6B\x50\xBA\x05\xE7\x0B\x9D\x72\xEE\x14\x88\xE7\xCB\xE7\xD7\x47\x9C\xCE", - "\xE7\xC4\xE4\x74\xEC\x10\x2A\xA5\x58\xB0\x70\xEE\x94\xFD\xB8\xD4\xE7\x9C\xAC\x6F\xD9\xE7\x66\xB1\x5B\xEA\x96\xD2\xD1\xDC\xE5\x0D\xE1\x9E\xFD\xE6\xDC\xCB\x78\xE6\x9D\xD3\xE5\x34\xDA\x79\xE3\x9B\xFF\xD9\x31\xDE\x7A\xE2\x92\xE0\xE2\x31\xDE\x08\xBE\x9E\xD3\xE4\x7B\xE5\x45\xE0\x9E\xF3\xB0\xEF\xE5\x42\xEF\x8F\xE4\xB3\xF3\xE4\x3F\xE9\x96\xDA\xE4\x27\xC9\x7F\xE9\x93\xE1\xE5\xC4\xE2\xF4\xB2\xA0\xC1\xE5\xBD\xE1\x57\xE5\xCC\x87\xE8\x46\xE5\x82\xE2\x96\xD3\xE6\x00\x00\x83\xEC\x94\xCE\xE8\x05\xEA\x7C\xE8\x9F\xF4\xE7\x7F\xE4\x5F\xE7\x9F\xD5\xB0\x18\xE9\x61\xE0\x98\xED\xE7\x17\xEA\x7F\xEE\x9D\xC0\xE8\xFF\xC2\x84\xE1\x95\xD4\xE8\x1F\xE5\x17\xE0\x7F\xE6\xE8\x56\xE4\x8A\xE2\x99\xEA\xE8\x77\xD0\x8B\xEB\x95\xEE\xE8\x97\xE4\x79\xB2\xA3\xE0\xE5\x34\xEB\x7E\xE3\xDA\xB7\xE8\x65\xE6\x7D\xE7\x22\xC6\xB7\x3C\xEB\x7F\xEC\x98\xDB\xE8\x25\xB1\x87\xEB\x98\xD3\xE2\x2E\xC5\x90\xE3\xA2\xC3\xE9\x27\xC9\x48\xDA\xA4\xF2\xE5\xDF\xE5\x93\xE6\xEE\x8F\xE9\x76\xE7\x5C\xE2\xA5\xE5\xDF\x54\xE9\x7D\xE7\x97\xD2\xD1\x68\xD1\x96\xE9\xA1\xFE\xE8\x68\xD4\x90", - "\xE1\xA2\xC3\xE8\x39\xE9\x60\xE8\x73\xC3\x04\x5E\xEA\x87\xEA\xA1\xC1\xE8\x63\xE8\x82\xE6\x99\xFA\xE8\x36\xE9\x9B\xED\xA0\xEF\xE9\x66\xEB\x82\xE2\xA7\xD3\xE8\x74\xE9\x7C\xE5\x11\x29\xE9\x47\xE8\x6C\xE9\x9E\xF7\xE9\x27\xE9\x9E\xE8\x86\xF6\xE6\x3D\x80\x87\xE2\xA2\xD0\xE9\x24\xE9\x69\xC3\xED\x1D\xE7\x88\xE8\x93\xEF\x0F\xCB\xEA\x35\xE0\xA4\xE4\x9E\xD2\xD1\x92\xEB\x79\xE1\x9A\xF7\xC8\x95\xEB\x7A\xEC\x73\xF5\xE9\xE4\xB1\xA6\xE9\x9F\xFA\xE4\x35\xEA\x63\x65\xA4\xC7\xEA\x55\xE9\x94\xE8\x56\xDE\xEA\x46\xE9\x64\xE1\xAA\xD2\xBF\xA8\xE8\xA9\xEA\xA5\xD6\xE9\xA7\xE8\xA0\xED\xA2\xC2\xEA\xB5\xE5\xA1\xE3\xAA\xE4\xE9\xB4\xE8\x41\xE6\xAB\xEA\xAF\xA9\xEA\x66\xEA\xA0\xDD\xEA\xB2\xEB\x8C\xE9\xAB\xC7\xE6\x84\xEA\xA8\xEC\xAB\xEE\xEA\x5F\xEB\x96\xE7\x22\xED\xEA\xB8\xE8\x6D\xEA\xAB\xC6\xEB\x40\xB2\xA6\xE1\x87\xDC\xEA\x4A\x83\xB1\xED\xAC\xEC\xE7\x52\xCC\xB3\xEE\xA6\xCE\xEB\xC4\xEA\xEC\xC6\x90\xD5\xEB\xD1\xEB\xA7\xE4\xA0\xE9\xE8\x2C\xDC\x3B\x61\xAE\xFD\xEA\xA0\xE7\xAF\xE3\xDA\x9A\xEB\x73\xE8\xB7\xEE\x8C\xC4\x89\xD6\xEB\xB6\xE8\xAD\xF5\xEA", - "\x0A\xD4\xB8\xE5\x9D\xD2\xEB\x03\xE5\xB7\xE0\xAD\xF7\xEB\xE2\xE9\x99\xEA\xA7\xF5\x57\x86\xEB\xB5\xEB\xA9\xFF\xEB\x88\xE7\xB7\xEB\xAB\xE7\xEB\xC8\xEA\x9A\xE0\xA6\xE1\xD6\xE6\xB8\xBB\xE8\xA7\xEE\xEB\x0F\xE5\xC1\xEA\xBD\xA6\xEB\xFC\xE8\xBA\xE5\x9A\xD7\xE7\x5C\xDA\x82\xCE\xB0\xC1\xEA\x10\xEF\x4B\xEF\x8C\xF0\xEB\x08\xEE\xC0\xE3\xAD\xC4\xEC\xC5\xEB\xEA\x31\xAC\xF8\xE8\xC3\xEB\xBB\xE6\xAF\xDA\xE7\x93\xEB\xB2\xE7\xB2\xFD\xE8\xCA\xE9\xAC\xE1\xB0\xF2\xEB\x03\xEF\xA0\xE7\xB0\xD5\xEC\x09\xED\x9F\xE6\x93\xC5\xAE\x1B\xEF\xAC\xED\xB1\xD4\xD4\xC6\xB5\x5B\xA3\xB3\xED\xEB\xF3\xE8\xDC\xC2\xB4\xF7\xEA\x34\xEF\xC8\xE2\x35\xC7\xED\xF1\xE8\xD1\xE5\xB3\xF4\xEB\x00\x00\xD3\xE1\xB2\xC9\xED\xF9\xEA\xCA\xE2\x10\x12\xED\x38\xEE\xC8\xE5\xB5\xD1\xEC\x03\x04\xD6\xEC\xB2\xD6\xEA\xEA\xE8\x79\xBE\xB5\xCC\xEA\xA5\xE9\xA2\xE0\x25\xE3\xED\x35\xE0\xDA\xED\xB2\xE8\xD5\x6A\xEC\xD8\xEF\xA0\xE2\xB0\x6D\xEC\xBE\xE6\x98\xD6\xED\x6C\xA7\xCB\xE2\xA4\xC8\xE9\xDC\xC9\xDC\xED\xAF\xE9\xEC\x5C\xEF\xD5\xE6\xB7\xCB\xE9\x78\xEF\x46\xE5\x11\x3A\xED\x16\xEE\x6A\xE8", - "\xB1\xC6\xB5\x84\xED\xCE\xEA\xAA\xF0\xE9\xD4\xB9\xE2\xEA\xB5\xF3\xED\xB1\xD6\xE3\xE4\xB5\xD0\xEE\x01\xDE\xE4\xEE\xB4\xCA\xED\x50\xED\x48\xD6\xB9\xCF\xEC\x45\xEE\xBE\xE5\x51\xCC\xE4\x9B\xEC\xC7\xED\xB9\xF4\xED\x51\xEF\xDF\xED\xA8\xC1\xEE\x27\xC9\xE8\xEE\xB3\xE3\xEE\x7D\xED\xBD\xEE\xB7\xC3\xED\x9C\xEF\xD3\xEF\xAC\xE5\xEE\xB0\xEE\xE8\xE2\xBB\xDE\xEE\xAA\xEE\xB0\xEF\xB3\xF7\xE1\x5D\xD9\xEE\xE8\xB2\xFB\xEE\x16\xE6\xB9\xBE\xBB\xF0\xEC\xB0\xE8\xC3\xE5\x7E\xC3\xEF\x77\xEE\x9F\xE9\xB1\xD7\xCB\x5D\xEE\xE9\xE5\xB6\xCE\xEA\xB6\xD6\x44\x08\xBC\xC0\xEE\xCA\xEE\xBC\xC2\xBD\xCE\xEF\xAF\xEA\xA9\xE4\x54\xD3\xEF\xA7\xED\xF5\xE5\xB8\x9C\xEF\xCF\xEC\xEA\xEC\xB6\xD8\xEF\xC9\xE9\xF1\xED\x55\xE0\xEF\xD9\xEE\xD9\xE1\x39\xE8\xEF\xE5\xEE\xF6\xED\x55\xC6\xB7\x8A\x30\xD9\xE9\xBE\xD0\xEF\x50\xC9\xFC\xEC\x6F\xF6\xEF\x6B\xEC\x51\xD8\xBF\xEE\xED\x15\xE8\xA3\x88\xB4\xD7\xEE\x5B\xEE\xC7\xE6\x88\x4D\xED\xB1\xEC\xE6\xE3\xBB\xFB\xEF\x72\xEF\x87\xE2\x35\xC8\xF0\x7B\xEC\xF0\xE2\x45\xCC\xF0\x85\xEF\x6B\xEB\xB3\xC5\xB3\x10\xF2\xE2\xEE\xAB\xEF\xED\xFE", - "\xEC\x01\xF6\xBB\xC6\xF0\x9E\xED\x05\xFF\xB8\xCA\xF0\x50\xEE\x07\xF3\xB9\xE0\xF0\x07\xF0\xF9\xEA\xB0\xF1\xEC\xD1\xEF\x00\xF3\xB5\xC0\xF0\x94\xEC\x45\xD2\xC2\xEC\xF0\x24\xF1\x07\xF6\xC2\xFA\xEC\x3E\xE5\x06\xFB\xC2\xC5\xF0\x01\xF0\x1D\xCF\xC2\xF8\xF0\x2D\xF0\xEF\xE5\x7E\xFB\xF0\x1B\xF1\x0E\xFE\xC3\xCC\xEF\x97\x8F\x0C\xFB\xB8\xD4\xEB\xE4\xB4\x10\xFB\xBA\xF7\xEE\xA4\xEE\x12\xFA\xBB\xEC\xEE\x02\xF1\xC9\xEE\xC4\xFF\xEE\x50\xF2\x0B\xF6\xC4\xD7\xF0\xFD\xEE\x54\x2F\xBF\xFC\xF0\x31\xF0\xE9\xE1\x52\xD3\xF1\xC4\xEE\xFB\xE1\x46\xE6\xBB\x60\xF1\xF2\xE3\xC1\xCB\xE4\x11\xE6\x0A\xF9\xB5\xE3\xF0\x6B\xE8\x5A\xD8\x46\xE5\xF1\xD4\xEF\x19\xF0\x84\xC5\xF1\xB5\xEF\x12\xFC\xC1\xE4\xEE\xF0\xEF\x15\xF9\xAE\xD8\xF0\x5A\xF2\x06\xF6\xC7\xC2\xF1\xDC\xC8\x1C\xFD\xBD\xF2\xF1\x49\xF2\x1E\xF7\xB1\xE8\xE7\x37\xCA\x20\xF1\xBE\xDE\xEF\x14\xF2\x21\xF6\xB8\xC8\xF2\xD6\xEE\xBD\x8C\x6F\xF7\x8B\x1F\xF1\x1B\xF5\x1A\xD4\xF2\x6C\xF3\xC2\xED\x55\xD8\xF2\x30\xF2\x25\xFB\xC9\xF5\xE0\x9C\xF0\x17\xFE\xC9\xD1\xCE\xA1\xF1\x10\xFD\xC3\xD4\xC0\xA5\xF3\x1F\xF7\xCA", - "\xD2\xD1\xA9\xF3\x13\xFC\xC4\xED\xEE\xDC\x98\x28\xF2\xCB\xF9\xEF\x9F\xF0\x2D\xF4\xCA\xF1\xE4\xD9\x8B\x2C\xFC\xBF\xE4\xEB\xB9\xF2\x2D\xFA\xEB\xAD\xF2\x54\xF3\x2B\xF1\x70\xC0\xF3\x61\xF2\xFA\xED\x5C\xF0\xDF\xC4\xF2\x19\xF5\xC3\xC2\xD1\x44\xF1\x5C\xAE\xCB\xF9\xCF\xC9\xF1\x1C\xFB\xCC\xE4\xB3\xD1\xF3\x20\xF3\xCD\xF3\xF1\xCE\xF3\x2E\xFF\xA2\xC0\x8B\xBA\xF1\x02\xF3\xCA\xC7\xF3\xC0\xDD\x2C\xFF\xCC\xC3\xE2\xCD\xF2\x38\xFA\xCD\xEB\xEA\x30\xEA\xC1\xE9\xCD\xDE\xF3\x9A\xF3\x18\xFA\x20\xD5\xF3\x8B\xF0\x21\xF9\x3D\xFD\xF2\xE7\xF0\xE3\xE0\xA1\xF0\xF3\xF3\xEE\xF8\xE4\x54\xF8\xF3\xED\xEE\x31\xF0\xCD\xDD\xF3\x0D\xF1\x15\xFE\x12\xFC\xF3\x27\xF2\xF9\xE7\xCB\xE3\xF3\x8D\xD4\x43\x0F\x1E\x96\xF0\x7B\xF1\x81\xEB\xD0\xD5\xF2\xED\xF2\xAE\xBF\xD0\xD9\xF2\x28\xF1\x57\xD3\xD1\xDD\xF2\x11\xF5\xFE\xC7\xD1\xE2\xF2\x19\xF6\xFA\xCB\xD1\xE6\xF2\x5D\xF0\x2C\xFF\xD1\xEA\xF2\x21\xF5\xC0\xD3\xD2\xEE\xF2\x77\xF2\x48\xF5\x83\xE7\xF4\xC1\xF1\x4A\xF1\xC5\xC2\x04\x2C\xF5\x31\xF4\xBF\xD1\xCE\x31\xF6\x32\xF9\x9B\xC5\xAE\x35\xF6\x34\xF7\xD3\xC5\xB3\x39\xF6", - "\x35\xFB\xD3\xCD\xDD\xEE\x87\x4A\xF2\xD4\xC8\xF4\x0D\xB5\x4F\xF1\xCF\xD7\xF3\x30\xF5\x67\xE0\x7F\xC6\xF5\xF9\xF0\x23\xF8\xC6\xDA\x31\x4C\xF5\x3F\xF3\xD3\xEC\xD0\x51\xF5\x41\xF2\xC6\xD4\xF5\xB8\xF2\x42\xF3\xD4\xF5\xF3\x48\xF0\xB5\xB5\xD5\xF4\xF0\x3F\xF7\x49\xDB\xD4\xCA\xF5\x77\xD3\x57\xF7\xC4\xE4\xEC\xDE\xEB\xC4\xE2\x11\x26\xF5\x58\xF0\x2F\xF2\xB1\xC0\x00\x50\xF5\x56\xF1\xD4\xC4\xF5\x98\xE2\x56\xF4\xD7\xF7\xC8\x6C\xF5\x43\xFE\xD6\xF3\xF5\x5C\xF4\x5A\xF1\x10\x39\xF5\x87\xF3\xA5\xE6\xD4\x80\xF6\x8F\xF2\x60\xF8\xD3\xF2\xF5\x02\x05\x5D\xA7\xD7\xF2\xA9\x8A\xF5\x5F\xF2\x35\xCD\xF6\xEC\xF1\x45\xF1\x39\xD0\xF6\x01\xF6\x30\xF4\x51\xD4\xF6\x11\xF0\xAE\xDA\xCF\xDD\xD5\x98\xF4\x43\xF1\xD8\xE1\xED\xD4\xB9\x67\xF0\xD1\xD2\xF6\xBA\xBA\x68\xF4\xD1\xC6\xF4\x2C\xD2\x69\xF8\xD1\xE4\xF6\xF9\xCE\x6A\xFC\xD1\xEC\xF6\xEA\xCE\x6B\xF0\xD2\xDF\xF3\xAD\xF5\x0D\xE2\xDB\xE4\xF4\xB4\xF5\x6C\xF8\xD8\xC1\x04\xB7\xF4\x4A\xF0\xC8\xD2\xD1\xBD\xF5\x4B\xFF\xDB\xE7\xC8\xC1\xF6\x4C\xFB\xD9\xC7\xBA\xC5\xF6\x4D\xF1\x9C\xCC\x04\xC9\xF6\x4E\xFB\xDC\xE2", - "\xF5\xE1\xF1\x73\xFE\xD3\xCF\xF7\x7E\xE3\x1D\xD2\xDD\xC7\xF5\x61\xF4\x79\xB7\xDD\xCD\xF5\xF2\xF2\xF4\xBB\xDD\xD2\xF5\xC7\xF6\x39\xD5\x11\x1F\xF7\x56\xF6\x3F\xFA\xDB\xCB\xF6\x85\xAC\x79\xF0\xD6\xD4\xF7\xFC\xD2\x5A\xFC\xDC\xE4\xF5\xF4\xDE\x7A\xF7\xD6\xF6\xEC\x6E\xD2\x7B\xF3\x10\x32\xF7\x6D\xF7\x36\xF0\x91\xDA\x31\xF8\xF6\x5E\xFA\xDF\xEC\xCB\xFD\xF7\x67\xFC\xC7\xC0\xF8\xB6\xF5\x81\xF8\xDE\xC5\xB3\x01\xF9\x61\xF0\xDA\xDE\xF7\x06\xFA\x63\xF0\xB5\xC6\xB7\x77\xA7\x81\xFC\x10\x11\xF8\x0E\xF8\xDC\xC4\xE1\xD1\xF6\xA8\xF5\xFE\xC7\xE1\xD5\xF6\x2E\xF4\x45\xDB\xE1\xD9\xF6\x10\xE0\x24\xF5\xB8\x9F\xF8\x9E\xF6\x82\xF3\xE0\xC3\x04\x24\xFB\x68\xF9\xE1\xF3\xB8\x29\xFB\x69\xF7\xD5\xDA\xF8\x35\xE1\x8B\xFB\xDA\xEB\xF8\x75\xD2\x8C\xFF\xDA\xF4\xF8\x2D\xD6\x8D\xF3\xDB\xDD\xF4\x35\xF9\x8C\xFB\xDB\xC0\x00\x3A\xF8\x6E\xFC\xE3\xF9\xF8\x3E\xFA\x84\xF8\xE2\xFC\xDB\x41\xFA\x6F\xFB\xCA\xD7\xE9\xF0\xDD\x92\xF2\xDC\xCB\xF9\x6E\xF2\xB9\xBE\xE4\xC6\xF7\x4E\xF7\x68\xB3\xE5\xCA\xF7\x87\xEF\x88\xFF\xE3\xD7\xF9\xCE\xF5\x96\xF5\xCC\x9C\xF9\xD3\xF6\x97", - "\xF4\xCE\xA0\xF9\xD8\xF4\x7B\xF2\x70\xE5\xDF\x64\xF8\x77\xF8\xD4\xED\xF7\x70\xF5\x45\x09\xE6\xE0\xF7\x55\xF9\x75\xFA\xCE\xC0\xF9\xF0\xF4\x43\xEF\xE6\xE5\xF7\x53\xF6\x22\xEE\xE6\xDB\xF9\x45\xF9\x85\xFE\xB9\xF7\xF9\xEB\xF6\x98\xF6\xE5\xFD\xF9\x18\xFB\x8B\xFA\x3E\xC0\xFA\xF3\xF7\x83\xF5\x11\x3A\xA1\x20\xFA\x34\xEB\xAA\xCC\xFA\x25\xFA\x04\xFB\xE6\xC0\x00\x90\xFA\x8A\xF6\xE8\xF5\xD1\x95\xFA\x8B\xF6\xDE\xD8\xFA\x35\xE1\xA6\xF3\xE3\xD7\xFA\x2D\xD6\xA7\xF7\xE3\xE0\xFA\x3D\xBA\xA8\xFB\xE3\xF0\xF6\x9C\xFA\x91\xF4\xDE\xA6\xFA\x42\xF8\xAA\xF1\xEA\xDD\xFA\xB0\xFA\xAA\xF4\xED\xAC\xFA\x4A\xF9\x49\xF0\xB4\xCB\xFA\xB1\xFA\x9F\xF4\xBA\xF4\xFA\x4F\xFA\xAD\xF0\xF1\xBC\xFA\x54\xF9\x77\xF0\xEC\xD8\xF9\x22\xF8\x33\xF1\xCE\xC3\xFB\x5D\xF9\xB1\xFF\xD4\xF8\xFA\xB2\xFA\xF4\xB8\xEC\xE1\xF9\xCA\xFB\x68\xBF\xEC\xE5\xF9\x82\xF8\x76\xD2\x11\x13\xFB\x6A\xF9\x76\xF3\xEB\xF9\xFA\x85\xFB\xA6\xFC\x68\xDD\xD9\xD8\xF8\x9C\xFD\xDD\xE9\xF3\x0C\xE5\xB8\xF8\xE7\xE1\xF7\x3B\xD0\xB8\xF5\xE7\xED\xF9\xD7\xFB\x8F\xF6\xEE\xC1\xFA\xD1\xFA\xB5\xFC\x10\x2F\xFB", - "\x89\xFB\xEC\xE4\xEF\xF9\xF7\xE8\xF0\xB3\xFA\xEB\xF0\xF2\xF7\xFA\x7F\xF9\xEF\xED\xFB\xCD\xFA\x08\xBD\xEF\xC2\xF8\x59\xF0\xBB\xC4\x86\x8D\xFA\x23\xE5\xCC\xD7\xF0\xD1\xFA\x9A\xF5\x9C\xF1\x10\x0B\xFC\x96\xFA\xB7\xF4\x63\xD0\xFC\x9A\xF9\x9E\xFA\x3E\xD4\xFC\x9F\xFA\xC4\xF7\x23\xD8\xFC\xA3\xFA\xC6\xF6\xD4\x9C\xFC\xA7\xF8\x8E\xFD\xE3\xA0\xFC\xAD\xFA\xC8\xFB\xF1\xF5\xE0\x24\xFD\xAD\xF9\xDB\xF5\xD1\x29\xFD\xAF\xFB\xF2\xED\xD4\x2D\xFD\xB0\xF3\xE9\xE2\xB0\x31\xFC\xB1\xF6\xD8\xC5\xB3\x35\xFD\xB2\xF7\xF3\xC0\xF5\x02\x05\xCE\xF0\xED\xFB\xFC\xA3\xB6\xCF\xF4\xED\xF1\xFB\xD4\xBA\xD0\xF9\xED\xE6\xF9\x46\xFE\xB8\xF3\xE9\xC9\xFD\xE7\xFA\xC3\xF7\xE6\xF0\xDF\x4C\xFC\xBC\xF0\xF4\xF2\xF9\x0C\xE5\xD4\xF5\xEF\xDE\xEE\x56\xFC\xBE\xF6\xCF\xF4\xFC\x3F\xF9\xD6\xFE\xEF\xDB\xFD\x15\x06\xD7\xF4\xF0\xFB\xF5\x3D\xFF\xBA\xF4\x77\xA2\xFD\x26\xF9\xC1\xF5\x90\xD5\xFD\x66\xFD\xD8\xFB\xEE\xDA\x31\x68\xFE\xA4\xFA\xED\xD0\xE8\x71\xFD\xC3\xF3\xEE\xC8\xCA\x63\xA0\xCA\xFA\xF7\xC1\xFC\x6E\xFC\xDF\xF2\x11\x35\xFD\x21\xFB\xD4\xF5\xF4\xFF\xF8\x90\x75\xC4\xF6", - "\xF1\xCF\xB9\x85\xFD\xC5\xF8\xEE\xF3\xB8\x89\xFD\xC6\xF7\xF8\xED\xD4\x8D\xFD\xC7\xFF\xF8\xF4\xD8\x91\xFD\xC8\xF4\xEA\xF7\xC8\x95\xFD\xC9\xF7\xF9\xC6\xB5\x99\xFE\xCA\xF3\xE4\xFD\xB8\x9D\xFE\xCB\xFF\xF9\xD8\xFE\x35\xE1\xE8\xF2\xF3\xF3\xFD\x22\xB2\xE9\xF6\xF3\xCB\xF8\xA9\xFD\xE9\xFE\xFA\xFE\xFD\xEC\xCA\xEA\xFA\xF3\xEC\xFE\x66\xA3\xEB\xFB\xEF\xC1\xDC\xB2\xFF\xCF\xFB\xE0\xF9\xFE\x43\xFE\xE0\xFF\xF4\xE1\xF3\xBC\xFF\xD1\xF5\xED\xEC\xF9\x5A\x31\xF0\xFA\xF4\xE8\xFE\xB5\xFC\xEC\xF3\x10\x06\xFF\x4D\xFF\xDD\xFF\xB1\xCB\xFF\xB6\xFD\xB7\xF3\xF9\xE4\xFE\xCA\xFD\x5A\xF9\xC6\xD0\xFF\xD5\xFD\x7D\xFC\xEE\xCF\x76\x6D\xFE\x44\x0C\xFC\xD2\xFD\xB4\xFF\x7E\xF9\xFC\xF7\xFE\xB7\xFA\xF7\xF4\xF8\xD1\xFF\x1C\xFB\x70\xF8\x56\xDF\xFF\x57\xFC\xE9\xEC\xFE\xDA\xFD\x5D\xF6\xF4\xBF\xFE\xDF\xFD\xF1\xFD\xEB\xF9\xFD\xEE\xD4\x02\x05\x48\x99\xFE\xD0\xF9\xA5\xC6\xFE\xF8\xF0\xF0\xE7\x52\x66\xFF\x7C\xC3\x79\xF0\x71\xFE\x6C\x08\x02\x00\x86\x7F\x8B\x7F\x3A\x6B\x01\x82\xF1\x7E\xF4\x62\x61\x4B\x00\x8E\x7F\x09\x81\x96\x6B\x03\x82\xF2\x71\x01\x9D\x71\x53\x00", - "\x96\x7F\x1E\x7F\xC2\x57\x05\x82\xF3\x79\x01\x85\x66\x5B\x00\x9E\x7F\xAE\x7C\x1A\x6F\x07\x82\xF4\x71\x02\x97\x91\x63\x00\xA7\x7F\x66\x7C\x07\x81\x0D\x77\x04\x8B\xFA\x67\xF1\x7C\xB6\x12\x02\x2C\x81\xD9\x7E\x0B\x81\x20\x01\x03\x9A\xFD\x73\x00\x80\x00\x35\x81\xDE\x7F\x82\x79\x07\x82\xFC\x64\xFA\x78\x00\xDD\x7F\x06\x81\xB7\x7D\x45\x04\x07\x87\xFC\x69\x01\x83\x01\xAB\x80\x3F\x7C\x22\x81\xF3\x7B\xE6\x77\x04\x97\xFF\x4A\x01\xE0\x7F\x37\x81\x90\x6B\x13\x85\xFD\x70\xCB\x68\xA3\x53\x01\xF0\x7F\x7E\x7B\xCF\x77\xF5\x79\xFF\x72\x04\x90\x01\x89\x01\xDF\x80\x4E\x80\x24\x81\x18\x83\x0C\x84\xFE\x6E\x89\x57\x01\xF4\x7F\x59\x80\xE3\x5B\x11\x25\xD9\x7B\x06\x85\x03\x94\xC0\x6D\x80\xD2\x7F\x0A\x83\x8D\x60\x0E\x8B\xFF\x7E\xF5\x5C\xCB\x74\x80\xFF\x7E\xFD\x71\xFD\x7D\x22\x08\x07\x83\x00\x8E\xFA\x60\x7E\x12\x03\x3E\x80\x02\x86\xE9\x72\x08\x8C\x00\x8E\xFF\x0C\x02\x85\x80\x08\x81\x03\x84\x0F\x85\x83\x69\x04\x94\x00\x8B\x81\x81\x81\x46\x82\x24\x87\xFE\x7A\x06\x93\x04\xAE\x01\xD2\x68\x8E\x80\x0C\x83\xF4\x7A\x4E\x59\x09\x9C\x00\x9B\x02\x8C", - "\x81\xF7\x7F\x90\x69\x27\x80\x04\x86\xF2\x67\xCD\x4A\xC8\x23\x81\x24\x81\x52\x81\xE1\x50\x15\x88\x02\x83\xFE\x52\xBF\x2C\x81\x2D\x80\xB5\x7F\x0B\x80\x11\x86\x09\x91\x03\x90\x02\xB4\x81\xA1\x81\x2E\x6C\x2C\x82\x06\x82\x0B\x9A\xFE\x5A\x31\x3B\x81\x36\x81\x5E\x82\x16\x84\xEE\x40\x0C\x9A\x01\x91\x01\xE6\x5D\xC5\x81\x1E\x82\xEF\x7E\xE2\x61\x09\x94\x04\xA0\x02\x97\x81\x27\x65\x64\x81\x11\x86\x15\x82\xC2\x52\x06\x8B\x01\xC8\x7F\xCD\x80\x68\x80\x5A\x6E\x1A\x80\x05\x82\x06\x9C\x03\xD4\x80\x2F\x7A\xD7\x75\x40\x01\x20\x52\x10\x04\x07\xA3\x03\x95\x02\xE6\x80\x00\x01\x3A\x83\x1D\x88\x0E\x8D\x07\x92\x04\x6C\x81\xEF\x80\x77\x80\x43\x00\x1E\x83\x0F\x95\x08\x3F\xA3\x02\x02\xF7\x81\x80\x01\x3E\x86\x1F\x56\x0F\x9D\x07\x92\x04\x7B\x81\x00\x82\x7F\x80\x43\x01\x20\x8F\x0F\x82\x08\x83\x04\x04\x82\x8B\x3B\xC4\x3A\x42\x81\x21\x8C\x10\x83\x08\x0A\x68\x0F\x82\x15\x53\xAD\x29\x44\x84\x87\x23\x11\x86\xD2\x15\x04\x8A\x34\x19\x52\x89\x01\x46\x84\x21\x0B\x11\x83\x08\x1D\x04\x82\x02\x1F\x83\x80\x01\x48\x80\x00\x03\x12\x85\x09\x95\x04\x26\x82", - "\x1A\x83\x93\x82\x4A\x81\x25\x8C\x12\x94\xCA\x28\x59\x63\x49\xFC\x6D\xA7\x4F\x20\x85\xBB\x72\x13\x86\x04\x8C\x01\x92\x02\x35\x82\x45\x83\x21\x83\x29\x45\x83\x79\x09\x8F\x02\xBB\x82\x02\x02\x9F\x82\x26\x82\x0E\x82\xA7\x42\x0A\x9E\x02\xC4\x82\x85\x56\xA3\x80\x29\x83\xF3\x79\x14\x9D\x09\x8E\x05\xF7\x7F\x4A\x83\x54\x80\x53\x85\x98\x51\x15\x8D\x05\xBE\x00\xCC\x81\x18\x43\xA7\x82\x36\x84\xA8\x65\x15\x91\x05\x9F\xE4\x5D\x82\xBC\x81\xAF\x80\x10\x84\x27\x89\x0B\x8A\x90\x60\x05\xC1\x81\x64\x7F\x80\x03\x59\x86\x18\x82\x0C\x8B\x0B\x8A\x03\x85\x80\x25\x76\xB7\x83\x34\x87\x2A\x80\x13\x90\x0A\xA3\x05\xC1\x82\x5D\x81\xAC\x81\x59\x80\xFE\x62\x17\x97\x06\x86\x01\xE2\x7F\x38\x83\x1F\x7D\x5F\x85\x1B\x89\x16\x98\xFF\x6A\x05\xDA\x82\xB6\x80\xA0\x83\x61\x86\x2E\x8C\x18\x9B\x0A\x9D\xD5\x03\x83\xE0\x81\xF2\x7C\x43\x03\x22\x5E\x07\x89\xF8\x52\xCD\x14\x83\x33\x83\x49\x7C\x66\x86\x26\x88\x0D\x93\x0C\xB5\xE0\x1B\x83\x3A\x83\x9B\x82\x67\x87\xFE\x70\x1A\x9F\x09\x9A\x06\x9F\x83\xA8\x82\xD2\x81\x6A\x86\x31\x81\x39\x65\x0D\x83\x05\xB7\x81\x03", - "\x02\xD7\x83\x51\x80\x36\x83\x0B\x91\x0D\xAB\x06\x89\x83\xA2\x82\xDB\x81\xB3\x7A\x36\x8B\x14\x9D\x00\xA3\x06\xAC\x83\xE0\x79\x39\x7C\x6F\x82\x2A\x8E\x1B\x90\xEE\x74\xDF\x43\x83\x56\x83\x65\x81\x45\x00\x39\x8E\x15\x9F\xEF\x7A\x06\xC0\x83\x7A\x7C\x89\x00\x73\x81\x2C\x8E\x1C\x82\x08\x13\x07\xE8\x82\xD5\x83\x80\x03\x75\x84\x2D\x85\x18\x81\xA9\x5B\x07\xEF\x82\xC7\x80\x05\x67\x77\x83\x2E\x8A\x1C\x90\xC8\x74\x9D\x63\x83\x7E\x82\x6A\x81\xB9\x72\x3A\x8F\xE3\x68\x0F\x84\x06\xD9\x83\x86\x82\x00\x02\x7B\x81\x32\x8E\x12\x73\x0F\x98\x01\xF4\x7B\xF2\x83\xDB\x81\x1D\x87\xE5\x74\x63\x76\x0F\xA8\x01\xF8\x83\xFE\x83\xB1\x7C\x7C\x86\xB8\x52\xC2\x45\x10\x85\xAE\x06\x84\xC5\x58\x04\x84\x39\x58\x2B\x83\xDA\x4A\x10\xAB\xFD\x5B\x80\xC4\x7F\x03\x87\x99\x74\xBC\x5E\x20\x96\xFE\x74\x9D\x64\x7D\xDB\x7E\xE3\x82\x7D\x7C\xEA\x79\x21\x92\xF7\x58\xF3\x52\x5F\x15\x84\x6A\x5D\x88\x81\x3E\x88\x8A\x2C\x08\x25\x08\x83\x02\x27\x84\xF2\x59\x8A\x84\xDA\x5B\x22\x92\x7E\x6D\x08\xA2\x58\x2D\x85\x17\x85\x45\x02\x46\x82\x11\x14\x11\xA6\x08\x85\x57\x36\x84", - "\x14\x84\x8E\x83\x42\x81\x10\x19\x11\x82\x04\x3E\x84\x3D\x85\x19\x86\x90\x86\xD8\x73\xE7\x60\x12\x9A\x01\xDA\x18\x46\x85\x24\x84\x8F\x80\x00\x0A\x24\x85\x66\x46\x09\xA1\x6A\x4F\x84\x73\x5D\x94\x85\xFC\x63\x25\x85\xE7\x46\x09\xC6\x5B\x57\x85\x21\x84\x39\x5D\x49\x8B\x25\x9B\x11\x8E\x09\xCB\x84\xCF\x51\x80\x01\x98\x80\x00\x03\x26\x82\x61\x65\x09\x95\x02\x67\x84\xB2\x39\xE1\x53\x4C\x89\x26\x97\xA0\x2B\x09\xEF\x84\xC5\x59\x36\x84\x4E\x28\x4E\x8C\xF3\x62\x13\xB4\x09\xA3\x5B\x6C\x84\x34\x84\x6B\x70\xFE\x62\x27\x96\xFE\x5A\x31\x7D\x84\x76\x85\x38\x84\x98\x87\x4E\x84\xDE\x40\x14\x83\x03\xFA\x84\x44\x84\x86\x72\xA1\x81\xA4\x6B\x28\x86\x77\x46\x0A\xC6\x5B\x8F\x84\x44\x84\x39\x5E\x50\x84\x29\x84\x14\x94\xBB\x11\x85\x37\x45\xBE\x31\x0B\x4C\xDA\x5A\x87\x02\x61\x5D\x0A\xAA\x19\xC5\x58\x3D\x13\xA7\x81\x53\x8E\x29\x85\x5C\x63\x0A\xCF\x47\x9C\x84\x53\x87\x92\x87\x54\x8B\x29\x92\x7E\x62\x0A\xA0\x85\x68\x78\xBA\x4C\xAB\x86\x4F\x80\x2B\x83\x6D\x73\x0A\xBB\x39\x1E\x85\xBC\x2D\xA8\x82\x55\x89\x28\x90\x10\x9A\x0A\x9C\x84\x5A\x19\x5B", - "\x87\xA1\x84\x54\x8B\x1E\x88\x15\x90\xE8\x42\x85\xC6\x5A\x61\x86\xB2\x84\x57\x84\xCE\x4B\x16\x82\xE7\x0C\x02\xD2\x17\x68\x85\x15\x26\x18\x30\x2D\x93\x16\x95\x0B\xD4\x85\x62\x2F\x6B\x86\xB6\x81\x5B\x8C\x2D\x99\x9B\x1E\x0B\x81\x02\x7B\x49\x70\x85\xE1\x53\x8F\x42\xC2\x44\x17\x95\x04\x66\x85\x72\x43\x73\x87\xB8\x83\x5D\x85\xCC\x48\x17\x8C\x04\x6E\x85\x96\x50\x76\x85\x9D\x83\x8A\x42\x2F\x83\x6D\x62\x0B\xE9\x85\xBD\x84\xBA\x4C\xBC\x84\x56\x88\x2F\x84\x67\x7B\x0B\xE0\x85\x4B\x85\x7F\x84\xBD\x85\x5D\x8B\x27\x81\xE7\x42\x0C\xE8\x68\x07\x87\x2E\x6D\xC2\x82\x41\x62\x30\x86\x6E\x4D\x0C\xEA\x85\x04\x87\x88\x86\xBF\x85\x5E\x84\xDE\x4F\x18\x92\x04\x6C\x3A\x03\x02\x8C\x86\x40\x02\x63\x84\xED\x5C\x18\x92\xBF\x1E\x86\x22\x58\x90\x85\x45\x06\x63\x82\x32\x97\x18\x85\xAE\x25\x86\x0C\x02\x94\x85\xC6\x87\x64\x8C\x32\x8F\x16\xAB\x0C\xC5\x59\x2A\x87\x8D\x87\xC8\x83\x66\x89\x2F\x94\x19\x8B\xFB\x26\x86\x30\x87\x96\x87\xBC\x81\x66\x81\x10\x1C\x19\x80\x00\x3E\x86\x21\x6A\xA0\x86\xB9\x5A\x68\x85\x7E\x64\x1A\xA5\xF3\x3E\x86\xC6\x5A\xA4\x86", - "\xCD\x83\xB4\x5E\x33\x8D\x1A\xBA\x0C\xCC\x86\x4B\x84\x39\x56\xD4\x85\x70\x56\xD4\x55\x1A\x94\x0D\xAC\x68\x56\x87\x62\x59\xD6\x84\x9C\x5B\x35\x9F\x10\x9D\x0D\xE4\x5B\x53\x87\x74\x7D\xF9\x6E\x14\x85\xCE\x7F\x1A\x94\xBB\x11\x79\x75\x68\xB3\x87\xEF\x7B\xCE\x74\x36\x97\xA3\x6D\x0D\xEC\x86\x05\x86\xFA\x6C\xDA\x81\x36\x79\x36\x97\x1A\x9A\x0D\xF6\x86\x5C\x87\x25\x87\x1F\x52\x22\x0B\x37\x8C\x08\x3D\x0D\xA3\x5B\x7F\x86\xF2\x59\xE0\x84\xDA\x53\x38\x92\x7E\x45\x0E\x85\x87\x22\x58\xC4\x85\x45\x02\x71\x8C\x37\x85\x5C\x4C\x0E\xFE\x86\x8E\x86\xBD\x85\xE4\x85\x98\x57\x38\x8B\x1C\xB1\x0D\x9B\x84\x01\x03\xC7\x87\x83\x82\x8B\x1A\x39\x82\x08\x1D\x0E\x99\x87\x92\x86\xCA\x87\xE4\x81\x56\x86\x39\x9D\x15\x9C\x0E\x97\x87\xBE\x85\xCF\x87\x91\x85\x74\x83\x2F\x8A\x1D\x86\xB7\x2A\x87\xB0\x87\xD1\x84\xE0\x82\x76\x89\x2B\x85\x8D\x47\xBA\x11\x67\xB8\x86\x16\x69\xEE\x87\xC1\x5B\x3B\x8A\x9F\x7D\x0E\xF5\x68\xBF\x87\x96\x6B\x27\x6E\x25\x61\x3C\x9D\x71\x77\x0E\xC1\x83\x98\x87\xAE\x68\x1A\x6D\x78\x87\x23\x63\x1E\x9C\xCB\x4C\x87\x6F\x87\xE4\x86\x3B", - "\x7D\x9C\x73\x3D\x81\xE7\x55\x0F\xF4\x6F\xCE\x86\xC1\x77\xF3\x82\x77\x8C\x3D\x99\x9F\x50\x0F\xCB\x84\x11\x1C\x39\x55\xF8\x82\x14\x4D\x52\x63\x1F\x85\xB3\x66\x87\xE4\x58\xF4\x87\x68\x5A\x7D\x85\x3D\x2C\xA1\x6C\x0F\xD4\x5D\xEF\x86\xE9\x5D\xFC\x82\x84\x53\x3F\x84\x1F\xB4\xD8\x75\x87\xCF\x7F\xF6\x85\xFE\x60\x7F\x88\x3E\x4F\x72\x71\x0F\xFC\x87\x0F\x84\xBA\x4C\x00\x8C\x5F\x8D\x3F\x85\x1F\xAE\x0F\xE2\x7B\xEF\x1D\x3A\x6B\x00\x8E\x2B\x28\x3C\x9E\x15\x8B\x10\xAB\x87\x09\x89\x6F\x7D\xF9\x6F\x81\x88\x46\x6F\x20\x86\xB7\x16\x88\xF6\x87\x1B\x67\x03\x8B\x83\x87\x40\x9B\x1F\x88\x10\xF7\x47\x4F\x5D\x97\x16\x9C\x52\x84\x85\xB8\x44\x21\x85\xB3\x26\x88\xE4\x58\x14\x8B\x68\x5A\x85\x82\x91\x35\xA3\x6C\x10\xD4\x5D\x2F\x88\xE9\x5D\x0C\x8A\x84\x53\x43\x89\x71\x39\xCF\x35\x88\xF9\x86\x43\x4F\x0D\x8C\x85\x61\x43\x9D\x21\x8D\x10\xF4\x4E\x38\x89\xB7\x7A\x16\x19\x88\x8B\x80\x1B\x21\x91\x07\xA0\x88\x2D\x6A\x22\x89\x0B\x8A\x82\x80\x7F\x6A\x22\xBE\x02\xB6\x88\xE4\x79\x70\x7A\x13\x88\x82\x88\x44\x95\xEB\x45\x11\xEA\x6B\x50\x88\x17\x88\x0F\x8B", - "\x8B\x86\x44\x8A\x9F\x53\x11\xC6\x5B\xAC\x20\x39\x55\x18\x8D\xE7\x3A\x3E\x63\x23\x85\xB3\x66\x88\xE4\x58\x34\x8B\x68\x5A\x8D\x8D\x7A\x39\x9F\x6C\x11\xD4\x5D\x6F\x88\xE9\x5D\x1C\x8A\x84\x53\x47\x84\x23\xB5\xD1\x75\x88\x39\x89\x2E\x52\x1B\x8C\x85\x61\x47\x9D\x23\xBF\x10\xF6\x88\x4C\x89\x3B\x68\x1E\x8D\xDC\x2C\x47\x9F\x20\x82\x9A\x05\x89\x7B\x88\xB1\x84\xFC\x6B\x90\x8B\x39\x80\x24\xA2\xE6\x5D\x6C\x8C\x88\x02\x8B\x21\x8F\x88\x83\x49\x98\x22\x8E\x64\x2D\x6A\x91\x88\x52\x35\x22\x8D\x8C\x88\x48\x96\x24\xB0\xCD\x74\x60\x14\x6B\x50\x8A\x4B\x62\x94\x84\x01\x64\x25\x92\xD1\x26\x89\x27\x64\x54\x88\x5A\x6A\x32\x8E\xB9\x6A\x25\xA5\xC6\x20\x89\x43\x79\x70\x7B\x39\x72\x41\x6E\x4A\x9D\xAA\x6C\x12\xA4\x77\xB5\x89\xEB\x85\xF2\x83\x96\x85\xCE\x7C\x25\xB2\x12\xB1\x89\xF4\x6F\x5B\x88\x2C\x7E\xB8\x59\x4B\x8C\xA1\x45\x13\xF9\x67\xC7\x88\x4F\x8B\x40\x03\x0C\x00\xF1\x4C\x26\x94\xC0\x4E\x89\x52\x68\x68\x8B\x89\x62\x9A\x88\x56\x74\x26\x84\xD5\x56\x89\x50\x64\x6C\x89\xE4\x62\x9B\x8C\x42\x7C\x26\xB9\xCF\x5E\x89\xEA\x66\x70\x89\x1D\x6A\x9C", - "\x8D\x52\x64\x27\x96\x11\x82\x02\xE6\x89\x1B\x65\x3A\x8E\xA8\x5B\x4E\x95\x08\x2D\x13\x92\x02\xEF\x88\xD2\x84\x3C\x88\x98\x8C\x90\x71\x27\xA3\xB6\x76\x89\xE4\x5A\x7C\x8B\x3C\x7C\x21\x0A\x4F\x92\x7E\x7D\x13\xA2\x58\xFF\x88\x52\x64\xDD\x49\xA0\x80\x18\x9C\x27\xB4\x13\xBE\x85\x04\x8A\x21\x8A\x3B\x8F\x41\x6B\x50\x8F\xCB\x4D\x14\xD1\x89\x2E\x63\x84\x8B\x32\x89\xA2\x84\x51\x8E\x28\x87\x60\x07\x5D\x9F\x0E\x8C\x8A\x4B\x61\xA3\x8C\x42\x7C\x28\xB9\xCF\x1E\x8A\xEA\x66\x90\x8B\x93\x5A\xA4\x8D\x52\x64\x29\xB4\xD8\x26\x8A\x37\x64\x94\x8A\x51\x5A\xA5\x85\xB8\x4C\x29\x85\xB3\x2E\x8A\xF3\x84\x98\x8B\x68\x5A\xA6\x84\xDE\x54\x29\xAE\x6E\x7F\x61\x36\x8B\xB5\x85\xF2\x81\xA7\x88\x21\x9A\x62\x3C\x14\xBA\x47\x91\x67\x9F\x89\x1E\x8A\xA8\x80\x65\x41\x2A\x87\x14\xF4\x4E\x44\x8B\x46\x8B\x45\x8F\x8F\x8B\x54\x8A\x24\xB7\xD1\x49\x8A\xB5\x82\x60\x32\xF6\x85\xA8\x8D\x51\x9B\x28\x96\x15\xDC\x65\x50\x8B\x9B\x89\x0A\x7B\x20\x04\x50\x47\x74\x5D\x15\xBA\x5D\x5F\x8B\xFC\x65\x58\x8A\x7D\x63\x56\x95\xA3\x65\x15\xAD\x6A\x67\x8B\x1E\x5D\x5A\x8F\x46\x6B", - "\x56\x86\x6A\x6D\x15\x85\x57\x6F\x8B\x62\x59\x5C\x8C\x9C\x53\x57\x83\x6D\x75\x15\xB5\x87\x00\x01\xBB\x88\xB5\x5A\xAF\x82\xFD\x5C\x2B\xBE\x15\xC7\x8A\x15\x02\xBE\x89\x4F\x89\xB0\x8E\x12\x62\x2C\x84\x16\x96\x8A\xD4\x4F\xC2\x8A\x62\x89\x78\x75\x7E\x66\x2C\x85\x14\xDC\x8A\x80\x8A\x89\x02\x63\x8A\xA1\x82\x59\x8C\x28\x95\x16\x88\x8B\x90\x8A\x6E\x67\x64\x89\xB3\x82\x45\x7B\x2C\xBD\x9B\x0B\x8B\x53\x8B\x81\x01\x22\x57\x1F\x63\x5A\x85\x8D\x65\x16\xDD\x6A\xA7\x8B\xC8\x65\x6A\x8C\x85\x6B\x5A\x99\x9F\x6D\x16\xB3\x5C\xAF\x8B\x3A\x69\x6C\x8D\xA5\x63\x5B\x94\xB1\x75\x16\xB7\x64\xB7\x8A\xA3\x59\x6E\x8D\x70\x5B\x5B\x8E\x19\x82\x04\x3D\x8B\xE4\x58\xE0\x8B\x68\x5A\xB8\x8F\x5B\x90\x78\x44\x17\xEC\x7C\x74\x4F\xE3\x8A\x4E\x8D\x43\x81\x10\x0A\x2E\xA2\xB0\x4E\x8B\x15\x02\xE8\x89\x1E\x8A\xBA\x8C\x10\x14\x2E\xA2\x16\x91\x8B\xD5\x8B\x83\x8A\x16\x1E\xBA\x86\x21\x91\x2E\x9A\x17\xDE\x8B\x98\x8B\xE2\x89\x78\x8D\xB9\x8E\x12\x7C\x2E\xA4\x17\xDC\x65\xE6\x8A\x00\x01\x7A\x89\xBD\x86\xDC\x51\xB9\x6E\x17\xF8\x83\x59\x81\xF8\x88\x7C\x8A\x6A\x62\x5F", - "\x90\xDA\x75\x17\xB3\x77\xF7\x8A\xCF\x75\x1A\x87\x06\x89\x5F\x92\xA9\x6F\x17\x99\x77\x5D\x6D\x2C\x80\x1A\x6D\xBF\x80\xCB\x7B\x2F\x82\x03\x84\x8C\xE1\x81\x61\x85\x77\x86\xDC\x52\x60\x81\x30\xB8\x07\x83\x8C\xF8\x83\xF6\x89\x84\x8C\xBF\x83\x5F\x96\x2F\x95\x18\xF8\x8B\x13\x8C\x89\x03\x21\x50\x81\x6B\x61\x90\x9B\x5D\x18\x9E\x77\x1F\x8C\xD2\x75\x88\x88\x96\x73\x62\x89\x30\xA5\x18\xF4\x60\x27\x8C\x97\x61\x8A\x8C\x5B\x6B\x62\x92\xA2\x6D\x18\xA7\x64\x2F\x8C\xB4\x69\x8C\x8C\xA8\x63\x63\x8F\xDF\x55\x04\x35\x8C\x91\x66\x1C\x8C\x0B\x6A\xC7\x8F\xE0\x5C\x31\xB3\xB8\x3E\x8C\x81\x6C\xF8\x6C\x90\x89\x90\x84\x7F\x63\x32\xB4\xD8\x46\x8C\x37\x64\x24\x8F\xDC\x81\x20\x0A\x64\x85\x5C\x4D\x19\xC5\x59\x4F\x8C\x79\x8A\x21\x57\xC1\x86\xEE\x51\x32\x9A\x08\xBE\x85\x56\x8C\x60\x87\x8D\x89\xC3\x83\x65\x8A\xF4\x5A\x18\xF8\x83\x59\x8C\x6A\x5D\x98\x8A\xFA\x53\x66\x82\x61\x65\x19\xDB\x8C\x5E\x8C\x86\x00\x79\x50\x6E\x6B\x66\x8E\xA0\x6D\x19\xA4\x77\x6F\x8C\x58\x79\x9C\x89\xC1\x83\x67\x94\xA8\x75\x19\x90\x5E\x77\x8C\x6E\x65\x9E\x8A\x8A\x6B\x67\x87", - "\x91\x7D\x19\xE8\x6A\x7F\x8C\xA2\x69\xA0\x8D\xAB\x63\x68\x99\x1E\x83\x04\x05\x8D\x2C\x68\x44\x8D\xFE\x62\xD1\x83\xE3\x4C\x34\x8F\xB9\x0E\x8D\x44\x8D\xE4\x84\xA4\x8F\x91\x8A\x20\x73\x34\xB7\xC8\x16\x8D\x46\x5A\x4C\x8F\x92\x82\xD3\x85\xCC\x5C\x34\xA4\xB3\x1E\x8D\x57\x8C\xBA\x4C\xA8\x8A\xCB\x82\x11\x03\x35\x88\x17\x95\x02\xA6\x8D\xE5\x8A\x16\x19\xD5\x8C\x20\x82\x08\x2C\x1A\xF8\x7E\xAE\x8C\xFC\x83\xAB\x8D\xD4\x82\x6B\x95\x35\x90\xED\x33\x8D\xEC\x65\x05\x7E\xAE\x8F\x06\x80\x17\x8A\x0F\xB9\x06\xAE\x81\xBD\x8C\xBA\x83\xAF\x8A\xD8\x8D\x19\x9F\x0B\x85\x1B\xD1\x8A\xC4\x8C\x63\x8E\x99\x7B\xD7\x82\x0C\x81\xA9\x41\x1B\xD4\x88\xCA\x8C\x5F\x8F\xB1\x8A\x1C\x85\x1E\x93\x36\x95\x1B\x81\x88\x8A\x82\x68\x8E\xB4\x88\xDB\x83\x6C\x9A\x36\x89\x1B\xC8\x8D\xD7\x8C\x70\x8F\xB3\x8B\xDC\x8C\x6B\x85\x37\x82\x03\xCF\x8D\xC6\x5A\x2D\x53\x47\x72\xDD\x82\x99\x6C\x37\xBF\xFB\x0C\x02\xEE\x8C\x40\x80\xBC\x8F\x06\x81\x6F\x9B\x03\x92\xA1\x0F\x74\xF5\x8D\x2C\x81\xBE\x88\x3F\x8B\x6F\x90\xDA\x7D\x1B\xB3\x77\xFF\x8C\xCF\x75\xC0\x8C\x74\x73\x70\x83\x26", - "\x95\x04\x05\x8E\x09\x8C\x84\x8C\x45\x6A\xE1\x80\xF1\x4C\x38\x94\xC0\x0E\x8E\x5C\x75\x2E\x6C\xC4\x8C\xC9\x77\x47\x73\x38\xA8\xD5\x16\x8E\x44\x6A\x8C\x8E\x8D\x8F\xDE\x82\x0C\x9A\x38\x91\xCE\x1E\x8E\x4C\x8B\x79\x8D\xB3\x8E\xDC\x50\x72\x8E\x2A\xB3\xF9\x25\x8E\x51\x88\xFA\x6C\xCA\x89\xA1\x73\x10\x0B\x39\xB4\x0D\x82\x02\x2E\x8E\x1A\x6D\xCC\x8F\x46\x63\x73\x86\x6A\x75\x1C\x85\x57\x37\x8F\x62\x59\xCE\x8B\x5E\x86\x85\x52\xCC\x7D\x1C\xAB\x75\x3F\x8E\x79\x8F\x40\x01\xE8\x86\x6F\x8C\x08\x04\x1D\xD9\x80\x47\x8E\xFC\x81\xD2\x88\x81\x6B\x74\x93\xDD\x4D\x1D\x9E\x77\x4F\x8E\xD2\x75\xD4\x88\x96\x73\x75\x89\x30\x95\x1D\x94\x6A\x57\x8E\xCB\x8A\xD1\x8F\x06\x89\x75\x9C\x96\x5D\x1D\x9B\x60\x5F\x8F\xE8\x5D\xD8\x89\xCA\x75\x7E\x63\x3B\x86\xEF\x65\x79\x66\x8F\xAE\x69\xDA\x89\x72\x6B\x76\x86\x24\x82\x04\x6D\x8E\xF9\x66\xB8\x8E\xFA\x62\xEE\x81\x64\x81\xE7\x74\x1D\x91\x8D\xCC\x8A\x00\x03\xDD\x8C\xD2\x80\x7F\x7B\x3B\x8B\xEF\x77\x68\x7E\x8F\x25\x8E\xDE\x8F\x06\x86\xDC\x41\x3C\x85\xAE\x06\x8F\xC5\x58\xC4\x8C\x39\x5A\xF1\x83\xDA\x4C\x3C\xA4", - "\xB7\x0E\x8F\xFB\x89\x81\x02\x79\x57\x23\x73\x79\x92\xCC\x55\x1E\xEF\x8D\x92\x8F\x1B\x83\xE5\x8A\xE8\x82\x10\x1B\x3C\x85\x1D\x99\x8F\x05\x74\xCF\x8D\x16\x82\xF4\x88\x1F\x84\x3D\x90\xED\x26\x8F\xB3\x76\xD4\x8E\xE7\x72\xF5\x84\xBA\x6C\x3D\x86\x1C\x92\x02\xAE\x8F\x04\x8D\xEC\x8C\xA2\x63\x7B\x90\x78\x75\x1E\x94\x60\xB7\x8F\x88\x8D\xF9\x69\xF7\x84\x71\x94\xBF\x7C\x1E\xE8\x6A\xBF\x8E\xA2\x69\xF0\x8B\xE3\x8C\x10\x03\x3E\x91\xCE\x46\x8F\x2C\x68\xE4\x8E\xC9\x89\x79\x8A\x7C\x89\x39\x8C\xE4\x4D\x8F\x75\x8F\x39\x7C\xF4\x88\xEF\x8A\xC5\x13\x3E\xA7\x13\x81\x02\xD6\x8E\x77\x6D\x45\x01\xFB\x86\xD4\x5C\x3E\x85\xAE\x5E\x8F\xC5\x58\xF0\x8C\x39\x5A\xFC\x83\xDA\x44\x3F\xB8\x15\xD9\x53\xF1\x7E\xF4\x8D\xCC\x6A\xFD\x88\x1F\x8C\x3F\x90\xED\x6E\x8F\xB3\x76\xF8\x8E\xE7\x72\xFE\x82\x53\x74\x3F\xB0\xF2\x76\x8F\x09\x8C\xFC\x8C\x45\x6A\xFF\x8E\x12\x7C\x3F\x9C\xCB\x7E\x8F\x52\x68\x00\x93\x8F\x75\x22\x02\x80\x88\xAB\x45\x20\xC4\x6A\x07\x90\x28\x65\x02\x97\xD0\x5B\x80\x81\x39\x83\x04\x0D\x90\xCB\x8F\xBC\x8C\x04\x92\x7D\x63\x81\x95\xA3\x55\x20", - "\xAF\x8E\x01\x03\x0B\x90\x8D\x6A\x03\x97\x23\x7C\x40\x91\x0F\xBE\x85\x1E\x90\xD4\x86\x16\x19\x04\x95\x33\x92\x08\x24\x20\xB7\x86\x0C\x03\x13\x93\x87\x82\x05\x97\x7E\x97\x01\xAC\x20\xD4\x5D\x2F\x90\xE9\x5D\x0C\x92\x84\x53\x83\x84\x40\x84\x1E\x95\x02\xB1\x4F\x55\x75\x0E\x96\x9E\x7B\x83\x9F\x3C\x82\x04\x3D\x90\x59\x80\x20\x90\x7E\x82\x08\x90\xB5\x64\x42\xB0\xCD\x46\x90\x9E\x76\x24\x90\xE9\x72\x09\x90\xCB\x6C\x42\x89\x18\xCE\x90\x14\x6A\x28\x92\x4B\x62\x0A\x93\x5E\x80\x00\x14\x21\xD2\x68\x57\x91\x13\x65\x16\x97\x1F\x6B\x85\x85\x8D\x5D\x21\xCA\x87\x5D\x6D\x2F\x92\x2E\x89\xEF\x82\x86\x8C\xA1\x65\x21\xF9\x67\x67\x90\x65\x8B\x0F\x97\x06\x89\x86\x95\xA3\x6D\x21\xF8\x8E\x74\x4F\x37\x90\xDF\x8F\x8E\x62\x87\x9F\x3B\xB3\xF9\x75\x90\x1F\x90\x2D\x18\x1E\x93\x49\x8B\x87\x9E\x2D\x81\x04\x7D\x90\xE4\x58\x40\x93\x68\x5A\x10\x94\xDE\x44\x44\x94\xBB\x06\x91\xD2\x5E\x44\x91\xAB\x89\x20\x0E\x9D\x5F\xC8\x4D\x22\x92\x73\x8F\x90\xCC\x8F\x76\x57\x06\x81\x89\x9C\x3C\x8C\x22\x94\x91\x0F\x75\x4A\x92\x0F\x97\x12\x92\x0C\x9A\x44\x99\x01\x9E", - "\x91\xF8\x82\x50\x90\xD4\x72\x14\x93\xBB\x64\x45\x9E\xEE\x46\x5B\xA6\x90\xD2\x75\x2A\x90\x96\x7B\x8A\x81\xB8\x6D\x22\xF4\x60\xAF\x90\xEC\x8B\x40\x01\x16\x9C\x58\x85\xE7\x74\x22\xD2\x68\xB7\x91\x13\x65\x2E\x91\x4C\x75\x11\x1B\x45\x84\xD5\x3E\x91\x5D\x6A\x60\x93\x18\x94\xEE\x42\x8C\x8D\x20\x9A\x31\x45\x91\x11\x90\x62\x91\x78\x86\x16\x97\x83\x92\x08\x08\x23\xEA\x90\x9C\x91\xC2\x83\x33\x95\x8E\x63\x8D\x8D\xA9\x55\x23\xB4\x6C\xD7\x91\x1B\x65\x36\x92\xF0\x8E\xF4\x7D\x46\x99\x1B\xB4\x83\x9F\x81\x62\x58\x38\x90\x29\x85\x02\x86\x6A\x63\x23\xE7\x91\xDF\x91\x74\x91\xB7\x8B\x1C\x96\xDC\x48\x47\xAB\x23\xDD\x7B\xDE\x91\x6E\x8D\x48\x6B\x1C\x98\x46\x6E\x47\x96\x1B\xEC\x91\xA3\x7E\x73\x92\x3A\x96\xDA\x83\x8F\x99\x36\xB5\x23\xFE\x91\x5D\x6C\x7A\x92\xB9\x58\x1F\x95\x8E\x8B\x12\xB6\x23\xD1\x8D\xE1\x90\x72\x5B\x41\x93\xDB\x85\x1C\x98\x2B\xA8\xA5\x73\x7E\x0F\x92\x33\x7D\x44\x94\x21\x91\x10\x13\x48\x9F\x1B\x95\x92\xD9\x8C\x8B\x91\xB8\x88\x23\x93\xE9\x7A\x48\x8F\x1B\x9E\x92\x37\x80\x90\x92\x30\x82\x24\x95\x18\x84\x49\xB0\x07\xA6\x92", - "\x92\x90\x8E\x92\xB5\x8E\xB8\x58\x92\x96\x44\x80\x00\x2D\x92\x9B\x91\x97\x91\x77\x78\x26\x91\x73\x74\x49\x94\x19\xE5\x6F\x36\x92\x00\x8E\x82\x61\x27\x93\xBB\x7C\x49\x9E\xEE\x3E\x92\x78\x79\x8A\x00\x50\x90\x96\x73\x94\x89\x30\x85\x25\xBE\x89\x73\x7D\xA3\x93\x77\x8A\x22\x0A\x94\x95\x45\xA1\xF3\x4D\x92\xBA\x8F\x72\x78\x54\x93\x00\x9C\x94\x99\x36\xAC\x24\x99\x92\x58\x93\x6E\x8F\x54\x90\xAD\x6B\x95\x84\xAA\x5D\x25\xC4\x8F\x1D\x7C\x88\x5C\x7F\x82\xD6\x53\x96\x86\x6A\x65\x25\x85\x57\x67\x93\x62\x59\x5A\x94\x9C\x5B\x96\x81\x4B\x9C\xCB\x6D\x92\xE4\x5A\xB8\x90\xB5\x5A\x2E\x92\xFD\x54\x4B\xA2\xB0\x76\x92\x0E\x78\xAA\x92\x65\x7E\x25\x68\x97\x82\xE8\x54\xC0\x74\x92\x7D\x93\xB7\x78\xDD\x49\x30\x9A\x54\x9B\x4B\xAF\x25\xF9\x91\x68\x92\xC4\x92\x1F\x96\x0E\x82\x45\x64\x4C\xAA\xFF\x67\x8E\xE1\x78\xC7\x93\x13\x8E\x2F\x91\x95\x91\x4C\x8A\x26\xA8\x90\x6E\x93\xD0\x8B\x63\x90\x2C\x9B\x99\x91\x9C\x52\x26\x8C\x93\x27\x65\xCF\x92\x68\x97\x32\x9F\x21\x82\x45\x45\x24\x92\x02\xA6\x92\x55\x80\x6A\x94\x34\x94\xDE\x49\x4D\x93\x05\xE4\x59\xAE", - "\x93\x86\x90\xB5\x59\x36\x99\x90\x83\x6D\x74\x26\xE4\x91\x0C\x03\xDB\x93\x38\x92\x37\x99\x6D\x9C\x4D\x9D\x1B\xBE\x93\xD6\x8C\xE0\x90\x42\x90\x00\x02\x9C\x94\x48\x84\x27\xAC\x93\x91\x8E\x81\x01\x71\x97\x22\x97\x9C\x87\x4D\xB0\x26\xC8\x93\xCD\x92\xD5\x91\x6E\x90\x3A\x98\x21\x94\x3B\x4B\x27\x9B\x92\xDE\x8D\xE8\x93\x6B\x96\x36\x94\x9D\x95\x08\x17\x27\xE8\x8D\xDE\x93\xEE\x93\x6A\x96\x39\x9C\x9D\x84\x4F\x9C\x08\xD6\x93\xE2\x92\xCA\x8B\x74\x96\x3C\x97\x6A\x83\x4F\x92\x27\xD7\x8C\x5A\x19\xEF\x91\x33\x93\x3D\x9F\x9E\x98\x2B\xB2\x27\xC2\x81\xF7\x93\xC2\x81\x7E\x90\x3E\x8B\x9F\x89\x49\x9A\x27\xB2\x93\xD2\x5F\xFE\x92\x4B\x96\xB8\x5C\xB7\x61\xB8\x45\x28\xF4\x60\x07\x94\x97\x61\x82\x94\x5B\x6B\xA0\x92\xA2\x4D\x28\xA7\x64\x0F\x95\x7F\x61\x84\x94\xA8\x63\xA1\x9D\xAA\x55\x28\x91\x67\x17\x94\x16\x69\x86\x91\x7F\x6B\xA1\x8A\x9F\x5D\x28\xAC\x8E\xA0\x74\x97\x93\x87\x95\xA5\x63\xA2\x9D\x71\x65\x28\xB2\x5D\x27\x95\x0F\x90\xDD\x49\x45\x92\x82\x9F\x03\xB1\x24\xAC\x94\xC5\x58\x18\x97\xBC\x82\x46\x93\xDA\x54\x51\xA4\xB7\x36\x94\xED\x92", - "\x00\x82\x4E\x95\x9C\x78\xA3\x8B\x2E\xAB\x28\xF9\x92\x64\x8E\x1E\x94\x90\x93\xAB\x81\xA2\x91\x49\x84\x28\xC3\x94\x16\x94\x24\x94\x86\x92\x49\x9A\xA1\x8C\x52\x9C\x28\xCE\x94\x1E\x94\x28\x94\x88\x91\x20\x0E\x89\x54\x4C\x91\xBF\x55\x94\x86\x93\x0D\x60\x96\x91\x33\x97\x22\x7B\x52\x9D\x26\xAC\x68\x5E\x94\xFE\x7D\x57\x69\x4C\x90\x9A\x88\xAB\x64\x29\xF4\x92\x67\x95\xF4\x93\x40\x01\x4D\x9C\x9E\x92\x7E\x6C\x29\xF5\x93\xD4\x5D\x37\x97\x76\x94\xBC\x52\xA7\x80\x50\xA2\xB0\x75\x94\xB5\x92\x3A\x96\x94\x90\x03\x90\x00\x18\x53\xB8\x26\xA3\x5B\x7E\x95\x71\x91\xA0\x95\xBB\x73\xA8\x93\xF4\x45\x2A\xFC\x91\x5D\x6D\x43\x97\x70\x90\x8D\x6A\xA8\x86\x4E\x8D\x2A\xCC\x93\x8F\x94\xEC\x92\x71\x59\x52\x9F\x6C\x94\x54\xB7\x00\x96\x95\x23\x8F\xF2\x6C\xA6\x93\xC1\x8A\x20\x7B\x54\xB0\x07\xA1\x6A\x9E\x94\xFF\x90\xA3\x93\x4F\x97\x7D\x9D\x53\xA4\x2A\xDA\x8F\x12\x03\x50\x96\x4B\x92\x55\x91\x93\x8C\x55\x99\x01\xAE\x95\xF8\x82\x58\x94\xD4\x72\x56\x93\xBB\x66\x6E\x44\x00\x8F\x74\xB7\x95\x02\x75\xAE\x95\x30\x8B\xAB\x90\x0F\xBD\x2A\xFE\x93\xBF\x94\x97", - "\x91\xB0\x91\xFE\x73\xAC\x99\x02\x85\x2B\xF8\x83\xC7\x94\xA8\x75\xB2\x93\x76\x7B\xAC\x9E\xDC\x4D\x2B\xA4\x77\xCF\x95\xD7\x8F\x7F\x82\x59\x9E\xA2\x86\x56\x95\x2B\xD2\x66\xD1\x95\x80\x6D\xB6\x90\x29\x99\x3C\x9B\x56\x8B\x25\xD3\x95\xCC\x95\x6B\x94\xB5\x96\x32\x89\x66\x82\x10\x80\x2B\xE2\x95\xE1\x94\x72\x97\xEC\x71\xA4\x6E\xAD\x8E\x4A\xB4\xDF\x6D\x95\x95\x93\x39\x7C\xBC\x95\xF7\x8C\x90\x73\x57\xBC\x22\xF7\x83\xE5\x95\xB4\x7C\xAF\x90\x5D\x9E\xAC\x9C\x57\x90\x2B\xFE\x95\xB0\x78\x7B\x94\x51\x6A\x60\x9C\x99\x81\x08\x32\x01\x00\x96\x01\x6F\x83\x96\xBA\x96\x81\x6A\xB0\x9A\x51\xB3\xEE\x0D\x96\x7A\x81\x2C\x80\xC4\x95\x48\x92\xB1\x88\x58\x94\xD4\x13\x96\xE3\x74\xC9\x70\xC6\x96\x5F\x78\x1F\x9B\x58\xBD\x28\xA2\x58\x1E\x97\x53\x96\x51\x59\x64\x96\xA5\x88\xAB\x64\x2C\xD9\x94\x27\x65\x93\x94\x97\x96\x64\x96\xB1\x9A\x3A\x83\x04\x2A\x96\x5F\x95\xFC\x64\xCC\x92\x4C\x91\x39\x73\x59\xA5\x29\xA5\x63\x36\x96\xBA\x91\xCE\x92\x4D\x9D\x5D\x92\x08\x3B\x2C\xED\x94\x83\x8A\x9F\x95\xCB\x94\x5B\x6F\xB3\x90\x53\x92\xBF\x45\x96\x73\x95\xE4\x92", - "\xC1\x93\x68\x92\x45\x68\x5A\xB6\x29\x95\x02\x4E\x97\x3C\x95\x8E\x97\x65\x9C\xB4\x94\x57\xB9\x1D\xD1\x96\x7F\x95\xF3\x90\xD4\x95\x6A\x91\xA4\x97\xA3\x58\x2D\x84\x92\x0C\x03\xAF\x96\x55\x93\x6B\x9B\xB0\x84\xDD\x62\x2D\xDD\x8D\x67\x96\x6B\x8D\xDA\x93\x38\x9B\xB6\x86\x4E\xAD\x2D\xCC\x93\xC6\x5B\xF7\x83\xAA\x72\x6E\x96\xCF\x74\x5B\xB1\x24\xF6\x96\x59\x80\xBC\x94\x7E\x82\x6F\x90\xB5\x7C\x5B\xB0\xCD\x7E\x96\x9E\x76\xC0\x94\xE9\x72\x70\x90\xCB\x64\x5C\x89\x18\x86\x97\x14\x6A\xC4\x96\x4B\x62\x71\x95\x85\x8C\x5C\x92\xD1\x0E\x97\x27\x64\xC8\x97\x3F\x62\x72\x95\x1A\x74\x5C\xA0\x21\xE5\x6F\x96\x97\x31\x92\x16\x19\x73\x9C\x42\x7C\x5C\xB9\xCF\x1E\x97\xD0\x91\xF4\x80\x73\x90\x74\x95\x47\x64\x5D\xB0\x21\xCD\x83\xA2\x94\x73\x5E\xE9\x93\x0E\x93\xE7\x6B\x5D\xB6\x21\x8C\x72\xAE\x96\xC1\x8D\xEC\x93\x49\x83\xBB\x85\x66\x75\x2E\xE4\x59\xB7\x97\xD1\x59\xEE\x94\xBC\x5B\xBB\x94\x76\x7D\x2E\x90\x74\x81\x50\xEA\x83\xAA\x71\x78\x98\x1D\x83\x5E\xA8\x2E\xAE\x92\xC4\x96\xEE\x80\x7C\x81\x79\x90\x1E\x82\x06\x8C\x2F\xE4\x83\xCF\x8D\xE7\x96\xE8", - "\x96\xF7\x72\xBD\x9F\x5D\xA2\xB0\x55\x97\xF4\x82\x6E\x64\xF6\x90\x5F\x93\xBB\x7B\x5E\xA0\x2B\x9E\x77\xDE\x96\x73\x94\xF2\x97\x78\x91\x93\x81\x5F\xBA\x2B\x83\x84\x15\x02\xF3\x96\xDC\x7B\x38\x9A\xBE\x96\xFB\x5D\x1B\xED\x97\x04\x97\x43\x5C\xFC\x94\x6B\x95\x1A\x73\x5F\xA5\x2D\xD5\x80\x5D\x6C\xFB\x96\xC3\x96\x73\x78\x46\x7A\x5F\x91\x2C\xF8\x83\xFE\x96\x8A\x94\x00\x9C\x7C\x96\x60\x8C\x08\x01\x30\x99\x96\xFE\x93\x03\x98\xC7\x90\x6A\x7A\xC0\x9F\x58\x82\x14\xE9\x97\x04\x99\x9B\x91\x39\x7D\x81\x92\xB2\x88\x1D\xB4\x9D\x14\x98\x25\x96\xC8\x90\xFD\x68\x83\x98\xB2\x97\x57\x86\x30\x91\x98\xF9\x95\x80\x00\x07\x9B\x65\x94\x54\x63\x61\xB1\x2C\xEA\x67\x26\x98\x9A\x94\x0B\x69\x85\x97\xB3\x9D\xAA\x6C\x30\x9F\x93\x2F\x98\x9E\x94\xB5\x8A\x15\x55\xBC\x96\xE7\x74\x30\xCA\x97\xAB\x75\x1B\x99\xF3\x95\x30\x8A\xC3\x90\x5E\xB7\x00\xBD\x98\xD3\x97\x67\x8C\x10\x9E\x7A\x95\x11\x03\x62\x99\x2F\x9B\x60\x46\x98\xEE\x96\xE7\x71\x89\x9F\xBD\x84\xDD\x4C\x31\xE2\x97\x31\x93\x27\x9B\xF9\x96\x3F\x92\xC5\x8B\x5F\x86\x27\xD5\x98\xEE\x96\x6B\x8C\x16\x99", - "\x7E\x9E\x76\x81\x08\x1B\x31\xF4\x97\x5D\x6B\x2F\x9B\xFD\x91\xC1\x82\xC6\x9B\x5F\xB2\xD4\x65\x98\xFF\x96\x04\x68\x1A\x9A\x80\x9B\xA3\x81\xE7\x6B\x31\x88\x98\x2E\x92\x34\x6B\x1B\x9B\x81\x93\xBB\x73\x63\x8E\x30\x92\x02\x76\x99\x0A\x9B\x62\x91\x8F\x99\xC1\x81\x63\xA0\x30\xF5\x98\x7F\x98\xFE\x95\x97\x6C\x8F\x9D\xC1\x9A\x60\x8C\xE4\x04\x99\x24\x99\xCB\x94\xFC\x68\x91\x97\xC2\x91\x3E\x87\x32\x81\x99\x41\x92\x3C\x98\x24\x9A\x5A\x93\x10\x0C\x64\xAA\x30\xF9\x67\x96\x99\x16\x99\xE4\x61\x93\x9F\x99\x9C\x64\xB2\x30\x80\x00\x9E\x98\xA0\x95\x11\x9B\x92\x99\x60\x86\x6E\x49\x07\x8B\x7C\xA7\x99\x07\x75\x2A\x9A\x18\x8B\xCA\x85\x0C\xAD\x32\xF0\x83\xAF\x98\xFF\x91\x2C\x9E\x9E\x73\xCB\x91\x49\xB5\x32\xD9\x80\xB7\x98\xFC\x81\x2E\x98\x6A\x7B\xCB\x93\xDD\x7D\x32\x9E\x77\xBF\x99\x48\x9A\x69\x86\xDA\x81\xCC\x90\xE5\x45\x33\x81\x6E\xC7\x98\x3A\x61\x32\x9A\x16\x93\x1B\x80\x48\x8A\xC8\x4B\x99\xDC\x64\x68\x9A\x14\x6A\x9A\x9A\x97\x8F\x0D\x99\x1B\xD4\x99\x68\x6A\x6C\x9A\x21\x9E\x57\x8A\xCD\x8A\x64\xB7\xD1\x5D\x99\xC3\x90\xCE\x83\xA2\x96\xDC", - "\x50\xCE\x9D\x62\x84\x07\xD2\x96\x10\x75\x72\x99\xFE\x62\x9D\x9A\x3E\x6C\x67\xB5\xD1\x6E\x99\x2D\x6A\x78\x98\x8D\x6A\x9E\x98\xAA\x8C\x08\x20\xA2\x21\x83\x73\x7F\x7B\x9B\x30\x9E\xCC\x7A\xCF\x96\x66\x9D\x1B\xFD\x99\xCD\x99\x7F\x9A\x38\x9E\x38\x90\xD0\x9D\x0D\xA8\x33\xA2\x58\x05\x9B\x73\x99\xD6\x91\x20\x09\xD0\x94\x67\x86\xB5\x0D\x9A\xA4\x98\x8A\x68\x44\x9A\x78\x9E\x92\x93\x68\xB5\x30\xB1\x92\x16\x9A\x1C\x99\x45\x9B\xA0\x9C\x9C\x99\x68\xBB\x30\xE8\x97\x12\x02\x8F\x9A\x0F\x9A\x18\x82\xD2\x81\x62\xB7\x00\xA5\x9A\xBF\x96\x94\x9B\x11\x99\xFA\x5A\xD2\x8A\x62\x9E\xF1\x5D\x6C\x2D\x9B\x26\x98\xFE\x92\x41\x61\xD3\x90\x62\x99\x01\xB5\x9A\x53\x99\x8D\x98\x3E\x9B\x38\x96\xDC\x58\x69\x96\x31\x9D\x9A\x1C\x9A\xEC\x92\x4F\x99\x8B\x93\xCE\x85\xBF\x43\x35\xDC\x98\x11\x90\x2D\x1B\x51\x98\x8C\x91\xCE\x81\x69\x81\x35\xCF\x8D\x68\x69\xA5\x9B\x18\x9A\x98\x80\x00\x12\x6A\xA6\x31\x94\x99\x02\x02\xAB\x99\x1A\x9B\x76\x7A\xD5\x8C\x63\x9C\x35\xCF\x9A\x27\x9A\xB0\x98\x49\x9A\xAC\x95\x18\x9D\x6A\xB0\x31\xC6\x94\xFC\x6D\xCC\x83\xDC\x7A\xAD\x93", - "\x9C\x8C\x6B\x86\x27\xEE\x9A\xCC\x92\xB8\x98\x76\x92\xAE\x9B\xE0\x74\x6B\xB7\x00\xF6\x9A\xC2\x80\xBC\x99\x61\x82\xAF\x90\x1F\x9C\x6B\xBE\x27\xFE\x9A\x2E\x92\xC0\x98\x5A\x9F\xFE\x72\xD8\x99\x02\x85\x36\xD2\x66\x87\x9A\x04\x69\x62\x9B\x5D\x9D\x65\x6B\x6C\x82\x32\x8A\x64\x8E\x9A\xD2\x75\x64\x98\x96\x73\xD9\x85\x65\xB5\xE0\x15\x9B\x14\x6A\xCC\x98\x33\x99\x0F\x8E\xD5\x8F\x6C\xA5\xF3\x1A\x9B\xEE\x95\xE4\x84\x68\x99\x5E\x9C\x90\x63\x6D\x95\x33\xFB\x83\x9F\x98\xE3\x5A\x69\x98\xAD\x6B\xDA\x84\xAA\x6D\x36\xDD\x6A\xAF\x9B\xC8\x65\x6C\x9C\x85\x63\xDB\x94\x24\x82\x04\x76\x00\xFC\x6C\xDC\x99\xB3\x7A\xB7\x90\x1D\x8A\x9F\x7C\x36\xB8\x83\xD6\x8D\xDF\x98\x6A\x9A\x94\x92\x11\x02\x6E\x9C\x36\xE7\x9A\x59\x80\xE3\x99\x65\x87\xAA\x91\x70\x6A\x6E\xB5\x36\xBE\x9B\x35\x70\xE7\x98\x59\x98\x3E\x82\xDD\x9B\x69\x86\x27\xD5\x9B\xFB\x99\xEB\x99\x74\x9F\xC7\x78\xDD\x9E\x67\x81\x37\xDB\x9B\xBB\x9B\xDC\x9B\x5D\x81\x20\x0D\xDD\x81\x68\x88\x2A\x8A\x64\xE5\x9A\x83\x9B\x42\x9A\xFA\x59\xDE\x8A\x68\xA3\x23\xED\x9B\x0E\x9B\x25\x84\x7C\x99\xA2\x9E\x12", - "\x73\x6F\x94\x34\xB1\x92\xF6\x9B\x8B\x99\x83\x8D\xFC\x69\xDF\x9A\x68\xB1\x24\xE8\x68\xFD\x9B\x8F\x99\xEA\x94\xBF\x99\x17\x83\x08\x01\x38\xA3\x9A\x85\x82\xE3\x5B\x81\x9E\xA4\x92\x0C\x8A\x70\xA0\x37\xBD\x9B\x75\x69\x05\x9C\x11\x9D\xB8\x9F\xE0\x80\x6E\x83\x27\x92\x9C\x2B\x9A\x0F\x9B\x40\x01\x0D\x52\x11\x05\x46\x4C\x04\x43\x51\x10\x9D\x86\x5A\x87\x9B\x20\x00\xE2\x96\x70\xAE\x02\xA3\x9C\x02\x03\x12\x9F\x70\x9E\x68\x92\xC2\x48\x71\x81\x04\x2A\x9C\xC7\x9A\x3A\x9A\xE7\x76\xC5\x90\x00\x10\x71\x8B\x37\xDB\x9A\x33\x9D\x8A\x02\x1E\x05\x22\x04\xE3\x96\x71\x8F\x37\xF5\x68\x3D\x9C\x7E\x6D\x90\x9F\xFE\x73\xE4\x81\x71\xB4\xD8\x45\x9C\x26\x9C\xE6\x90\x92\x9B\xC5\x99\xB4\x92\x7E\x4B\x39\xB1\x9C\x77\x98\x86\x03\x93\x9F\xC6\x9D\xD9\x84\xDD\x53\x39\xBF\x9C\x7C\x95\x2B\x9F\x74\x9E\x3F\x9A\xE5\x96\x6E\x8A\x39\xBD\x51\x42\x9C\x30\x9D\xB3\x7D\xCB\x99\xDD\x8C\x4E\xA1\xD4\x64\x9C\xDE\x9B\xA2\x99\x39\x78\xCD\x96\xDE\x83\x4E\xAC\x39\xEA\x9B\xE3\x91\x37\x9E\x7B\x9B\x6C\x9D\xE1\x82\x73\x86\x39\xB7\x64\x72\x9D\xF8\x99\x31\x5C\xC6\x94\xE3\x9B", - "\x03\x3C\x38\x95\x02\x7C\x01\x3F\x9D\x9D\x9B\xD0\x92\xE5\x82\x74\x85\x3A\x92\x02\x8C\x50\x42\x9E\x51\x32\xD1\x92\x10\x14\x71\x97\x32\x7C\x9C\x76\x9D\x24\x9C\x76\x97\xCC\x91\xE9\x8C\x72\x8F\x2D\x8F\x8B\x8D\x9D\x4A\x9C\x94\x9A\x8F\x92\x65\x83\x08\x39\x39\xF4\x9B\xA1\x9B\xBC\x8C\x8D\x9F\x0F\x05\x11\x1E\x17\x4C\x3A\x81\x02\xA4\x9C\x89\x02\xA9\x9F\xD0\x9C\x10\x09\x75\x8C\x04\x2B\x9D\x9E\x9D\x8A\x02\xAB\x9B\x20\x00\xEB\x99\x74\x92\x04\x33\x9D\x02\x03\x5A\x9D\x40\x03\xD4\x96\xE8\x83\x08\x38\x3A\xBB\x9D\x9A\x9C\x2A\x9C\x72\x9C\xCB\x81\xEB\x92\x08\x3E\x39\xA7\x9D\x00\x01\x63\x9C\xAB\x9C\xC4\x9F\xE3\x7F\x74\xB7\x37\xD9\x80\xCE\x9C\xFD\x98\x7E\x81\xDA\x9E\xDF\x90\x76\x81\x3B\xD8\x9C\x47\x9D\x6B\x9F\x96\x9E\x25\x94\xED\x82\x70\x83\x28\x95\x02\x00\x46\x89\x02\x8F\x9B\xDB\x91\xFF\x61\x77\x9F\x38\xFC\x6D\xE6\x9C\x66\x9F\xFD\x79\xDD\x99\xE2\x95\xC1\x6C\x3B\xAF\x9C\xEE\x9C\x1D\x9C\xB8\x9A\xDB\x9E\xE5\x98\x4E\xAF\x3B\xB5\x9C\xE8\x9C\x7A\x9D\x99\x9E\xDE\x9A\xEF\x89\x73\x86\x27\xF7\x9D\xE3\x9D\x7A\x9F\xB3\x88\xE0\x91\xEF\x82\x77", - "\x85\x3C\xE7\x9D\xEB\x9D\x7E\x9D\x9B\x9E\x38\x96\xDC\x44\x78\x89\x3C\x86\x9E\x0F\x9E\x84\x9F\x9D\x9A\x4E\x5E\xF0\x93\x78\xB3\x3B\x90\x9E\x16\x9F\x12\x90\x43\x05\xE2\x92\xE9\x90\x6A\xA6\xBB\x1C\x9E\x96\x9D\x83\x9B\xC5\x9A\xE2\x9D\xF1\x97\x01\xA0\x3C\x9B\x9D\x7D\x98\x43\x8E\x40\x07\xE4\x92\xEC\x92\x71\xA4\xEE\x2C\x9E\xD8\x9D\x1B\x67\xBD\x9F\xDE\x9A\xEC\x83\x08\x37\x3B\x81\x9D\x12\x03\x99\x9F\xC8\x9E\xE6\x9B\xF3\x8B\x79\x95\x04\x09\x9D\x1B\x9E\x37\x1D\xCF\x99\x20\x07\xEF\x97\x64\x3A\x3C\x98\x9E\x25\x9F\x4C\x94\xFC\x68\xE6\x94\xEE\x9B\x6F\xA5\xF3\x4C\x9E\x02\x9F\x65\x91\x38\x78\xEA\x9B\xEF\x9E\x78\x8A\xC8\x77\x9D\xBF\x9C\x00\x02\xAE\x98\x00\x08\xF5\x85\x75\x83\x3D\x80\x00\x59\x9F\xAD\x9D\xD7\x9A\xD5\x9F\xF5\x81\x7B\xA5\x3D\xE7\x9E\x39\x9E\x85\x9C\x9C\x9C\xCE\x91\xF4\x86\x76\x9F\x3D\xB5\x9E\x3E\x9E\xA4\x9D\xC8\x9B\xBD\x9B\x88\x9C\x7A\xAA\x3D\xF3\x9C\xDD\x8C\xAA\x9E\xBF\x9C\x39\x9A\xF7\x8B\x78\xBC\x3D\xF7\x9E\x7A\x9C\x72\x59\xDF\x9B\xED\x99\xF7\x80\x7C\xA0\x3A\x9A\x93\x01\x03\xC0\x52\x44\x02\x60\x42\x11\x01\x4A\x4D", - "\xFB\x0E\x9F\x19\x9E\x86\x00\xE4\x99\xE9\x95\x18\x93\x7C\xB3\x3D\xE3\x91\x96\x9E\x94\x9D\x21\x9D\xAB\x69\xF9\x8D\x79\x91\x39\x83\x02\x9D\x9F\x98\x9E\x9C\x51\xF4\x9D\xF4\x98\x0F\xA4\x3E\xD1\x9E\xC2\x81\xD3\x9D\xD5\x9F\x06\x8A\xFA\x9B\x7B\x98\x27\xAD\x9F\x7E\x9F\xD7\x9D\x0D\x70\xF6\x94\xF8\x8B\x49\x95\x04\x34\x9F\x78\x9E\x6B\x8C\xEE\x99\xF0\x93\xDA\x5B\x7D\x87\x3E\xD1\x5F\xBE\x9F\x67\x9E\xD4\x61\xF8\x92\xED\x8D\x63\xB3\xF9\x44\x9F\xD5\x9C\x09\x9B\x1D\x68\xF9\x9E\xED\x91\x49\x8C\x3F\x88\x9C\xF0\x83\xE7\x9C\x83\x99\xC1\x97\xFB\x93\x7D\x96\x3F\xFB\x82\xE1\x78\xE9\x9F\x84\x9A\x3D\x90\xFA\x83\x6F\x80\x00\x5A\x9F\x19\x9D\x6D\x9A\x16\x18\xFC\x9E\xD2\x98\x6A\x81\x04\x64\x9F\x32\x9A\xCB\x99\xE3\x9F\xFA\x91\xF9\x9D\x7D\xAC\x3F\x94\x9F\xD1\x9F\xF7\x9F\xE5\x9C\xED\x93\x10\x0C\x45\x52\x04\x76\x9F\x0C\x02\xFC\x9D\xFD\x9D\x22\x0A\xFF\x82\x08\x3D\x3F\x81\x02\xFF\x9E\x00\x01\x00\xA3\x00\xAC\xFF\x85\x80\xB7\x3F\x86\xA0\xF9\x9E\x04\xA3\x40\x06\x10\x0C\x6F\x6C\x80\x8D\xFB\x0E\xA0\xED\x9E\xF2\x58\x04\xA0\xFE\x9E\x9F\x93\x80\xB3\x3F", - "\xDD\x8D\x16\xA0\xCD\x9D\x22\x99\x72\x69\x01\xBE\x7C\x9C\x3A\x8B\xA0\x35\x71\x0E\xA2\xE8\x9D\x70\x52\x02\xA5\x7D\x90\xED\x25\xA0\xA8\x9F\xC2\x80\x0A\xA3\xF5\x92\x0C\x8B\x81\xAE\x3E\xCF\x8D\x2E\xA1\xD8\x9C\x78\x92\x22\x01\x03\xB5\x7D\x83\x27\xB5\xA0\xB9\x9F\x1B\xA1\x03\xA3\x07\xA8\xFD\x93\xF3\x78\x40\xBC\x9F\xA4\x8C\x86\x03\x0F\xA7\xF7\x98\x56\x63\x82\x82\x3F\xA7\xA0\x3F\x7C\x23\xA1\xF1\x9B\x76\x7A\x04\xA9\x7E\x88\x41\xBD\xA0\xC9\x87\x26\xA1\xF3\x9E\xE9\x97\x47\x72\x82\x90\x3F\x83\x9C\xF0\x6E\x2B\xA3\xF4\x9F\x53\x96\xEE\x5A\x82\x9B\x3F\xA5\x76\x5E\xA1\xF0\x9D\xC1\x90\x00\x01\x06\xA5\x7F\x89\x18\xE5\xA0\xE9\x9E\x8A\x68\x1A\xA6\xA6\x98\x1F\x8B\x83\xB9\x34\xB1\x92\x6E\xA1\x9F\x98\x76\x91\x0E\xA4\xD4\x8C\x78\x95\x04\x2E\x51\x12\x02\x44\x00\x60\x55\x22\x0A\x07\xAB\x7C\x95\x04\x09\x01\x7F\xA0\x73\x21\xB3\x7B\xE8\x13\x02\xAB\x35\x5E\x40\xA9\x9E\x2C\x68\x42\xA2\x09\xA3\x76\x7A\x08\xA9\x81\xB0\x07\x8D\xA1\x2C\xA1\xC2\x80\x24\xA7\x05\xAF\xA0\x73\x84\xB2\x40\xB7\x80\x96\xA0\x1B\xA2\x71\x91\x13\xA9\x03\xBB\x84\xB5\xE0\x1C", - "\xA1\x40\xA0\x6A\x5C\x28\xA4\x08\xA4\x54\x63\x85\x87\x41\xB5\x95\x82\xA1\x08\xA2\x28\xA7\x13\xAC\x6F\x66\x85\x8B\x41\x8E\x68\xAE\xA0\x27\xA0\x63\x9D\xFC\x61\x0B\xB3\x82\x8A\x3F\xF4\x6F\xB5\xA1\x2B\xA2\x4B\x91\x17\xAB\x05\xBE\x4F\xBC\x42\xDF\xA0\xE0\x8D\x5F\xA2\x18\xA1\x72\x62\x0C\xA6\x83\x94\xD4\x45\xA1\x69\xA1\xCD\x9B\x9E\x15\xC0\x93\xC1\x3E\x7E\x88\x43\xEC\xA0\xC6\x9E\x86\x73\x33\xA7\x0D\xA5\xC0\x89\xC4\x3F\xF8\x53\xA1\x72\xA1\x67\x8C\x36\xA5\x0E\xAC\x9C\x9B\x86\x88\x35\xEA\x67\xDE\xA0\xA6\x99\x22\xA4\x15\xAE\x0C\x92\x08\x30\x8C\x43\x52\xCD\x7C\x74\xA2\x2A\xA0\x00\x0A\x0E\xB4\x80\xAE\x24\xED\xA1\x17\xA0\x6B\x8C\x3C\xA2\x03\xAD\xC8\x8D\xA9\x73\x43\x87\xA1\x9B\x9F\xC8\x67\x3D\xA5\x10\xAC\x10\x1B\x87\x8B\x42\x9E\x77\xFE\xA0\x47\xA2\x7F\x91\x20\xA1\x09\xB0\x0F\x84\x44\x94\xA1\xC2\x81\x83\xA3\x25\xA1\x21\xA5\x83\x6A\x88\x9A\x42\xF0\x96\x15\x02\x87\xA1\x27\xA4\x39\x92\x11\xA1\x85\x92\xBF\x15\xA2\xA4\xA0\x28\x64\x46\xA7\x14\xAE\x40\x7B\x88\xAF\x42\xAF\x9A\xE5\x6E\x8F\xA2\x2C\xA6\xB3\x97\x47\x62\x89\xB6\x42\xD0\x76", - "\x26\xA2\x5D\xA1\x4C\x91\x25\xAD\x0B\xBF\x76\x92\x04\x2C\xA2\xC0\xA1\x80\x00\x4C\xA3\x18\xAC\x42\x73\x89\x86\x43\xCA\xA1\x36\xA3\x64\xA1\xA8\x9A\x8B\x19\x13\xB0\x86\xB3\x42\xF0\x6F\x3D\xA2\x6A\xA3\x2D\xA4\x21\x71\x14\xB9\x86\xB3\x27\x83\x02\x45\xA2\x6E\xA2\xA4\x91\x22\xAD\x10\xAD\x8A\xB7\xFF\x49\xA2\xDF\xA1\x3A\x68\x54\xA2\x1C\xA9\x3F\x73\x8A\x93\x35\xAE\x96\x02\x02\x69\x52\x44\x06\x11\x05\x11\x0F\x04\x15\x04\x10\x01\x15\x03\xAB\x53\x3A\xA2\x2C\xAE\x0E\xB1\xFF\x64\x45\xF1\xA1\xC3\x93\xB3\xA0\x3D\xA7\x92\x9A\x3E\x6A\x8B\xB8\x43\x9B\xA0\x2C\x68\xB7\xA0\x3F\xA3\xB4\x52\x17\xBF\x87\xB2\xD4\x75\xA2\x02\xA2\x97\x90\x5E\xA5\x20\xAE\x9F\x9B\x8B\x88\x44\x85\x83\x7E\xA3\x85\xA0\x60\xA5\x06\x71\x18\xAF\x88\x98\x27\x85\xA3\x13\xA3\xA5\xA2\x44\x00\x31\xA6\x11\xA2\x61\x4C\x46\x99\xA2\x91\x67\xC7\xA0\x47\xA7\x2E\xAC\x6F\x72\x8C\x9F\x44\xB3\x9A\xF0\x6E\xCB\xA3\x48\xA0\x24\xA5\xCE\x7A\x8C\xA7\x44\xB3\x77\x9E\xA2\x95\xA1\x16\x81\x34\xAD\x12\xA3\x6C\x8C\x04\x24\xA3\x31\xA2\x00\x00\x6A\xA4\x26\xA9\x3F\x6B\x8D\xB7\x44\xA1\x9D\x74", - "\x4E\xD7\xA2\x4E\xA4\xB4\x99\x77\x92\x8D\xBE\x44\xA4\xA2\x73\x7C\xDB\xA2\x50\xA1\x1A\xA5\x1B\xBF\xF1\x7A\x46\xC6\xA2\x0D\x9D\xB0\xA0\x61\xA3\x38\xA7\xFF\x7F\x8D\x8A\x45\xCF\x8D\xC6\xA3\xA8\xA1\x4B\x69\x39\xA4\x15\xA1\x5D\x90\x81\x4D\x7D\xCF\xA3\x75\xA1\x74\xA5\x2C\xA9\x05\x93\x8E\xA8\x45\xC6\x93\xD6\xA3\xB5\xA2\x26\x9C\x85\x69\x1D\xAF\x8B\xB5\x43\xB4\x6C\xDD\xA3\xB9\xA2\x40\x01\x3C\xA6\x17\xB0\xE5\x64\x47\xF9\xA2\x31\x93\xF3\xA0\x5F\xA6\x25\x9A\x1E\xBF\x8B\xB0\x07\xED\xA3\x82\xA3\xF7\xA1\x0D\x70\x3E\xA6\x18\xB3\x81\x8C\x04\x74\xA3\x89\xA3\x67\x8C\x7E\xA5\x31\xA5\x11\x1B\x8F\x90\x46\xBA\x5D\xFE\xA3\xC9\xA1\x6C\x69\x40\xA7\x19\xA9\x30\xA1\xD4\x04\xA4\x9B\xA2\xCC\xA3\x1D\x68\x41\xAF\x19\xBE\xDC\x4C\x48\xA2\xA3\xF8\x83\x07\xA5\x69\xA5\x1A\xA3\x1E\xB3\x8F\x96\x48\xD0\xA0\xBE\x84\x09\xA5\x6A\xA0\x8D\x6A\x21\xAC\x8D\x8E\x1F\x99\xA4\xCC\xA1\x80\x01\x87\xA7\x35\xA8\xF8\x8F\x02\x7F\xF8\x23\xA4\xB3\xA3\x13\x64\x8A\xA7\x36\xA4\xBA\x6B\x91\xBB\x46\xB3\x77\x2E\xA4\xE0\xA1\x61\x81\x46\xA7\x1C\xB7\x01\xB4\x48\xCA\xA3\xA5\x95", - "\xAC\x52\x44\x03\x2A\x5C\x10\x0C\x01\x52\x04\x39\x52\x0C\x03\xCB\x37\xAB\x9E\xEB\x94\xF6\x85\x92\x83\x49\x92\x02\xCC\x39\x75\xA1\x92\xA4\x3A\xA2\x35\x6B\x92\x97\x47\xCC\x93\x4E\xA4\xED\xA3\x67\x91\x4A\xAE\x1D\xAC\x8B\xB5\xD1\x54\xA4\xE2\xA2\x6A\x5C\x96\xA5\x3C\xA1\x70\x7B\x92\xA8\x47\xD9\x80\x5E\xA5\xF5\xA1\x4C\x91\x4C\xAE\x1E\xBE\x4F\xA4\x49\xF1\xA3\x66\xA5\x1A\x73\x99\xA5\x3E\xA7\x03\x8B\x93\xB9\x47\xC7\xA2\xCB\x38\x35\xA6\x9C\xA5\xD9\x7E\x26\xB6\x88\xB5\x49\xFF\xA3\xC9\x91\x8A\x03\x9D\xA2\x40\xA6\x20\xA6\x77\x7B\x49\x85\xA4\x14\x6B\x3F\xA5\x82\xA1\xC1\x82\x28\xAD\x90\x82\x33\x91\x37\x73\xA5\x75\xA2\x08\x5D\x50\xA0\x21\xBC\x8D\xB4\x9D\x0C\xA5\x13\xA5\xA1\xA1\xDE\x88\x52\xAB\x21\xBD\xB2\x54\x4A\x9E\xA4\x8E\x99\x49\xA7\x8F\x7F\x52\xA4\x22\xA7\x6D\x81\x04\x1C\xA5\x29\xA4\xB4\x68\xA8\xA4\x45\xA0\xCB\x63\x95\xAF\x48\x9E\x77\xA6\xA4\x19\xA4\x7C\x81\x55\xA5\x23\xA2\x06\xAC\x4A\xB8\xA4\xF5\x99\x81\x03\x56\x55\xD9\x73\x2B\xAB\x87\xB5\x4A\xCC\xA4\x50\x77\x5B\xA7\x93\xA0\x3B\x9A\x2B\xB2\x92\x9F\x32\xBD\xA5\x55\xA5\xED", - "\xA1\xFE\x60\x58\xA9\x25\xA0\x00\x04\x4B\xDC\xA4\x14\x6B\x63\xA7\x97\xA0\x3F\x8A\x2C\xA2\x93\x99\x01\xCD\xA5\x65\xA4\x97\x90\xB4\xA0\x4D\xA2\x2D\xB5\xC1\x53\x4B\xEC\xA4\xC1\xA2\x89\x03\xB5\xA7\x4D\xA2\x0C\x9B\x96\xBC\x47\xDA\xA5\xFC\x6C\x6F\xA4\x9E\xA3\xC6\x52\x2E\xBC\x93\x9C\x2B\xBE\x85\xE5\xA4\x40\xA7\xB7\x92\x56\xA6\x2D\xAD\x97\xA5\x43\x8C\x02\xE9\xA5\x41\xA5\xB2\xA6\x5D\xAA\x28\xAF\x60\xA0\x4B\x98\xA4\x5A\x19\x78\xA6\xA1\xA2\x41\xA3\xE7\x7A\x97\x8D\x4A\xBF\xA2\x77\x68\x7F\xA5\xA4\xA1\x84\x96\x2C\xBF\xF1\x42\x4C\xA9\xA3\x07\xA6\x4C\xA5\x4B\x69\x61\xAD\x29\xA8\xAB\x4C\x4C\xA1\xA5\x44\x6B\x87\xA4\xA9\xA1\xC1\x82\x31\xA7\x95\x87\x4A\x82\x02\x62\x53\x75\xA1\xC6\xA0\x57\xA0\x37\x7B\x98\xBB\x4A\xCF\x8D\x1E\xA6\x5F\xA4\x71\x9C\x21\x01\x32\xA1\x96\x9F\x26\xA5\xA6\xC5\xA4\x11\x58\xCA\xA0\x59\xA0\xF1\x4B\x99\x8B\x4B\xD0\x76\x2E\xA6\x67\xA4\x7E\x81\x66\xA1\x2D\xB1\x49\xB4\x4C\xD4\xA5\x36\xA7\x1A\x73\xCD\xA0\x5B\xA5\x18\x9B\x99\x9C\x4B\xD4\x9F\x12\x02\x9F\xA7\xB7\xA4\x64\xAA\x33\xBC\xB7\x42\x4D\xE3\xA5\x4F\x5D\xA3\xA6", - "\xB9\xA2\x19\xAA\x34\xAA\x97\xBB\x44\x95\x02\x4D\xA6\x79\xA6\x4B\x61\x6A\xAB\x2F\xA9\x30\x94\x4D\xFF\xA5\xA7\x90\xA8\xA5\xD1\xA7\xFE\x77\x35\xA3\x98\x80\x4C\xF3\x7C\x5D\xA7\x4A\xA6\x82\x61\x6C\xAA\x30\xAC\x5D\x89\x0F\xE4\xA6\x0D\xA6\xF1\x9E\xD6\xA7\x5D\xA3\x10\x08\x9B\x90\x4C\xE3\xA0\x6E\xA7\x89\xA4\x45\x69\x6E\xA6\x31\xB0\xE5\x74\x4D\xAA\xA5\xFE\x93\xBB\xA5\xAB\xA5\x67\xAB\x35\xB5\x97\xB9\x11\xBD\x34\xEB\xA0\xC0\xA4\xC7\xA6\x81\x62\x38\xBF\x98\xB7\x00\x85\xA7\x22\xA6\x16\x9D\x45\x00\x71\xA6\x32\xBF\x64\x8C\x4E\xA9\xA6\x8B\xA6\x7E\x6F\xE3\xA4\x65\xAC\x2D\x73\x9C\xAF\x4C\xB3\x77\x96\xA6\x99\xA4\xD4\x71\x73\xA5\x33\xB9\x02\x9C\x4E\xB8\xA6\x9E\xA7\x1A\x73\xE7\xA4\x67\xA0\xD2\x82\xD2\x37\xFF\x23\xA7\x3F\xA6\xF8\x80\xEA\xA6\x22\xAB\x3A\xA8\x9A\x8D\xB4\x2D\xA7\x4B\xA6\xD8\xA1\xE4\xA0\x5F\xA3\x3B\xBE\x9B\xA6\x4E\xB6\xA7\x03\x02\xD8\xA6\xD3\xA5\x44\xAA\x3B\xB2\x9A\x95\x4E\xA2\xA7\xDE\x9F\xDE\xA5\xD5\xA7\x5C\xAA\xC5\x02\x9E\x98\x4D\x9C\xA3\xE1\x78\xE3\xA6\xD7\xA0\x37\xAC\x90\x6A\x9E\xA9\x46\xC6\x5B\xCE\xA7\xB2\xA5\xAC", - "\xA2\x20\x01\x3D\xA9\x9B\x9D\xD5\x55\xA7\x6F\xA7\xC8\x64\xF6\xA2\x6E\xAE\x12\x7B\x9E\xB5\x4D\x89\x8C\xDE\xA6\xBC\xA6\x4B\x91\x7C\xAB\x37\xA5\x9D\x83\x04\x6A\x53\x03\x02\x1C\x36\xDC\x99\x71\xAD\xE4\x81\x78\x9A\x4E\xF0\x66\xEE\xA7\xCE\xA4\x7E\x81\x7E\xA0\x3A\xB3\x9F\xB5\xE0\x3B\x9C\xEB\xA7\xC6\xA7\xC8\xA2\xDD\x9B\x0E\xB4\x9F\xA4\x4E\xFE\x93\xFE\xA7\xD4\xA4\x00\xAD\x06\x71\x40\xA3\x9A\xBC\x4F\x83\xA7\xA4\x77\x02\xAA\xEB\xA4\xC6\x6A\x40\xB1\x9D\xA5\x48\x8D\xA8\xBB\xA7\x13\x64\x04\xAE\x77\xA2\x45\x73\xA0\x83\x4F\x90\x5E\x16\xA9\xE3\xA5\x6C\x69\x83\xAB\x3C\xA8\x9E\xB3\xF9\x1C\xA8\x62\xA7\x72\x78\x08\xAA\x7A\xA6\xD4\x43\xA1\x96\x4F\x91\x67\x26\xA9\xEC\xA6\x39\x99\x85\xAC\x3D\xBC\x96\x6C\x50\xDF\xA7\x14\x6A\xB8\x9D\x40\x00\xE7\x9C\x10\x00\x7A\x8B\x3A\x8C\x02\x97\x19\x17\xAA\xF8\xA7\xBF\x9D\x65\x7A\xA1\xA5\x4F\xD8\xA0\x77\x68\x1F\xA8\xAC\xA2\x45\x96\xF8\x8E\xA0\x96\x2D\xDA\x18\x66\x9F\x5B\x9C\x91\xA5\xD5\x9B\x44\xBE\x75\x8D\x51\x82\x02\x49\xA8\x26\xAA\x12\xA9\x7F\xA0\x39\xB9\x23\xB2\x50\xC9\x9D\x45\xA9\x08\xAA\x86\x9D", - "\xDD\x97\xFF\x62\xA2\x8D\x47\xF5\x68\x5E\xA9\xAB\xA2\x0B\xAC\x80\xA4\x46\xAC\x9B\x82\x04\x33\x52\xCD\x7C\x34\xAB\x3A\xA2\x8D\xA8\x40\xB0\xE5\x6C\x51\x86\xA7\xC2\x81\x37\xA8\xFB\xA7\xD2\x9C\x10\x12\xA3\xBA\x4F\x8A\xA7\x12\x02\x3B\xA9\xB1\xA2\x8F\xA4\x39\xB2\xA2\x7C\x51\x97\xA7\x9E\x77\x3F\xAB\xFB\xA1\x90\xA5\x83\x62\xA4\xB2\x4F\xD0\x76\x86\xA9\xFA\xA4\x22\xAF\xC7\x79\x48\xBF\x9F\xAE\x24\x8D\xA9\x02\xA9\x47\xA8\xBF\x68\x92\xA6\x11\xB4\xA4\x8B\x50\xAF\x97\xBE\x84\x4B\xAA\x11\xAD\x6B\x94\x7F\x7A\xA4\x9A\x51\xC4\x6A\x9E\xA8\x0A\xAB\x89\x61\x94\xA7\x41\xB5\x42\xA4\x52\x9A\xA8\x09\x8D\x53\xA9\x07\xAE\x8D\xAE\xFD\x8A\xA5\xA1\x50\xF7\x68\xAE\xA8\x12\xAA\x05\x9D\x22\x01\x4B\xA7\xA1\x86\x23\xB4\xA9\x8C\xA9\x5C\xAB\xFD\x7D\x96\xAA\x42\xB9\x9F\x7C\x52\xAD\xA8\x7E\xA9\x42\xAA\x30\xAE\x8C\xA1\x10\x1D\x49\x6B\x43\xC6\xA9\x6D\xA9\x80\x6C\x32\xA8\x8E\xA5\x18\x8B\xA6\xB3\x51\xA2\x9E\x12\x02\x67\xAB\x1D\xAD\xC9\x92\xC2\x52\xA6\x95\x51\x8C\x02\xD6\xA9\x3E\xA9\xF4\x59\x9B\xA0\x48\xA4\xDD\x5C\x53\x83\xA9\xDE\xA9\x1A\x73\x37\xAF\x90", - "\xA3\xBB\x63\xA7\x8A\x52\xE5\xA9\xE2\xA9\x1F\x7E\x39\xAE\x91\xA1\x93\x8B\xA7\x91\x52\xED\xA9\xFC\x6C\x77\xAA\x45\xA2\x9E\xA7\x49\xA4\xA2\x91\x53\xA1\xA4\x00\x00\x7A\xAB\x26\xAC\xA8\x6A\x4F\xBF\xA4\x9D\xD5\x7D\xA9\xA2\xA9\x2D\xA9\x31\xA9\x9D\xA7\xFF\x60\xA8\xA5\x52\xB4\xA3\x74\x4E\x83\xA8\x2A\xAC\x78\xA5\x11\x0A\xA8\xAB\x52\xFD\xA4\xE5\x6E\x87\xAB\x2B\xAC\xFE\x62\x51\xB2\xA5\x8B\x26\x95\xAA\xB6\xA8\xDB\x9B\x40\xAD\xA0\xA4\x50\xB8\x9D\x82\x04\x18\xAA\xBD\xA8\xF5\x64\x48\xA8\x98\xA7\x22\x63\xA9\xB0\x50\xD8\xA2\x1A\x34\x7E\x6E\x8B\x37\x99\xAB\xDE\x8B\xA9\x93\x53\xF4\xA8\x03\x02\x97\xAB\x35\xA9\xA6\xA5\x83\x72\xA9\x9A\x53\xE8\x6A\x36\xAB\x6E\xA9\x6C\x69\xA7\xA0\x4E\xB0\xE5\x7C\x54\xE4\xA9\x9E\x77\x9F\xAB\x39\xA9\xA8\xA5\x53\xA5\xAA\xB7\xFF\x42\xAA\xEC\xA8\x0A\xA5\x4A\xAF\xA8\xA6\x54\xAB\x87\x88\x55\xEF\xA9\x31\x6F\xA7\xAA\x01\xAD\x67\x97\xA2\x38\xA7\x92\x55\xF5\xA9\x85\x57\xAB\xAB\x3E\xAD\xAB\x6A\x55\xBE\xA7\xAA\x3C\xCB\xAA\x1E\xAA\xB0\xA9\x32\xAC\xA2\x6D\x55\xA1\xA8\x9B\x33\xF4\x4E\x65\xAB\x83\xAB\x11\xAD\x22\x09", - "\x56\xAB\xA8\x8A\x43\xED\xAA\x0F\xAA\x86\xAA\x44\x00\xAE\xAF\x3C\xAC\xAB\xBF\xF8\x74\xAA\x16\xAA\x72\x58\x5E\xA9\xA3\xAA\x3E\x7B\xAB\xA1\x54\xF5\x68\x7E\xAA\x92\xA8\x4E\xAD\xA9\xA3\x56\xA8\xA9\x83\x77\x03\x02\xC6\x52\x89\x01\x70\x52\x22\x00\x60\x4C\xA6\x92\xE6\x0D\xAB\x2C\xAA\xA7\x7C\x64\xAF\xA5\xA0\x4D\xAC\x08\x13\x56\xB3\xAA\xFF\x4B\x1A\x73\x65\xAF\xA6\xA4\x54\x7B\xAC\xBA\x54\x81\x6E\x9E\xAB\x9E\xA9\x82\x89\xB4\xA0\x54\xA4\xDD\x64\x56\xC3\xAA\xA6\xAA\xCD\xAA\x6A\xAF\xFE\x77\x5A\xA9\xAA\x84\x3B\x99\xAB\xAC\xAB\xD5\xAB\x3A\xA5\xB5\xA0\x55\xB2\x9A\x74\x56\xD3\xAA\xDA\x7E\xBA\x4F\x6D\xA8\xAB\xA6\x3A\x95\x08\x3B\x56\xDB\xAA\x91\x67\xDF\xAA\x57\xAC\x85\x62\x5C\xA6\xAB\xA3\x41\xC5\xAB\x6A\xAA\xB4\x68\x72\xAE\xAD\xAC\x2D\x6B\xAE\xB1\x55\xCA\xA1\xCE\xAB\x89\xA8\x43\x71\xBA\xA9\x57\xA1\x35\xBE\x56\xF8\xA9\xD4\xAA\xBE\xAB\x94\x90\x00\x09\x5D\xBF\xAB\xBC\x29\xDD\xAB\x82\xAB\xCE\xAA\x6C\xAD\xB0\xAD\x5C\xA3\xAF\x8E\x56\xFE\x93\xE0\xAB\x93\xA9\x15\x94\x38\x52\x11\x06\x48\x52\x04\x08\x52\xED\xAB\x8A\x01\x48\x57\xBD\xA2\x5F", - "\xB5\x08\x24\xA4\x74\xAB\x12\x03\xFB\xA8\x43\x07\x23\x58\x5F\xBB\xAF\x95\x04\x2B\x01\x15\x02\x56\x01\x45\x07\x28\x52\x11\x09\x4A\x52\x04\x0B\x3F\x12\x03\xA2\x52\x44\x05\x1B\x52\x11\x12\x05\x3C\xDB\x0E\xAC\xCD\x7C\x08\xAD\x58\xA8\x00\x02\x61\xA4\xAF\x92\xD1\x15\xAC\xE7\xAA\x97\x90\x86\xA9\xB2\xA9\x6D\x9B\xB0\x94\x56\xEB\x9B\x1E\xAC\xCC\xA9\x40\x01\xC4\xAC\x59\xBD\xAA\x64\x58\x9F\xAB\x14\x6B\x13\xAE\x68\xA9\xC5\xA5\x83\x6A\xB1\xA5\x56\xB0\x79\x2E\xAC\xD4\xAA\xF9\x9C\xC2\xAD\x62\xB5\xB1\x91\x58\x8F\xAC\xDE\x9F\x18\xAE\x6B\xAC\x37\xAA\xC5\x1A\xB1\xB5\x56\xD0\x76\x3E\xAC\xDC\xA8\x8D\xAC\x98\xA3\x64\xB3\xB0\x81\x59\xBC\xAB\xE4\x59\x23\xAC\x70\xAE\x01\x92\x10\x0A\xB2\x83\x57\xC9\x9A\x15\x02\x27\xAE\x71\xAD\xA9\x9C\x10\x12\xB2\x89\x57\xEA\xA6\x0D\xAD\x1F\x7E\x95\xAC\xB9\xA5\x22\xBB\xB2\x8F\x57\xDC\x65\x5E\xAD\xD4\xA1\x98\xAD\xBA\xA4\xDE\x43\xB3\x9A\x57\xAD\x6A\x66\xAC\xEF\xA8\x8D\x69\xCD\xA1\x5E\xA3\x83\x9B\xA3\x62\x4C\x12\x03\x37\xAF\xEB\x6B\xF3\x12\x67\xB3\xBD\x70\xDE\x00\x00\x75\xAC\xDF\x6E\x44\x05\xF6\x65\x11\x19", - "\xB3\x86\xDF\x39\x6F\x03\x03\xDD\x6E\x9F\xAB\xF0\x64\x76\x7D\xB3\xBA\xDF\x73\x6F\x0C\x73\x41\xAD\x45\x03\xED\x6A\x68\xB2\x08\x0B\xDF\x02\x02\x8D\xAD\xD4\x3D\xA4\xAD\xEE\x66\x68\xB2\xBF\x40\x00\x3D\x4F\x93\xAC\x81\x03\x6A\x49\xD3\xAF\x77\x75\xB4\xBD\xDF\x04\x6F\xEC\x6E\x4F\xAF\x9C\xAC\x07\x31\x67\xA7\xB4\xB1\x3E\x65\x6F\x9C\xAD\x53\xAD\x39\x79\xD5\xA8\x7F\x70\xB4\xA6\x5A\x85\xAD\xA5\xAC\x4B\xAC\xC0\x12\x8B\x1C\x6A\xA1\xB5\xB1\x5A\x9F\xAD\x6A\x15\x54\xAC\xB9\x18\x16\x59\x7A\x63\x08\x3C\x5A\x9F\xAD\xD3\x13\x5F\xAF\xA8\xAC\xCA\x4E\x6B\xA6\xB5\xBC\x59\x92\x02\xC2\xAC\x3B\xAC\x8E\x49\xEB\x65\x11\x09\xB6\xBA\x59\xC3\x6F\xF0\x6E\x67\xAF\x9F\xAB\xF3\x69\x77\x92\xB6\x87\xDF\x4D\xAD\xA6\xAD\x47\xAD\x40\x06\xDA\xA8\x2C\x3C\xB6\x93\xDF\x0C\x02\xDE\xAC\x86\x01\xEF\x49\xDC\xA3\x10\x0B\x2D\x64\x5B\x82\x02\xDA\x6E\x00\x03\xB9\xA9\x20\x0D\x6A\xBB\xB6\xA6\x5A\x82\x14\xEB\xAC\x55\xAD\x38\x79\xDE\xA3\x6B\xB8\xB6\x96\x5A\xED\xAD\xEA\xAD\x57\xAD\x97\x6C\xDE\xA6\xEE\x51\xB7\xB8\x5B\xF1\xAD\x6A\x15\x78\xAC\xB9\x18\xBE\xAC\x10\x12\x45", - "\x52\x04\x36\x01\x15\x02\x84\xAF\xC1\xA9\xE1\xAC\x70\xAB\xB8\x8E\x5C\x8C\x02\x0A\xAE\x88\xAD\xC3\xAA\xE2\xAF\x70\xA3\x08\x11\x5C\x96\xAE\x13\xAE\x8C\xAE\x44\x07\x16\x05\x11\x04\xB8\x83\x04\x1C\xAE\x12\x02\x66\x51\x7F\xAB\x20\x02\x72\xAC\x08\x39\x02\x15\x02\xD7\x50\x86\x01\xCA\xAB\x20\x0B\x97\x43\xB9\x82\x04\x2D\xAE\x0C\x03\xBC\x52\xCB\xA9\x20\x02\x73\xAC\x08\x1A\x80\x12\x02\x37\xAE\x9B\xAD\x45\x01\xE7\xA3\x10\x1C\xB9\x82\x04\x3E\xAE\x01\x02\xA0\xAC\x00\x02\xE8\xA4\x74\xBB\xB9\x86\x5D\xB8\xAE\x47\xAE\x9D\xAC\xD2\xAA\x22\x0E\x0B\x15\x08\x27\x5C\xCC\xAE\x28\xAF\x8A\x01\xD3\xAA\x22\x0B\x72\xB3\xF3\x5A\x31\x74\x4E\x57\xAE\x73\x5F\x2F\x05\x22\x00\x0C\x15\x08\x01\x03\x5E\xAE\x60\xAE\x89\x03\xD7\xAA\xEC\xA1\x76\xAC\x08\x23\x5D\xE6\xAE\x65\xAF\x81\x03\xD9\xAA\xED\xA9\x76\xA2\x08\x2B\x5D\xEE\xAE\x6D\xAF\x80\x03\xDB\xA9\x20\x02\x0C\x1C\xB7\x75\x5D\xCD\x7D\x77\xAF\x09\xAD\xDE\xAE\xC2\xA7\x22\x7B\xBB\x99\x58\xB1\x92\x7E\xAE\x0E\xAD\xB7\x89\xF0\xAF\x61\xAE\xFA\x44\x5E\xA2\xAC\x00\x01\xC3\xAD\x89\xA9\x72\x6A\x78\xA8\xB1\xAE", - "\xC4\x0D\xAF\x2B\xAD\xC7\xAD\x0D\x70\xF2\xAF\x62\xA9\x30\x94\x5E\xB2\xAC\xEA\x9E\x86\x03\xE5\xAB\xC7\xA3\xBB\x7B\xBC\xBF\x58\x9D\xAF\x76\xAF\xD0\xAC\x86\xA4\xEE\x4E\x79\xA2\xB2\xA8\xD1\x25\xAF\x48\xAD\xD1\x58\xEA\xAB\xC9\xA9\x3F\x6B\xBD\x8F\x59\xA1\x97\xAE\xAF\x29\xAC\x0B\x69\xF6\xA7\x65\xBD\xAA\x74\x5E\xDC\xAC\x56\x96\xD2\xAC\x3E\xAF\xF6\xAF\x65\xA8\xA8\x95\x04\x3C\xAF\xD2\xAB\xBC\x8C\xF0\xAC\xCC\xAA\xB4\x89\xBC\xBF\xF8\x43\xAF\x67\xAC\x1A\x6C\xF2\xAA\xCD\xA7\x23\x6B\xBE\xAD\x59\x8C\xAF\x93\xAF\xE8\xAC\x91\xAB\x29\x52\x11\x14\xBE\x8C\x04\x56\xAF\x03\x02\xEC\xAE\x40\x02\xFB\xA1\x10\x1C\xBE\x80\x00\x5E\xAF\xE0\xAF\x8A\x01\xF8\xAD\xFA\xA2\x7E\xA5\xBF\xA4\x5F\xE7\xAF\x0C\x03\xA6\x52\x44\x02\xFD\xA9\x7E\xB5\x08\x2C\x5F\x83\x02\xEF\xAE\x81\x01\xFC\xA9\x20\x03\x7F\xA0\x00\x35\x5F\xF7\xAF\xEE\xAF\xFC\xAF\xFA\xAA\xFF\xAD\x7E\xBB\xBF\x92\x04\x45\x01\x15\x02\x00\xB3\xFF\xA9\x00\xB4\x80\xA3\xC0\x86\x60\x8C\x02\x02\xB0\x04\xB1\x01\xB2\x01\xB7\x80\xA3\x08\x09\x60\x8E\xB0\x0B\xB0\x08\xB2\x44\x06\x18\x05\x11\x14\xC0\x93\x60", - "\x95\xB0\x18\xB1\x0B\xB2\x06\xB4\x21\x06\x81\xBC\xC0\x99\x60\x9E\xB0\x1B\xB1\x81\x01\x07\xB2\x04\xBF\x81\xA4\xC1\x92\x04\x47\x01\xFC\x6C\x14\xB1\xB3\x7A\x05\xB3\x61\xAC\xC1\xBC\x5D\xE8\x6A\x2E\xB1\xBF\xAD\x16\x81\x06\xB2\x78\xB6\x36\xB4\x60\x85\xAF\xDD\x7B\x1B\xB0\xE2\xAA\x07\xBB\x78\xAC\xA1\x7C\x60\x8E\xAF\xDC\x65\x1F\xB1\xE4\xA9\x08\xB5\x83\x62\xC2\x95\x5E\x94\x6A\x46\xB0\xCC\xAC\x55\x99\x09\xBC\x79\xBE\xDC\x4C\x61\x9F\xAF\x4E\xB1\x14\xB2\x14\xB3\xF4\xA5\x11\x0F\xC2\xA6\x5E\xE6\x5D\x56\xB1\xD4\xAC\x79\x59\x0B\xBC\x7A\xAA\x9F\x5C\x61\xAF\xAF\xDB\xAB\x2F\xB2\xEC\xA9\x7F\x62\x86\xB5\xBD\x91\xCE\x65\xB0\xB8\xAE\x4E\xA9\xF2\x80\x0D\xBD\x7B\xAB\xAB\xA7\x60\xDE\x9F\x6C\xB1\xE0\xAE\x16\x19\x0E\xB4\x7C\xB0\xD0\x74\x61\xC9\xAF\xD3\xA7\x80\x03\x1D\xB4\xF9\xA6\xD4\x5B\xC3\x8F\x5F\xBE\xB0\x45\xB1\x40\xB3\xFD\x7E\x0F\xBA\x5E\xA5\x91\x88\x03\x7C\x6D\x87\xB1\x66\x7D\x22\xB3\xC2\xAB\x88\xAF\xC1\x84\xD5\x0D\xB1\x32\xB0\xFC\x80\x24\xB5\x06\xB3\x9C\x93\xC4\xB8\x60\x93\x7D\x96\xB0\xC4\xAD\x26\xB5\x07\xB9\x3F\x7B\xC4\x80\x61\xD2", - "\x68\x9E\xB1\x21\xB0\x28\xB5\x06\x71\x8A\xA7\xC2\xAE\xC4\x25\xB1\x4A\xB0\xC3\xA8\x2A\xB5\x09\xB4\xBA\x6B\xC5\x90\x61\xAD\xB1\x88\xB1\x58\xB0\x15\xB2\x22\x0E\x8A\xB7\xC2\x8A\xC8\x35\xB1\x5A\xB0\x6A\x5C\x2E\xB5\x0B\xB5\x47\x7B\xC5\xA0\x61\xFC\x94\xBE\xB1\x31\xB2\xFA\x61\x18\xB6\x86\xAC\xA1\x44\x63\xE9\xB0\x67\xAB\x8A\x03\x31\xB5\x0D\xBA\x86\xB9\x3B\x8B\x63\xC1\xAF\x74\x4F\x67\xB1\x1D\xB1\x68\x9C\x10\x12\xC6\xB8\x61\x82\x8F\xD6\xB0\x3E\xB3\x92\x81\x1B\xBF\x87\xBD\xC4\xA4\x62\xDF\xB1\xF7\x7E\x6E\xB1\x21\xB7\x44\x62\x8E\xBB\xA1\x8A\x55\x80\x00\xBB\x6F\xDD\x6D\x32\x05\xE3\xA5\x11\x0B\xC7\x92\x04\x4A\x01\xEC\xB1\x77\xB1\x45\x03\x19\x05\x11\x0C\x06\x25\x60\x82\x02\xCD\x01\x7A\xB3\x3D\xB1\x20\x06\x8F\xA1\xC1\x82\x04\x7D\xB1\x20\xB0\x86\x00\x40\xB6\x04\xB2\x90\xBB\xC7\x80\x00\x03\xB2\x02\x03\x11\xB3\x3F\xB6\x20\xB8\x90\xA1\x08\x0A\x64\xFC\xB1\x0C\xB3\x88\xB2\x3F\xB0\x22\xB3\x91\xA7\xC8\x92\x64\x81\xB2\x03\x03\x86\xB0\x00\x07\x21\xB0\x00\x0E\x06\x06\x64\x9E\xB2\x15\xB2\x90\xB0\x46\xB2\x20\x02\x92\xA4\xC8\x83\x04\x25\xB2", - "\x09\xB3\x8A\x00\x4A\xB6\x21\xBA\x92\xBF\xC8\xAE\x64\xA1\xB2\x2F\xB3\x91\xB1\x40\x03\x25\xBB\x91\xAD\xC9\xB0\x64\xB7\xB2\x32\xB3\x8E\xB2\x41\xB7\x19\x05\x11\x10\x06\x15\x04\x51\x01\x3F\xB3\xA0\xB2\x44\x00\x28\xB3\x94\xA2\xCA\x8C\x04\x44\xB2\x47\xB2\xA3\xB3\x40\x00\x29\xBB\x94\xAA\xCA\x82\x04\x4C\xB2\x4F\xB2\xA7\xB1\x40\x00\x2A\xB1\x10\x12\x06\x15\x04\x56\xB2\x12\x02\xAC\xB0\x43\x02\x2B\xB3\x10\x1C\xCA\x82\x04\x5E\xB2\x55\xB3\xAB\xB2\x58\xB1\x2B\xB3\x96\xBB\xCA\xA5\x65\xDD\xB2\x67\xB3\xAF\xB1\x45\x03\x1A\x05\xFA\x0B\xCB\xA6\x5A\xD3\x13\x6C\xB2\x4B\xAC\x5C\xB6\xD8\xAC\x6C\xB2\x08\x31\x65\x9F\xAD\xC7\xAC\x86\x03\x5D\xB3\xD8\xA0\x6B\xBA\xCB\xBA\x5B\x8A\x64\x7B\xB2\x65\xAD\x40\x03\xED\x61\x98\xAF\xB6\x83\x04\x5A\xAD\x00\x01\xC2\xB3\xB4\xA9\xF5\x3A\x98\xA3\xBC\x7D\x9E\x0D\xB3\x99\x4E\xB7\xB2\xA5\xAB\xB5\x40\x99\xBB\x40\x52\x66\x9F\xAD\xF8\xAD\xCA\xB1\xF8\x6B\x20\x0A\x99\xA8\xBF\x65\xDF\x1D\xB3\xEF\x6F\x3B\x68\x68\xB4\xDD\xA6\x6B\xBE\xCB\xB2\x5A\xDD\x6C\xA3\xB2\x79\xAC\xFD\x69\x35\xB9\x99\xA6\xB5\xAA\x29\x54\x01\x97", - "\xB3\x61\xAC\xB9\x1D\x1A\x0D\x96\xB2\x08\x34\x66\xF2\xB2\x15\x03\xDB\xB0\xB0\xA9\x37\xB4\x97\xBE\xBA\x7C\x66\x96\xAD\x79\xB3\x81\x02\x6E\xB4\x2F\xBD\x65\x63\xCE\x82\x66\xAA\xB3\x0C\x72\xE3\xB2\x61\xB2\x20\x0B\x76\x6A\xCE\x8B\x66\x87\xB3\xBF\xB3\xDD\xB2\x6D\xB6\xD4\xAD\x7B\x4E\xCE\x8E\x66\xD1\xB3\xC3\xAD\xD5\x4A\x75\xB7\xFD\x48\x9D\xA7\xCE\xB8\x5B\xDB\xB3\x6C\x4D\x80\x00\x78\xB0\xDA\xA1\xCE\x63\xCF\x9E\x66\xE5\x79\xE6\xB3\xFB\x6D\x69\xB2\x38\xBF\x97\xB0\xBF\x69\x67\x88\xAD\x79\x8F\xF7\xB0\xA8\xAA\x22\x02\x76\x52\xCF\xAA\x29\x56\x01\xDD\xB3\xE5\xB2\xFF\x6C\x21\x07\x0D\x15\x08\x3D\x67\x92\x02\xD8\x01\x8A\x01\x80\xB2\x22\x09\x0D\x15\x08\x05\x68\x92\x02\xDA\x01\x8A\x03\x36\x05\x22\x0C\x0D\x15\x08\x1D\x03\x15\x02\xDE\x01\x8A\x03\x37\x05\x22\x00\x0E\x15\x08\x09\x68\x92\x02\x15\xB4\x89\x01\x38\x06\x42\xB5\x11\x1B\xD0\x92\x04\x62\x01\x1C\xB5\x0F\xB5\x45\x03\x1C\x01\xA2\xAC\x08\x24\x68\x92\x02\xE4\x01\x12\xB7\x40\x05\x1C\x0C\xA0\xB5\x08\x29\x68\x92\x02\x2C\xB4\x89\x02\x39\x02\x45\xB2\x10\x07\x07\x2D\x68\xB2\xB4\x15\x02", - "\x1B\xB6\x44\x00\x1D\x07\xA3\xAC\x08\x3C\x68\x92\x02\xE9\x01\x8A\x02\x3A\x05\x22\x0B\x0E\x04\xD2\x86\x69\x92\x02\x45\xB4\x24\xB7\x91\xB4\x21\x09\xA4\xAC\xD2\x8B\x69\x83\x02\x4D\xB4\x28\xB7\x93\xB2\x20\x01\xA5\xB4\xD2\x93\x69\x81\x02\x55\xB5\x80\x00\x3B\x05\x22\x01\xA4\xB2\x08\x1B\x69\x92\x02\xED\x00\x2E\xB5\x45\x01\x4C\xB4\x9F\xAB\xCF\x82\x04\x62\x4E\xEE\x01\x8A\x01\x9A\xB2\x22\x0B\xA6\xAC\x08\x2D\x69\x83\x02\x6F\xB4\x81\x01\x9C\xB1\x20\x03\xA7\xA0\x00\x35\x69\xF7\xB4\x6A\xB5\x3C\xB4\x9B\xB2\x4F\xBE\xA6\xBC\xD3\x83\x04\x6F\x01\x15\x02\x40\xB6\x44\x02\x50\xBC\x10\x04\xD4\x83\x04\x70\x01\xFC\x6C\x44\xB5\xB3\x7A\x51\xB3\x61\xAC\xD4\x8E\x62\xDD\x6A\x8E\xB5\x48\xB0\xD4\x71\x52\xB4\x89\xA6\x4E\x94\x6A\x97\xB1\x73\x7F\x4B\xB4\xE2\xAA\x53\xBC\x89\xAA\x9F\x5C\x6A\x9F\xB1\x27\x65\x4F\xB6\x28\xB1\x54\xB5\x83\x62\xD5\xA6\x62\xDC\x65\xA6\xB5\x54\xB1\x15\x91\x55\xBC\x8A\xB0\xE5\x6C\x6A\xAF\xB1\xAE\xB5\x44\xB6\xAC\xB3\x16\xBC\x10\x0F\xD5\xB6\x62\xE5\x79\xB6\xB5\x5C\xB2\xF4\x59\x57\xBC\x8B\xAD\xA9\x7C\x6A\xBF\xB1\xA5\x95\x5F", - "\xB6\x30\xB5\x8E\x62\xAC\xA5\xC6\xB9\xCF\x45\xB5\xC8\xB0\x6F\x9B\x9C\x78\x59\xBC\x8C\xB8\xB2\xB5\x6A\xDE\x9F\xCC\xB4\x39\xB1\x45\x01\x5A\xB3\x8D\xB0\x35\x81\x04\x54\xB5\xD7\xB1\x25\x84\xB6\xB2\x1B\xB5\xCC\x5B\xD6\x9D\x63\x9E\xB5\xA5\xB5\x70\xB7\xFD\x7E\x5B\xB3\x8E\xA2\xA8\x80\x00\x71\x01\x15\x02\x74\xB6\x44\x02\x5D\xBC\x10\x0C\xD7\x83\x04\x72\x01\x15\x02\x78\xB6\x44\x02\x5E\xBC\x10\x14\xD7\xAF\x6B\xF1\xB5\xF8\xB5\x79\xB5\xBE\xB5\x5E\xBB\xAF\xB7\xD7\xBA\x6B\xFF\xB5\xFC\xB4\x80\xB7\x40\x03\x1E\x05\x11\x04\xD8\x92\x04\x06\xB6\x0C\x02\x84\xB7\xC0\xB5\x60\xBC\xB0\xA7\xD8\x8D\x6C\x89\xB6\x0F\xB7\x85\xB6\xC3\xB3\x62\xB0\xB1\xB4\xD8\xB7\x59\xD3\x13\xC1\xB3\x65\xAE\x6F\xB4\xDA\xA4\x77\x55\xB7\xA7\xA6\x15\x02\x88\xB3\xE9\x11\xEF\x4D\xF7\x4B\x5A\x49\xB7\xB8\x5B\x82\x14\x7D\xB3\xF3\xB3\x1D\x68\xDF\xA9\xB2\xA1\xCD\xB4\xDF\x78\xAD\x6A\x14\x72\x1E\x3E\x1B\xF0\x63\x9D\x14\xD9\xBD\x66\xBA\x6F\x37\xB7\x40\xAD\x7B\xB1\x9C\x74\x68\xA6\x77\x57\x5B\x96\xAD\x88\xB2\x9B\xB6\xA5\xAD\xF7\x47\x9D\xB3\xCC\xA6\x5A\xE9\xAD\x93\x6E\x33\xB6", - "\x7E\xB0\xF1\x6F\x69\xAD\xD9\x8B\x6D\x9E\xB6\x98\xB2\xA5\xB7\x73\xB6\x65\xB9\x3C\x9D\xD9\x8A\xC8\x49\xB6\x65\xB4\x4B\xAE\x9A\x13\xF0\x64\xEE\x14\x07\x15\x04\x75\x01\xC8\x24\xB0\xB7\x8C\x42\x6C\xB4\x7B\x75\xCB\x8C\x04\x64\xB6\x89\x42\xB3\xB7\x40\x00\x6D\xB4\xB5\xBE\x15\xAC\x6D\xF0\xB3\x5A\x19\xB7\xB4\x00\x03\xED\x62\xB7\xA8\xCC\xB2\x6D\xD3\x13\x72\xB7\xDE\x4D\xDE\xB7\x6B\xBE\x59\x5C\xDB\x96\x66\x92\x02\x72\xB6\x7C\xAE\xDC\xB2\x40\x12\xB7\xAE\xDA\x80\x00\x05\xB7\xE6\x5D\xC0\xB6\xD4\xB0\x71\xB5\x7E\x6C\xDC\xA5\xF3\x0A\xB7\x59\xB7\xB3\xB6\xD7\x39\x20\x02\xB7\xA4\x77\x36\x03\x15\x02\x97\xB6\x89\x03\x3D\x05\x22\x0B\xB9\xB2\x08\x38\x03\x15\x02\x9F\xB6\x89\x01\x3E\x00\x73\xB5\x11\x03\xDD\x92\x04\x19\xB7\x0C\x02\x7D\x00\xE9\xB2\x22\x0A\xBA\xA7\xDD\x95\x04\x7B\x01\xB5\xB2\x86\x00\xEC\xB0\x37\xB2\x11\x13\xDD\x92\x67\xB2\xB7\x39\xB6\x81\x03\xEE\x6E\x76\xB3\x6C\xB9\xD8\x81\x04\x3C\xB7\xC7\xB2\xC3\xB4\xF0\xB7\x69\xB6\xEE\x43\xDE\x93\x6D\x83\xB3\xAF\xB7\x6C\xAD\xF2\xB4\x76\xB8\xBB\xA3\xDA\x8B\x6F\x9F\xAD\xBD\x4E\xE3\xB7\xE0", - "\x6B\xB5\x42\xBD\xBC\xCE\xB5\x6E\xA6\xAD\xF8\xAD\xEA\xB5\x78\xB0\x00\x0A\xBD\xA4\xCF\xB3\xF9\x5D\xB7\x2A\xB6\xFA\x6C\xF8\xB2\x3D\xB1\xB9\xA3\x08\x23\x6F\xF0\xB3\x74\x4F\xF3\xB4\x72\xB1\xEF\x8A\xBE\xB8\xB7\xBC\x03\x4F\xB7\xC3\xAC\x35\x16\xFA\xB4\xDC\x1D\x0F\x11\xDD\x83\x04\x75\xB7\xCC\xB7\xFB\xB7\x5B\xB5\x22\x08\xBF\xB8\xCB\xAA\x6D\x82\x02\xFD\xB7\xDE\xB7\xFF\xB1\x20\x01\xC0\xA1\xDE\x9D\xD9\x05\xB8\xC4\xB6\x05\x64\x02\xBF\x78\xB3\xB7\xBC\xDF\x8A\x6F\x92\x02\x0B\xB8\xA1\xB4\x43\x01\x82\xB1\x99\xB0\xE0\x94\x67\x8E\xB8\x46\xB6\x0B\xBA\xA5\xA9\xDD\xA4\xC1\xBF\xBC\x52\x6D\x9D\xB8\x9B\xB2\x00\xBB\xCE\xB3\xCE\x70\xC2\xA1\xDF\x8C\xE4\x25\xB8\xE4\xB6\x86\x02\xD8\x48\x85\xB8\xBE\xB8\xE0\x8D\x6D\xE6\x5D\x2C\xB9\xF9\xB2\x0A\xBD\x22\x0E\x0F\x0E\xE1\xB1\x6F\xB6\xB8\xC7\xB3\x49\x22\xFD\xB4\x24\x0B\xBF\xAF\x09\x3D\x70\x99\x02\xB9\xB7\x80\x03\xEE\x68\xB3\x43\x78\x7E\xDD\x84\x04\x23\xB8\xC9\x86\x22\xBB\xEF\x6C\xFE\x6A\xC4\xBF\xD8\xBE\x70\xC0\xB6\x20\x03\x1F\xB9\x47\x07\x82\xBF\xC4\xB0\xDE\x91\x71\x99\xB8\x40\xB9\x0D\xBB\x15\xB9", - "\x6A\xB5\xBE\xBC\xE1\x96\x5A\x86\x16\x48\xB8\x5F\x85\x13\xBE\x7B\xBC\x90\x63\xE3\xAB\xDF\x5D\xB8\x0D\x03\x30\xBB\xF5\x49\x8C\xB3\xD4\x18\xDE\x92\x6D\xE6\xB8\xFB\x6F\x29\xBA\xA5\xAC\xDC\x18\xCC\x35\x2B\x6B\x11\x02\x00\x0E\x4C\x24\x5F\x7A\x57\x01\x00\x59\xB9\xE3\x87\xEB\x6B\x53\x10\x01\x3E\xBA\x5F\x24\x9A\x4B\x9E\x51\x00\x02\x72\x8E\x1E\x84\xB9\x41\xBB\x21\xBC\xC6\x16\x49\x0B\x4F\x53\x00\x0B\xB9\x3B\x17\xBE\x4B\x7A\x54\x02\x00\xC9\xA0\x52\x15\x36\x6B\x53\x15\x01\x4A\xBB\xB7\x0B\x3A\x1A\x1C\x12\x09\x16\x00\x1A\xB9\xB2\x5D\xB5\x6F\x7A\x57\x02\x00\xCA\xBE\x5E\x1D\x01\x7E\xB8\x85\x48\x13\x0C\x35\x4A\x0B\x08\xCA\xAF\x24\x66\x18\x69\x55\x54\x01\x56\xBA\x55\x02\x39\x06\x49\x0C\x02\x32\x72\xDD\x5D\xA0\xB9\x3E\x56\x11\x07\x96\xB2\x5A\x00\xE5\xB1\x62\x40\x00\xBC\xB8\x82\x4C\x28\xBA\x89\x0A\x03\x01\xE6\x87\x95\x20\xB9\x6B\x0E\x1A\x02\x31\xBA\x20\x0C\x01\x00\xE5\xBA\xAA\x1F\x00\xCB\xB9\x80\x01\x07\x00\x94\xB7\xAC\x56\x00\x11\x73\xD3\x5F\xA0\xB8\xE5\x53\x35\xBF\x03\x00\xCA\xA3\x24\x06\x6F\x9D\xB9\x7C\x60\x50\xB8\x29\x0A\x6E", - "\xB0\xCE\xB3\x4A\x32\x04\x27\xB4\x34\x1C\x99\x01\x08\x00\x94\xB1\x6C\x60\xD1\xB1\xA7\x22\x00\xA0\xB8\x5A\x51\x15\x02\x17\x2E\x9F\x5B\x87\x34\xA2\x56\x00\xF4\xB8\x00\x55\x9C\x2A\x4E\x5D\x7B\x4B\x4F\x63\x00\x20\xB9\x72\x54\xB1\x4F\x7A\x54\x04\x00\xCA\xA6\x6E\x58\x36\x6B\x53\x25\x01\x82\xBB\x73\x76\x3D\x56\x02\x00\xE8\xB6\xF0\x6D\x53\x27\x00\x50\xBA\x72\x00\xB2\x3B\x9E\x48\x01\x0E\x74\x80\x7E\xF0\x53\x14\x03\x45\xB8\xCA\x4B\x9E\x4A\x01\x1B\x74\xAD\x8E\xF1\x53\x1A\x6F\x47\xB9\xD6\x81\x9F\x4C\x01\x23\x74\xAA\x92\xEF\x53\x16\x03\x49\xB8\x00\x0A\x89\x8B\x4F\x6E\x00\x20\xB9\x91\x02\xE9\x97\x7A\x57\x05\x00\xD3\xB5\x08\x09\x34\xEB\x53\x30\x01\x95\xB8\x8D\x9B\x3D\x51\x03\x12\xE8\x95\x04\x0C\x9F\xF0\x52\x19\x02\x4F\xBB\xFD\x91\x9F\x53\x01\x2B\x74\xD9\x9E\xEB\x52\x1A\x03\x51\xB9\xA4\xB5\x03\x00\xE5\x89\x37\x77\x9D\xEB\x52\x1B\x00\x28\xBD\x32\x45\x01\x12\x09\x3E\x45\x37\x00\xA0\xB9\x0C\x72\x05\x06\xAA\xBF\xA1\x5F\xBB\x60\x72\x88\xB3\x09\x00\xAE\xB8\x87\x53\x1F\x2B\x7B\x6A\x00\x22\x75\x9E\x54\xFB\x21\x92\x44\x24\x01\x9F\xB9", - "\x9F\x46\x31\x01\xDB\x0E\x00\x67\xBA\x10\x57\x54\x17\xCF\x12\x01\x11\xEB\xA9\x72\xD3\x12\x00\x17\x05\x02\x5D\xBE\x95\xB3\x95\x0C\x3D\x4C\x00\x7B\xBA\xB3\xB8\xCB\x33\x9F\x50\xB0\xB6\x62\x03\xBC\x50\x00\x04\xBB\x53\x13\xE2\x6F\x01\x00\xB1\xBB\x0F\x3D\xDA\xAC\x75\xF5\xB8\x53\x12\x7D\x19\x03\x04\xB1\xB1\x67\x2B\x2E\x0F\x00\x14\xBB\xA3\x2B\x7A\x20\x02\x00\xB3\xBD\x1B\x4F\xEA\xA1\x74\xB9\x00\xA0\xB9\x40\x08\x1E\xA4\xC6\x1F\x16\x5A\x75\x70\x8C\x6B\x53\x3A\x01\x95\xB8\x20\xA1\x3E\x5B\x03\x00\xE5\xB6\x0E\x43\x1E\xCA\x03\xD2\xBB\x83\x58\x2C\xA1\x9F\x5C\x01\x03\x75\x8C\x02\x3C\xA5\xF7\x51\x0F\x00\x94\xB4\x49\x08\x9F\xAE\xA7\x3E\x00\xBC\xBB\x8A\x02\x90\xA7\x3D\x5F\x03\x01\xEE\xB7\x4B\xF0\x53\x40\x00\xE3\xB9\x90\xA1\xA4\xB1\x04\x0B\xE9\x8B\x56\xF0\x53\x42\x01\x95\xB8\x7B\xA8\x3E\x53\x04\x0B\xE9\xB3\x57\xF0\x53\x44\x01\x95\xB8\x7F\xA8\x3E\x55\x04\x0B\xE9\x82\x58\xF1\x53\x46\x01\x95\xBA\x82\xA8\x3E\x57\x04\x0B\xE9\x9E\x58\xEB\x53\x48\x01\x95\xBA\xB4\xAB\x3D\x59\x04\x0B\xE9\xB3\x5D\xEC\x53\x4A\x01\xDB\xBA\x04\xB0\x3E\x5B\x04", - "\x12\xEF\x82\x04\x6E\xB1\xF0\x52\x26\x02\x7D\xB9\x20\x0C\x93\xB1\x4F\x4D\x01\x7B\xBB\x00\x00\xAA\xB0\x7B\x56\x09\x00\xCA\xBE\xBF\x19\x68\xA4\xBB\x26\x0C\x39\x56\x87\xB0\x3E\x5F\x04\x0B\xE9\xB1\x68\xE9\xB9\x43\x81\x6E\xBA\x90\xB1\xA4\xB1\x05\x12\xF0\x9E\x69\xA1\xBA\x52\x00\x0B\xBD\x9F\xB1\x3E\x53\x05\x00\xF0\xAE\x6B\xEE\x53\x54\x00\x0D\xBE\xBF\xB0\x3E\x55\x05\x02\xF1\x82\x04\x5E\xB6\xF1\x52\x2B\x02\x89\xB9\x20\x06\xBA\xB0\x4F\x57\x01\x59\xB9\x5B\xB9\xF7\x50\x16\x00\xC6\xB6\xC7\xB1\x4F\x59\x01\x34\xBC\x20\x47\x56\xBA\x72\x02\x0B\x04\xCD\xB7\x54\x7A\x78\xEF\x12\x3D\xBD\x5E\x07\x8F\xBD\x61\x01\xE4\xBC\x54\x43\x79\xEF\x85\x45\xBC\x74\x57\x91\xB9\x63\x8E\xCC\xA6\x64\x4B\x79\x9E\x87\x4D\xBC\xD2\x53\x93\xBE\x2B\x28\xCC\xA0\x9B\x53\x79\x90\x2A\x55\xBC\xDB\x43\x95\xBA\x0C\x09\xE5\xAD\x10\x17\x79\xE3\x00\x5D\xBC\xFE\x6B\x95\xBC\x0C\x01\xE6\xBC\xB3\x57\x79\xE5\x00\x65\xBC\x11\x3B\x95\xBE\x0C\x03\xCC\xAF\x3F\x57\x79\xE7\x00\xBE\xB9\xD3\x6F\x95\xB8\x0D\x09\xCB\xA8\x31\x17\x79\xE9\x00\xA0\xB8\x4B\x0A\x12\x07\xCA\xBA\x06\x00", - "\xE5\x94\x93\x52\x00\x57\xBD\x35\x02\x9F\xBC\x0F\x87\xE5\xAC\x03\x25\x72\xCB\x83\x57\xBD\x36\x03\x4A\xBB\x0C\x07\xE5\xAE\x03\x0A\x74\xA4\x07\x57\xBD\x37\x00\x28\xBF\x72\x27\x06\x17\xF2\xB0\x01\x2B\xBA\x01\x01\xC7\xBA\x72\x01\x0E\x0F\xE8\xA0\x19\x4F\x76\x81\xBB\xAC\x5C\x53\x0B\xA7\xBE\xC4\x0F\xE7\x02\x00\x1A\x7A\xA6\x0C\x74\x4F\x02\x03\xA8\xBB\x2A\x1D\x57\x47\x00\x2B\x7A\xFB\x21\x60\x60\x03\x03\xAB\xB9\xCE\x2A\xF3\x42\x08\x1F\x03\x57\xB9\x72\x01\x49\xBF\x8D\x8F\xCA\xB3\x07\x1D\xF4\xB3\x22\xD7\xB9\xBA\x30\xBA\x4F\x1B\x00\xD8\xB1\x1A\x52\x53\x7A\x01\x57\xBC\x74\x00\x00\xBF\x1E\x07\xCA\xB5\x07\x0B\xE9\x87\x7B\xF1\x53\x76\x00\x5F\xBD\x8A\x9F\xCA\xB7\x07\x00\xE5\xB6\xAF\x78\x00\x57\xBC\x3C\x00\x28\xBA\x8B\x17\x08\x0D\xE5\xB2\x76\xB3\x5C\x8A\x01\x2B\xBD\x1E\x02\xDA\xB1\x10\x09\x04\x17\x79\xFA\x00\x2B\xBA\x4A\x03\x95\xBB\x0F\x00\xCA\xA2\x61\x4E\x02\x57\xBC\x7C\x01\x76\xBD\x45\x07\xDD\xB1\x9F\x5D\x03\x24\x7B\x80\x00\x90\x01\x2B\xBE\x1F\x07\xDE\xB9\x09\x17\xF2\xBF\x01\x2B\xBA\xA0\x01\x2B\xBC\x20\x00\xE0\xB7\xE5\xA1\x04", - "\x37\x7B\xA5\x01\x57\xBC\x41\x03\xC1\xBF\xCA\xB3\x08\x00\xE5\x95\x9D\x45\x01\x57\xBC\x42\x02\xC3\xBD\x0A\xB7\xE5\xA5\x04\x37\x7B\xC9\x01\x57\xBC\x43\x03\x4A\xBB\x1A\x07\xE5\xA7\x04\x1B\x7C\xD7\xBC\x88\x01\x95\xBA\x36\x07\xCA\xB9\x08\x02\xF9\x97\x79\x8A\x01\xA0\xB8\x75\x1D\x37\x07\xCA\xBB\x08\x09\xF9\x8E\x68\xD7\xBC\x8C\x01\x95\xB8\x3A\x07\xCA\xBD\x08\x0B\xE9\xAD\x03\x57\xBC\x8E\x01\x95\xB8\x3C\x07\xCA\xBF\x08\x17\xF7\xB3\x03\x57\xBC\x90\x01\x7B\xBE\x3D\x07\xCA\xB1\x09\x17\xF7\xB8\x03\x57\xBC\x92\x01\x95\xBA\x3F\x07\xCA\xB3\x09\x17\xF7\xBD\x03\x57\xBC\x94\x00\x50\xBB\x5E\x0F\x01\x07\xEA\xB2\x08\x15\x02\x53\xBA\x8B\xAD\xAA\xBC\x43\x06\x12\x02\xF5\xAA\x53\x5A\x7D\x96\x37\x5D\xBF\x86\x43\xD7\xBB\x99\x31\xF6\xAB\x8A\x63\x7D\x81\x02\x99\x01\x7B\xBF\x05\x07\xEC\xB0\x00\x1A\x04\x20\x72\x8E\x15\x1E\x00\xB6\xBF\x26\x00\x94\xBD\x1D\x40\x01\x2C\x7D\x9C\x01\x6F\xBE\xA9\x5C\xDB\xBD\x13\x04\xF7\xBC\x83\x6C\x7D\x9E\x01\x79\xBE\xB5\x5C\xDB\xBF\x13\x0D\xF7\xB5\x84\x6C\x7D\xA0\x01\x2B\xBB\x14\x00\xDB\xB9\x14\x0E\xD4\xBA\xBB\x6C", - "\x7D\xA2\x01\x8D\xBF\xB6\x6C\xDB\xBB\x14\x08\xF5\xA7\x4D\x6C\x7D\xA4\x01\x00\xBC\x1B\x00\xDB\xBD\x14\x05\xF6\xBD\x0A\x2C\x7D\xA6\x01\x9D\xBF\x04\x14\xDB\xBF\x14\x07\xEF\xA0\x02\x33\x7A\xA3\x2B\xA5\x53\x20\x03\xE9\xBD\x37\x4B\x57\x0B\x02\x2C\x7D\xA8\x01\xA1\xBE\xDE\x78\xDB\xB9\x15\x00\xE0\xA9\x02\x2C\x7D\xAA\x01\xA0\xB8\xF7\x6B\x11\x04\xED\xBB\x0A\x00\xE5\x85\xD8\x59\x00\x8F\xBB\x6F\xBE\x83\x6B\x39\x81\xFC\xA6\x31\x0A\x07\x5F\x00\x6C\xBE\x56\x03\x4A\xBA\x0C\x0C\xF6\xAD\x05\x00\x78\xEA\x00\x6C\xBE\x57\x03\xF3\xBC\xED\xBF\x0A\x00\xF0\xB7\x01\x6C\xBE\xB0\x00\x00\xBC\x20\x04\xED\xB1\x0B\x0B\xE9\xBC\x01\x6C\xBE\xB2\x01\x95\xBA\x1F\x04\xED\xB3\x0B\x11\xFD\x80\x00\x0F\x01\x6C\xBE\x5A\x02\xF9\xB8\xFD\xB1\x9F\x55\x05\x37\x7B\x8D\x01\x6C\xBE\x5B\x00\x28\xBB\x3A\x1E\x08\x0C\xFB\xB7\x02\x6F\xBF\x6C\xBE\x5C\x03\xFC\xBB\xDE\xBC\xF6\xB9\x05\x38\x7F\xF1\x53\xBA\x01\x7B\xBC\x25\x04\xED\xBB\x0B\x00\xF0\x9D\x02\x6C\xBE\xBC\x00\x03\xC0\xDB\xBD\x17\x01\xF9\xA4\x99\xAC\x7D\xBE\x01\xA0\xB9\xCA\x1B\x26\x04\xED\xBF\x0B\x0D\x00\xED\x4D", - "\xEC\xBE\xC0\x01\x08\xC3\xE2\xA4\xED\xB1\x0C\x00\xE5\xAB\xDD\x22\x01\xC5\xBF\xA9\x13\xDA\x6E\x14\x01\x02\xDB\x87\x2B\xDD\x29\x01\x25\xC1\x38\x2D\x65\x47\x15\x0C\xF6\xA2\x06\x15\x7E\x8C\x02\x2C\xC1\xF8\x53\x30\x07\x05\xC6\x71\xAC\xFB\x84\x03\x34\xC0\x02\x02\x5B\x00\xDB\xBD\x18\x00\xCA\xBD\x3D\x78\x02\x6C\xBE\xC6\x01\x1E\xC0\xCA\xAC\xED\xB7\x0C\x00\xE5\xAB\x96\x41\x01\x6C\xBE\x64\x02\x11\xC7\xF7\xAC\xF6\xA9\x06\x0B\x81\x92\x02\xC2\x00\xB6\xBE\x32\x07\x09\xCC\x10\x07\x06\x2C\x7D\xCB\x01\x54\xC1\x81\x00\x32\x04\xED\xBC\x0C\x00\xE5\xA9\x5B\xC9\x01\x6C\xBF\x66\x01\x16\xC2\x20\x0B\x05\xD1\x4F\x4E\x03\x5E\xC0\xED\xB0\xB6\xBF\x33\x00\x0D\xC2\x11\x00\x03\xF1\xA7\x50\x01\x38\xC1\x99\xB0\xDB\xB9\x1A\x01\x07\xDD\xC8\xAC\x7D\xD2\x01\x00\xBD\x68\x00\xDB\xBB\x1A\x00\xCA\xA2\x3B\x57\x03\x6C\xBE\xD4\x01\x3E\xC2\x7F\xB4\xED\xB5\x0D\x00\xF0\xB6\x03\x6C\xBE\xD6\x00\x50\xBA\x9A\x11\x1F\x09\x02\xC3\xAD\x32\xA9\x78\x01\x6C\xBF\x6B\x02\x22\xC5\x74\xBD\x08\xDD\x0D\x5D\x72\xFB\xBA\xCA\x02\x6C\x00\x80\xBA\x00\x08\x09\xC6\xD0\xB5\x81\xD5", - "\xBA\xF1\x52\x6D\x01\x56\xBC\x66\x5C\xD9\xA0\x00\x1B\x03\x20\xB9\x94\x19\x0E\x01\x27\xC2\x22\x0C\x0D\x08\x05\xD2\xBD\x2B\xC1\x0C\x03\x6E\x02\x2B\xC2\xED\x50\x0B\xC3\x08\x1E\x03\x20\xB9\x86\x2C\x11\x01\x2D\xC6\xD6\xB8\x0B\xDF\x21\x3B\x82\x81\x02\xE0\x00\x0B\xC3\x7F\x6F\x17\xC0\x00\x01\x07\x20\x72\x98\x1B\x29\x00\x62\xC2\x38\x02\x18\xC4\x99\x44\x06\xE3\x03\x47\xC1\x3F\x48\x62\xC0\x39\x04\x19\xC6\x60\x64\x06\xE5\x03\x20\xB9\xD9\x73\x17\x03\x5E\xBA\xF8\xB2\x10\x19\xCE\x71\x00\x5B\xC1\x26\x0D\x3A\x02\xFD\x55\x41\x53\x5A\x2B\x4F\x5C\x83\x96\xC1\x80\xAD\x72\xC0\x7E\x50\xB2\xBF\xAD\x2B\x4F\x75\x7A\xE8\xC1\x0F\x55\xB6\xBA\xD2\x23\x3D\x56\xDC\x5A\xC5\x25\x73\x81\x54\xC2\x4B\xED\x42\x72\x02\x84\x56\x0F\xCE\x51\x72\x83\xED\xC1\x7E\x22\x39\x55\x3F\xC0\x48\x58\x0F\xC7\x22\x68\x97\x4A\x03\xA5\x53\x81\xC3\x91\x57\x3F\x50\x42\x47\x08\xF6\x9D\x0E\xC2\x5F\x55\x7A\xBA\xA5\x43\x3D\x5A\xAB\x4A\x08\xC7\xEB\x67\xC1\xF8\x44\xE5\x00\x6F\x48\xB3\x4D\x3B\x12\x14\x18\x84\x96\xC2\x37\x55\x8C\xC3\xC8\x5F\x23\xC1\x1A\x4A\x0E\x3E\x40\x14\xC2", - "\xEB\xC0\x83\xC2\xB7\x4A\x39\x0E\x49\x4B\x4F\x6B\x1D\x24\xC2\xB6\x48\xE5\x01\x10\x3B\x3D\x5A\x44\x10\x09\xFA\x83\xA4\x65\x20\xC3\x4A\x5A\x4D\xC0\x22\xCF\xFA\x53\x4A\x0A\x07\x7D\x54\x94\x08\x4B\x0B\x8A\x4C\x1C\xC7\xD7\xBB\x87\x25\x25\x4A\x03\xD4\x49\xA1\xC1\x57\xBC\x1D\xC1\x67\x2A\x0E\x32\xA9\x3B\xC2\xDE\x4C\x99\x02\x7B\x69\x27\xC2\xFD\x41\x24\x1A\x31\x18\xC2\x32\x03\x02\x6C\x55\xC5\xAF\x41\x48\x15\x3A\x58\x85\x96\x6D\x4D\xC3\x24\x62\x8A\x51\x6E\x69\x12\xC1\x0D\x72\x04\x41\x6D\x54\xC3\xCA\x19\x20\x09\x96\x4F\x15\xC4\xBD\x6A\x83\xF6\x6B\x30\x55\xAD\x6E\x3E\xBB\xB4\x22\x13\x00\xD4\x2E\x74\xFE\xC1\xE8\xB1\xB2\xC2\x2D\x49\x90\x08\x11\xCA\x0E\x00\x2C\x20\xBD\xFB\x21\x40\x0B\x54\xC5\x24\xC5\xC1\xAB\x08\xD4\x90\x12\xC2\xA3\x2B\x40\x0A\x56\xC4\x30\xC2\x3E\x49\x52\x70\x98\x08\xC3\xBD\x43\x40\x08\x2D\x54\x2A\xC8\xD9\x1E\xBF\x0B\xF4\x18\xC2\x81\x08\xB4\xC0\x63\xC7\xBD\x70\xA5\x46\x82\x3A\x85\xDB\x43\x81\x09\x5C\x4E\x72\x01\x1D\x8E\x7F\x34\x0C\x98\x86\xBB\xB8\xF0\xC1\x1B\x85\x67\xC6\x73\x8F\x19\xC8\x2F\x76\x0E\x7D\xC2\x19", - "\x88\xC0\xC1\x9C\x2E\x76\x03\x18\xD1\x09\xCF\x14\x8E\xC3\x22\x8F\x82\xC1\x68\x46\x76\x0B\x18\xD6\x0D\xD2\x04\x44\x8E\xFE\x2F\xDB\x90\x46\xC6\x76\x03\x19\xDB\x0C\xEB\x29\xCC\x54\x00\x00\x0E\x9E\x6E\xC6\x96\x46\x3B\x1A\x0C\xFE\x86\xCB\x9D\x4B\x54\x91\x2F\x3F\xC3\x36\xC5\x79\x61\x0B\xD3\x51\x86\xC3\xFB\x9E\x86\xC0\xBE\x46\x76\x06\x17\xDE\x8B\x1D\x40\xFE\x2F\xF7\xA0\x8C\xC2\xFF\x2A\x29\xC4\xE3\x1A\x8A\x8B\x87\xB7\xC2\xDA\xC2\xFF\x2C\x25\x53\x3D\x5C\x15\xBA\x0E\xFA\x62\x7A\x53\xB8\xC3\x81\x03\x3B\xC2\x24\xC2\x11\x1E\x8A\xAE\x87\xA1\x43\x91\x02\x4A\x0A\xFF\x2D\x1E\xC6\x1C\xC2\x08\x34\x76\xE7\xC3\xE8\x4A\x99\x02\x7E\xC5\x70\x54\x15\xCE\x8B\xA7\x86\xE9\xC3\xBA\x5C\xAA\xC1\x77\xA3\x38\xCB\x0E\xDE\xBF\x09\x84\xFD\xC3\x01\x02\x1D\xA4\x80\xC6\xDB\x4E\x7F\x23\x10\xDB\xAC\x54\xC2\xB9\xBB\xB9\xC1\x6F\x44\x94\x06\x21\xD2\x68\x54\x85\xBE\xA4\x13\xC4\x77\x4F\x20\x0D\x43\xC4\xEB\x56\x0E\xDB\x7D\xAD\xC3\xDE\x4C\x8F\xC0\x72\xC7\x76\x1B\x9E\x43\xEE\x9A\x88\xF8\x45\xC7\x54\x12\xC7\x8B\x56\x28\xCA\x27\xA8\x11\xEE\x9B\x3A\x55\x32\xC5", - "\x26\x56\xF1\xBD\x22\x00\x2C\xB8\x08\xEF\x84\xC8\xC3\x33\xC2\xBF\x21\xC9\xA0\x23\xC5\x13\xC8\x0E\xF6\xAF\x54\xC2\x8C\xA6\x8C\xC1\x2C\x31\x47\xC3\xFD\x5B\x11\xD2\x04\x3E\xBB\xD3\xC2\x81\x02\xFA\xA2\x41\x51\xD7\x54\x24\x24\x12\x64\xC3\x3B\x16\x69\xA8\x46\xC6\x92\x06\x25\xCD\x62\x54\x85\xAA\xC2\xEE\x4C\x5D\x30\x29\x0B\x3D\xCE\x17\x2E\xA9\x98\x84\xE9\x55\x5D\xC4\x89\x03\x7C\xC4\x2A\xC2\xF6\x18\x08\xD4\x93\x69\xC4\xEC\x64\xAA\xC1\x62\xA9\x44\xCC\x11\xDE\x5E\x30\x89\xA3\x5B\x54\xC3\xE7\xB8\x64\xC0\x5F\x4F\x14\xDC\x52\x4F\xB9\x54\xC2\x93\xAA\x8C\xC2\x08\x5F\x4E\xCC\xCC\xAE\x12\xCC\x04\x53\xBB\x7B\xC4\x5D\x32\x71\x5C\x50\xCC\xD9\x54\x0A\xEE\x57\xF4\xC4\xCA\x02\xFB\x54\xA3\xC1\xDD\x54\x15\xDE\xB8\xAF\x88\xC1\xBD\xEB\xC0\x52\x0B\x46\xC3\x3D\x57\xDD\xA9\x14\xE1\x86\x57\xC2\x7E\xC5\x90\xC0\x55\xC2\xBF\xAE\x29\xD6\x25\x7D\x95\x13\xC5\x27\xC2\xBF\x23\x76\xBD\x54\xCB\x1D\x4A\x2C\x53\x8A\xAD\xC2\x7E\x22\x00\xAF\x7D\xC6\x96\x45\x9A\x53\x14\xC1\x89\x8E\x1E\xDF\xBA\x48\xC5\x4B\x49\x53\xC8\x13\xD0\x10\xC0\x00\x04\xAC\xBA\xC4\x03", - "\x61\x94\xC1\x20\x04\x4A\x1D\x41\x7C\x84\x83\x02\x06\xAC\x7C\xC0\x82\xAC\x4A\xCC\x04\x6C\x0A\xF7\xF0\x26\xC4\x13\xC2\x13\x0E\x8A\xC6\x27\xC5\x11\x0C\xB0\xA3\x75\xD1\xC5\xE6\x59\xDA\xC0\x7A\xC0\xDC\xA8\x1C\xD5\xBA\x83\x8B\xF8\x45\x92\x05\xDE\xC3\xB6\xC4\xE5\xA8\x1C\xCF\xEF\x98\x84\x92\x05\xC5\xC3\xE7\xC3\x40\x04\xF0\xAE\x7F\x36\xC4\xA7\x8B\x99\x6E\x34\xC5\x36\xC0\x72\xC5\xBF\xB1\x2C\xCE\x6C\x62\x86\xBD\xB2\xC8\xC2\xFC\xB3\xAC\xC3\x3B\x42\x29\x1D\x0E\xCE\x3C\x7F\xB3\xD8\xC2\x81\x03\x83\xB3\x5F\xC8\x5E\x47\x56\x4A\x50\x6B\x53\x60\xC4\x8E\xC2\x2E\x30\x47\xC6\x28\xD6\x05\xE1\xA8\x7D\x4B\x37\xC5\xFD\x6B\x5B\xC4\x21\x0B\xE0\xB1\x0F\xF5\x68\xB6\xC4\x1C\xC2\x5D\x56\xB8\xC7\x58\xC2\x10\x1F\xD1\x81\x8C\xF4\xB4\x18\xC6\xE5\x02\xAE\x51\x5D\xC3\x2E\xC2\x08\x06\x6A\xD1\xC3\x92\xB6\x82\xC6\xB7\x4A\x57\x5E\x1C\xC5\x19\xC1\x04\x28\xB7\x16\xC7\x80\x03\xFB\xB2\x65\xC1\x31\xCE\x0B\xE9\x86\xFA\xB7\xAB\xC3\x42\x4B\x1A\x08\x23\xCA\xAB\x5E\x17\xF4\x38\x04\x00\x6B\x08\xFF\x2E\x02\x03\x67\xC6\x62\x1F\x11\xD4\x8B\xE5\x54\x6B\x08\xD9\xC3", - "\x68\x2B\xED\x0A\x2D\xDC\x18\xD8\x51\x41\xC6\x58\x3A\xA2\xC7\x54\x13\xED\x0B\x31\xCB\x09\xE3\xAA\x50\xC6\x51\x5C\xA9\xC7\x3E\x23\xED\x04\x32\xCE\x1A\xE1\xA6\x58\xC6\x3F\x64\xAD\xC5\x9C\x2B\xED\x0D\x32\xDE\x1A\xE3\x00\x60\xC6\x62\xBC\x9A\xC4\x47\xC3\xED\x07\x2F\xC4\xB0\x68\x8D\xB8\x06\x62\xC7\xA5\xC4\x6A\xC4\x3E\xC4\x7B\x6F\x1B\xFC\xDD\x71\xC6\xBD\x42\x25\x08\x96\xC0\x48\x18\x03\x18\x1B\xF8\x8B\x60\x60\x94\x08\x25\x08\x99\xC6\xE1\x19\x03\x1E\x1B\xFA\x62\x17\x27\x81\xC6\xFE\x5B\x97\xC7\x8E\x44\x79\x41\x0D\x4A\x11\x6B\xC4\xBE\xC5\x62\xBA\xDA\xC2\x39\x0E\xA8\x09\x1C\xF9\x11\xD4\xC2\x3B\x00\xC3\xC5\x68\x45\x3B\x46\x39\xC4\x67\x54\x85\xBC\x00\x9A\xC6\x5B\x49\x65\x1D\x73\xCF\x27\xDE\x15\xFD\x00\x21\xC7\xDB\x43\xCA\x40\xE9\xC5\x50\xC7\x34\xCA\xBD\x68\x8E\xE8\x4B\xCB\x0B\xD5\xC5\xA3\xC6\x57\xCF\x03\x0F\x1D\xDE\x9B\x7B\x0A\xB2\xC6\x4A\xC6\xAF\xC0\x98\xB3\x39\xD9\xAE\x78\x83\xCA\x08\x9B\xC4\xBF\x21\x10\x06\x76\xCE\x6E\x4E\xAF\x79\x8E\xAC\xC4\x7E\x22\x21\x00\xF1\xC4\x23\xC5\x60\x79\x1D\xE9\x8A\x8E\x1E\x43\x01\xE5\xC6\x72", - "\x04\x16\x59\x3B\xD0\x15\xCE\x3C\x44\x00\xD2\xC6\x78\xC7\x9E\xC2\x89\x07\x2B\xD4\x71\x05\x01\x59\xC7\x36\xC6\x67\xC5\xE5\x5F\x48\xCE\x2B\xDB\xE5\xBD\x8E\xBD\xAD\x2F\xC4\x25\x0A\xB1\xC6\x6A\xC2\xBD\x7E\x1B\xC8\x01\x77\xB8\xA6\xAC\x4A\x09\x2C\x33\x6F\xCF\x6D\x1B\xF3\xA7\x8F\xA9\x3F\xF2\xC7\x74\xC3\xCD\xC1\xB1\x70\x3E\xC5\xDB\x9A\x87\xB1\x31\x90\xC6\x75\xC6\x40\x06\x96\xB7\x3F\xDA\xD9\xBF\x8F\xD6\xB5\x74\xC7\x81\x01\x13\x05\x7F\xC6\xC2\xA2\x1F\xD0\xBB\x7C\xC1\xBE\xC4\x27\x00\x03\xCC\x39\xBB\x0E\xD1\xC5\x02\x84\xBE\xC5\x4F\x01\x09\xC9\x40\x00\x31\xB9\x3F\xC4\x4D\x4D\x8C\xF9\x7F\x1A\xC9\x4B\xAD\x05\xCF\x21\xCC\x3E\xC8\x04\xA1\x90\xAB\x4B\x1D\xC8\x0F\xC6\xAF\xC0\xD0\xB5\x40\xC8\xB7\xA3\x90\xA1\xBD\xF1\xC5\x81\x81\x08\xCC\xF5\x49\x42\xD6\xC8\x1F\x90\xBC\x28\x21\xC8\xB1\x4D\x0D\xCB\x46\xC0\x2D\xC0\x09\xA1\x90\x82\x14\x3B\xC8\x1D\xC5\xEB\xC0\xC3\x01\x42\xCA\x53\x01\x91\xFD\x5A\x54\xC3\x2B\x01\x08\xCC\xDC\x17\x44\xC4\x1F\xC2\x90\xDA\x83\x21\xC9\xE2\x6F\x11\xCB\x7D\xCE\x6E\x4A\x0E\x19\x01\x7E\xC6\xAC\xB9\x78\xC0\x00\x05", - "\x1E\x24\x49\x1D\x53\x74\x8F\xBD\x07\x5C\x01\x10\xC9\x06\x75\x8B\xCA\x3F\xC9\x20\xD9\xA2\x21\xC8\xC9\x1A\x32\xCA\x9A\xC7\x86\xCF\x33\x81\x21\xD4\x32\x6A\xC8\x71\xC4\x5F\xC7\x17\x01\x84\xC6\x68\x30\x23\xF8\x89\xBE\xC5\x60\x01\x10\xC8\x66\x1E\x8E\xCD\xD0\x54\x0A\xE1\x01\x21\xC8\xD9\x72\x3E\xC9\x40\x07\x41\xCF\x44\xC4\xDF\x21\x90\xD3\x1D\x82\xC8\x0A\x5C\x55\xC4\xD1\xBD\x42\xD5\xDB\x5A\x87\xFD\x54\x15\xC2\x5F\xC4\x19\x01\x84\xCA\xC8\x09\x24\xC1\x8F\x8E\x1E\x65\x01\x10\xCB\xBD\x41\x91\xC8\x3C\xCE\x78\x26\x01\x21\xC8\x97\xC2\xCF\x5B\xF3\xC4\xC6\x15\xE9\xAD\x24\xC0\x00\x1D\x7B\x89\xC8\xEB\xC4\x8D\x18\x0D\x01\x42\xC4\xF1\x49\x92\xDD\xC7\x3B\x17\x34\x01\x08\xC8\xD2\x79\x48\xCE\x22\xEE\x8C\xFA\x8E\x21\xC9\x85\x7D\x22\xCC\x8A\xCC\x11\xCA\x0E\x2B\x01\x7E\xC6\x6C\x00\xF8\xC6\xF9\x7A\x3B\xCC\x25\xCC\x23\xEE\x01\x21\xC8\xBA\x30\x4B\x09\xD3\xC5\x84\xC3\x10\x03\xF6\xB1\x85\x82\x02\x73\x01\x10\xCA\x25\x0D\x6A\xC5\x45\xC5\x62\xAB\x11\x01\x09\xD8\xBC\x53\xCA\x25\x0D\x6B\xCC\x4C\xD3\xF6\x8F\x93\x81\x02\x7D\x00\x69\xCA\xF6\xC3\x62", - "\xC5\x72\x17\x26\xC0\xA6\x62\xC9\xE1\xC6\xAA\xC3\x20\x06\x9C\xC2\x11\x1D\xF6\x9A\x93\xF3\xC6\x54\xC2\x44\x00\x3B\xCD\x1F\xA1\x42\xC9\x57\x7D\xA9\x0B\xC7\x8D\xC7\x7C\xCB\x76\x44\x9A\x43\x90\x48\x18\xCC\x8E\xA7\x4F\xE8\x4A\x6A\x49\xBA\x50\x9F\xC0\x50\xC4\x3E\x61\x86\x5E\x17\xFA\x3E\x7F\xCA\x3E\xCF\xF5\x46\x4B\x5D\x13\xC3\x91\xD9\xA2\x49\xC6\x4F\x1A\x53\xC2\x62\xCB\x3F\xC1\x08\x39\x7B\xB9\xC6\x00\x00\x4B\x01\x08\xCA\x4E\x54\x4D\xDD\x25\xC2\x77\xF6\xC6\x00\x01\x4E\x03\x46\xC8\x2C\xC4\x4E\xC7\xA3\xA0\x94\xA4\x01\x23\xCA\x90\x6D\x0C\xCB\x20\x08\xF0\xB8\x28\xEB\x02\x29\xCA\x71\x6F\x8A\xC8\x00\x04\x15\x00\x52\xD2\x05\x30\x94\xCF\x6E\x32\xCB\x59\x00\x48\xC9\x17\x01\x42\xC3\x14\xEC\x91\xBA\x01\x11\xCB\x79\xC1\xE1\x53\x99\xC5\x4D\xD8\xB9\xA0\x94\xC3\x01\x3D\xCB\x06\x6D\x49\xCC\xFE\xA0\x52\xCA\x06\x09\x95\xF1\x6C\x0F\xCB\x80\x03\x32\x00\xA4\xC1\x0D\x0F\x2A\xF9\xDC\x6C\xC8\xD2\x00\x90\xC8\x36\x06\xAA\xC2\x17\xD2\x29\xD9\x03\x20\xCA\xB7\xBC\x53\xCA\x08\x5E\x67\xCB\xB3\x00\x07\x20\x94\xE6\x01\x21\xC9\x45\xC4\x1B\xCF\x1C\x01", - "\x54\xC0\x08\xF9\x11\xC4\xCA\x1E\xCA\x89\x02\x3A\x00\xA4\xCB\xF3\xA6\x25\xC6\xB7\x1D\xCA\xEB\x53\x78\x00\x48\xCF\x1E\x09\x56\xC4\x29\xF2\x94\xC7\xBE\x18\xCB\xA5\xBE\x5D\xCB\x9C\xC2\x53\xDF\x07\x20\x94\xAA\xBD\x83\xCB\x74\xCA\xAF\xC2\xD6\xB8\x51\xCC\x00\x04\x06\x18\xC2\xC6\x5A\xB2\xC8\x90\x15\x01\x04\x18\x1E\xBF\x13\x00\x0F\xCB\x26\x0C\xFB\x57\x17\xCE\x29\xC8\x59\xD3\x4A\x02\x00\x94\x09\xF6\x57\xC1\xC4\x8D\x1D\x02\x0D\x59\xDB\x87\x3D\x01\xA0\xCB\xBB\xC5\xA8\xCB\x08\x5D\xB4\xC1\x67\x29\x07\xA8\x96\x97\xC7\xBE\xC5\xB5\xBE\x29\xCB\x1F\x8F\x5A\xDE\x1C\xFE\x8A\x98\x00\xAC\xCB\xD1\x2A\x82\x35\xB6\xC5\x3A\xC5\x24\xD9\x00\x39\xCB\xBD\x43\x91\x80\x6F\xCC\x75\xCB\x52\xC0\x27\x40\x97\xF8\x45\x5F\x1F\xE1\xCB\xEC\xC5\x90\xCB\x01\x07\x2E\xFA\x62\x4F\x4E\xCA\xCA\xDD\xC5\x21\xCC\x03\x0E\x5C\xC1\x0D\x66\x86\xA4\x65\x97\xC8\x1A\x1D\x07\x05\xBA\xC6\x4B\x4D\x11\x91\x97\x9D\xC9\x34\x1D\xB8\xBE\x29\xCB\x4C\x81\x5D\xC3\x25\xFB\x2C\x1F\x00\xDC\xCB\xED\x42\x1E\x11\xBA\xCA\x4A\xDB\x59\x36\x7D\xA6\xC9\xD2\x17\xE8\xC8\x2C\xC8\x48\x11\x02", - "\x09\x2F\xE8\x97\x7B\x48\xD1\xCA\x5B\xCA\xD7\xC2\x04\x06\x5F\xDE\x36\x5E\x0C\xD1\xCB\xBC\xC8\x7F\xBB\x71\xCC\x04\x04\x18\x11\x0C\x05\x0E\x94\x09\x74\x4E\xD8\xC0\x80\x05\xBF\xC1\x26\xC1\x0D\x74\x9D\x70\xCA\xEB\x53\x13\x00\x61\x02\x32\xCC\x60\xDC\x08\xF4\x9D\x78\xCA\x7E\x22\x16\x03\x84\xCA\x6A\x05\x61\xCA\x0E\x34\x9D\x5C\xC9\x45\xCA\xDA\x6F\x86\xCE\xD1\xAD\x61\xC3\xB8\x6C\x91\x9A\xBF\xDF\xC8\x00\x02\x0E\x05\xC4\xC5\x7E\x6D\x1B\xCE\x05\x23\xCC\x58\x04\x16\xCC\xFC\x6A\xB2\xCF\x6D\x06\xFD\xA9\x98\xC4\x00\x32\xCD\x3B\x6B\x0B\x57\x96\xC9\x30\xC7\x0A\xFD\xB6\x77\x68\x04\xCA\x86\xC9\x41\xCE\xDD\x4E\x2A\xCC\x23\xC5\x01\x04\x03\x4A\xC7\xDE\x42\x62\x48\xC2\xCE\x17\x28\x02\x15\x96\xE1\x7E\x39\xCC\x5E\x5E\x82\x6C\x8D\xCF\x04\x0F\x32\xDA\x04\xD1\xCC\x12\x5E\x08\x6E\x6A\xC8\x9F\xB8\x51\xDC\x02\x18\x99\xE7\x5D\x44\x6E\xD5\xC9\x17\x06\xCA\xCC\x4F\x9F\x32\xCA\x96\x2E\xCC\x30\x06\x32\xCF\xD0\x8E\xCC\xC0\x4F\xDE\x15\xEB\x01\x6A\xCC\x02\x03\x38\x03\x97\xCD\x56\xCC\x46\xD2\x03\x08\x99\x92\xCA\x9C\x52\x8A\xCA\x19\xCC\xA1\x90\x67\xC1", - "\x08\x3B\x01\x73\xCC\x4A\xCA\x99\xCB\xF7\xB8\xA3\xC2\x08\x00\x34\xD0\x95\xC5\xCB\x01\x03\x41\x01\x9F\xC8\x00\x09\x08\x06\x34\xD7\x95\xAA\xCB\x8A\x01\x45\xCF\x5A\xBE\x94\xC5\x9A\x48\x33\xC2\x04\x11\x01\x8B\xCD\x4B\x02\xA3\xC8\xA7\xCB\x67\xC0\x00\x18\x02\x0B\xCD\x9E\x01\x2F\xCF\x7C\xC2\xC1\xC8\x4D\xB7\x33\xC2\x95\xEB\xC8\x70\xC2\x44\xCC\x00\x00\x04\xC8\x51\xC8\x05\x22\x9A\x81\xCD\x9D\xCC\x14\xC0\x46\xC9\x06\xC5\x2F\xD2\x0F\xFE\x95\x9D\xCD\xB0\x01\x45\xCE\x0E\xC6\x94\xC3\x1F\xC5\x1B\xDD\x93\x81\x02\xB7\x01\x45\xCD\x2F\x07\xD5\xCA\x58\xC5\x24\xFE\x02\x0B\xCD\xC4\x00\x62\xCC\x9C\xAA\xD5\xC5\x0C\x0B\x34\xCB\x03\x5F\xCC\x5E\xC2\x36\xC8\x33\x07\xCB\xCA\x8B\x35\x3A\x4C\x99\x8E\x1E\xCD\x00\x18\xCF\x52\xB0\xDA\xC0\x6B\xD4\x0A\xD2\x03\x5A\xCD\x02\x02\x6B\x00\xB7\xCF\xD0\xCD\x43\xC1\x08\x3F\x81\xA9\xCC\xDB\x01\x71\xCF\xA3\xCA\xD5\xCC\x0D\x00\x37\xC0\x83\xEA\xCD\x5D\xCB\x4E\xCD\x38\x06\xDD\xC0\x00\x05\x07\x30\x9B\x82\x02\x34\xCD\xDE\x06\x39\x04\xDE\xCA\x0E\x1F\x32\xEA\x3B\x24\xCD\x50\xB4\x6A\xCD\x68\x42\xDD\x17\x6D\xD4\x71", - "\x2C\x03\x74\xCD\xF0\x00\x7F\xCD\xB7\xCE\x57\xC1\x0F\x14\x37\xF5\x03\x0A\xCE\xE4\xCD\xA5\xC8\x00\x07\x10\xC9\x62\xDA\x07\x10\x9C\xEB\xCD\xE5\xCC\xEE\xB4\xBD\xCC\xF6\x08\x11\xCA\x77\x16\x9A\xF2\xBA\x63\xC2\x02\x03\x49\x05\xE3\xCD\x66\xC5\x24\xC5\x00\x27\x02\x81\x09\xB0\xBA\x29\xC8\x0C\x67\x42\x2A\x28\xDB\x87\x66\xBA\x5A\xC9\xC3\xC5\xC8\xC6\x2F\x2F\xD7\xA6\x25\xF2\x9C\xA9\xCD\x19\xCF\xC9\xB9\x8A\xC9\x02\x03\x72\xC6\x31\x17\x4E\x18\xCC\x88\xB8\x94\xCC\x29\xC6\x94\xC7\x39\x20\x31\xF1\x95\x85\x58\x42\xCF\x28\x5D\xCF\xCB\x2A\x17\x39\x3E\x35\xE1\x98\x83\x02\x1C\x01\xA4\xCD\x14\x63\xE9\xCB\x0F\x37\x9C\x1F\x9C\x8F\x27\x52\xCE\x25\x48\xD5\xC9\xCE\x27\x39\x39\x37\xCA\x07\x26\x00\x59\xCF\x61\xC2\x29\xCD\x72\xCC\x46\xCB\x01\x1B\x9D\x90\xC6\x1C\xC2\x47\x15\xC1\xCB\x67\x1C\x02\x01\x3B\xF5\x1E\x67\xCE\xBD\x42\x47\x14\xD0\xCC\xC6\x1F\x0D\xC9\x31\xF5\x00\x70\xCE\xF8\x44\x47\x16\xD1\xC9\xAA\xBE\x76\xCA\x31\xF8\x9D\xBA\x31\x8E\x14\xA7\xCF\xD1\xCA\xC0\x1D\x77\xDF\x01\x3F\x9D\xA1\x43\x8E\x15\xAB\xCC\x10\x05\xEF\xC4\x04\x07\x3C\xF6", - "\x92\x0E\x15\x5E\xCF\x3D\x75\xDF\xC9\x09\x0E\x78\xDB\x0E\x5D\x87\x1B\xCB\x15\x02\x25\x01\xE5\xC8\xBD\x41\xE1\x14\x24\x1D\x87\x6D\x50\x4F\xCE\xB4\xCE\x8F\xCE\x77\x69\xB6\xAA\x2D\xCB\x01\x1B\xCF\xDE\x4D\x97\x16\xE7\xC9\xB5\xCA\x6A\xCC\x02\x28\x9E\xEE\x4D\xAC\x21\xD5\xCC\x6C\xCD\x90\xCD\x04\x0F\x3D\xDC\x84\xD8\x89\xB2\xCE\xDB\xC9\x21\xCE\x09\x06\x7B\xCA\x0E\x1F\x1E\x39\xCF\xBD\xCB\x5B\xCB\x13\x05\xF7\xC7\x58\x98\x07\xDD\x87\x04\xC9\xB7\xC8\x28\x00\xF1\xCA\x22\x07\x5A\x80\x3E\xE9\xB0\x54\xC2\x51\x01\xE5\xCD\x97\x8E\xF8\xCF\xC4\x54\x0A\xD2\x01\x52\xCF\x87\x8D\x75\xC1\x77\x41\xBB\xCB\xB3\x13\x02\x18\x9F\xB0\x8E\xDA\xCE\x1E\x54\x55\xC4\x0A\x0F\x7D\xC1\x08\x04\x1D\xCE\xCF\x2B\x55\x8C\xCD\x15\x05\xFC\xC0\x00\x1E\x3C\xA8\x9F\x80\x00\xED\xCA\x20\x16\x15\x04\xFD\xC8\x7E\x8F\x3F\xF3\x97\xDF\x0D\x57\x00\xF6\xCD\x0F\x97\xFD\xCA\x5F\xDF\x35\xF2\x07\xEC\xCF\x9A\x91\xF7\xCD\x80\xCE\x2F\x29\x05\x18\x3B\xDA\x01\x27\x02\x91\x02\x8D\x90\x25\x0D\xB2\x10\x7A\xC3\x3C\xE2\x9E\xA6\x0C\xAA\xC6\x36\xC8\x17\x07\x24\x09\x64\xD8\x17\x55\x86", - "\x6B\xCE\x40\x15\x2F\x03\x49\x06\xFF\x25\x06\x0C\x3F\xD5\x86\x73\xCE\x3B\x16\x33\x03\x06\xD4\x00\x9E\x81\xD7\x35\xD4\x85\xED\x00\x23\xD0\x89\x03\x1C\x05\x04\xDA\x52\xD9\x38\xF4\x01\x29\xD0\x0C\x02\x3D\x00\x0B\xD1\xA6\xCD\x69\xDB\x03\x30\xA0\xB6\x9E\x33\xD0\x4E\xCC\x55\xC2\x10\x07\x83\xC2\x08\x08\x02\x6C\xCF\xB1\xC6\x36\xC9\x22\x04\xFD\xCA\x8B\x2B\x2E\x18\xA0\xDF\x0D\x8A\x01\xBE\xCE\x23\x00\x08\xDB\x70\xC5\x24\xCF\x02\x7D\xCE\x93\x00\x26\xD1\xC4\xCA\xA6\xC4\x09\x1D\x3B\xD8\x02\x52\xD0\x18\xCE\x89\xCD\x26\x05\xEF\xCD\x09\x18\x42\xF1\x9B\xD4\xC2\x9E\x01\xBE\xCE\x28\x06\x0B\xD8\x6F\xCC\x23\xE3\x02\x7D\xCE\xA7\x00\xF6\xCC\xEE\xC4\x8D\xC8\x0A\x04\x42\xE1\x86\x7B\x0A\x47\xD1\xDE\x05\x2A\x05\xEF\xCD\x0A\x0A\x43\xCD\xA1\xB7\xC9\xAE\x01\xBE\xCE\x2C\x06\x0E\xD3\x85\xDD\x34\xF3\x02\x7D\xCE\xB7\x00\x3E\xD1\x16\xD2\xA6\xC8\x0B\x1D\x3B\xFC\x02\x02\xD1\x5F\xD0\x5F\xC5\x2F\x05\xEF\xC1\x0C\x08\x44\xE5\xA1\xAA\xCB\xC2\x01\xBE\xCE\x31\x04\xFD\xC1\x4B\x5B\x50\x2E\x9C\xC2\xCC\x98\xD0\x6F\x4E\x7B\x6D\x52\x37\x89\xC6\x28\xCB\x94\xDE", - "\x4D\x05\x6C\x30\x61\x90\xCE\x13\xD3\x64\xDC\x08\xF4\xA2\x25\x48\x94\x4B\x4C\xD1\x83\xCE\x96\x41\x6C\x7D\x0E\x63\xA2\xAB\xD1\xA5\xD0\xE5\x03\x9F\x19\xE4\x1D\x89\xD0\x45\xEA\xA2\x9C\xC2\xFA\x18\xC9\x51\xE8\xCD\x21\xC4\x8A\xC8\x2F\x43\xDE\x00\xCE\x02\x03\x63\x02\x1B\xD6\x96\x43\x78\x71\x43\xCA\x07\x48\x01\x7D\xCE\x66\x00\xFB\xCB\xF0\x60\x82\xC0\x52\x0D\x03\x7D\xCE\xD1\x01\x65\xD2\x09\xD6\x57\xC2\x0D\x1D\x3B\xD6\x03\x52\xD1\x2D\xD0\x89\xCF\x35\x05\xEF\xCB\x0D\x18\x46\xF4\xA0\xD4\xC2\xDC\x01\xBE\xCC\x38\x06\x1B\xDA\x83\xDE\x15\xE1\x03\x7D\xCE\xE5\x00\xF6\xCD\xCD\xB4\x8D\xCD\x63\xC6\x31\x25\x8C\x18\xCF\x32\xB4\xF6\xCE\x70\xC5\x8C\xC2\x5A\xDB\x59\x27\x03\x6C\xCF\x64\x94\x4A\x09\xC9\x41\x80\xC7\x4B\xC8\x07\x2C\x9F\x9B\x96\xFA\xD0\x04\xC8\x55\xC1\x1D\x0C\x7E\xD2\x5E\x81\xA4\xC5\x59\x54\xC2\x75\x00\xFB\xC8\x88\x97\x90\xD3\x71\x54\x85\xEB\x01\xEC\xCF\x84\x99\x43\xD0\xEA\xCC\x46\xCC\x07\x2C\x9F\xCA\x9B\x13\xD3\xE7\xCE\xAF\xC5\x1D\x0C\x7E\xCA\x0E\xFB\x89\xA5\x46\x91\xC9\x42\xCA\x3B\x04\xFD\xC4\xE3\x99\x48\xD9\x99\x99\xCE", - "\xEF\x00\xF6\xCE\x8D\x9E\x24\xDD\xA3\x4A\x2D\xF0\x03\x6C\xCF\xF8\xA6\x7C\xC1\xC9\x46\xBC\xC0\xA4\x11\x07\x2C\x9F\xD7\xA8\x2C\xD3\xF8\xCF\xB7\x0A\x1E\x0C\x7E\xD4\xA1\x9F\xA4\x82\x55\x54\xC3\x79\x00\xFB\xCE\x86\xAF\x22\xC5\x19\x7D\x9F\xBB\xD1\x00\x00\x7A\x00\xFB\xCF\x92\x1C\x92\xC3\x40\xCE\x3C\x75\x01\x78\xCE\x7B\x00\x02\xD2\xD6\x9B\x0E\xDB\xBD\x5D\x69\xAA\xCD\xF8\x01\x93\x01\x4A\x4F\x89\xA5\xF9\x5B\xBD\x59\x69\x9D\xCD\x04\x00\x3A\x0B\x56\xD2\x22\x06\x1E\xD4\x65\x7B\xDE\x22\x33\x80\xB8\x3A\x09\x42\xCB\x6D\xA6\xDB\x5B\xBD\x42\x6D\x6E\xC1\x6A\xD2\x13\x0D\xA7\xC7\x7D\x5B\x7B\x60\x92\x99\x9C\xAA\x00\x71\xD3\xA9\x13\xC5\xAC\x2E\xD5\x11\x13\xD1\xAA\x96\xB7\x00\x79\xD3\x7D\x21\xFD\xA9\x16\x3B\x7B\x6A\xD8\x92\x9C\xC4\x00\x62\xD2\x13\x0C\x58\xB2\x85\x5B\x7B\x61\x80\x94\x85\xD0\x00\x81\xD3\x38\x2F\x84\xB1\x95\x5B\x7B\x77\x87\x94\x85\xDD\x00\x91\xD3\xD1\x28\x99\xB5\x2D\xD5\x11\x05\x4B\xD2\x9C\xEA\x00\x99\xD3\xDE\x42\xF1\xB4\x30\xD5\x11\x04\x53\x94\x85\xF7\x00\xA1\xD2\x70\xC7\x1A\x0C\x34\xD2\xB4\x8A\x2D\xC4\x02\x29\xD3\xBA", - "\x31\x0B\x03\x6A\xD3\x80\xB4\x06\xAC\x23\xD1\x02\x30\xD3\xA1\x43\x12\x03\x6C\xD3\x63\xB6\xD7\x6A\x35\xDE\x02\x74\x08\xFD\xC8\xFE\x1B\x1A\x0D\x4F\x5B\x7B\x71\x49\xD9\x9C\xAC\x01\xB8\xD2\x5B\x4A\xF2\xC4\x32\xD5\x11\x17\xA2\x94\x85\xB9\x01\xC9\xD3\xED\x40\x14\x03\x37\xD8\xB3\xA3\xD4\xAC\x91\xC6\x01\x89\xD3\xA9\x12\x17\x03\x8D\x0A\x44\x1B\xBD\x57\x6A\xDE\xCD\xD9\xD3\x7D\x23\x2F\xC8\xFB\x2B\x7B\x6E\x02\x04\x06\x54\xC2\xDE\x00\xE0\xD2\x89\x09\x9B\xCF\xC5\x45\x4F\xE7\xA7\xBE\xC5\xEC\x00\xF5\xD3\x54\x12\x9E\xCD\xB9\x5B\xBD\x60\x88\x99\xCE\xFA\x01\xE8\xD0\x7A\x48\x13\x04\x9D\xC6\x20\xE7\x46\xEC\xC8\x07\x01\x68\x07\x5A\xD5\xBD\xAD\x9F\xDA\xDD\x9C\xF3\x2A\xCB\x14\x01\x68\x05\x70\xD0\xD9\xA3\x9C\xD4\x4D\xC4\x1D\xD4\xC2\x22\x00\x01\xD6\x89\x08\xA9\xCC\x9C\xCE\x4F\x99\x9C\xAF\x00\x12\xD5\xA9\x11\x55\xCD\x42\xD3\x0F\x8F\x4F\xC5\x92\xBC\x00\x0A\xD4\x13\x0D\x58\xCD\x3D\xD8\x0E\x9E\x50\xF7\x92\xCA\x00\x21\xD5\xA9\x13\x3B\x03\x8D\x06\x49\x1B\xBD\x50\x01\x26\xD4\x5E\xC6\x2C\x01\x8A\xD4\xB5\x2C\xA2\xD4\x4D\xEF\xA8\xAA\xCB\x66\x01", - "\x19\xD5\x9C\x2C\xEA\xB5\x9F\xD0\xC9\x6A\x96\xF4\x00\x3A\xD5\xD1\x28\x7A\xCE\xC2\x5B\x7B\x79\xC0\x7B\xA0\xC1\xD4\xBD\x42\x17\x00\x61\x04\x38\xDD\x50\xAC\x23\xD0\x02\x19\xD4\x0C\x03\x4E\x01\xB4\x00\xFC\x04\x18\x0C\x4D\xD5\x55\xAA\xCB\x9F\x00\x28\xD7\x40\x04\x15\x03\xA5\xC3\xEF\x55\xA9\xB4\xD3\x53\xC5\x8C\xCE\x2B\x02\x4B\xDF\x72\xBD\x52\xF5\x08\xDF\xD4\xBC\xD3\x81\x02\x1D\xAC\x2A\xCD\x0B\x04\x53\xC1\x04\x4A\x01\x66\xD4\x43\x50\x9A\xD5\x3A\xDE\xF7\x32\x38\xCC\x03\x6E\xD4\x00\x01\x6C\x01\x9C\xD3\x20\x05\x07\x13\x53\xFE\xA7\x83\x02\x02\x80\xAA\xC3\x36\x00\x49\xD0\x00\x09\x07\x3B\xA9\x82\x02\x8A\xCC\x0B\x5F\xDA\x69\xD9\x2B\x9E\x4B\x07\x11\x0B\x50\xC2\xEE\x4D\xB5\x6C\x62\xB7\x15\xDA\x30\xDF\x27\xE8\x97\x08\xB3\x57\xD3\x8C\xCC\x3B\x01\x5A\x01\x92\xDB\x0E\x52\x02\x04\x03\x4A\x08\xC4\xB3\x57\xD4\x2A\xC7\x0F\x1C\x54\xE6\x18\x1F\x01\xA0\xD4\x90\xB5\x06\x8C\x2A\xC2\x00\x01\xBA\x23\xA5\x8C\x02\xAC\x00\x3F\xD7\xDB\x6E\x91\x8D\x69\xCE\x00\x2E\xAA\xA6\x0C\xBA\x00\x59\xD7\x06\xCD\x22\x06\x97\xD2\x38\xDA\x00\x37\xD5\x53\x13\x32", - "\xC2\x6D\x58\x31\xBE\x97\xCA\x35\xE6\x00\x40\xD5\xFB\x20\x71\xCD\x2A\x58\x31\xB6\x98\xD2\x29\xF2\x00\x41\x2E\x9D\xD4\xF4\x48\x39\x01\x55\xDE\x68\xAA\x80\x92\x9C\xBD\x00\xC8\xD5\x38\x2D\xC3\xCB\x59\xDC\x14\xAA\x2D\xC9\x01\x59\xD5\x3D\x2E\x5D\xD4\x00\x00\x31\xBE\x99\xD2\x29\xD5\x01\x60\xD5\x79\xC7\x93\x01\x2C\x30\x31\xB6\x9A\xDE\x15\xE1\x01\x68\xD5\xF8\x45\x0D\x02\xBA\xD2\x55\xDD\x9A\xCA\x35\xED\x01\x70\xD5\xBA\x31\x64\xC0\xB7\xD4\x06\xAC\x46\xD9\x03\x38\xAB\xA1\x43\x37\x01\x79\xD5\xB5\xD3\xAD\x7C\x46\xC5\x04\x01\x5D\x03\xD4\xD3\x73\x93\x01\x9F\x50\x31\xB6\x9C\xD2\x38\xD2\x02\x7F\xD5\xB6\x48\xF2\xCF\xBE\xD4\x21\x0E\x9C\xDE\x15\xDE\x02\x10\xD6\xDB\x42\x31\x02\xC0\xD0\x36\x51\xA8\xAC\x23\xEA\x02\x50\xD5\x26\x0C\x38\x03\x49\x01\x54\xD3\xAD\xAC\x23\xF5\x02\x20\xD6\x53\x13\x3E\x03\xC8\xD4\x5E\xDC\x10\x06\x4F\xEA\x96\xC0\x01\x07\xD6\x13\x0D\x12\xD5\x73\x58\x98\xAE\x59\xEA\x9A\xCD\x01\x31\xD7\xA9\x12\x26\x07\x24\x06\x49\x08\xCC\xB7\xA7\x92\xCE\xDA\x00\x8C\xD4\x7A\x4A\x15\x0B\xB1\xD0\xCE\x8B\x46\xEC\xC8\xE6\x00\xA1\xD6", - "\xB7\x4D\x10\xD3\xB1\xC3\x08\x2F\xA5\x6B\x53\xF2\x01\x9C\xD7\x3E\x23\x12\xD6\xE1\x48\xCC\x8F\xA8\xBE\xC5\xFF\x00\xA5\xD6\xBB\x4D\x1A\x05\xB4\xD3\x55\xD6\xA8\x92\xCE\x0B\x01\x2A\x0B\xAB\xD3\x20\x03\x0E\x1D\x5A\xFB\xAA\xEF\x81\x30\xD4\xFF\xCF\x05\x05\x8A\x08\xB0\xC3\x08\x36\xA4\xB4\xD6\x25\xD4\xD5\xC8\x09\x04\x6D\xD6\x62\x01\x00\x34\x11\x3D\xD6\x43\x81\xB4\xD4\x52\xD1\x06\x04\xB7\xD3\x4A\x11\x00\x77\xD6\x2C\xD6\x40\xD6\xDE\xD6\x01\xD1\x7B\x7D\x5B\xD5\x9D\x80\xD7\x03\xD7\x7D\x70\x55\xC3\x09\x06\xB8\xD1\xB3\x31\x00\x74\x08\x0B\xD6\x0C\x70\x1B\xC8\x0B\x0D\xB8\xC3\xAD\x00\x01\x10\xD7\x81\xD7\x8F\xA8\x1B\xCD\x0C\x02\xB6\xC5\x4D\xD5\x11\x49\x28\xF2\xD2\x8E\xD7\x5C\xAC\x8D\xC3\x07\x1D\x5C\xF7\x3A\x9F\xD7\xE7\x85\xD0\xD6\xD1\xD1\x4A\xDC\x46\xC1\x04\x26\xAE\x8C\x02\x8D\x00\xD4\xD4\xEC\x8A\x75\xDE\xB5\xD5\xA3\xAC\x91\x8F\x01\xAF\xD7\xDC\xA6\xEC\xD7\xC3\x94\xBB\xC7\x5B\xF5\xA9\xB2\xCA\x9D\x01\xDC\xD6\x40\x01\x15\x0B\xBB\xC3\x08\x07\x02\x3D\xD7\xE3\xD5\x26\x82\xAA\xCB\x15\x05\xB9\xC1\x08\x38\x02\x45\xD7\x02\x03\x4A\x00\xE6", - "\xD7\xDB\xAD\x40\xD4\x0A\xFA\x02\x55\x08\x90\xD4\x8E\xC3\x6A\x4A\xF2\x2B\x9E\x5B\x05\x18\xAF\x95\x02\xBC\x00\xE8\xD5\x6F\x44\xF5\x49\xA9\xD2\x38\xFE\x02\x55\x08\xD1\xD4\x6F\x4C\x29\x01\x35\xDC\x7A\x43\x55\xFE\x8A\xC9\x01\xE8\xD6\x13\x0D\x2C\x04\x7D\xDB\xAA\xDE\x15\xD4\x03\x42\xD7\xBD\x42\x5F\x00\xF2\xD4\xF5\x4F\x96\xDE\x8B\x20\x03\x78\xD7\xF8\x44\x66\x03\xFE\xD4\x57\xD5\x91\xC0\x60\xFA\x62\x5A\x01\x03\xD8\x1C\xB6\x6A\xC8\x1F\x06\xC0\xC1\x0D\x68\x03\x09\xD8\x15\xB6\x55\xCC\x01\x06\x8E\x09\xBE\xCE\x37\x76\x03\x74\xD7\x07\xA0\xD5\xCB\x03\x06\x8E\x03\xB6\xC1\x24\x44\xAA\xAC\x4F\x96\xD2\x5F\xC7\x06\x04\x83\xDF\xCA\xBF\x60\xDD\xA6\xEC\xC8\x27\x00\x12\xDB\x54\x17\x03\x06\xC2\xC9\x55\xAC\x91\xB3\x00\x2A\xD9\x7D\x21\x0B\x05\x85\xD1\xB6\x8C\x23\xFF\x00\x31\xD8\x71\x2D\x1D\x00\x0D\xD8\x04\xA6\x7A\xD8\x61\xE3\x56\x49\x00\x3B\xD9\xA4\x7A\x6A\xCF\x0A\x06\x47\x0D\x5B\xC1\x05\xD1\x05\x7D\x54\xD6\x4D\xC3\xD2\xA6\xC4\x06\x1E\x61\xFD\x86\x39\xD4\xA9\x58\xD6\x4D\xC5\xD5\x90\xC0\x07\x0E\x62\xF8\x8B\x40\xD4\x51\xD9\x8E\xD6\x6A\xCC", - "\x0F\x04\xC1\xC6\x31\x02\x02\x78\xD4\xAC\x4F\xEF\xD2\xAF\xC7\x10\x0D\xC5\xD3\x4A\x0F\x02\x60\xD8\x50\xCC\xD5\xCA\x24\x05\x88\xD6\x62\x1C\x04\x11\x0B\x16\x09\xAC\x4E\x9B\xD5\xC6\xCF\x13\x0C\xC6\xD3\x4A\x1C\xA9\x9D\x57\xAC\x4F\x9F\xD6\x4C\xCC\x15\x06\xC5\xDA\xC5\x3C\x02\x41\xD8\x01\x02\xB7\xA0\x55\xC0\x17\x0D\xC7\xC1\x0D\x70\xA9\xD9\xD8\xF4\x79\x8C\xCC\x31\x05\x8E\xDB\x0F\x38\x06\x08\xB1\x95\x02\xAC\x4F\xAB\xD5\x21\xC9\x1A\x05\xC8\xD6\x25\x67\x03\x00\xD9\xFF\x92\x99\xC9\x37\x05\x92\xDB\x1D\x55\x07\x18\xB2\xD2\x00\x83\xD7\xF5\x51\x3A\x04\x91\xD1\x67\x23\x00\x01\x5D\x70\xD8\x71\xD6\x55\xCE\x3D\x04\x94\xD3\x5A\x33\x00\x27\xB2\x90\xD9\x79\xD6\xD5\xCB\x00\x02\x51\x06\xC4\xDC\x99\x6F\xB2\x9E\xB8\x30\x81\x50\xDA\x5F\x20\x02\x04\xCB\xC6\x31\x33\x00\x37\xD9\x0C\x02\xD6\x4C\xE9\x36\x1D\xCD\xCB\xD3\x4A\x03\x01\x41\x2E\x49\xD8\xC9\xD6\x6A\xCA\x05\x05\xCC\xDB\x87\x12\x01\x48\xD9\xB0\xD9\x7B\xAB\x5F\xD2\x51\x0B\x76\x03\x02\x0A\x0A\x2E\x03\x41\x2F\x58\x30\xEB\x4E\xA5\xA4\x15\xC5\x02\x14\xB3\xFC\x80\xD7\xD8\xA1\x91\x36\xD9\x9A", - "\xDC\xBA\xCA\x2D\xD3\x01\x5F\xD9\x7C\x87\x70\xD8\xA2\x9B\x9C\xD8\xCB\xD6\x5D\xEA\x96\xE1\x00\xE8\xD8\x86\x01\x1B\x02\x9D\xDC\x10\x0B\x04\x2C\xB3\xC1\xD9\xF5\x32\xD5\xCB\x1B\x01\x9E\xD3\x10\x1B\x03\x34\xB3\xB2\xA5\xF7\xD9\x33\xB9\x10\x82\xB5\xCD\x07\x0D\x66\xC9\x62\x7F\xD9\x02\x03\x53\x00\x34\xD8\x8D\xB0\x00\x09\xB7\x94\x85\x8C\x01\x8A\x05\xEC\xD6\x72\x02\x40\x1F\x7B\x45\x24\xED\xA3\xD3\x12\x6A\x15\x85\x78\x55\xC5\x11\x01\xD1\xD8\x33\xE3\xDE\x12\x79\xAA\xCA\x47\x01\x47\xDF\xD4\xC7\x18\xC1\xC9\x72\x94\x8F\x01\x23\xDA\xB7\xC9\x49\xDF\x05\x7E\xA4\xC9\x69\xD8\x8B\xAB\xDA\x3F\x80\xD5\xC9\x24\x06\xA5\xD3\x1E\xA8\x68\xFD\x86\x45\x6F\x8E\x43\x5A\xD0\x47\xC4\x12\x06\xD3\xD8\x17\x75\x43\x21\x3A\xEB\x52\x4B\x00\x4D\xDC\x17\xDE\x6E\x59\xC0\x45\xDF\x14\xD5\xA3\xCF\x7D\x21\x72\x1F\x93\xCA\x5A\xD7\x04\x03\xB5\xF8\x45\xB6\x01\xA0\x2C\x25\x09\xB9\x1F\x6A\x4F\xDC\x1F\xA2\xB6\xD1\xDE\x4C\x4A\x19\x76\x70\xA9\xDA\x27\xBD\x69\xFA\x62\x06\x2D\x4C\xDA\x55\xCE\x26\x07\xA9\xDA\x8B\x37\x05\x12\xB5\x8B\xBA\xFB\xB3\x8C\xCF\x26\x04\xAC\xD6", - "\xA9\xDE\x36\x59\xE7\x7E\x42\x3A\xDB\xA4\xD9\x9C\x2B\xDA\x15\xBE\xD2\x29\xDC\x02\x0A\x05\x15\xD8\x8E\xC0\x2E\x02\x6A\xDB\xB2\x6E\x5F\xC5\x92\xA7\x01\x78\xDA\x13\x0D\x31\x04\xAF\xD7\xB3\x61\xCD\x2C\x91\xB2\x01\xFC\xD9\xD1\x2A\x34\x01\xA0\xD5\xD8\xDD\x5F\xCE\x3C\x3E\x01\x89\xDB\xDE\x40\x38\x04\xB1\xDB\xAF\x79\x28\xEC\x91\xCA\x01\x91\xDA\x7C\x46\x3B\x04\xB2\xD6\xB2\x6A\x60\xEA\x9A\xD6\x01\x99\xDA\x5D\x30\x3F\x04\xB3\xD3\xED\x0D\x56\xDD\x9A\xE2\x01\x81\xDB\xA9\x12\x02\x05\x79\xDD\xD9\xC9\x80\xAA\x96\xED\x01\xA1\xDB\xD0\x43\xDA\xD1\x95\x53\xED\x01\x61\xC5\x92\xF9\x01\xB1\xDA\x5B\x49\x09\x05\x8A\x01\x8B\x33\x76\x25\xAB\x9D\xCD\x05\x00\x5C\x55\x07\xDB\x1B\x1C\xDB\xD4\xD8\x66\x2A\xAA\xCB\x11\x00\xE1\xDA\x89\x09\x08\x05\xDC\xC0\xD8\x75\xB0\xAA\xCB\x1D\x00\xE5\xDB\x54\x17\x09\x0D\xDC\xC0\xD9\x41\x04\x1D\xA0\x54\xC3\x14\x02\x74\xDB\x1F\x2D\x05\x15\x6E\xEB\xEC\x1A\xDA\xBE\xC5\x1A\x00\xAE\x55\x96\xDD\x7E\xD5\x22\x3A\x72\xF2\x9D\xAA\xCA\x21\x03\x76\xD9\xCE\x2A\x07\x1E\x6E\xC5\xB6\xD3\xD8\xB7\xC8\x27\x03\x7A\xDB\xB4\x28\x08", - "\x0E\x6F\xD5\xB6\xA7\xC6\x32\xCA\x2D\x00\xAE\x51\xAF\xDA\x1C\x16\x04\x2C\xB6\xD3\x1D\x62\xD9\x42\xC9\x19\x03\xBF\xD6\x62\x03\x05\x3F\xB7\xE9\xD8\xAA\xCC\x38\x03\x78\xDE\xC4\x00\x0B\x15\x22\x16\x12\x53\x1D\x72\xD8\x89\xCD\x1F\x03\xC1\xD3\x95\x00\x06\x0E\xB8\xC6\xDB\x7A\xD9\x4E\xCE\x22\x03\xBE\xDD\x1B\x50\x06\x36\xB7\xAD\xDB\x03\x02\x41\xDA\xAF\xC6\x12\x0C\xE1\xD8\x17\x5E\x03\x1F\xDC\xD3\x1D\xA7\xD6\x5F\x22\x14\x04\xE1\xDB\x87\x2C\x03\x66\xDB\xC6\xDA\x49\xDB\x2D\xCF\x15\x05\xE2\xDA\xC5\x3B\x03\x28\xDC\xE1\x92\xD5\xCB\x2E\x05\xC6\xD1\x1A\x49\x00\x36\x11\x3D\xDB\xA9\xD9\x8C\xCF\x31\x05\xC5\xD1\x67\x37\x00\x36\x11\x0F\xDC\x41\xDC\x89\xCC\x35\x04\xC8\xD3\x5A\x29\x61\xDD\xAE\x53\x1D\x37\xD4\x55\xCD\x38\x04\xC9\xDD\x1B\x57\x01\x07\xB9\xC6\xDB\x51\xDD\x8C\xCE\x3B\x04\xCA\xD8\x2F\x47\x02\x17\xB9\xCE\xDB\x3D\x39\x8C\xCF\x3E\x04\xCB\xDF\x5C\xD6\x23\x27\xB7\x90\x71\xAA\xCA\x04\x02\xAA\x54\xBC\xD6\x06\x06\x73\xC6\xB7\xD2\xA9\x54\xC3\x0A\x02\xAA\x53\xED\x01\x02\x0A\x55\x51\x06\x75\x00\x3F\xDC\xE3\xD8\x37\xDE\x57\xC3\x02\x13", - "\x73\xFA\xDD\x76\xDC\x3F\xBB\x3C\xDC\x98\xDA\x4A\xCC\x46\xD1\x01\x3E\xB9\xD7\x0A\x80\xDD\xC5\xA2\xA0\xDE\xBA\xD0\x00\x0B\x53\xF4\x8E\x87\xDD\xCC\x7B\x44\xDC\x36\xAB\xD1\xDB\xB2\x61\x36\x6B\xA7\x4D\x00\x90\xDC\x14\x86\xA4\xDB\x20\x0D\x0A\x14\x74\xC5\xB6\x81\xD5\xBE\xC5\x2D\x03\x9A\xD8\xD5\x8B\xE9\xCF\xB9\xAE\xB9\xD7\x77\x8D\xC3\xCF\xD2\xAA\x52\xA2\xDF\xD0\xB4\xDD\x6A\x9A\x97\xDA\xFB\x21\x7B\x44\x0D\x31\xAE\xDE\xD1\xDD\x4D\xCE\xA8\x2A\xCD\x6B\x01\x55\xDE\x89\x0A\x19\x06\x47\x14\x24\x0B\xF4\x75\xD1\x40\x14\x36\x02\xAE\xDB\x2A\x1B\x0C\x1D\x75\xD9\x9E\xAC\xCF\x19\xCF\x36\x03\xB0\xDB\x1F\x2C\x0C\x06\x76\xC4\xAC\xB3\xCF\xB7\xC8\x37\x03\xB2\xD9\xCE\x2D\x0C\x0E\x76\xF6\xBA\xE4\x5B\x54\xC3\x37\x03\xB4\xDB\xB4\x2E\x0C\x16\x76\xFC\xF5\x41\xCF\x5E\xC6\x38\x03\xB6\xDD\x37\x4F\x0C\x1E\x76\xC2\xB1\x8C\x02\xC8\xCE\xAF\xC5\x1C\x03\xDC\xD8\x2F\x50\x06\x26\xBB\xFF\x7A\x24\xC8\xA4\xD2\x1C\x04\xDD\xDA\x8B\x34\x64\xDA\x87\x8B\x7A\xFC\xDA\xBF\x23\x1C\x04\xDE\xD1\x1A\x52\x06\x2F\xBB\xE4\x43\x21\x5E\xAA\xC0\x1D\x04\xDF\xD6\x4B\x53\x06", - "\x3F\xBB\x8B\x7A\xE0\xCB\x9D\x15\x1D\x04\xE0\xDB\x1D\x54\x06\x07\xBC\xF8\xC2\x54\xC2\x3B\x00\xC3\xD8\xBD\x45\x0D\x0F\x78\xD8\x94\xA7\xD3\x13\xDE\x6F\x4E\x35\x06\xE2\xDB\xBB\x54\x0A\xF8\x01\x19\xDE\xEE\x4D\x6B\x00\xC7\xDF\x41\x84\x15\xD9\x03\x20\xBC\x9C\xC2\xD8\x01\x91\xDF\xEE\x5C\x8D\xCA\x07\x0C\x77\xFB\x01\x25\xDD\x01\x03\x6C\x03\xBF\xDD\xB3\x75\xD7\xDD\x34\xFD\x01\x2A\x55\xF9\xDC\x04\xB4\x2B\xDC\xB7\x77\xA5\xBD\x34\xC8\x02\x38\xDE\x26\x0D\x73\x03\xCE\xDF\x94\xC5\xBF\xC5\x24\xD3\x02\x19\xDD\xA3\x2A\x7A\x02\xA7\xDC\xE7\xD7\x49\x92\x29\xDF\x02\x48\xDE\xBD\x42\x01\x02\xA2\x01\x16\x3D\xD9\x7D\x55\xF2\x94\xAB\x01\x50\xDE\x7C\x44\x2F\xD9\x95\x5D\xD9\x65\x56\xD9\x9C\xB7\x01\x59\xDF\x6A\xCF\xD4\xDB\xBC\x71\xB1\xB2\x38\xC3\x03\x40\xDE\x53\x12\x16\x02\x41\xD9\xB1\x76\xAD\xD2\x29\xCE\x03\x61\xDE\xA1\x43\x1C\x03\xD8\xDA\x22\x0D\xD9\x76\x6D\xF7\x92\xDA\x01\x70\xDE\x5B\x4B\x11\x03\xEE\xDC\x19\xD0\x5D\xC8\xAD\xF9\xDE\xDB\x43\x2A\x00\xDF\xDF\xBE\x75\x9A\xCC\x23\xF2\x03\x00\xDF\xE8\x4B\x31\x03\xE0\xDC\xED\xD5\xAF\xD9\x38\xFE", - "\x03\x08\xDF\xDE\x4D\x38\x03\xE2\xDC\xE9\xD2\x04\xAC\x23\xCA\x00\x60\x0E\xC3\xDA\xB0\x9F\xE4\xDC\xE8\xDF\xEC\xCA\x35\xD6\x00\x60\x0E\xE4\xDA\x8E\xDA\x85\x5D\xB3\x7B\xC4\xDD\x34\xE3\x00\x18\xDF\x6D\xD9\xCD\xDD\x67\x78\xBE\xDE\x35\xCF\x01\x28\xBE\xD3\x12\xAA\x00\xD5\xDE\x16\xDA\xD5\xCB\x03\x00\x3B\x39\xBC\x8C\x02\xB8\x01\xB5\xDC\xE5\xDF\x50\xBC\x46\xC6\x02\x36\xBE\x82\xDB\xBA\xDE\xCE\xDD\xCB\xD2\x97\xDE\xF0\x11\x02\x20\xBE\x8A\xD3\x8A\x04\x4B\x09\x67\x79\xC2\xD2\x53\xDE\x02\x07\xBF\xD3\x12\xA8\xDB\xCE\x55\x67\x79\xC3\xD4\x15\xCB\x03\x2F\xBE\xFB\x21\xF2\x00\xD9\xDF\xD1\xD2\xB5\xC7\x07\x17\x7E\xCD\x85\xB8\x55\x54\xDF\x03\xD6\xAA\xCB\x10\x0F\xFC\xDB\x87\x0E\x00\x38\x55\x7D\x55\xCE\x7A\x8C\xDE\x6B\xC0\x09\x1E\x7E\xE3\x56\x51\xDB\x5C\xDF\x1C\xDE\xAA\xCC\x13\x0E\xFE\xDD\x0D\x6B\x00\x60\xDF\x64\xDE\xB4\xD6\x6A\xC8\x15\x05\xFE\xD1\xB3\x39\x00\x38\x55\xCA\xDF\x24\xDE\x4C\xCD\x16\x0D\xFF\xDF\x61\xC0\xC0\xF9\xDF\x06\x80\xE2\xDC\x8D\x1A\x18\x05\x00\xFD\x0D\x59\x01\x07\xE0\x74\xDF\x58\xDA\xAA\xCF\x19\x0D\x00\xF8\x17\x69\x01", - "\x10\xE0\x7D\xDF\x30\xDE\xC4\xCC\x1B\x05\x01\xFA\xC5\x39\x01\x68\xDF\x08\xE1\x20\x70\x1B\xC9\x1D\x0D\x01\xE1\x0D\x48\x02\x20\xE0\x11\xE0\x69\xDA\x2A\xDD\xFE\xD0\x00\x02\x00\x3D\x0F\x11\x03\x97\x00\xFC\xDD\x0A\xE7\x4A\xD2\xC1\xDD\x1F\x2B\x1D\x10\x00\x2F\xE1\x8A\x01\x29\x02\x06\xE9\x01\xE4\x74\xEA\x96\x92\x00\x36\xE0\xA9\x5D\x0E\xE1\xCE\xAC\x03\xE4\x7C\xF9\x51\xEC\xC8\x20\x01\x20\xE0\xAB\x6B\x08\xE6\x76\xA5\x82\xCC\xBE\xBF\xD7\x9D\xCC\x17\x02\x12\xE2\x85\xBC\x04\xE3\x08\x0F\x03\x4E\xE0\xBB\xDE\x2E\x82\x6A\xCC\x07\x0D\x3F\x0A\x22\x09\x01\x55\xE0\x02\xC6\x14\xE3\x84\x7B\xE5\x3A\x6A\xCB\x02\x3D\x0F\x2C\xDD\x18\xBB\x23\x7E\x6A\xC8\xD6\xD1\x67\x2B\xF8\x5D\xF6\x5C\xDA\x24\xDA\xEC\x7D\xCB\xD4\x1D\xDD\xD6\xD8\x6A\xEE\x9B\x02\x80\x40\xDA\xBF\x20\x13\x07\x0C\xE5\xEB\xDE\x0C\xCB\x04\x99\xCE\x6C\xE1\xD1\x29\x1F\x83\x1F\x80\x07\xEA\x69\xC7\x04\xF2\x81\x19\xCF\x26\x00\x18\xE4\xA8\xDC\x11\xCA\xD0\x29\x03\xD4\xC2\x4F\x01\x45\xE1\x3E\xC0\xBD\x43\x12\x94\x0C\x85\xC2\xAF\xDA\x1E\x83\xBA\x83\xAB\xDD\x0E\xE5\xA9\xD6\x25\x4F\x9D\x3F", - "\x4D\xCA\x03\x28\x02\x24\xE1\x10\xEA\x1D\x9E\x7A\x2C\x91\xD3\x00\xA3\xE0\x4E\xE2\x15\xC8\x62\x8B\x09\xF7\x6A\xDD\xC2\xDB\x43\x2D\x85\x38\x20\xAD\xD9\x0E\xEA\x2B\x8E\x13\xAA\x96\xD5\x00\xA9\xE0\x57\xE2\x72\x02\x7A\x13\x26\x89\x22\xF9\xC2\xB1\xD1\xAC\xE1\x6E\x85\x61\xCA\x15\xE6\x62\x1E\x18\xA8\xA5\x84\xD0\x7C\xE0\x5A\xE1\xCF\x84\x56\xD4\x15\xDA\x02\x09\xC3\x86\xE1\x32\x87\x1F\xA4\x1B\xCB\x0B\x0F\x0C\xF8\x84\xD1\xC3\x8C\x02\x5E\xDE\x89\xCC\x17\x05\x1A\xEF\x80\xD8\x19\xAE\xB6\xAA\xCD\x5D\x00\x6E\xE0\x23\xE2\x39\x0E\x31\x96\x7B\xDE\x8D\xDE\x00\xE2\xE1\x49\xE2\x7F\xCF\x84\xDA\x5A\xDF\x02\x29\xC3\xA4\xE1\x3F\x87\xC2\xDE\x6A\xC8\x0C\x0F\x0E\xE4\x86\xDE\xC3\xD4\x96\xEF\xD9\x7A\xE2\x2E\xE3\x69\x82\x10\x18\x6E\xFE\x8A\xE2\x00\xFA\xE0\x60\xE3\x3D\xE7\xDC\xD9\x71\xC3\x03\x3F\xC2\xE8\x4B\xEC\x00\x5C\x54\x25\x0E\x63\x85\xFA\xD4\x0A\xE5\x01\x01\xE2\xB7\xD0\x72\xE1\x73\xD4\x8D\xC6\x06\x10\x88\xFD\xA2\xEB\xE1\x7F\x7E\x05\xE3\xCE\x17\x0C\x07\x10\xFE\x36\x6D\x03\x38\x55\x91\x02\x8F\x84\xF3\xDD\xD3\xC9\x06\x1D\x88\xEE\x9B\x6F\x01", - "\x20\xE2\x7E\xE1\x40\x04\xFA\xDE\x66\xD6\x88\xF6\xC1\x9C\xC2\x1E\x86\x11\xDD\x21\xCC\x0D\x0E\x12\xEF\x85\xE8\x97\x1E\x86\x2A\xDC\x87\x1D\x1B\x06\x24\xEC\x11\xD1\x07\x0A\xC4\xAA\xE2\x83\x8E\x7D\xD9\x4D\xE2\xAE\xD7\x0D\xE3\x08\x37\x26\xD4\xC2\x70\x01\xA1\xE1\x31\xE2\x00\xED\x69\xD1\x03\x3C\xC4\xCA\x03\xF2\x01\x94\xE3\x40\xE3\x1C\x8A\x11\xE0\x52\x33\x01\x4F\xE2\x15\x02\x7A\x02\x54\xE1\x65\x82\x01\xF9\x38\xF5\x01\x58\xE2\xA7\xB7\xAD\xE3\xCB\x81\x01\xEC\xFD\xC0\x8B\xCC\x04\x78\x01\x62\xE3\xA2\xE2\x49\xDD\xD3\xC9\x07\x06\x8B\xC3\x04\x7A\x01\x3F\xE3\xA9\xE2\x0D\x74\x8D\xCB\x07\x0E\x8B\xC2\x04\x63\xDC\xDA\xC2\x8F\x84\x9C\xDE\x57\xCD\x07\x09\x87\xFE\x01\x76\xE2\xCB\xE1\xD1\xD6\x6A\xC8\x10\x09\x0E\xE1\x04\x00\xC6\xF1\xE1\x12\x03\x30\xD6\xC4\xCB\x10\x09\x0E\xE4\x04\x07\xC6\x9E\x86\x8E\xDD\x42\xCA\x21\x01\x1D\xE7\x08\x0F\x8C\xF9\xB3\xAA\xCD\x89\x01\x74\xE2\x22\x06\x32\xEE\x05\x8A\x2D\xCC\x02\x12\xE1\x8E\x00\x49\xE0\x3F\x01\x2E\xE5\x40\x9A\x21\xAD\xC2\xDB\x43\x90\x01\xC3\xE3\xCB\x15\x70\x8A\x20\xCA\x8A\xD3\x25\x2F\x16\x8B", - "\xD2\xAA\xC3\x24\x05\x7F\x01\x48\x17\x04\x2E\xC6\xD5\x88\x89\xB2\x36\xC8\x26\x04\x36\xEE\x92\x57\x8D\xD7\x11\x83\x02\xB0\xB2\xD5\xC9\x27\x04\x37\xE6\x43\x1E\x8D\xCB\x11\xE2\xB3\x6C\xC8\x51\x00\x71\xE4\x21\x06\x0A\x06\x8E\xE6\xC6\x83\x02\xFA\xC4\x55\xCF\x29\x03\x39\xE3\x10\x0B\x05\x0E\xC7\xC6\x36\x03\x02\x80\xC7\x71\xD4\x3A\xE2\x10\x10\x05\x17\xC7\xAF\x16\x03\xB4\x55\xCD\x2C\x04\x3B\xE1\x10\x15\x05\x1F\xC7\x86\xB4\x6C\xC8\x5B\x00\x79\xE0\x00\x0A\x0B\x07\x8F\xC8\x68\xEC\xC8\xBB\x01\xF5\xE3\x2F\x06\x3D\xEC\x10\x0B\xD0\xAF\xAC\xEB\xE3\xC4\x00\xFA\xE3\x40\x05\x41\xBA\x5A\xC5\x06\x2B\xC7\xC9\x01\xFA\xE2\x81\xC7\x65\xDB\x3D\xEE\x0C\x01\x90\xC1\x04\x11\xB4\xAA\xCB\x67\x03\x7A\xE3\x1A\x06\x20\xE0\x00\x13\xA6\xAA\xCD\xD4\x01\xF5\xE0\x36\x07\x3A\xEC\x0A\x35\x79\xD4\x85\xD9\x01\xFD\x07\xDB\xDF\xFD\xB4\xCB\xDC\x0A\x3E\x6B\xF7\x92\xE4\x01\x19\xE4\x13\x0E\x02\x03\xD4\xDD\xF4\xC6\x6C\xEA\x96\xEF\x01\x53\xE1\x22\xDE\xAA\x51\x16\x3C\x0A\x2E\x6C\xF4\x38\x7B\x01\x29\xE5\xD1\x29\x09\x03\x45\xE4\xAB\xD6\x7A\xDD\x9A\x87\x00\xAD\x31", - "\xCC\xDF\x0C\x04\x46\xE5\x22\xF9\x86\xF2\x94\x93\x00\x39\xE5\xE5\xD8\x8F\xE4\x90\x86\xB1\xB2\x38\xDF\x00\x2D\x31\x1A\xE4\x26\x28\x89\xE4\x48\xEF\x0D\xF7\x4B\xC1\xC9\xD3\x12\x5C\x01\x21\xE5\x25\x88\x29\xA7\x62\xCF\x92\xFB\x43\x6A\x00\x52\xE5\x36\x8A\xDF\xD9\xBD\xD6\x25\xF1\xB3\x1F\xBC\xA9\x59\xAC\x21\x76\xD7\xEE\xCD\x4B\xE3\x5A\x26\x04\x19\xC9\x9A\x89\xCF\xDA\x55\xCE\x16\x04\x4C\xED\x1B\x54\x04\x27\xC9\xFA\x88\x95\xDE\x1C\xD4\x9B\xE0\x5F\x42\x0A\x0F\x93\xEC\x42\x60\xDB\x85\xC8\x39\x01\x2B\x34\xBC\xD0\x0B\x0A\x55\x7D\xA9\x2C\x21\x0D\xE2\x5F\xC7\x1F\x03\x4E\xEA\x8B\x3F\x05\x36\xC9\x93\xE2\xAA\xCB\x45\x00\xA1\xE1\x34\x4D\x0C\x07\x94\xD6\xA7\xCD\xDA\x48\xE4\x13\x0F\x36\x03\x49\xE3\x25\xE2\x08\x01\xB8\xB7\xC9\xA2\x01\x48\xE7\x54\x10\x1D\x04\x29\xFA\x92\xE3\xA1\x55\xE2\xDF\x0D\x56\x03\x9E\xE6\xC4\x05\x0F\x0A\x55\x56\x12\x2C\x21\x23\xE2\xEB\xD7\xA8\xE3\x2A\x15\x00\x00\x3B\x27\xCA\x95\x02\x2C\xE3\x42\xCB\x31\x03\x51\xE6\x4B\x55\x00\x20\x1D\x2C\xE4\xC2\xA2\xD5\xCB\x34\x04\x56\xE6\x79\xD7\x95\xF4\xAA\xB9\xE2\x34\x1D\x6F", - "\x03\xAA\xE1\xAD\xB0\x76\x1F\x93\xD5\x04\x6B\xDF\xFE\xCE\x76\x00\xAF\xE0\xBD\x40\x04\x1E\x95\xE5\xC8\xC7\xE2\xBE\xC4\x7C\x03\xB2\xE6\xDB\x4E\x04\x0E\x96\xCC\xC9\x83\x02\xA0\xD8\xD5\xC8\x01\x03\x4D\x54\xDE\xDC\x02\x2E\xCA\xB4\xD5\xD9\xE4\x55\xCD\x04\x04\x5B\xE6\x62\x0C\x03\x1F\xCB\xA5\xE4\x59\xDC\x89\xCE\x07\x04\x5C\xE3\x95\x1C\x03\x27\xCB\xD7\xE5\xF9\x7E\x50\xE5\xEF\x03\x05\x0C\x2E\xFB\x87\x0C\x02\x6F\xE5\x95\xE4\x08\x31\xC6\xC8\x07\x05\x2F\xF1\xB3\x34\xBF\x96\x5C\xAC\x20\x23\xD6\xAF\xC5\x08\x0D\x2F\xE3\xAD\x2B\x02\x45\xE5\xB4\xD5\xBD\xE1\x21\xCA\x0A\x0B\xA6\x4B\x3B\x1E\x01\x6B\x54\x91\x02\x5D\x02\xB5\xE1\x5F\xE1\xA2\x2C\x23\xE0\x01\x0D\xE6\x04\x90\x88\xE6\x32\xB3\x62\xEE\x29\xFE\x81\xEA\x9A\xEE\x00\x18\xE6\x89\x02\x1E\x02\x63\xE2\x11\x16\x06\x1C\xCC\xE8\xE4\x6A\xD4\x36\xC8\x1F\x01\x64\xEC\x10\x08\x04\x24\xCC\x8C\x02\xE4\x01\x93\xE4\x9C\xE4\x54\x10\x69\xCC\x99\xC3\x04\x16\x01\x2F\xE7\x77\xB6\xCC\xE4\x15\x20\xEA\xC5\x24\xD8\x02\x05\xE6\x01\x03\x52\x01\xCE\xE1\x60\x5D\xA7\x58\x26\xAC\xC6\xBE\xC5\xA7\x01\x35\x54", - "\x1A\xE6\xA0\x84\x96\xBB\x7F\xEB\xA9\x01\x09\xAC\x00\xA5\xE6\x89\x08\x9B\x8A\x98\xB4\x0A\xED\x02\x4F\xE6\xD5\xC4\xA9\xE7\x54\x10\x9B\x81\x1C\xEA\x35\xF2\x02\x58\xE6\x07\xAE\xAD\xE7\x3E\x20\x9B\x8E\x9C\xB4\x0A\xF7\x02\x60\xE6\x0C\x03\x5D\x02\xD8\xE1\xCE\x28\x4D\x91\x8E\xD9\x9C\xBC\x01\x68\xE7\x81\x00\x30\x03\x6D\xE3\x5A\x38\x26\x9A\xC7\x92\xCE\xC1\x01\xB8\xE6\x40\x05\x18\x04\x37\xFD\x0D\x58\x13\xE1\xE3\x19\xCE\x63\x02\xDE\xE7\x4D\xDD\x37\xF8\x17\x58\x13\x87\xB4\xAA\xCD\x65\x03\xE0\xE0\x00\x0F\x0C\x05\x9C\xFA\x62\x58\x89\x17\xB4\x55\xCC\x34\x03\x71\xE4\x0D\x0E\x9C\xE1\x86\x58\x89\xF6\xE2\x55\xCD\x35\x03\x71\xE9\x0D\x16\x9C\xF6\x92\x58\x89\xFC\xE2\x55\xCE\x36\x03\x71\xEE\x0D\x1E\x9C\xDB\x87\x58\x89\x03\xC6\x55\xCF\x37\x03\x71\xE3\x0E\x06\x9D\xC9\xBE\x90\xB4\x6C\xC8\x72\x03\xE2\xE0\x1D\x0E\x3A\xFE\x36\x58\x13\x8F\xE4\x19\xCF\x74\x03\xE2\xE5\x1D\x05\x3B\xEE\x37\x5F\x1E\x58\x89\x97\xE1\x6E\xE1\x62\x88\x48\xBC\x46\xCE\x07\x2B\xA9\x49\xE4\x10\x57\x2E\xE1\xF1\xCA\x4A\xBA\x5A\xD9\x07\x07\xCF\xA6\x0C\x1C\x00\xE5\xE7\x65", - "\x8D\x34\xE0\x96\xC8\x24\x19\xBE\xA9\x00\xFD\x07\x58\x30\x41\x4E\x45\xEB\xB3\x10\x00\x16\xCF\xA6\x0C\x37\x01\xEC\xE7\xF2\xE2\x20\x06\x23\xF4\x0A\xDC\x00\x5F\xE7\x53\x13\x22\x02\xF8\xE3\x7A\xE3\x10\x1E\x91\xDD\x9A\xA8\x00\xE8\xE7\x7D\x20\x2A\xE1\x95\x54\x50\x46\x6D\xD4\x85\xB4\x00\x88\x08\xE4\xE4\x44\x2A\x7A\xE3\x3C\xED\x92\xD2\x9C\xBF\x00\xF1\xE7\x38\x2E\x1B\x03\x7D\xED\x3F\xF4\x92\xE6\x9E\x81\xE8\xA3\x2A\x3E\x00\x01\xEC\xB3\x81\x8D\x4C\x23\xD7\x01\x08\xE8\xBD\x43\xCD\xE0\xFD\xE2\x1E\xEA\x6A\xC3\x03\x10\xD0\xF8\x45\xBB\xE3\x09\xE9\xE3\xDA\xE2\xCF\x06\x17\xA0\xFA\x62\x4D\xE3\x1A\xE9\x38\xE6\xAA\xCB\x0F\x0E\x41\xE1\x0D\x74\x02\x0B\xE8\x9F\x8B\xCE\xDD\xC6\xCF\x10\x08\x48\x04\x6F\xC2\x03\x7D\x07\x7D\x54\x82\x49\xA0\xE5\x90\xC4\x09\x05\xA1\xF6\x92\x51\x01\x28\xE8\x16\x50\xA2\xE2\xD5\xC0\x0A\x16\xA1\xDB\x87\x5F\x01\x39\xE9\xBC\x8B\xEC\xDF\x38\xD9\x3F\xE6\x31\x2D\x03\x7C\xE7\x0C\xE8\x4B\xE4\x1B\xCF\x16\x05\x44\xF3\x4A\x3A\x03\x48\xE8\x29\xE9\xE1\xDC\x24\xD5\x85\xE6\x62\x18\x91\xDD\xAE\x04\x4A\xA9\xE4\x5F\xC7\x33\x04", - "\x8A\xE3\x95\x17\x00\x2D\x62\x16\x09\x04\x4B\x58\xE7\x2D\xCC\x1B\x0E\x43\xE8\x2F\x67\x00\x2D\x31\xDA\xE7\x5C\xE6\xAA\xC8\x1D\x05\x46\xFE\x36\x75\x00\x68\xE8\xE3\xE7\x75\x7A\xC4\xCC\x1E\x0C\x45\xFB\x87\x03\x01\x2D\x31\x31\xE9\x63\xE4\x1B\xC9\x00\x0F\xAC\x59\x7C\xD2\x01\x70\xE8\xEC\xE6\xE5\x90\x1B\xCD\x01\x0D\x47\xE6\x31\x20\x01\x00\xE9\x05\xE9\x72\x82\xBC\xE2\x39\x09\x01\x0F\x56\x64\xB7\xEE\x00\x5F\xE9\x38\xEA\x3A\x83\x91\xE5\x1E\x0E\xA4\xE6\x18\x7E\x00\x91\xE9\x40\xE8\x0D\x84\x92\xEF\x13\x16\xA4\xD3\x25\x0E\x01\x99\xE9\x44\xEB\x26\xEA\xB5\xC0\x04\x1E\xA4\xFB\x43\x1E\x01\xA1\xE9\x24\xEA\xBE\xE2\xE2\xCD\x04\x06\xA5\xF1\x59\x2E\x01\x78\xE8\x49\xEA\xC0\xE5\x90\xCA\x05\x0E\xA5\xE3\x56\x3D\x01\xB1\xE8\x4D\xE9\x3E\xAC\x8D\xC7\x06\x05\xA4\xEA\xA0\xCF\x55\x91\x02\x66\x00\x22\xEA\x95\xE5\x31\xEA\x2D\xF5\x01\x3E\xE9\x1B\x9E\x60\xEA\x85\xB3\x98\xE1\x45\xE9\x9F\xAC\x91\x83\x01\xC8\xE9\x81\x03\x23\x02\x99\xEB\xA3\xAC\xA6\xFA\xD0\xC7\xE0\x32\xDB\x68\xEA\x94\xC4\x9A\xEC\x10\x16\x07\x16\xD3\xC2\xE8\x44\x0E\x2C\xD6\x36\xE9\x20", - "\x0B\x0A\x1C\xA6\xF2\x0B\x6B\x54\x69\xE9\xCE\xE2\xAA\xCD\x15\x06\x4B\xE1\x08\x3A\x02\x66\xE9\xA0\x55\x35\x55\x9F\x57\xB4\x86\x21\xFE\x15\xFC\x02\x4F\x55\xFA\xE7\x10\x00\xD0\xE2\xBD\x8D\xF3\xD4\x0A\xC7\x03\x78\xE9\x26\x0C\x17\x03\x3E\xEF\xB4\x87\x0C\xEE\x78\x12\x03\x63\xE9\xF8\x45\x1D\x00\x3A\xE8\xBC\x80\x2F\xF2\x29\xDE\x03\x08\xEA\xBA\x31\x24\x03\x42\xEC\xF9\xC4\xC0\xCA\x2D\xEA\x03\x10\xEA\xA1\x43\x2B\x03\x44\xE9\xBB\x8E\xD9\xD9\x38\xF6\x03\x18\xEA\xB6\x49\x32\x03\x46\xEF\xBA\x85\x24\xF2\x29\xC2\x00\x51\x49\xFA\xE7\x39\x03\x40\xED\xED\xDD\x69\xCD\x00\x11\x93\x19\xDF\x80\x01\x91\xEA\x78\x8D\x1F\xAC\x46\xD9\x00\x2F\xD4\xA6\x0C\x8E\x00\x99\xEB\x79\x8B\x4B\xEA\x6A\xC5\x01\x37\xD4\xD3\x12\x9C\x00\x9D\xE8\x3F\xEE\x85\xDA\x5A\xD1\x01\x3F\xD4\xFB\x21\xAA\x00\xA1\xEB\x69\x8B\x63\x94\x15\xDD\x01\x07\xD5\xF1\x2C\xB8\x00\xA5\xE9\x45\x06\x1F\xE5\x48\xC9\x02\x0F\xD5\xA3\x2B\x82\xE7\x54\x5B\x69\x88\x4F\xE7\x4B\xD5\x02\x11\x93\x64\xDB\x95\xE6\x0B\x5F\x69\x8B\x86\xE7\x4B\xC2\x03\x17\xD5\xBD\x43\xAD\xE6\xAD\xEB\x0E\xE9\xE3\xCE", - "\x06\x07\xAB\xF8\x8B\x71\x01\x52\xEB\x47\xE6\xAA\xCA\x0F\x08\x52\xE2\x3A\x2B\xD4\x92\x02\x97\xE4\xAF\xC5\x21\x05\xAE\xE3\x35\xD5\xA3\xE4\xD4\xD2\xE8\xAA\xCC\x48\x03\x57\xEE\xC4\x09\x01\x08\x24\x16\x12\x27\x8B\x59\xE9\x42\xC9\x27\x03\xB0\xE3\x95\x09\x01\x06\xD6\x8C\xEA\x03\x02\x31\xEA\xD7\xC2\x15\x0E\x56\xFA\xC5\x39\x00\x08\x09\xB1\x31\xD3\x8A\x4C\xE7\x96\xC6\x0B\x15\xAC\xE1\x86\x47\x00\x98\xEA\xC8\xE8\x2D\x4C\x8D\xC2\x0C\x0C\xAC\xFB\x43\x55\x00\x88\x09\x79\xEA\x1E\xE9\x41\xEE\x59\xF6\x25\x64\x01\x21\xEB\x14\xEB\xAF\xD6\x4C\xCB\x1B\x0D\x5A\xFB\x0E\x72\x01\x30\xEB\x1C\xEB\x0E\xD6\x6A\xCF\x1C\x06\x5A\xF1\xB3\x00\x02\x0F\xEB\xB1\xEA\xDD\xEA\xAA\xCC\x1E\x0D\x5B\xE3\xAD\x10\x02\x40\xEB\xB9\xEA\xC1\xD6\x6A\xC9\x00\x0A\xAC\x04\x6F\xFD\xD0\x9D\x57\xA7\x8B\x74\xE6\x4C\xCE\x01\x0D\x5C\xEC\x70\xC8\xD7\xFF\xEA\x1A\xE0\x99\xCB\x06\x05\xBA\xE5\xE1\xC9\xAD\xE2\xD6\xAC\xDA\xAA\xCA\x14\x00\x77\xEB\x1F\x2B\x45\xE2\xAB\xCD\xA9\xAA\xCB\x35\x00\x65\x17\xDA\x09\x08\x0A\xAC\x11\x0C\x1E\x03\x38\xEB\xD8\xEB\x16\x34\x1B\xCB\x08\x0A\x5E", - "\xE6\x43\x6D\xD7\x95\x02\xEC\x00\xF8\xEB\x4C\xEE\x99\xEA\x5A\xD1\x02\x35\xD7\xF2\x42\xF7\xEA\xD6\xB6\x7E\xEB\xA7\xE9\x32\xED\x87\xFF\xD7\xC5\x8F\x01\xED\x30\x57\xB3\x51\xB3\xE7\x19\xE9\x76\xC7\xD8\xA4\x9C\x09\xED\x09\x5B\x82\xEF\xBB\xE1\xD3\xC3\xA1\xE3\xD7\x83\x02\x88\x01\x08\xEF\x22\x17\x59\x5D\xA7\x45\x31\x87\xCD\x85\xC9\x8A\x00\x65\x17\xD2\xE3\x20\x05\x62\x91\x8D\xFE\x8A\x8B\x01\xCA\x15\x40\x0B\x23\x02\xC4\xE6\x62\x05\x31\x95\xCD\xBE\xC5\x90\x01\x14\xED\x45\x04\x12\x0C\x62\xF3\x4A\x25\x18\xDD\xE6\x19\xCF\x4A\x02\x8C\xEA\x5B\xA5\x63\xFB\x87\x25\x18\xE5\xE6\xBE\xC4\x4D\x03\x8E\xED\x8E\xAD\x63\xF1\xB3\x25\x18\xEE\xE6\x12\xCF\x4F\x03\x90\xEB\x20\x03\x0A\x05\xB2\xE3\x56\x25\x8C\x77\xE6\x99\xC8\x29\x03\xC9\xE2\x10\x08\x05\x0E\xD9\xBD\x43\x25\x8C\xC0\xE6\xC4\xC9\x15\x04\x65\xE1\x08\x2D\x02\x57\xEC\xF8\x45\x12\x8C\xE2\xE2\x4C\xDD\x65\xF4\xB0\xA0\xD9\xBA\x31\x25\x8D\xC8\xE5\xC6\xCB\x16\x05\x66\xF7\x05\x27\xD9\xA1\x43\x25\x8D\xCC\xE5\xC6\xC8\x17\x05\x66\xFC\x05\x2F\xD9\xB6\x49\x25\x8D\xD0\xE5\xC6\xCD\x17\x05\x66\xE1", - "\x06\x37\xD9\xDB\x43\x25\x8D\xD4\xE5\xC6\xCA\x18\x05\x66\xE6\x06\x3F\xD9\xE8\x4B\x25\x8C\x04\xE6\xAA\xCF\x18\x05\x66\xEB\x06\x07\xDA\xDE\x4D\x25\x8C\xDC\xE6\x9D\xD5\xCC\xE0\x0D\x0F\xB4\xEE\x9B\x73\x8C\x25\x8D\xE0\xE7\x38\xE7\xE0\x84\x61\xFA\xB4\xEA\xC3\xEE\x4D\x44\x8F\x16\x50\x52\xD0\x1E\xEA\x8B\x3E\x3C\xB5\xD3\x93\xD9\xCA\x14\xFD\xE7\x0C\x05\x9D\xED\x7E\xDD\xA7\xFE\x8A\xDC\x01\xA9\xEC\x13\x0D\x29\xE8\xFB\x2E\x79\x85\xA8\xF4\x38\x67\x01\x0F\xED\xD1\x29\x2B\xE9\x95\x5E\x79\x9C\x9E\xC0\x29\x73\x01\xB9\xED\xDE\x43\x16\x03\xC2\xE0\x7B\x95\xA8\xEF\xBA\xC1\xED\x16\xE0\x62\xED\xF1\x8D\x2F\xDC\x46\xCB\x00\x0D\xA7\x19\xDF\x77\x00\x65\xEC\xE8\x89\x82\xD9\x71\xD7\x00\x0D\xA7\x7A\xE7\x85\x00\x56\xEE\xE7\x8E\x31\xDE\x2B\xC2\x01\x0F\xDB\xA6\x0C\x92\x00\x69\xED\xE7\x8D\x5B\xDA\x6A\xCE\x01\x1F\xDB\xD3\x12\xA0\x00\x71\xEC\xF6\x8C\x1D\xEA\x6A\xDA\x01\x27\xDB\xFB\x21\xAE\x00\x75\xED\xAB\xEC\xA8\xEA\x6A\xC6\x02\x2F\xDB\xF1\x2C\xF7\xE8\x5E\xEC\xD9\x92\xD5\xC2\x05\x17\xB7\xE3\x56\x4A\x01\xF2\xEC\xCF\x8C\x55\xEF\x96\xCE\x05\x1E\xB7", - "\xFD\x86\x58\x01\x01\xEF\x63\xDE\x6A\xCA\x0D\x0D\x9C\x44\x6F\xE6\x03\x1C\xEC\xDB\x8E\xF4\xDA\xAA\xCF\x0E\x06\x70\xF8\x17\x75\x03\x09\xEE\x6E\x9E\xD5\xCB\x20\x05\xE2\xEA\x8B\x23\x00\x11\x93\x31\x31\x9E\x8E\xFC\xD9\xA7\xCF\x11\x07\x6D\xEF\xE5\x85\xD7\xEB\xED\x78\xEA\x36\xCA\x26\x05\xE4\xE3\x95\x1E\x00\x27\xDC\xF3\xED\x80\xEB\x8C\xCD\x29\x05\xE1\xE6\x62\x0B\x01\x11\x93\x16\x09\x9E\x8F\xC4\xEB\x2D\xCA\x16\x04\x73\xF3\x4A\x3B\x00\x37\xEE\x11\xEE\xAB\xBC\x1B\xCF\x17\x0C\x71\xE1\x0D\x4B\x01\x1F\xEE\x41\xEF\xFF\xD2\x6A\xCB\x19\x05\x74\xFD\x2E\xC8\xDD\xC5\xED\x89\xD8\x6D\xD1\xCF\xEE\xC7\xE1\x4D\x5D\x53\x5E\x1E\xC8\xE5\x48\xD2\x72\x01\xD3\xEB\x3B\x46\x07\x0F\xBA\xCB\xDB\xB2\xEB\x9D\xCC\x78\x03\xD6\xE8\xBD\x44\x08\x1E\xBA\xD3\xDB\xD8\xE5\x9C\xE8\x86\x00\x3F\x03\xEA\xE1\x67\x32\x04\x00\xDD\xD0\xEE\xC2\xEB\x8C\xCD\x02\x05\x64\x54\xDE\xC2\x05\x2F\xDD\xDF\xEE\x64\xE2\xCF\xDC\xDD\xEE\xC4\x02\x0B\x17\xBB\xE7\xDD\xF1\xE5\xAA\xCB\x11\x03\xDE\xEB\x2A\x15\x5A\xFD\x5C\x5E\x1E\xC3\xD9\x7E\x22\x18\x03\xE0\xEB\x1F\x22\x0D\x15\xBA\xC9", - "\xDD\xA2\xE0\xAA\xCB\x1E\x03\xE2\xE9\xCE\x21\x0E\x0E\xBC\xF0\xDD\x83\x02\x0A\xE7\x13\xD5\xC9\x53\xED\x06\x05\x05\x59\x51\x06\x70\x01\x66\xEF\x71\xEE\x60\xE2\xD5\xC8\x05\x1B\xBC\xF3\x2A\x1E\xEF\x34\xB9\xD0\xEC\xCA\xED\x9C\xDA\x6A\xC6\x03\x26\xDE\xBE\x96\xA8\xEE\x64\x06\xB2\x10\xE4\xE8\x4B\xBF\x51\xEF\xDE\xAF\x9D\xB1\xEE\x82\x4F\xEC\xEF\xF1\xE5\x5A\x32\x38\xC2\x02\x37\xEF\x03\x02\x47\x01\xEE\xEB\x20\x02\x5E\xFA\xB7\xEA\xD3\x99\xCE\x90\x01\xC9\xEE\x94\xC3\xF8\xE8\x77\x6A\x56\x3D\xA9\x68\x8F\xA7\xED\x5B\xCB\x27\x05\x64\x5A\x3F\xE5\x02\x17\xD8\x82\x02\xE8\x8E\x0F\xE7\x64\xEC\xFA\xE6\x62\x12\x02\x17\xDF\x99\x90\x45\xDF\x5B\xC9\x2D\x00\xF8\xE3\x5A\x3F\x02\x3B\xDE\xA6\x90\xCC\xE0\x5F\xC5\x30\x04\xFC\xED\x1B\x4D\x03\x27\xDF\xA9\x90\xC6\xED\x8C\xCD\x33\x04\xFD\xE8\x2F\x5B\x03\x2F\xDF\x8F\x90\xCC\xEC\xD5\xC9\x36\x04\xFE\xEA\x8B\x29\x04\x37\xDF\xD8\xEF\x65\xDE\x99\xC9\x39\x04\xFB\xE3\x95\x17\x04\x1F\xDF\x80\x00\xE8\x8E\x6E\xED\x21\xC8\x1E\x0C\x7F\xE1\x0D\x53\xD9\xA9\x59\xE8\x8E\x73\xE2\xFF\xCC\x1F\x0D\x80\xF6\x25\x72\x02", - "\x7F\xEF\xE0\xEE\xB2\xD0\x1B\xC8\x01\x0C\xD6\x59\x7C\xC0\x03\x18\xF0\x08\xF0\x0A\xE9\xC6\xCC\x02\x0D\x81\xE6\x31\x0E\x03\x20\xF0\xE8\x8E\xA6\xEA\xAF\xC0\x04\x05\x82\xF3\x4A\x30\xDA\x90\xF0\x53\xEA\x36\xC8\x0B\x05\x05\xFB\x0F\x2A\x07\x28\xE0\x8A\xEE\xAA\xCC\x1C\x00\x5B\x5C\xBC\xD8\x0F\x0E\xBE\xF6\x20\xA2\xE6\x46\xCC\x1A\xF1\x9C\x2F\x00\x0D\x9C\x51\xC5\x28\x1F\xAC\xDF\xFE\xCF\x28\x02\x10\xF3\xB4\x25\x01\x05\xC2\xFF\xE0\x85\xB5\x6C\xC9\x2E\x00\x5B\x5A\x7F\xE3\x02\x0C\xBB\xC0\xE0\xA9\xEE\xAA\xCA\x34\x03\x14\xF6\xC4\x00\x03\x16\xC2\xD9\xE0\xB1\xEE\x12\xCF\x39\x03\x0E\xF6\xC4\x0D\x03\x0D\x4E\x56\x12\x68\x8F\x3A\xEE\xAF\xC4\x20\x03\x0C\xF3\x95\x0D\x02\x26\xE1\xCF\xF0\x91\xEA\x36\xC9\x23\x03\x09\xFD\x1B\x5D\x02\x0E\xE1\xE8\xEF\xDB\xDE\x55\xCD\x26\x04\x0E\xF8\x2F\x4B\x03\x37\xE1\xF0\xEF\x51\xEE\x99\xC9\x29\x04\x0D\xFB\x0F\x39\x03\x0D\xA7\x4F\xEF\xAB\xEA\xAF\xE4\x1F\xF2\x17\x38\x08\x1F\xC3\xF8\xDF\xE0\xEE\x54\xC2\x5F\x03\x22\xF1\x34\x46\x09\x0E\xC4\xD7\xE1\xF1\xEE\x12\xCE\x65\x00\x21\xF1\xCE\x24\x0A\x0F\xC3\xF8\xE1\x98", - "\xF1\x32\xCB\x6B\x03\x26\xF3\xB4\x24\x0B\x1E\xC4\xC0\xE2\xF9\xEE\x19\xCE\x72\x03\x28\xF5\x37\x44\x0C\x06\xC5\xCF\xE2\xA8\xF1\x12\xCF\x78\x03\x2A\xF0\x5F\x44\x0D\x0E\xC5\xD7\xE2\xD9\xEB\x9D\xCC\x7F\x03\x2C\xF2\x17\x3A\x75\xF6\x70\x68\x1F\xB3\xE9\xB7\xC9\x05\x01\xF6\x54\xBC\xD3\x0F\x07\xC4\xF0\xE1\x9A\xD7\xAA\xCA\x0C\x01\xF6\x53\xED\x04\x02\x19\x5E\x67\x98\x25\x56\x46\xF0\xBB\xAA\x6A\xCE\x04\x0B\x8C\xF9\xBA\x4E\xE3\xFA\x08\xD0\xF1\x63\xF1\x40\x02\x31\xE2\x53\xD4\x01\x15\xE3\xEE\x70\xD7\xF0\xB5\x5D\x36\xF7\x13\xF5\x60\xEA\x35\xC2\x01\x5F\xF1\x2D\xD7\x70\xF1\xCE\x6B\x1C\xF7\x8A\xF4\x99\xEA\x9A\xD0\x00\xE8\xF1\x4E\x12\x3A\xF3\x20\x0A\x03\x0C\xC7\xEF\xE2\x80\xD5\x6C\xC8\x2F\x03\x30\xF3\xFB\x83\x8F\xF7\x1C\x65\xAC\x7D\x54\x3D\x91\x0F\xEF\x2D\xCD\x0D\x09\xBD\x43\xB1\xEB\x21\xCD\xE6\x1F\xE7\xEC\x55\x20\x0A\x0E\x05\x90\xE6\x31\x3D\x20\xAF\xEC\x85\xC9\x39\x02\x42\xF5\x22\x07\x07\x0D\xC8\xD3\x25\x3D\x90\x38\xEC\x89\xCC\x1E\x03\x22\xF2\x11\x1C\x03\x16\xE4\xFB\x21\x3D\x90\x20\xED\x21\xCD\x0F\x0C\x91\xFB\x78\x9F\xE4\xF1\x2C", - "\x3D\x90\x24\xEE\x4C\xCA\x10\x05\x92\xEB\x80\xA7\xE4\xA3\x2B\x3D\x91\x28\xED\xA7\xCF\x10\x0D\x92\xE2\x08\x0B\x02\x2F\xF2\xED\xEE\x01\xB4\x1B\xCC\x11\x05\x93\xF6\x28\xF8\xE4\xF8\x45\x3D\x91\x31\xEE\xC4\xC9\x12\x0D\x93\xE0\x00\x15\x02\x3F\xF2\xBA\x31\x1E\x92\x9A\xEA\xE2\xC6\x09\x05\xCA\xDA\x02\x48\xF2\xA1\x43\x1E\x92\x9C\xEA\xE2\xCB\x09\x05\xCA\xDF\x02\x50\xF2\xB6\x49\x1E\x92\x9E\xEA\xE2\xC0\x0A\x05\xCA\xE4\x02\x58\xF2\xDB\x43\x1E\x92\xA0\xEA\xE2\xC5\x0A\x05\xCA\xE9\x02\x60\xF2\xE8\x4B\x1E\x92\xA2\xE9\xE3\xCA\x0A\x05\xCA\xEE\x02\x68\xF2\xDE\x4D\x1E\x92\xA4\xEA\xA6\xCF\x0A\x05\xCA\xF3\x02\x70\xF2\xEE\x4C\x4D\x91\x0F\x96\xD3\xE0\x0F\xFA\x48\xA8\x1F\xFC\xF2\xF6\xE0\xFA\x93\xDF\xEB\x18\xEB\x0F\xF3\x4A\x24\x29\x82\xF2\x5E\xC6\x5A\x01\xF6\x55\x02\xDA\x8B\x24\x53\xA6\xD8\x85\xC9\xB7\x01\xEC\x56\xFF\x2D\x17\x08\x97\xFC\x08\xE4\x29\x90\xF2\xB7\xC8\x5F\x02\x64\xF6\xFD\xA5\x99\xFB\xF4\x95\x04\x19\xF2\x32\xCB\x62\x03\x66\xF2\x22\x0B\x0C\x1D\xCC\xE2\xE0\x82\x02\x22\xF3\x5B\xC8\x33\x03\x34\xFB\x95\xA6\xCD\xF4\xDB\xD0\xE3\x6C", - "\xC9\x69\x00\x6B\xF3\x20\x09\x0D\x0E\xCD\xCC\x04\x64\x94\x32\xF2\xAA\xC2\x36\x03\x36\xF2\x10\x00\x07\x36\xE6\xC7\xC3\x00\xB4\x36\xC9\x38\x04\x37\xF1\x10\x07\x07\x3F\xE6\xF1\xCC\xE8\xE2\xD5\xC8\x3A\x04\x38\xF6\xA7\xA7\xCE\xD4\x29\xB4\xB4\x32\xCB\x77\x00\x73\xF5\x1E\x0E\x9C\xE7\x6E\xF5\xC7\xEC\xC8\xF6\x00\xE6\xF0\x3F\x05\x3A\xF4\xA6\x9B\xCA\xF2\x94\xFD\x01\xCC\xF3\x01\x00\xD2\x48\x23\xC4\xA6\x83\xCB\xF2\x94\x84\x00\x48\x4E\xA1\xC7\x78\xF6\xC4\x04\xA6\x8B\xCB\xE0\xAD\xE9\xF3\x6D\x55\xF5\xF2\x61\xF2\x42\xBC\x46\xD2\x00\x30\xE7\x8D\x42\xF2\xF3\x7D\x23\xC6\x94\x7B\xDE\x17\x39\x00\x39\xE7\xF1\x58\x48\x4F\xC8\x03\x15\x05\x64\x54\x49\x12\x5E\x80\x31\x80\xF3\x85\xF3\x0F\x99\xFE\xA0\x41\xF2\x10\xEC\x08\x00\x31\xFC\xF3\x0E\x1E\x0E\x03\x7F\xF2\x20\x0D\x01\x01\xD0\xCB\x07\x84\xF4\x36\xBB\x51\x9B\x1A\xE1\x30\xF1\x67\x29\x68\xB6\x38\x8C\xF4\x11\xE3\x8A\x02\x72\x99\xFA\xEE\x35\xDF\x00\x08\x9D\x7A\xE7\x59\x00\xE5\xEC\x79\x9E\xD5\xE5\x48\xCA\x01\x27\xE8\xA6\x0C\xAE\xEE\xEC\x2E\x72\x9E\xD6\xEB\xB3\x15\x01\x08\x9D\x19\xDF\x73\x00", - "\x7B\xF3\x6D\x99\xFD\xE5\x48\xC1\x02\x37\xE8\xA6\x0C\x81\x00\x1D\xF7\x8A\xF2\x1A\xEA\x5A\xCD\x02\x3F\xE8\xE6\xD8\x42\xF4\x00\x02\x72\x9E\x7D\xE4\x15\xD9\x02\x07\xE9\xFB\x21\x9D\x01\x24\xF6\x72\x9E\x7E\xEE\x2B\xC5\x03\x2F\xE8\xD3\x12\xAB\x00\x15\xF6\x92\xF4\xA5\xE8\x14\xEF\xD2\xD0\xD5\xD2\xF4\xE4\xED\x8C\xCC\x1F\x06\x4B\xF8\x55\xE0\xD3\xDA\xE0\xAA\xCB\x88\x00\x32\xF5\x6F\x44\x1A\x06\xA6\xF7\xCD\xEC\x91\x94\x01\x6A\xF4\x7C\x46\x38\x05\x4D\xF8\x0F\xFC\xA1\xF1\xE9\xBA\x31\x0C\xF1\x54\x5A\x72\x9B\xE0\xEE\x35\xCC\x05\x37\xE9\xA1\x43\xFE\x00\x3A\xF4\x41\xE2\xE2\xC8\x0B\x08\x3A\x64\xB7\x8C\x00\x6C\x5B\x3E\x56\x72\x9C\xAC\xEE\x35\xC5\x06\x3F\xE9\xB6\x49\x1B\x00\xB6\x59\x2C\x32\xB9\x98\x84\xE8\x4A\xD1\x03\x0F\xF5\xDB\x43\x14\x02\xA4\xF2\x44\xF3\x44\xF2\x38\xDD\x03\x57\xF4\xFB\x21\x1B\x03\x2C\xF2\xB9\x99\x57\xFE\x3F\xE8\x03\x20\xF5\x71\x2C\x22\x03\xA8\xF0\xC1\xD9\x71\xD3\x07\x06\xEA\xA6\x0C\x4A\xF1\xCE\x56\x72\x99\x0D\xFE\x7F\xCC\x2E\xA4\xB7\xE1\x00\x6C\x5A\x4B\x0A\x72\x9A\xB2\xEE\x7F\xCD\x00\x01\x2D\x19\xDF\x71\x01\x4D", - "\xF4\x85\x99\x0F\xF9\x71\xD9\x00\x3F\xEA\xA6\x0C\x7F\x00\x61\xF4\x43\x02\xB9\x90\x2C\xFB\x59\x25\x00\x41\x16\xA1\xDF\x44\xF4\xA7\xF7\x37\xCC\x46\xD2\x01\x07\xEB\xC0\xEA\xCA\xF4\x03\x9E\xFC\xD9\xE3\xCE\x03\x17\xD6\xC8\xD5\xD9\xF5\x3B\xF4\xFD\xDE\xAA\xCA\x09\x00\xAD\xE6\x31\x38\x02\x39\xF5\xD3\xF4\x50\xF1\xA7\xCF\x0A\x05\xAE\xE1\x56\xE8\xEB\xC3\xF5\xB0\xF0\x26\xD9\xBB\xF5\x91\xDF\xAE\xEB\xD6\xDD\xC5\x92\xCE\x71\x01\x79\xF5\x9C\x28\x1D\x05\xAF\xFA\xD6\xD2\xE4\x1D\xCD\x7E\x00\x7D\xF7\x68\x28\x1F\x02\xAD\xF0\xD7\xD0\xDE\xAA\xCD\x8B\x00\x81\xF7\x86\xC1\x7B\x5A\xA8\xE7\xAF\xEA\x9A\x98\x01\xDE\xF4\xE9\x49\xD0\x11\x32\x06\x01\x19\x5E\x53\xEA\xD2\xF1\xAA\xCC\x53\x01\xC4\xF5\xC9\xA3\xB1\xFF\x21\x16\xEC\xE9\xF5\xFC\xEA\x55\xCC\x2D\x03\x63\xF1\x10\x00\x06\x1D\xEC\xDE\x6E\x1F\xF6\x83\xF7\x19\xAC\xB4\xE4\xB2\xFD\xC8\xA7\xEC\x81\x70\x29\xF6\x7B\xF5\x38\xEA\x72\xED\xB2\xFC\x06\x2F\xEC\xE3\x50\x31\xF6\x7F\xF7\x40\xDA\xD5\xCE\x0D\x0A\xD8\xC0\x00\x6B\x01\x37\xF7\x1F\x0C\xC3\xF4\x22\xFC\x3A\x99\x38\xED\x03\x41\x16\x06\xF3\x80\x02", - "\x47\xD2\x2D\xBA\x5A\xCE\x07\x01\x2D\x01\x09\xF2\x00\xA4\xF6\x89\x0B\x69\xF1\x10\x18\xCC\xDE\x8D\xF3\x01\x4F\xF6\xCE\xB6\xD4\xF3\x2A\x14\xB5\xE0\x00\x20\xE6\x9D\xCD\xF8\x01\xAC\xF6\x44\x04\x1F\x0B\xB5\xFB\x87\x1D\xED\xA9\xF3\x5E\xC7\x7E\x02\xD8\xF7\x3C\x4B\x57\x58\x08\xDD\xED\xAA\xF2\x9D\xCC\x01\x03\x5E\x49\x90\x06\x00\x0D\xDB\xD3\xED\xFE\xB3\x00\xD5\xB9\xF7\xA5\x56\x6E\xFC\xB5\xFA\xC9\xEA\x96\x8C\x00\x7A\xF6\x23\x08\xDF\xF6\x6C\xF9\x9C\xE2\x97\xC1\xEE\xA2\x17\x83\xF7\x38\x2D\xD7\xF3\x29\xF2\x53\xD6\x00\x07\xEE\xF1\x58\x89\xF7\xD1\x29\xD7\xF3\x2A\xFA\x5D\xEF\xDC\xE9\x05\x11\xF7\xBD\x43\xAE\xF6\x77\xF5\xD3\xC0\x02\x16\xDC\xE3\x62\x18\xF7\xF8\x45\xAE\xF6\x79\xF5\xD3\xC5\x02\x1E\xDC\xEF\xD7\x20\xF7\xBA\x31\xAE\xF6\x7B\xF2\xA6\xCA\x02\x06\xDD\xEE\x00\x28\xF7\xA1\x43\xAE\xF7\x5C\xF5\xD3\xCF\x02\x06\xDD\xF3\x00\x30\xF7\xB6\x48\x1A\x9D\xD7\xF0\x44\xF7\x11\xEE\x37\x76\x38\xCA\x9B\xBC\xF7\x97\xE2\x72\x05\xF4\xD0\x8F\xCA\xBB\x78\xEE\xDB\x43\x6B\x01\x9F\xF1\xE9\xD8\xD8\xDF\x6D\x15\x01\x07\xEF\xE8\x4B\x6C\x00\xE5\xF4\xB2", - "\xDA\xE2\xC6\x03\x0F\xDE\xF1\xE5\xD2\xF7\xD0\xDC\xAF\xC7\x0D\x06\x7A\xF9\x97\xF8\xDE\xFA\x9E\xB7\xC9\x38\x00\xEE\xF4\x47\xC7\x0D\x0E\xBD\xE0\x77\xFE\x9F\xB9\x00\xE2\xF6\xE5\x00\x1C\x05\x7C\xF4\x5C\xD9\x38\xFA\x00\x69\xF7\xA5\xD2\xF6\xF7\x72\xCF\x96\xCB\x03\x10\xDF\xFE\x2C\xF2\xF7\xD2\xCB\x5B\xC8\x0F\x06\x7E\xF6\xC0\x98\xDF\xDC\x9F\xC0\x14\x3D\x00\xFE\xF5\x25\x98\x7F\xF9\xF0\xC0\x52\x3E\x00\x02\xF8\x59\x9A\xFC\xF4\x4D\xD7\xDB\x0F\x03\x08\xE0\xE4\x37\xF8\xF7\x3A\xD3\xDE\x04\x10\x06\x81\xF9\x1C\xD8\xDF\xF7\x9F\xBD\x07\x41\x00\x0A\xFB\x46\xF2\x3B\xC5\xFA\xC7\x4A\xC4\xAE\xA1\x0E\x14\xF9\x3C\x00\xFE\xF6\x29\xD4\xE3\x03\x02\x20\xEE\xC4\x00\x7B\x4B\xC8\x02\x1E\x07\x27\xF7\x45\xA5\xDE\xF8\x2B\x14\xF8\x7B\x00\x16\xF9\x19\xCC\x2A\xC7\x04\x14\xE0\xDE\xE4\xDA\xC3\x57\xA8\x7E\xD2\xD7\xC0\x09\x04\xC1\xE4\xC9\xF8\xF0\x82\xD2\xBE\xC5\x24\x00\x05\xFE\x0F\x02\xC3\xE8\x48\xFE\x8A\xCA\x00\x14\xF9\x3F\x01\x11\xFE\x21\xDE\x2B\xCB\x02\x14\xF0\x80\x01\x4B\xF8\x8A\xD2\x6A\xCC\x09\x04\xC1\xE1\x04\x11\xF1\x9A\xD2\xB4\xCE\x0A\xF8\x4B\xF7", - "\x87\xFB\xC5\x54\x0A\xCE\x01\x14\xF8\x83\x01\x2B\xFB\x49\xD2\xE2\xCF\x04\x14\xE0\xC4\x02\x62\xF8\x2D\xD3\x77\xF0\x05\xFD\x10\x08\xC6\xEB\xE0\xFD\x0E\x51\x00\x14\xF8\x43\x00\x1A\xF9\x82\xF3\x1A\xD4\xE0\xF4\xE4\xDC\xF8\x1D\xDE\x5F\xC7\x14\x04\x82\xF8\x08\x08\xE3\xDE\xF0\xEB\x53\x54\x00\x0A\xF9\x22\x00\x8D\xF4\xC2\xFB\x59\x15\x01\x20\xF7\x56\x01\x14\xFB\x8E\x07\x27\xFE\x93\xC2\x08\x24\xE8\xFE\xCF\x58\x01\xBD\x4A\xFE\xE7\x26\xF8\x7D\x2D\xE4\xD8\x69\xEC\xC8\x63\x00\x49\xFA\x89\x08\x13\x0B\x8F\xFD\xC8\xE1\xDF\xDE\xC6\x6E\x01\xBD\x49\xE6\xDD\x2C\xF9\xCA\x56\xE4\xF3\xCC\x92\xCE\x7A\x00\x51\xFA\x89\x0F\x2E\xF5\xCA\xF1\xBF\xD2\x9C\x86\x01\xAA\xF9\xA9\x11\x30\x01\x67\xF2\x10\x06\xE5\xCC\xE9\xBE\xC5\x92\x01\x58\xF8\x79\xEC\x96\xF3\x43\xA2\x7A\x9B\xE8\x89\xF4\x71\x2C\x53\xF8\x95\xF5\x90\xCE\x09\x1A\xE4\xD3\x25\x5D\x01\x9D\xF8\x86\x02\x29\xFA\x01\xF7\x4B\xC9\x05\x3A\xF2\xF1\x2C\xEA\x00\x5E\xF8\x00\x06\x94\xF2\x81\xE8\x4A\xF5\x02\x4F\xF9\x03\xF6\x69\xFA\x29\xFF\xB7\xD4\x15\xC1\x06\x18\xF3\xBD\x43\x06\x00\xA4\x4D\x2C\x36\x94", - "\xF2\x26\xF7\x25\xCD\x03\x5F\xF9\x7C\xC4\x71\xF8\xA0\x9B\xDF\xE9\x71\xD9\x06\x28\xF3\x80\xCF\xEA\xF8\x4F\xF8\xBF\xD2\xB5\xC5\x0E\x0F\xE7\xE1\x86\x30\x00\xF1\xF8\x65\xF8\x0E\xF1\xE3\xC1\x0F\x1B\x2B\x64\xB7\xBE\x00\x48\x4F\x3E\x56\x29\xFC\x51\xFE\x7F\xDE\x07\x36\xF3\xB6\x49\x46\xF5\x56\xF9\xC6\xEA\xD5\xCA\x00\x06\x2C\x59\xBE\xDB\x00\xF9\xF9\x81\x02\x29\xFA\xE4\xE4\x15\xD6\x00\x06\x96\x7A\xE7\x69\x01\x57\xF6\x3C\xFF\x59\xBA\x5A\xC1\x01\x17\xF4\xA6\x0C\x76\x00\x8D\xFA\x3E\xF9\x23\xEA\x5A\xCC\x01\x06\x96\x64\xDB\x83\x00\xA4\x4E\x25\x0E\x94\xF4\xAB\xE8\x4A\xF9\x00\x27\xFA\x26\x0D\x49\x02\x4A\xFB\x9D\xF2\x74\xEA\x2D\xC6\x01\x0E\xFA\x05\xDD\x88\xF9\x2D\xFA\x8D\xE9\x71\xD2\x02\x38\xF4\xD3\x12\xB1\x00\x9D\xF9\x2F\xF9\x10\xFD\x69\xDE\x02\x30\xF4\xD3\x12\xBF\x01\x80\xF8\x4D\xFB\xEB\x8A\x5A\xCB\x03\x3F\xF4\xFB\x21\xCE\x00\xA1\xFB\x34\xFB\x5B\xF2\x71\xD7\x03\x0F\xF5\xF1\x2C\xDC\x00\xA9\xFA\x29\xF9\x5C\xE9\x71\xC3\x04\x07\xF5\xB5\xF0\x33\xFB\x8D\xF8\xDA\xEA\xB5\xC0\x09\x1F\xEA\xF1\x59\x7A\x01\x61\xFB\x91\xF9\xBC\xF5\xD3\xCD", - "\x09\x06\xEB\xE3\x56\x0A\x00\x41\x17\x95\xFB\xBD\xF2\xA6\xCA\x0A\x0E\xEB\xFD\x86\x1A\x00\x71\xFB\xA5\xF8\x2E\xF6\x6C\xE6\xD7\xF8\x17\x6A\x00\x41\x16\x02\xFA\x65\xDA\xAA\xCC\x18\x0D\xD7\xF6\xAC\xC0\xF6\xFA\xFA\xC8\xF0\x55\xCD\x34\x07\xAA\xF2\x30\xC6\x2C\x75\x08\x41\x16\xE3\xF8\x8C\xF5\xC6\xCF\x1B\x0C\xD8\xF8\xD2\x8E\xF6\xDE\x1E\x90\xFA\xC4\xFB\x36\xF4\x8D\xCD\x0E\x15\xEC\xC0\x00\x79\x01\x97\xFB\x7E\x05\x66\xFA\xAC\xFB\xB2\xEA\x2D\xFB\x03\x1E\xFB\x07\x00\xD1\x51\x64\x02\x0E\x03\xDA\xEA\xEB\xEE\xE3\xF2\xEE\xA2\x53\xB5\x0D\x05\x02\xB5\xF5\xEA\x8D\xED\xD2\xF4\xCA\xD7\xD5\xEC\xD1\x52\x12\x0C\x04\x04\xDB\xFB\x8A\x87\xF6\x88\x9D\x62\xB5\x69\xF2\x68\x52\x7F\xED\x09\x1E\xD9\xC4\xA5\x97\xF9\x45\xEB\xE1\xFA\x89\x0A\x15\x06\xDC\xFF\xE4\xFE\x9F\xBC\x00\xB1\xFA\x13\x0F\x2D\x06\xB6\xFB\x88\x5C\xD1\xF7\x92\xC8\x00\xD1\xFB\xA9\x11\x31\x04\xBA\xF0\x4E\xCE\xE5\xF2\x94\xD4\x00\xD9\xFB\x7D\x23\x34\x04\xBB\xF0\x00\x07\xEE\xC0\x00\x37\xF9\x85\xC8\x30\x01\x78\xFC\xF2\xE4\xDE\xE6\xEF\xC3\xF3\xB7\xC9\x6C\x00\xE5\xFA\x8A\xD5\xB9\xF9\xC1", - "\xD3\xB8\xEB\xF7\xA3\x2B\x64\xF7\x54\x5A\x79\xFD\x9A\xFF\xC1\xE3\x04\x37\xF7\xBD\x43\x0A\x01\xBD\x49\x2C\x36\xBC\xFC\xCD\xFE\x15\xCF\x02\x7F\xFB\xF8\x44\x0C\x02\x80\xFF\xE7\x97\x9A\xF2\x29\xDB\x02\x08\xFC\x45\xD1\x05\xFC\x70\xFB\x83\xE2\x53\xC7\x05\x10\xF8\xA1\x43\x34\x00\x09\xFD\x0D\xA9\x06\xFA\x5A\xD3\x05\x17\xF8\xCA\xD3\x1A\xFD\x81\x02\x79\xFC\xAB\xEE\x35\xDF\x05\x3A\xF6\xA6\x0C\x50\x01\xBD\x49\x9F\x56\xBC\xF4\xD0\xE8\x4A\xCC\x03\x1F\xFC\xDB\x43\x2F\x01\x88\xFD\xBA\xFB\xD0\xF9\x38\xD8\x03\x30\xFC\x69\xF3\x19\xFD\x77\xFA\xAE\xE9\x8A\xF2\xEF\xFB\x43\x7B\x00\xFE\xF8\x06\xFC\x16\xF2\xD5\xCF\x0E\x1E\xF1\xF1\x59\x08\x01\x41\xFD\x09\xFC\x18\xF2\xA6\xCA\x0F\x07\xF1\xD3\x25\x15\x01\x7B\x4A\x4B\x0A\x79\xFD\xA5\xFF\xC1\xE7\x00\x2F\x83\xE4\xDB\xA5\x01\x28\xFE\x90\xFD\x47\xAC\x46\xD4\x00\x2F\x83\x99\xDF\xD7\xF8\xFD\xF8\x4F\xFA\xE2\xC0\x02\x1F\xF2\xD3\xA8\xBA\xFC\xE5\xFA\xF1\xDD\xC6\xCC\x05\x07\xE5\xE6\x31\x11\x03\x2A\xFC\x5B\xFD\xA1\x8C\x1B\xC9\x07\x06\xE6\xF3\x4A\x20\x03\x68\xFC\xE6\xFA\x68\xE5\x21\xCD\x08\x05\xE7\xFB", - "\x87\x2E\x03\x78\xFC\x4C\xE2\xE8\xCD\x9B\xFB\x2A\x1C\x0F\x1A\xF2\xCA\xF9\xE3\xFA\xAA\xCC\x2F\x03\xA0\xFB\x6B\xC6\x58\x52\xF2\xF3\xF5\x9D\xCD\x6B\x01\x45\xFD\x9C\x2C\x03\x0D\xE8\xF1\xF3\xC0\xDE\xAA\xCD\x78\x00\x49\xFF\x68\x2E\xA4\xFD\xB9\x46\xEF\xC8\xDE\x8E\x1E\x85\x00\x4D\xFD\x6F\x44\x07\x06\x58\x4B\xF1\xC2\xF6\x99\xCE\x92\x00\x51\xFC\xBE\x43\x09\x05\xEA\xF6\xF4\xDB\x54\xAA\xCD\x9F\x01\x3E\xFD\x75\xE7\x1D\xC1\x19\x1A\x02\x06\x96\x03\xFC\x92\xFA\x89\xCD\x2B\x02\xD6\xF2\x10\x19\x05\x34\xFA\xA8\x8D\xB7\xFC\x57\xFD\x48\xC8\x3E\xEC\xEB\xFA\xC3\xBF\xFA\xC5\x9B\xC1\xFD\x43\xFD\x69\xFA\xD5\xC9\x0C\x05\xF6\xC0\x00\x55\x01\xC7\xFC\xC9\x9D\xB2\xFB\xC3\xF3\xB3\xF9\x38\xD7\x03\x4E\xFD\xE3\x01\x68\xFF\x40\x02\x12\x03\xED\xE2\xF1\xF8\xF6\x92\xCE\xE5\x00\x55\xFE\x3C\x02\xDB\xFD\xA2\x2D\xF5\xD2\x87\xFE\x50\x6C\xC8\x7A\x03\x3B\xC1\x69\xF2\x42\x48\xC8\xD9\x9C\xF5\x01\xEF\xC1\x40\x09\x3E\x03\xDD\xF7\x49\xF1\xCD\x92\x9C\xFA\x01\xF1\xFC\x1A\xB8\xBD\xFB\x2A\x17\xC9\x1F\xDA\xDF\x89\xF9\xFD\x14\x46\x88\x4C\x46\xC7\x92\x18\xB6\xFE\x3F", - "\xC4\x00\x10\x4E\x81\x08\x04\x02\xC0\xFD\xDE\xF5\x32\xEC\x23\xC9\x00\x08\xFE\xAD\x05\x85\xFC\xBF\xF8\x6F\xFA\x5A\xCE\x00\x10\xFC\xB1\x55\x12\xFF\x7D\x23\x25\x1A\xCB\xEF\x23\xF7\xF8\xC5\xB0\x19\xFE\x71\x2D\x4B\x1A\x50\xF2\xA6\xC8\x01\x1E\xF8\xD0\x9D\xA0\xFE\xA3\x2B\x4B\x18\xE3\xF5\xD3\xCD\x01\x06\xF9\xE5\xC5\x28\xFE\xBD\x43\x4B\x18\xE5\xF5\xD3\xC2\x02\x0E\xF9\xC5\x06\x30\xFE\xF8\x45\x4B\x1B\xE6\xF4\x2A\xC7\x02\x16\xF9\xF5\xD8\x38\xFE\xBA\x31\x4B\x1B\xE8\xF4\x2A\xCC\x02\x1E\xF9\xF0\x00\x40\xFE\xA1\x43\x4B\x1B\xEA\xF5\xD3\xC1\x03\x1E\xF9\xF5\x00\x48\xFE\xB6\x49\x4B\x1B\xEC\xF4\x2A\xC6\x03\x1E\xF9\xFA\x00\x50\xFE\xDB\x43\xAC\x9E\x79\xF9\x78\xF6\x13\xFE\x36\x59\x3D\xB0\x3B\x1F\xF8\x52\xED\x68\x43\xEB\x9A\xF8\x87\x8D\xE1\xE8\xD3\x12\x5B\x9E\x02\xCE\x6A\xCB\x07\x00\x71\x5F\x22\xEF\x02\x21\xFB\x47\xA4\x86\x03\x28\x01\xED\xED\x15\x10\x38\x55\xA0\xB1\x01\x86\x4A\x99\x03\xD6\x9C\x14\x04\xF7\xE2\x08\x00\x01\x76\xFE\x26\x0C\x5A\x01\xDE\xFC\x2B\xDF\xFD\x9D\xFB\xCB\x88\x00\xFF\x53\x13\x5B\x02\x61\x49\x90\x0B\xF5\x85\x04\x06", - "\xFE\xAB\x1F\x88\xFF\x7D\x23\x2E\x03\xF1\xF4\xF8\xF4\xF2\xEC\x77\x91\xFF\x71\x2D\x5F\x00\xE5\xFE\x48\xAF\x29\xF3\xE2\xD8\xFE\xA3\x2B\xC3\x01\xCD\xFD\xDC\xFD\x13\x1F\xF8\xEF\x02\x1F\xFE\xBD\x43\xC7\x01\xC1\xFC\xE7\xFA\x20\x03\x09\x0F\xFC\xD2\x01\x27\xFF\xF8\x44\x65\x02\xEA\xFB\xF4\xFD\xA2\x2F\xFC\xD5\x01\x30\xFF\xBA\x31\x66\x03\xEC\xFC\xD6\x95\x11\x1F\x05\x0F\xFE\xD8\x00\xB8\xFF\xD0\x40\x34\x03\xF7\xF9\xEB\x81\xC0\x8F\xFE\xDB\x00\xC1\xFF\x82\xDC\xF1\xFD\x5F\x49\x9B\xAF\xFC\xDE\x01\x49\xFF\xDB\x42\x6B\x03\xF2\xFA\xEB\x9D\x8B\x8F\xFC\xE1\x01\x50\xFF\xE8\x4B\x6C\x03\xF4\xFB\xEB\x9F\x0E\x0F\xFC\xE4\x01\x58\xFF\xDE\x4C\x6E\x02\xE8\xFC\xF7\xF2\x59\x8F\xFC\xE7\x01\x60\xFF\xEE\x4C\x70\x03\xF6\xF9\xD0\xFE\x2B\xCA\x03\x28\xFF\x9C\xC2\xE3\x01\xF1\xFD\xF1\xFA\x5C\xF9\xEC\xCF\xFF\xCA\x07\x67\x01\xF2\xFE\xE6\xFF\xBA\xB7\xF1\xF0\x07\x16\xFF\xC4\x69\xF9\xFF\xD4\x7F\xB9\x6C\xAA\x65\x73\x00\xFE\x7F\x83\x5A\x00\x80\x5B\x4F\xD2\x75\x9D\x66\x76\x00\x05\x80\x09\x5B\x07\x80\x6A\x5A\x8F\x7F\x79\x00\x0C\x80\x03\x01\xF7\x00\x0E\x80\xEC", - "\x19\x8F\x7F\x7C\x00\x12\x80\x77\x71\xEB\x7F\x10\x5C\x8F\x7F\x7F\x00\x19\x80\x01\x01\xFE\x00\xD3\x7F\xF7\x4E\x65\x7F\x80\x70\x1C\x7A\xA3\x15\xF7\x4E\x6A\x7F\xAA\x66\x82\x00\x6D\x7F\x75\x6B\xBD\x7D\x6D\x4F\x72\x7F\x8F\x7F\x84\x00\x1F\x80\x8F\x24\xA2\x29\x32\x01\xF7\x4E\x7C\x7F\xAA\x65\x87\x00\x33\x80\x06\x00\x35\x80\x5F\x4F\x84\x00\x8F\x7F\x8A\x00\x33\x80\x09\x00\xA2\x29\x81\x04\xF7\x4E\x8E\x7F\xAA\x65\x8D\x00\x33\x80\x0D\x00\x44\x80\x5F\x4F\x96\x7F\x7E\x11\x90\x00\x33\x80\x11\x00\x4C\x80\x69\x4F\x24\x7D\xAA\x66\x93\x00\x33\x80\xB3\x7D\x29\x66\xF7\x4E\x5E\x66\xAA\x65\x96\x00\x33\x80\x19\x00\x3D\x80\x54\x80\x0C\x01\xAD\x7F\xAA\x65\x99\x00\x33\x80\x1C\x00\x61\x80\x2F\x80\x31\x55\x8F\x7F\x9C\x00\x33\x80\x1F\x00\x69\x80\x3C\x4F\x12\x01\xBE\x7F\x58\x6A\x33\x80\x22\x00\x70\x80\x71\x4F\x08\x58\x8F\x7F\xA2\x00\x33\x80\x25\x00\x77\x80\x44\x4F\xCD\x7F\xAA\x65\xA5\x00\x33\x80\x28\x00\x7E\x80\x76\x4F\xCE\x48\x8F\x7F\xA8\x00\x33\x80\x2B\x00\x85\x80\xF7\x4E\xDD\x7F\xAA\x65\xAB\x00\x33\x80\x2E\x00\x53\x80\x6A\x80\xFD\x26\x8F", - "\x7F\xAE\x00\x33\x80\x32\x00\x8C\x80\xEC\x7F\x85\x64\xB1\x00\x33\x80\x35\x00\x93\x80\x71\x80\xEA\x7A\x54\x61\xB4\x00\x33\x80\x39\x00\xA0\x80\x78\x80\x6E\x6B\x8F\x7F\xB7\x00\x33\x80\x3D\x00\xA7\x80\x7F\x80\x02\x80\xAA\x66\xBA\x00\x33\x80\x41\x00\xAE\x80\x86\x80\x6B\x7D\x6C\x6A\x33\x80\x45\x00\xB5\x80\xF7\x4E\xEE\x00\x8F\x7F\xC0\x00\x33\x80\x49\x00\xBB\x80\x28\x04\x8F\x7F\xC3\x00\x33\x80\x4D\x00\x9A\x80\x1C\x80\xAA\x65\xC6\x00\x33\x80\x50\x00\x85\x80\x24\x80\xAC\x61\xAA\x65\xC9\x00\x58\x7F\x67\x7F\x0C\x01\xCF\x80\x61\x59\xAA\x65\xCA\x00\x3E\x7F\xCE\x00\xD3\x80\xDE\x26\xD6\x80\xB9\x71\x09\x72\x3E\x7F\xD3\x00\xDC\x80\xEE\x26\xDE\x80\xFE\x7E\xF6\x6B\x3E\x7F\xD8\x00\xE3\x80\x1C\x61\xDE\x80\x05\x7F\x48\x69\xD9\x00\x3E\x7F\xDD\x00\xEA\x80\xCA\x01\xDE\x80\x70\x7B\xE8\x69\x3E\x7F\xE2\x00\xF2\x80\x7B\x50\x12\x01\xB9\x79\xBE\x62\xE3\x00\x3E\x7F\xE7\x00\xF9\x80\x12\x01\xDE\x80\x1C\x7F\x9D\x66\xE8\x00\x3E\x7F\xEC\x00\x01\x81\xD5\x80\x85\x7B\x46\x7B\x3E\x7F\xF1\x00\x09\x81\x03\x01\xDE\x80\x2B\x7F\x54\x61\xF2\x00\x3E\x7F\xF6", - "\x00\x0F\x81\x02\x01\xDE\x80\x33\x7F\xA4\x6A\x3E\x7F\xFB\x00\x17\x81\x89\x4F\x3D\x5A\x19\x67\xFC\x00\x3E\x7F\x9A\x17\xA6\x64\xDE\x80\x43\x7F\xBE\x62\x01\x00\x14\x0D\x81\x04\x05\x00\x14\x0D\x18\x61\xDE\x80\x4B\x7F\x54\x61\x06\x00\x2A\x81\x75\x2A\x2D\x81\x5E\x6C\xF4\x79\xAA\x65\x0B\x00\x33\x81\xD9\x2A\x35\x81\x53\x09\x40\x5D\xB7\x7D\xBF\x7C\x0D\x7A\x71\x16\x9D\x4F\x5B\x4F\x5C\x7F\x44\x71\x00\x50\x45\x7B\x12\x67\x10\x00\x14\x0D\x8C\x79\xA1\x21\x01\x50\x8F\x79\xB7\x64\x13\x00\x14\x0D\xFE\x17\x19\x00\x3C\x81\xFB\x10\x01\x50\x56\x7B\xFE\x67\x1A\x00\x52\x81\x7C\x30\x55\x81\x71\x16\x01\x50\xE6\x80\x85\x64\x21\x00\x5B\x81\xDF\x03\x5D\x81\xA3\x15\x01\x50\xED\x80\x1F\x7C\x28\x00\x63\x81\x7F\x10\x65\x81\xBD\x21\x01\x50\xF5\x80\xBE\x62\x2F\x00\x6B\x81\x87\x59\x6D\x81\xF8\x22\x01\x50\xFC\x80\x85\x64\x36\x00\x73\x81\x46\x09\x75\x81\xBA\x18\x01\x50\x04\x81\x4D\x75\x7B\x81\x0B\x22\x7D\x81\x4D\x81\x0B\x81\x87\x69\x82\x81\xE4\x21\x84\x81\xB6\x24\x01\x50\x12\x81\x4D\x7C\x88\x81\x51\x00\x8A\x81\xDB\x21\x01\x50\x1A\x81\x2B\x64\x88", - "\x81\x58\x00\x91\x81\xE8\x25\x01\x50\x3B\x7F\xBE\x62\x59\x00\x88\x81\x5F\x00\x98\x81\xDE\x26\x01\x50\x27\x81\xE9\x7D\x88\x81\x66\x00\xA0\x81\xEE\x26\x01\x50\x30\x81\xBE\x62\x67\x00\x88\x81\x6D\x00\xA7\x81\x1C\x61\x01\x50\x53\x7F\xBE\x62\x6E\x00\x88\x81\x74\x00\xAF\x81\xCA\x01\x1D\x50\x50\x1A\xB3\x70\xF2\x73\xA2\x29\x94\x04\x1D\x50\x84\x70\x58\x6B\x26\x80\x3C\x14\xBD\x81\x77\x50\xC1\x7D\xAA\x66\x75\x00\x14\x0D\xFA\x73\x55\x00\x4E\x7E\x0C\x01\xA3\x5D\xCC\x73\xAA\x66\x80\x00\xC9\x81\x26\x06\x62\x00\xCC\x81\xC6\x6B\xCE\x7D\x48\x69\x8B\x00\x14\x0D\x99\x6F\x6F\x00\xA2\x29\xB1\x18\xCE\x81\x1D\x73\x32\x65\x97\x00\xDA\x81\x26\x06\x7D\x00\xDD\x81\xC5\x81\x44\x7A\xAA\x66\xA3\x00\xE3\x81\x53\x09\x8B\x00\xE6\x81\xED\x64\xF9\x77\xAA\x66\xAF\x00\xEB\x81\xFB\x10\x99\x00\xEE\x81\xCD\x81\x01\x78\x9D\x66\xBB\x00\xD2\x81\x53\x09\x16\x7E\xD8\x17\xDF\x81\x47\x81\xCA\x80\xF3\x81\x71\x16\xB4\x00\xF6\x81\xD6\x81\x2F\x51\x58\x65\x02\x82\xA3\x15\xC2\x00\x05\x82\x02\x01\xFF\x81\x00\x00\x05\x7E\x85\x64\xDE\x00\x09\x82\x1D\x6E\x0C\x82\x01", - "\x01\x0E\x82\xE5\x7C\x5E\x63\xEA\x00\x13\x82\x26\x6E\x15\x82\x00\x00\x0E\x82\x2A\x78\x85\x64\xF6\x00\x1B\x82\xBA\x18\xEC\x00\x1D\x82\x0E\x82\x7C\x7A\xFE\x67\x02\x00\x59\x30\x99\x6F\x4D\x7E\xA9\x2C\x0E\x82\x24\x7E\xFE\x67\x0E\x00\x59\x30\xE4\x6D\x08\x00\xEF\x60\x7D\x2A\x0E\x82\x2D\x7E\x1F\x7C\x1B\x00\x2B\x82\x99\x65\xEF\x60\xDE\x81\x6B\x75\x12\x67\x27\x00\x3C\x82\x53\x09\x25\x00\x3E\x82\xE7\x81\x50\x78\xAA\x65\x33\x00\x59\x30\xAA\x76\xAA\x7E\x0E\x82\xA5\x7A\x48\x69\x3E\x00\x4B\x82\xB2\x76\x4D\x82\xAC\x7A\x12\x67\x49\x00\x33\x82\x26\x06\x4D\x00\xEF\x60\x96\x04\x0E\x82\x4E\x80\x0E\x0F\x56\x00\x58\x82\x53\x09\x5D\x00\x5B\x82\x47\x82\x71\x78\xAA\x65\x63\x00\x43\x82\x20\x79\x46\x82\xEF\x81\xC4\x7A\x1C\x74\x69\x82\x71\x16\x7B\x00\x6B\x82\xF7\x81\x44\x7D\x54\x61\x7B\x00\x61\x82\xFB\x10\x89\x00\x36\x82\x65\x82\x6F\x47\x6C\x64\x88\x00\x6F\x82\xA3\x15\x98\x00\x72\x82\x06\x82\x82\x79\x12\x67\x94\x00\x7F\x82\xBD\x21\xA6\x00\x82\x82\x0D\x82\x9B\x80\xB7\x64\xA0\x00\x77\x82\x03\x82\x64\x82\x6C\x82\xA2\x80\xBE\x62\xAD\x00\x8F", - "\x82\xA3\x15\xC4\x00\x91\x82\x73\x82\xB7\x80\xBE\x62\xBA\x00\x96\x82\x6B\x7A\x99\x82\x83\x82\xCA\x75\x8B\x76\x9E\x82\xF8\x22\xE4\x00\xA0\x82\x8B\x82\xFF\x7A\x54\x61\xD4\x00\xA4\x82\xBA\x18\xEA\x7E\x16\x2E\x0E\x82\xC0\x78\x5E\x63\xE1\x00\xAC\x82\x66\x61\x10\x27\x37\x82\x0E\x7B\x5A\x6E\x87\x82\x00\x00\xFA\x00\x59\x30\xD3\x24\x10\x27\x3F\x82\xA3\x77\x21\x81\xBA\x82\x08\x00\x90\x13\x91\x01\x20\x00\xBF\x82\x7B\x82\x9B\x7D\xAA\x65\x0A\x00\x90\x13\x6B\x07\x16\x00\xC5\x82\xA5\x0F\xC8\x82\x92\x82\xE5\x78\x19\x67\x18\x00\xCD\x82\x3F\x04\xD0\x82\xF3\x03\xD2\x82\x9A\x82\xAF\x7D\x12\x67\x26\x00\xD7\x82\x5E\x37\xD9\x82\x0A\x3D\xDB\x82\xA1\x82\x5A\x70\xAA\x66\x34\x00\x90\x13\x4A\x04\x41\x00\xE2\x82\xB1\x41\xB6\x82\x7C\x50\xC6\x81\x19\x67\x43\x00\x90\x13\xFA\x73\xE7\x7F\xD8\x17\x7D\x50\x4E\x5A\xAA\x65\x4E\x00\xF3\x82\x26\x06\x74\x00\x10\x27\x4A\x04\xF7\x82\x99\x1A\xAA\x65\x59\x00\xE0\x82\xFB\x10\x81\x00\xE4\x82\x3E\x68\xD6\x7D\x5E\x63\x65\x00\x04\x83\x71\x16\x8F\x00\x07\x83\x01\x01\x00\x83\xE4\x73\x6C\x64\x71\x00\x0C\x83\xA3", - "\x15\x9D\x00\x0F\x83\x00\x00\x11\x83\x01\x01\xE8\x7D\xB7\x64\x7D\x00\x15\x83\xBD\x21\x90\x80\xA9\x2C\x1A\x83\x00\x00\xEF\x7D\x5E\x63\x89\x00\xFB\x82\x53\x09\xB9\x00\xFE\x82\xEF\x82\xF5\x7D\x19\x67\x94\x00\x1F\x83\xF8\x22\xCB\x80\x22\x83\x61\x7A\x5C\x79\x30\x83\xBA\x18\xD4\x00\x18\x83\x23\x83\x10\x82\xB7\x64\xAC\x00\x36\x83\xA1\x21\xF8\x80\x33\x83\xAF\x79\x84\x7A\x3E\x83\xB6\x24\xF0\x00\x39\x83\xEC\x7C\x12\x67\xC4\x00\x44\x83\xDB\x21\xFE\x00\x47\x83\xF3\x7C\x92\x73\x4B\x83\xE8\x25\x0C\x00\x14\x0D\xB1\x18\x23\x83\x30\x82\x48\x69\xDC\x00\xE9\x82\x26\x06\x5A\x81\x16\x2E\x23\x83\x39\x82\xA2\x6C\x51\x83\x9A\x68\x54\x83\x2C\x83\x14\x6B\x6C\x64\xF5\x00\x61\x83\xEE\x26\x37\x00\x63\x83\x79\x50\x9D\x7A\x32\x65\x01\x00\x63\x09\xD5\x77\x14\x0D\xFF\x82\x25\x6B\x7F\x7B\x70\x83\xDD\x77\x72\x83\x64\x83\x9D\x7F\xAA\x66\x17\x00\x63\x09\xE4\x6D\x9F\x81\x9D\x2B\x23\x83\x5E\x82\x34\x0E\x24\x00\x7D\x83\x26\x06\x6F\x00\x14\x0D\x96\x04\x23\x83\xBC\x7A\x7B\x6B\x63\x09\x99\x6F\x7F\x00\x6B\x83\x2D\x73\x63\x7E\x32\x65\x3D\x00\x8D\x83\x26", - "\x06\x8D\x00\x90\x83\x18\x76\x6A\x7E\x56\x82\x85\x83\x53\x09\x9B\x00\x14\x0D\x7D\x2A\x23\x83\x58\x77\x1F\x7C\x56\x00\x95\x83\xB0\x6F\x98\x83\x08\x83\x90\x78\xFF\x70\xA5\x83\xFB\x10\xB8\x00\xA7\x83\x10\x83\x8C\x82\xA0\x7C\x9C\x83\x53\x6B\x88\x83\x79\x83\x8A\x74\xAA\x65\x7B\x00\xB2\x83\x71\x16\xD6\x00\xB4\x83\x6C\x83\xB0\x80\x19\x67\x88\x00\xB9\x83\xA3\x15\xE6\x00\xBC\x83\x91\x83\xBE\x83\x12\x67\x95\x00\xC1\x83\xBD\x21\x22\x82\x80\x83\x3E\x6A\xAA\x66\xA2\x00\xC9\x83\xF8\x22\x06\x00\x59\x30\xA0\x83\xA7\x7E\x12\x67\xAF\x00\xD0\x83\xBA\x18\x15\x00\xD3\x83\xB5\x83\xAF\x7E\x6F\x73\xAB\x83\x5A\x60\x63\x09\x94\x0D\x59\x30\x55\x83\xB9\x7E\x32\x65\xCA\x00\xDF\x83\xE1\x66\xE1\x83\x59\x37\xE3\x83\xDC\x83\xC3\x7E\xAA\x65\xD8\x00\xE8\x83\x01\x01\xE4\x00\xEA\x83\x6E\x38\xEC\x83\xBD\x83\xEE\x6C\xAA\x66\xE6\x00\xF1\x83\x00\x00\xF2\x00\xF4\x83\x2D\x6B\xF6\x83\xC5\x83\x50\x70\x54\x61\xF4\x00\xFB\x83\x64\x61\xCC\x62\x3F\x06\x00\x84\x99\x83\xC7\x77\x12\x67\x02\x00\xAA\x21\x4A\x04\x0F\x00\xAA\x21\x91\x01\x6A\x00\xDB\x83\x12\x01\xAB", - "\x5D\xBF\x41\x25\x80\xC0\x7C\x29\x4E\x59\x30\x94\x04\x16\x84\x64\x41\x66\x7F\xBD\x7B\x1C\x61\x7A\x00\x1B\x84\xA9\x50\x03\x01\x88\x79\xFE\x67\x11\x00\xAA\x21\xEC\x7E\x43\x0F\x4F\x81\x5E\x63\x12\x00\xAA\x21\x81\x04\x16\x00\x29\x84\x32\x6B\xF6\x7E\x32\x65\x17\x00\x2F\x84\x35\x2E\x32\x84\x53\x09\x43\x0F\x60\x81\xB7\x64\x1C\x00\x37\x84\x95\x30\x39\x84\xFB\x10\x43\x0F\x68\x81\xEB\x29\x21\x00\x3F\x84\x9B\x21\x41\x84\x71\x16\x43\x0F\x70\x81\x85\x64\x26\x00\x47\x84\x0E\x36\x49\x84\xA3\x15\x43\x0F\x78\x81\xB7\x64\x2B\x00\x4F\x84\x61\x37\x51\x84\x11\x74\x7E\x7B\xAA\x66\x30\x00\x57\x84\x83\x59\x59\x84\xF8\x22\x43\x0F\x23\x7F\x9D\x66\x35\x00\x5E\x84\x84\x37\x60\x84\xBA\x18\x43\x0F\x8D\x81\x85\x64\x3A\x00\x66\x84\x3E\x00\x68\x84\xA1\x21\x43\x0F\x94\x81\x85\x64\x3F\x00\x66\x84\x43\x00\x70\x84\xB6\x24\x43\x0F\x9B\x81\x85\x64\x44\x00\x66\x84\x48\x00\x78\x84\xDB\x21\x43\x0F\xA3\x81\xB7\x64\x49\x00\x66\x84\x4D\x00\x80\x84\xE8\x25\x43\x0F\xAA\x81\xBB\x67\x66\x84\x52\x00\x88\x84\xDE\x26\x43\x0F\xB2\x81\x85\x64\x53\x00\x66\x84\x57", - "\x00\x8F\x84\xEE\x26\x30\x23\x23\x83\x45\x81\x26\x06\xF7\x50\x26\x84\x48\x69\x58\x00\x97\x84\x5D\x7F\xEE\x26\xF7\x50\x2C\x84\xFE\x67\x59\x00\x66\x84\x5D\x00\xA1\x84\xCA\x01\xF7\x50\x58\x81\x48\x69\x5E\x00\x66\x84\x62\x00\xAA\x84\x34\x83\x01\x01\x3C\x84\x5E\x63\x63\x00\x66\x84\x67\x00\xB2\x84\x07\x82\xD3\x59\x59\x78\x66\x84\x6C\x00\xBA\x84\x34\x75\x0D\x7F\xAA\x65\x6D\x00\x66\x84\x71\x00\xC0\x84\x06\x74\xFC\x59\x75\x66\x66\x84\x76\x00\xC7\x84\x02\x01\xF7\x50\x80\x81\xBE\x62\x77\x00\x66\x84\x7B\x00\xCD\x84\x32\x51\x86\x81\x82\x66\x66\x84\x80\x00\xD5\x84\xEC\x50\xD0\x79\x9D\x66\x81\x00\x66\x84\x85\x00\xDB\x84\xF7\x50\x73\x84\xB7\x64\x86\x00\x66\x84\x8A\x00\xE2\x84\x20\x81\x12\x67\x8B\x00\x66\x84\x8F\x00\xE9\x84\x12\x01\x83\x84\xEC\x6F\x66\x84\x94\x00\xEF\x84\x0C\x01\x8B\x84\xB7\x64\x95\x00\x66\x84\x99\x00\xF5\x84\x03\x01\x92\x84\xB7\x64\x9A\x00\x66\x84\x9E\x00\xDB\x84\xBF\x6D\x9E\x84\x1F\x7C\x9F\x00\xAA\x21\x4C\x81\xB6\x24\xBF\x6D\xA5\x84\x48\x69\xA2\x00\xAA\x21\xFE\x17\xA8\x00\x03\x85\x34\x84\xB1\x66\x0F\x85\x15", - "\x01\xAF\x00\x12\x85\x12\x01\xB5\x84\xFE\x67\xB0\x00\x15\x85\x07\x57\x18\x85\x0C\x01\x44\x84\x7E\x11\xB7\x00\x1D\x85\x36\x57\x1F\x85\xB0\x79\xAA\x65\xBE\x00\x24\x85\xF0\x57\x26\x85\x02\x01\x54\x84\x8D\x7A\x2A\x85\x02\x01\xCB\x00\x2C\x85\x01\x01\xD0\x84\x85\x64\xCC\x00\x30\x85\x55\x59\x33\x85\x79\x6A\xB1\x79\x38\x85\x79\x6A\x3A\x85\x6B\x84\x77\x6F\x3D\x85\xE0\x00\x3A\x85\xE4\x84\xB2\x82\x3D\x85\xE7\x00\x3A\x85\x7B\x84\xFD\x68\x3D\x85\xEE\x00\x3A\x85\xF1\x84\xFE\x67\xEF\x00\x3D\x85\xF5\x00\x3A\x85\xF7\x84\x5E\x63\xF6\x00\x3D\x85\xFC\x00\x3A\x85\xFE\x84\x69\x7B\x3D\x85\x03\x00\xBA\x0C\x18\x61\xED\x61\x0C\x01\x8F\x7C\x48\x69\x04\x00\xBA\x0C\xFA\x73\x76\x82\xD8\x17\x61\x85\xCF\x81\x19\x67\x0F\x00\x66\x85\x26\x06\x7E\x82\x69\x85\xD7\x81\x1F\x7C\x1A\x00\xBA\x0C\x99\x6F\x95\x00\x09\x84\x02\x01\x6A\x85\xE0\x81\x9D\x66\x26\x00\x75\x85\x05\x6E\x78\x85\x01\x01\x7A\x85\x01\x01\xE5\x73\xBE\x62\x32\x00\x7E\x85\x40\x7D\x80\x85\x00\x00\x82\x85\xE7\x7D\x6C\x64\x3E\x00\x87\x85\xFB\x10\xBF\x00\x89\x85\x8B\x85\x25\x83\xFE\x67\x4A", - "\x00\x6E\x85\x53\x09\xCD\x00\xA4\x82\x8B\x85\xCC\x7C\x5E\x63\x55\x00\x8F\x85\x71\x16\xDA\x00\x92\x85\xB3\x84\x9D\x66\x61\x00\x9F\x85\xA3\x15\xE8\x00\xA2\x85\x67\x7A\xF6\x6A\xA6\x85\xCA\x83\xA9\x85\x6E\x7A\xAA\x65\x79\x00\xAC\x85\xF8\x22\x04\x00\x90\x13\xB1\x18\x8B\x85\x20\x82\xB7\x64\x85\x00\xB2\x85\xBA\x18\x12\x00\xB5\x85\xF3\x5E\x1C\x7E\xAA\x66\x91\x00\xBB\x85\xA1\x21\x20\x00\xBE\x85\x5B\x51\xFB\x7C\x12\x67\x9D\x00\xBA\x0C\xE4\x6D\x2E\x00\x90\x13\x7D\x2A\x8B\x85\x5F\x83\xAA\x62\xC3\x85\xB6\x24\x3D\x00\xC6\x85\x0C\x01\x8B\x85\x95\x7A\x1F\x7C\xB6\x00\xD3\x85\xDB\x21\x4B\x00\xD6\x85\xC1\x77\x6D\x83\x9D\x66\xC2\x00\x97\x85\xFB\x10\x03\x83\x71\x85\x43\x7E\xF2\x77\xE4\x85\x71\x16\x66\x00\x5A\x83\xC7\x85\x55\x80\x36\x7E\xCB\x85\x26\x06\x73\x00\x90\x13\x96\x04\x8B\x85\x82\x83\x3B\x0B\xE5\x00\xF1\x85\x3D\x81\xF4\x85\xBF\x85\x35\x7D\xAA\x66\xF2\x00\xDC\x85\xE8\x25\x93\x00\xDF\x85\x79\x85\x92\x83\xB9\x78\x01\x86\xDE\x26\xA1\x00\x04\x86\x81\x85\x9A\x83\x32\x65\x0A\x00\x6A\x21\xE4\x6D\xAF\x00\xCE\x85\xFD\x85\x4C\x7D\x7B", - "\x83\x6A\x21\x99\x6F\xBE\x00\x0B\x86\x8A\x85\x54\x7D\x32\x65\x23\x00\x17\x86\x26\x06\xCC\x00\x1A\x86\x8B\x85\x5C\x7D\x12\x67\x2F\x00\x10\x86\x26\x06\xDA\x00\xFC\x85\xEE\x85\x93\x82\x1F\x6A\x27\x86\x53\x09\xEA\x00\x2A\x86\xD7\x85\x8F\x7E\x54\x61\x49\x00\x2E\x86\xFB\x10\xFA\x00\x31\x86\xE0\x85\xC6\x83\x32\x65\x56\x00\x36\x86\x71\x16\x0A\x00\x63\x09\xF5\x85\xCD\x83\x05\x71\x3E\x86\xA3\x15\x1A\x00\x63\x09\xCF\x85\xD5\x83\x32\x65\x70\x00\x45\x86\xBD\x21\x29\x00\x48\x86\x14\x86\x98\x77\x6C\x64\x7D\x00\x1F\x86\x15\x84\x6A\x21\x91\x01\x38\x00\x63\x09\xB6\x85\xE5\x83\x9D\x66\x8B\x00\x55\x86\x41\x52\x57\x86\x2B\x01\x5A\x86\x51\x86\x1E\x73\x19\x67\x99\x00\x5F\x86\x2C\x65\x61\x86\x62\x15\x63\x86\x2B\x86\xD4\x82\x12\x67\xA7\x00\x68\x86\x90\x56\x6A\x86\xE5\x16\x6C\x86\x32\x86\xD5\x7E\x12\x67\xB5\x00\x71\x86\x72\x57\x73\x86\x46\x71\x75\x86\x3A\x86\x3B\x7B\x19\x67\xC3\x00\x4D\x86\x00\x00\xD0\x00\x7C\x86\x76\x14\x50\x86\xF5\x61\x48\x81\x32\x65\xD2\x00\x6A\x21\xEC\x7E\xF6\x61\x66\x59\xBA\x72\x6A\x21\x81\x04\xD7\x00\x8D\x86\x26", - "\x06\x8F\x86\x9C\x59\x6C\x64\xD8\x00\x92\x86\x0C\x5A\x95\x86\x66\x6C\x9F\x79\x6C\x64\xDD\x00\x9B\x86\x1A\x5A\x9D\x86\xFB\x10\x97\x86\xA8\x79\x6C\x64\xE2\x00\xA2\x86\xD8\x70\xA4\x86\x0D\x83\x15\x01\x4C\x84\xB7\x64\xE7\x00\xAA\x86\x50\x5A\xAC\x86\xA3\x15\xA6\x86\xE6\x66\x15\x69\xB2\x86\x96\x72\xB4\x86\xBD\x21\xB6\x86\x00\x00\x35\x85\xB7\x64\xF1\x00\xB9\x86\x94\x5B\xBB\x86\xF8\x22\xBD\x86\x63\x84\x54\x61\xF6\x00\xC2\x86\xBB\x82\xC4\x86\xBA\x18\xBD\x86\x40\x85\x5E\x63\xFB\x00\xCA\x86\xFF\x00\xCC\x86\xA1\x21\xBD\x86\x45\x85\xB5\x7A\xB6\x05\x27\x2A\xB6\x05\x18\x61\xBD\x86\x4A\x85\x5E\x63\x05\x00\xD9\x86\x95\x2A\xDB\x86\x96\x86\x0E\x5A\x96\x6F\xE1\x86\x99\x02\xE3\x86\x9E\x86\x12\x01\x55\x85\xFE\x67\x0F\x00\xE7\x86\x21\x11\xE9\x86\xA5\x86\x37\x81\xAA\x66\x14\x00\xEF\x86\x78\x2B\xF1\x86\x71\x16\xFF\x61\xD2\x74\x74\x70\x19\x84\xBD\x21\x6E\x51\x8B\x85\x9B\x84\x53\x09\xDD\x51\x2E\x7C\xFF\x13\xF8\x86\xA3\x15\x8D\x00\x63\x09\x94\x04\xDD\x51\xCC\x7B\xBD\x03\x1A\x00\x06\x87\xBD\x21\x8E\x00\x09\x87\xFD\x51\xD3\x7B\xDA\x75\x0F", - "\x87\xC5\x86\x12\x87\x12\x01\xDD\x51\xFC\x61\xD3\x65\x16\x87\xBA\x18\x90\x00\x18\x87\xF7\x51\x04\x62\xBE\x62\x1D\x00\x1D\x87\xA1\x21\x91\x00\x20\x87\xDB\x7E\x09\x62\xBE\x62\x1E\x00\x25\x87\xB6\x24\x92\x00\x28\x87\x15\x52\x1E\x64\xAA\x65\x1F\x00\x2D\x87\xDB\x21\x93\x00\x30\x87\x22\x52\xF1\x6E\x1F\x7C\x20\x00\x35\x87\xE8\x25\x94\x00\x38\x87\x26\x52\x5D\x7C\xBE\x62\x21\x00\x3D\x87\xDE\x26\xC8\x83\xDA\x61\xDD\x51\xFF\x7B\xDF\x06\x22\x00\x45\x87\xEE\x26\x96\x00\x40\x87\xDD\x51\x05\x7C\xDF\x06\x23\x00\x4D\x87\x1C\x61\x97\x00\x50\x87\x10\x6F\xBE\x62\x24\x00\x55\x87\xCA\x01\x98\x00\x58\x87\x17\x6F\xBE\x62\x25\x00\x5C\x87\x3C\x62\x5F\x87\x79\x7C\x4D\x84\x63\x87\x41\x53\x65\x87\x24\x6F\xBE\x62\x27\x00\x68\x87\x3C\x1A\x6A\x87\x2B\x6F\xE1\x75\x16\x87\x29\x00\xB6\x05\x91\x01\x9C\x00\x40\x87\x12\x62\x25\x84\x65\x67\x6E\x87\x71\x16\x79\x87\x4C\x7B\xAA\x66\x2C\x00\xF6\x86\x38\x03\x7C\x87\xAC\x7F\x13\x85\x54\x61\x31\x00\x82\x87\x1B\x64\x84\x87\x11\x62\x9F\x86\xAA\x65\x36\x00\x89\x87\x2A\x66\x8B\x87\x00\x00\x7E\x87\xC8\x71\x6B", - "\x7F\x90\x87\x3F\x00\x92\x87\x94\x87\x00\x00\xAF\x86\x5E\x63\x40\x00\x90\x87\x44\x00\x99\x87\x14\x7F\xAA\x66\x45\x00\x90\x87\x49\x00\xA1\x87\xC1\x79\xAA\x65\x4A\x00\x90\x87\x4E\x00\xA7\x87\x0C\x01\xC7\x86\x18\x64\x90\x87\x53\x00\xAD\x87\x03\x01\xCF\x86\xFE\x67\x54\x00\x90\x87\x58\x00\xB3\x87\x02\x01\xD7\x86\x48\x69\x59\x00\x90\x87\x5D\x00\xBA\x87\x01\x01\xDE\x86\xFE\x67\x5E\x00\x90\x87\x62\x00\xC1\x87\x00\x00\x4F\x85\x48\x69\x63\x00\x90\x87\x67\x00\xC8\x87\xEC\x86\x48\x69\x68\x00\x90\x87\x6C\x00\xC8\x87\x5B\x85\xFE\x67\x6D\x00\x90\x87\x71\x00\x92\x87\x19\x62\x8C\x87\x40\x81\xD4\x80\x71\x16\x19\x6E\xDD\x51\x01\x87\xFB\x10\x36\x72\x63\x85\x1F\x7C\x72\x00\xB6\x05\x99\x6F\x9D\x00\x7E\x86\x12\x83\x4A\x5A\xAA\x65\x7E\x00\xE9\x87\x26\x06\xAB\x00\xEC\x87\x83\x85\x72\x85\xEB\x29\x8A\x00\xB6\x05\xE4\x6D\xB9\x00\x88\x86\x27\x62\x25\x72\x54\x61\x97\x00\xF9\x87\x26\x06\xC8\x00\xFC\x87\x37\x73\xDE\x7D\x9D\x66\xA4\x00\x01\x88\x53\x09\xD7\x00\x04\x88\xED\x87\x44\x53\xDE\x87\x20\x84\x46\x81\x96\x6D\x1D\x75\x12\x67\xB1\x00\x09", - "\x88\xFB\x10\xFA\x83\x16\x2E\x36\x72\x94\x85\x48\x69\xBE\x00\xF1\x87\x53\x09\xF5\x00\xF4\x87\x12\x88\xFE\x73\xE6\x83\x16\x88\xA5\x6C\xAA\x21\x7D\x2A\x36\x72\xFC\x7D\xEB\x29\xD7\x00\x25\x88\xA3\x15\x2E\x84\x19\x88\xEC\x76\xA9\x78\x2D\x88\xBD\x21\x46\x84\x30\x88\x42\x83\x32\x65\xF1\x00\x33\x88\xF8\x22\x5D\x84\x36\x88\x69\x72\x8E\x6F\x3A\x88\xBA\x18\x75\x84\x3D\x88\x3C\x6C\xAA\x66\x0B\x00\xE0\x03\xE4\x6D\x4E\x00\x27\x88\x06\x88\x57\x83\x1F\x7C\x18\x00\xE0\x03\x0B\x6A\xEF\x42\xAA\x21\x96\x04\x36\x72\xD1\x85\x0E\x0F\x26\x00\x47\x88\x0E\x79\x4A\x88\xE8\x81\xFD\x6C\x2F\x6C\x58\x88\xED\x72\x5A\x88\xFD\x87\x48\x82\xAA\x66\x40\x00\xE0\x03\x99\x6F\xEC\x84\xA9\x2C\x36\x72\x4F\x82\x1F\x7C\x4C\x00\x65\x88\x26\x06\xFB\x84\x68\x88\x55\x82\x32\x65\x58\x00\x4F\x88\x26\x06\xA7\x00\xAA\x21\xE9\x2A\x36\x72\xF7\x85\x40\x0A\x66\x00\x74\x88\x53\x09\xB8\x00\x77\x88\x06\x88\x8B\x83\x1F\x7C\x74\x00\x5E\x88\xFB\x10\xC9\x00\x60\x88\x05\x88\x6D\x82\x32\x65\x81\x00\x85\x88\x71\x16\xD8\x00\x88\x88\x0D\x88\x4E\x6B\x6C\x64\x8E\x00\x7D\x88\xFB", - "\x10\x48\x85\x9D\x2B\x36\x72\xA2\x83\xEB\x29\x9C\x00\x8D\x88\xA3\x15\xF7\x00\x90\x88\xF5\x87\xA9\x83\x85\x64\xA9\x00\x9D\x88\xE0\x7C\xBA\x0C\x28\x88\xB0\x83\xFE\x67\xB6\x00\x95\x88\x71\x16\x15\x00\xBA\x0C\x78\x88\xA9\x88\x48\x69\xC4\x00\xAC\x88\xA3\x15\x7D\x85\x43\x2E\x36\x72\x09\x80\xDE\x66\xB4\x88\x55\x6E\xAF\x88\x06\x88\xB9\x88\xBE\x62\xE0\x00\xBB\x88\xF8\x22\x48\x00\xBD\x88\x5B\x88\x6B\x71\x54\x61\xEE\x00\xC2\x88\xBA\x18\x59\x00\xBA\x0C\x53\x88\x4A\x86\x9D\x66\xFC\x00\xCA\x88\xA1\x21\x69\x00\xCD\x88\x06\x88\x99\x77\x5E\x63\x0A\x00\xF3\x22\x4A\x04\x17\x00\xF3\x22\x91\x01\xB1\x85\x43\x88\xF2\x75\xAA\x65\x19\x00\xDA\x88\xE5\x01\xDD\x88\x7C\x50\xA7\x88\x06\x88\xDC\x78\xEF\x73\xE4\x88\x8E\x56\xE6\x88\x12\x01\x97\x00\xE8\x88\xC6\x88\x01\x01\x91\x71\xB7\x64\x37\x00\xEC\x88\x4D\x07\xEE\x88\xCC\x71\xF1\x88\x61\x88\xDD\x82\x32\x65\x46\x00\xF7\x88\x07\x41\xF9\x88\x03\x01\xB5\x00\xFB\x88\x89\x88\x80\x86\x12\x67\x55\x00\xF3\x22\xB1\x18\x63\x00\x02\x89\xF2\x57\xD5\x88\xEF\x88\xF0\x82\x12\x67\x65\x00\xF3\x22\x99\x6F\xD4", - "\x00\xBA\x0C\xB1\x18\x2E\x62\xC8\x7D\xAA\x66\x71\x00\x14\x89\x26\x06\xE2\x00\x17\x89\xC2\x5D\xF6\x87\x7E\x11\x7D\x00\x00\x89\xA3\x15\xF0\x00\x05\x89\x02\x01\x19\x89\xA7\x7C\x32\x65\x8A\x00\x25\x89\x04\x22\x28\x89\x57\x1A\x06\x88\xFF\x87\x2E\x89\xF8\x22\x0E\x00\x6A\x21\x7D\x2A\x2A\x89\x25\x53\xE3\x87\x71\x16\x2A\x89\x1C\x83\x5E\x63\xA4\x00\x34\x89\xBA\x18\x1D\x00\x37\x89\x21\x89\x25\x75\x9D\x66\xB1\x00\x1D\x89\x69\x6F\x6A\x21\x18\x89\x5C\x7A\x8A\x68\x41\x89\xA1\x21\x3A\x00\x44\x89\x10\x89\xBB\x84\xAA\x66\xCA\x00\x4F\x89\xB6\x24\x35\x86\x16\x2E\x2A\x89\x3B\x83\x5E\x63\xD7\x00\x57\x89\xDB\x21\x58\x00\x52\x89\xCB\x5D\x37\x88\x9D\x66\xE4\x00\x5F\x89\x88\x76\x62\x89\x96\x1B\x48\x83\x38\x88\x67\x89\xDE\x26\x76\x00\x69\x89\x29\x89\xC0\x85\x8E\x6F\x6D\x89\xA8\x81\x70\x89\x31\x89\x2A\x74\x60\x6B\xEC\x35\x50\x88\x03\x01\x94\x00\x6A\x21\x96\x04\x2A\x89\x55\x88\x34\x0E\x19\x00\xEC\x35\xE4\x6D\xA4\x00\x76\x89\x00\x00\x2A\x89\xD9\x85\xEB\x29\x26\x00\x84\x89\xAB\x7C\x87\x89\x2A\x89\x14\x7D\xBE\x62\x33\x00\xEC\x35\x99\x6F\xC2", - "\x00\x4B\x89\x45\x89\x1C\x7D\xAA\x66\x3F\x00\x94\x89\x26\x06\x85\x86\xA9\x2C\x2A\x89\x7A\x88\xDF\x06\x4B\x00\x7A\x89\x26\x06\xDE\x00\x6A\x21\xE9\x2A\xA0\x89\x8F\x7F\x59\x00\xA4\x89\x2A\x6A\xA7\x89\x98\x89\x66\x82\xAA\x66\x67\x00\x8D\x89\x3E\x61\xB6\x05\x38\x89\x06\x86\x02\x6F\xB3\x89\xFB\x10\xEE\x86\x5A\x89\x0D\x86\xDE\x84\xAC\x89\xFB\x10\x2C\x87\x9D\x2B\x2A\x89\x9A\x88\x7E\x11\x8F\x00\xB9\x89\x71\x16\x2E\x00\xB5\x89\xAF\x89\x82\x74\xAA\x65\x9C\x00\xC7\x89\xA3\x15\x3D\x00\xCA\x89\x53\x89\x2C\x86\xCD\x7C\xBF\x89\x71\x16\x4C\x00\xB6\x05\xA8\x89\xB1\x88\x1F\x7C\xB7\x00\xD6\x89\xA3\x15\xC0\x87\x43\x2E\x2A\x89\xBF\x88\x85\x64\xC5\x00\xDE\x89\xBD\x21\x6E\x00\xD9\x89\xCB\x89\xA3\x74\xAA\x66\xD3\x00\xE6\x89\xF8\x22\x7F\x00\xE9\x89\xD3\x89\x7B\x7D\xE6\x68\xEE\x89\x1E\x87\xB6\x05\x7F\x89\xCF\x88\x54\x61\xEF\x00\xF5\x89\xA1\x21\xA0\x00\xF7\x89\xEA\x89\xBB\x74\xAA\x65\xFD\x00\xCF\x89\x28\x2B\x00\x36\x91\x01\xB0\x00\xD2\x89\x63\x89\x34\x70\x19\x67\x0C\x00\x00\x36\x4A\x04\x19\x00\x06\x8A\xBD\x7F\x09\x8A\x6A\x89\x89\x71\x6C", - "\x64\x1B\x00\x0E\x8A\xAD\x35\x11\x8A\x12\x01\xCE\x00\x13\x8A\x71\x89\xD8\x74\xAA\x66\x2A\x00\x18\x8A\x12\x01\x37\x00\x1A\x8A\xB1\x60\x1D\x8A\x77\x89\x02\x84\xBE\x62\x39\x00\x22\x8A\x63\x03\x25\x8A\x03\x01\xEC\x00\x27\x8A\x88\x89\xDF\x7E\x32\x65\x48\x00\x00\x36\xB1\x18\x56\x00\x2E\x8A\x77\x71\xFF\x89\x48\x52\x11\x89\x72\x88\x00\x36\x99\x6F\x46\x88\xA9\x2C\x54\x52\xDA\x77\xFE\x67\x64\x00\x3F\x8A\x84\x75\xC2\x88\x54\x52\x34\x7A\x40\x0A\x70\x00\x2C\x8A\x71\x16\x27\x00\xE0\x03\x7D\x2A\x54\x52\xBE\x76\xDF\x06\x7D\x00\x4E\x8A\xA3\x15\x36\x00\x51\x8A\x35\x62\xF2\x88\x1A\x6E\x57\x8A\xBD\x21\x45\x00\x5A\x8A\x3C\x8A\x13\x88\xE1\x81\x5E\x8A\xF8\x22\x54\x00\x61\x8A\x0C\x01\x54\x52\x1B\x88\x1F\x7C\xA4\x00\x47\x8A\x5B\x73\x49\x8A\x4D\x89\x85\x64\xB0\x00\x65\x8A\x8D\x79\x68\x8A\x88\x52\x54\x89\x7B\x76\x74\x8A\x63\x7F\x76\x8A\x71\x52\xAA\x85\x19\x67\xCA\x00\x7A\x8A\xB6\x24\x8F\x00\x7C\x8A\x9F\x52\x0D\x7E\x9D\x66\xD7\x00\x81\x8A\xDB\x21\x9E\x00\x84\x8A\x9E\x66\x6B\x89\x65\x89\x89\x8A\xE8\x25\xAD\x00\x8C\x8A\x54\x52\x28\x82\x48", - "\x69\xF1\x00\x90\x8A\xDE\x26\xBC\x00\x93\x8A\xC8\x85\x32\x65\xFE\x00\x36\x8A\x26\x06\xCB\x00\xE0\x03\x96\x04\x54\x52\x81\x89\x3B\x0B\x0C\x00\x62\x1D\xE4\x6D\xDB\x00\x9B\x8A\x35\x7E\x12\x67\x19\x00\xA8\x8A\x26\x06\xEA\x00\xAB\x8A\x62\x88\x19\x67\x26\x00\x62\x1D\x99\x6F\xF9\x00\x70\x8A\xE8\x85\x12\x67\x32\x00\xB6\x8A\x55\x74\x0A\x89\x5B\x8A\x4B\x7E\x9D\x66\x3E\x00\x62\x1D\x7B\x89\x21\x2C\xF3\x22\xE9\x2A\x54\x52\xA1\x89\xBD\x03\x4C\x00\xC4\x8A\x26\x06\x26\x00\xC7\x8A\xC0\x8A\xB0\x89\x19\x67\x5A\x00\xAF\x8A\x53\x09\xF6\x88\x16\x2E\x54\x52\x9B\x75\x5E\x63\x67\x00\xD5\x8A\xFB\x10\xFF\x88\xD8\x8A\xBD\x89\x02\x6F\xCD\x8A\x53\x09\x09\x89\x9D\x2B\x54\x52\xC4\x89\x0E\x0F\x82\x00\xDD\x8A\x71\x16\x13\x89\xE0\x8A\xA2\x88\xB7\x64\x8F\x00\xEB\x8A\xA3\x15\x74\x00\xF3\x22\x52\x8A\xDB\x89\x9B\x88\xE3\x8A\xFB\x10\x83\x00\xD0\x8A\x62\x8A\xD4\x89\x93\x75\xF9\x8A\x71\x16\x94\x00\xFC\x8A\x69\x8A\x33\x86\xBE\x62\xB8\x00\x00\x8B\xA3\x15\xA5\x00\x03\x8B\x77\x8A\x9B\x82\x85\x64\xC6\x00\x08\x8B\xBD\x21\xB6\x00\x0B\x8B\x7D\x8A\x8A\x6B\xF6", - "\x6B\x10\x8B\xF8\x22\xC7\x00\xF3\x22\xA3\x8A\xF9\x89\xBE\x62\xE2\x00\x17\x8B\xBA\x18\x5E\x89\xE6\x8A\xB8\x82\x12\x67\xF0\x00\xF2\x8A\x04\x5C\x62\x1D\x91\x01\xE7\x00\xF5\x8A\xD1\x8A\xE1\x88\xAF\x6E\x26\x8B\x6A\x07\xBB\x36\x91\x01\xF6\x00\x2B\x8B\xFD\x8A\x21\x7B\x19\x67\x0E\x00\xBB\x36\xC0\x63\x31\x8B\xB5\x03\xEC\x35\xF6\x8A\x1F\x8A\x19\x67\x1D\x00\x39\x8B\x8B\x29\x3B\x8B\xB3\x2A\x3D\x8B\x2C\x8B\x01\x01\x96\x6E\x19\x66\x42\x8B\x9F\x37\x44\x8B\x14\x33\x46\x8B\x35\x8B\xE6\x82\x19\x67\x3B\x00\xBB\x36\xB1\x18\x49\x00\x4D\x8B\x81\x56\xEC\x35\x96\x04\xC0\x52\x54\x52\x3B\x89\xA3\x15\xC0\x52\x8C\x53\x5D\x8B\xBD\x21\x25\x53\x05\x85\xEB\x29\x4B\x00\xBB\x36\xEC\x7E\x25\x53\x0C\x85\x6B\x88\xBB\x36\x81\x04\x50\x00\x67\x8B\x26\x06\x25\x53\xAD\x84\x1F\x7C\x51\x00\x6C\x8B\x27\x41\x6F\x8B\x3A\x6B\x8D\x87\xAA\x66\x56\x00\x75\x8B\x64\x1D\x77\x8B\xFB\x10\x25\x53\x21\x85\x0E\x0F\x5B\x00\x7C\x8B\x7E\x43\x7E\x8B\x71\x16\x25\x53\x9C\x87\xFE\x67\x60\x00\x84\x8B\x30\x03\x86\x8B\xA3\x15\x25\x53\x2E\x85\xFE\x67\x65\x00\x8C\x8B\x30\x47\x8E", - "\x8B\x62\x8B\x5B\x84\x19\x67\x6A\x00\x94\x8B\x8C\x48\x96\x8B\xF8\x22\x25\x53\xAF\x87\x85\x64\x6F\x00\x9B\x8B\x00\x00\x73\x00\x9D\x8B\xBA\x18\x25\x53\xB5\x87\x48\x69\x74\x00\xA3\x8B\x78\x00\xA6\x8B\xA1\x21\x25\x53\xBC\x87\x1F\x7C\x79\x00\xA3\x8B\x7D\x00\xAE\x8B\xB6\x24\x25\x53\xC3\x87\x48\x69\x7E\x00\xA3\x8B\x82\x00\xB6\x8B\xDB\x21\x25\x53\xCA\x87\xFD\x7D\xA3\x8B\x87\x00\xBE\x8B\xE8\x25\x25\x53\xD0\x87\x1F\x7C\x88\x00\xA3\x8B\x8C\x00\xC5\x8B\xDE\x26\x25\x53\xD6\x87\x48\x69\x8D\x00\xA3\x8B\x91\x00\xCD\x8B\xEE\x26\x8C\x53\x3A\x89\xC1\x81\xFD\x86\xF8\x22\x50\x62\x85\x6A\x6C\x64\x92\x00\xBB\x36\x99\x6F\x42\x00\xEE\x89\xDC\x8B\x44\x8A\x48\x69\x9E\x00\xE0\x8B\x28\x7E\xE3\x8B\x22\x89\x0E\x0F\xAA\x00\x4B\x8B\xFB\x10\x5E\x00\x4F\x8B\x0C\x01\xDC\x8B\x5C\x8B\xD9\x8B\x41\x81\xA3\x15\xDC\x8B\x60\x8B\xF5\x8B\xDF\x87\xF7\x8B\x09\x83\xFE\x67\xB7\x00\xEE\x8B\x28\x79\xF1\x8B\xE7\x53\x32\x89\xBE\x62\xC4\x00\x00\x8C\x09\x74\x02\x8C\x02\x01\xDC\x8B\xD8\x8B\x16\x6D\xC2\x81\xDB\x8B\xF0\x81\x19\x67\xD1\x00\x07\x8C\xBD\x21\x8B\x00\x09", - "\x8C\x01\x01\xDC\x8B\x6B\x8A\xEB\x29\xDE\x00\xE8\x8B\x3A\x6B\xEA\x8B\x2D\x83\x12\x67\xEA\x00\x13\x8C\xF8\x22\xA8\x00\x16\x8C\x00\x00\xDC\x8B\x2A\x88\x7E\x11\xF7\x00\x22\x8C\x65\x6D\x25\x8C\xDC\x8B\x5C\x89\x06\x7F\x99\x0A\xE4\x6D\xC6\x00\x2D\x8C\x86\x8A\x54\x61\x11\x00\x31\x8C\x26\x06\xD5\x00\x34\x8C\x14\x7E\x9D\x66\x1E\x00\x38\x8C\x53\x09\xE4\x00\x3B\x8C\x22\x74\x19\x67\x2B\x00\x3F\x8C\xFB\x10\xF3\x00\x42\x8C\xDF\x6E\x12\x67\x38\x00\x99\x0A\xC5\x8A\xE8\x24\x00\x36\x96\x04\xDC\x8B\xA5\x8A\x40\x0A\x46\x00\x46\x8C\x71\x16\x12\x00\x00\x36\x7D\x2A\xDC\x8B\x8A\x89\x7E\x11\x53\x00\x56\x8C\xA3\x15\x21\x00\x59\x8C\x2E\x29\xE1\x85\x54\x61\x60\x00\x99\x0A\x99\x6F\x30\x00\x9F\x8A\x4F\x62\x74\x83\xAA\x66\x6C\x00\x67\x8C\x26\x06\x3E\x00\x6A\x8C\xF2\x8B\x71\x88\x9D\x66\x78\x00\x4D\x8C\x26\x06\x4C\x00\x00\x36\xE9\x2A\xDC\x8B\xCA\x8A\xB8\x81\x77\x8C\x62\x82\x7A\x8C\x63\x8C\xFE\x85\x2E\x83\x5F\x8C\xE7\x89\x62\x8C\x6B\x8C\x8A\x88\x9D\x66\xA1\x00\x85\x8C\xF8\x22\x56\x8A\x16\x2E\xDC\x8B\xCD\x7A\x40\x0A\xAE\x00\x7F\x8C\xF6\x72\x50", - "\x8C\x82\x8C\x15\x86\x6F\x73\x8C\x8C\xBA\x18\x9C\x00\x87\x8C\x73\x8C\xEF\x8A\x5E\x63\xC9\x00\x9A\x8C\xA1\x21\xAB\x00\x9D\x8C\x03\x8C\xF4\x7F\x12\x67\xD6\x00\x94\x8C\x71\x16\xBA\x00\x81\x8C\x88\x8C\xFE\x8A\xFE\x67\xE4\x00\xAA\x8C\xA3\x15\xCB\x00\xAD\x8C\x9E\x8C\x0D\x8B\xB7\x64\xF2\x00\xB2\x8C\xBD\x21\xDC\x00\xB5\x8C\xA6\x8C\xB7\x8C\x5E\x63\xD7\x23\xB6\x2D\xBA\x18\xED\x00\xBD\x8C\x0A\x8C\x43\x86\x12\x67\x0E\x00\xF2\x0A\x4E\x8C\x00\x00\x9E\x8A\x9D\x2B\xDC\x8B\xB1\x82\xFE\x67\x1C\x00\xCA\x8C\x26\x06\x0E\x00\x62\x1D\x51\x8C\x23\x8B\xAC\x7B\xF2\x0A\x4A\x04\x37\x00\xF2\x0A\x91\x01\x1E\x00\x62\x1D\x5A\x8C\x5C\x86\x54\x61\x39\x00\xDA\x8C\x2B\x01\xDD\x8C\x28\x04\xE0\x8C\x97\x8C\x36\x8B\x12\x67\x48\x00\xE5\x8C\x1A\x41\xE7\x8C\xF3\x03\xE9\x8C\xAE\x8C\x6E\x86\x32\x65\x57\x00\xEE\x8C\x30\x06\xF0\x8C\xCC\x3D\xF2\x8C\xB6\x8C\xFD\x88\x9D\x66\x66\x00\xF7\x8C\x03\x01\x73\x00\xF9\x8C\x38\x15\xFB\x8C\xBE\x8C\xF8\x78\xC6\x74\xD3\x8C\x8B\x4F\x03\x8D\x30\x47\xD6\x8C\x15\x01\xEA\x88\x64\x8B\x7E\x11\x85\x00\xF2\x0A\xEC\x7E\xEA\x88\x6A", - "\x8B\xEB\x29\x86\x00\xF2\x0A\x81\x04\x8A\x00\x13\x8D\x26\x06\xEA\x88\x72\x8B\xEB\x29\x8B\x00\x19\x8D\x5D\x51\x1C\x8D\x53\x09\xEA\x88\x1A\x85\x48\x69\x90\x00\x22\x8D\x3B\x52\x24\x8D\x50\x7A\xF9\x59\x9D\x66\x95\x00\x2A\x8D\xF0\x52\x2C\x8D\x71\x16\xEA\x88\x89\x8B\x48\x69\x9A\x00\x31\x8D\x6A\x6A\x33\x8D\x16\x83\xA2\x87\x73\x6C\x39\x8D\x02\x01\xA3\x00\x3B\x8D\xBD\x21\xEA\x88\xBF\x86\x3F\x89\x3F\x8D\x01\x01\xA8\x00\x42\x8D\xF8\x22\xEA\x88\xA0\x8B\xCD\x7C\x47\x8D\xBF\x62\x4A\x8D\xBA\x18\xEA\x88\xA9\x8B\x1F\x7C\xAE\x00\x4F\x8D\xB2\x00\x51\x8D\xA1\x21\xEA\x88\xB1\x8B\xEB\x29\xB3\x00\x4F\x8D\xB7\x00\x59\x8D\xB6\x24\xEA\x88\xB9\x8B\x1F\x7C\xB8\x00\x4F\x8D\xBC\x00\x61\x8D\xDB\x21\xEA\x88\xC1\x8B\xEB\x29\xBD\x00\x4F\x8D\xC1\x00\x69\x8D\xE8\x25\xEA\x88\xC8\x8B\xEB\x29\xC2\x00\x4F\x8D\xC6\x00\x71\x8D\xDE\x26\xEA\x88\xD0\x8B\x1F\x7C\xC7\x00\x4F\x8D\xCB\x00\x79\x8D\xEE\x26\x76\x54\x10\x8D\x0E\x0F\xCC\x00\x81\x8D\xA2\x84\x1C\x61\x76\x54\x16\x8D\x7E\x11\xCD\x00\x4F\x8D\xD1\x00\x87\x8D\xCA\x01\x76\x54\x1F\x8D\x7E\x11\xD2\x00\x4F", - "\x8D\xD6\x00\x90\x8D\xB5\x77\x0C\x01\x27\x8D\x1F\x7C\xD7\x00\x4F\x8D\xDB\x00\x98\x8D\x3F\x8B\xA7\x86\xAA\x65\xDC\x00\x4F\x8D\xE0\x00\xA0\x8D\xF8\x83\x27\x85\x52\x6E\x4F\x8D\xE5\x00\xA7\x8D\xF4\x8C\x00\x00\x91\x8B\x48\x69\xE6\x00\x4F\x8D\xEA\x00\xAD\x8D\xCB\x7E\x03\x01\x45\x8D\xFE\x67\xEB\x00\x4F\x8D\xEF\x00\xB5\x8D\xF3\x88\xD7\x84\x61\x77\x4F\x8D\xF4\x00\xBD\x8D\x8D\x6E\xDD\x84\x54\x61\xF5\x00\x4F\x8D\xF9\x00\xC3\x8D\x76\x54\x5C\x8D\x7E\x11\xFA\x00\x4F\x8D\xFE\x00\xCA\x8D\xEA\x84\x85\x65\x4F\x8D\x03\x00\x7B\x37\x18\x61\x76\x54\x6C\x8D\x7E\x11\x04\x00\x7B\x37\x09\x7F\xD6\x8D\x26\x06\x76\x54\x74\x8D\x7E\x11\x09\x00\xDC\x8D\xAD\x02\xDE\x8D\x53\x09\x76\x54\x7C\x8D\xEB\x29\x0E\x00\xE4\x8D\xB1\x2A\xE6\x8D\xFB\x10\xD2\x54\x84\x8D\x34\x0E\x13\x00\xEE\x8D\xD6\x70\xDD\x83\x7F\x87\x23\x78\xEC\x8D\x4B\x31\xF4\x8D\xA3\x15\xD2\x54\x93\x8D\x0E\x0F\x19\x00\xF9\x8D\xF2\x61\xFB\x8D\xBD\x21\xD2\x54\x9B\x8D\xEB\x29\x1E\x00\x01\x8E\xFF\x05\x03\x8E\xF8\x22\xD2\x54\x81\x8B\x34\x0E\x23\x00\x09\x8E\xB7\x06\x0B\x8E\xBA\x18\xD2\x54\x36", - "\x8D\x69\x81\x11\x8E\xFD\x36\x13\x8E\xA1\x21\xD2\x54\xB0\x8D\x1F\x7C\x2D\x00\x18\x8E\x31\x00\x1A\x8E\xB6\x24\xD2\x54\xB8\x8D\x48\x69\x32\x00\x18\x8E\x36\x00\x22\x8E\xDB\x21\xD2\x54\x4D\x8D\xDA\x7B\x18\x8E\x3B\x00\x2A\x8E\xE8\x25\xD2\x54\x54\x8D\xEB\x29\x3C\x00\x18\x8E\x40\x00\x31\x8E\xDE\x26\xD2\x54\xCC\x8D\x0E\x0F\x41\x00\x18\x8E\x45\x00\x39\x8E\xEE\x26\xD2\x54\x64\x8D\xEB\x29\x46\x00\x18\x8E\x4A\x00\x41\x8E\x1C\x61\xD2\x54\xD9\x8D\x0E\x0F\x4B\x00\x18\x8E\x4F\x00\x49\x8E\xCA\x01\xD2\x54\xE1\x8D\x0E\x0F\x50\x00\x18\x8E\x54\x00\x51\x8E\xD8\x8C\x0E\x72\x6C\x64\x55\x00\x18\x8E\x59\x00\x59\x8E\xC1\x82\xD0\x80\x6A\x72\x60\x8E\xFB\x10\x2E\x55\x8B\x8D\x82\x8B\x18\x8E\x5F\x00\x64\x8E\x34\x55\x76\x59\x16\x73\x18\x8E\x64\x00\x6B\x8E\x2D\x8B\xC0\x71\x9B\x6B\x18\x8E\x69\x00\x71\x8E\x62\x55\xA2\x8D\xAA\x66\x6A\x00\x18\x8E\x6E\x00\x77\x8E\xC5\x74\x0C\x01\x16\x8E\xEB\x29\x6F\x00\x18\x8E\x73\x00\x7E\x8E\x2E\x55\x1D\x8E\xEB\x29\x74\x00\x18\x8E\x78\x00\x86\x8E\x98\x8B\x12\x67\x79\x00\x18\x8E\x7D\x00\x8D\x8E\x04\x5A\x6C\x64\x7E", - "\x00\x18\x8E\x82\x00\x93\x8E\x0C\x01\x34\x8E\x7E\x11\x83\x00\x18\x8E\x87\x00\x99\x8E\x03\x01\x3C\x8E\x34\x0E\x88\x00\x18\x8E\x8C\x00\xA0\x8E\x02\x01\x44\x8E\x7E\x11\x8D\x00\x18\x8E\x91\x00\xA7\x8E\x01\x01\x4C\x8E\x34\x0E\x92\x00\x18\x8E\x96\x00\xAE\x8E\x00\x00\x54\x8E\x34\x0E\x97\x00\x18\x8E\x9B\x00\xB5\x8E\xE9\x8D\x7E\x11\x9C\x00\x18\x8E\xA0\x00\x7E\x8E\x62\x0F\xF1\x8D\x3B\x0B\xA1\x00\x7E\x8E\xBA\x18\x62\x0F\x67\x8E\x34\x0E\xA2\x00\x18\x8E\xA6\x00\xC2\x8E\x86\x87\x48\x73\x18\x8E\xAB\x00\xCF\x8E\x19\x85\x6C\x64\xAC\x00\x18\x8E\xB0\x00\xD4\x8E\x20\x85\x6C\x64\xB1\x00\x18\x8E\xB5\x00\xDA\x8E\xA9\x8D\x19\x67\xB6\x00\x18\x8E\xBA\x00\xE0\x8E\x2D\x85\xF0\x71\x18\x8E\xBF\x00\xE6\x8E\x34\x85\x6C\x64\xC0\x00\x18\x8E\xC4\x00\xEB\x8E\x3B\x85\xFD\x71\x18\x8E\xC9\x00\xF1\x8E\x9B\x8E\x0E\x0F\xCA\x00\x18\x8E\xCE\x00\xF1\x8E\xA2\x8E\x3B\x0B\xCF\x00\x18\x8E\xD3\x00\xF1\x8E\xA9\x8E\x0E\x0F\xD4\x00\x18\x8E\xD8\x00\xF1\x8E\xB0\x8E\x3B\x0B\xD9\x00\x18\x8E\xDD\x00\xF1\x8E\xB7\x8E\x3B\x0B\xDE\x00\x18\x8E\xE2\x00\xF1\x8E\xBD\x8E\x0E", - "\x0F\xE3\x00\x18\x8E\xE7\x00\x7E\x8E\x73\x62\x03\x01\xE6\x87\xEB\x29\xE8\x00\x7B\x37\xFA\x73\x79\x00\x2F\x8B\x1B\x8F\x56\x5A\xAA\x65\xF3\x00\x20\x8F\x26\x06\x86\x00\x23\x8F\xEB\x8B\x34\x0E\xFE\x00\x7B\x37\x99\x6F\x93\x00\x17\x8B\x24\x8F\x28\x73\x12\x67\x0A\x00\xCA\x08\x99\x6F\xA1\x00\x32\x8F\x04\x8C\x85\x64\x16\x00\x37\x8F\x26\x06\xAF\x00\x3A\x8F\x63\x8A\x34\x7F\x3E\x8F\x53\x09\xBD\x00\x41\x8F\xCC\x71\xFC\x86\xF6\x8B\xBD\x21\x33\x8F\x24\x83\x6C\x64\x2E\x00\xCA\x08\xFA\x73\xCB\x00\x2B\x8F\x1F\x8C\x32\x65\x39\x00\x44\x8F\x8D\x6C\x47\x8F\xC8\x84\x19\x67\x45\x00\x57\x8F\x71\x16\xE6\x00\x59\x8F\x59\x51\x6C\x64\x51\x00\x5D\x8F\x49\x6F\x60\x8F\xCF\x79\x62\x66\x64\x8F\x51\x6F\x54\x8B\x15\x01\x4C\x8F\xB8\x85\x5E\x63\x69\x00\x69\x8F\x5A\x6F\x6B\x8F\x12\x01\x4C\x8F\x95\x8A\x1F\x7C\x75\x00\x71\x8F\xD5\x66\x73\x8F\x0C\x01\x4C\x8F\x4C\x88\xEB\x29\x81\x00\xCA\x08\xE4\x6D\x2C\x00\xBB\x36\x7D\x2A\x4C\x8F\x53\x8C\xDF\x06\x8E\x00\x79\x8F\xA1\x21\x53\x8B\xA9\x2C\x4C\x8F\x5C\x8C\x0E\x0F\x9A\x00\x8A\x8F\x58\x89\x7B\x8F\x88\x55\x64", - "\x8C\xBE\x62\xA6\x00\x50\x8F\x26\x06\x57\x00\x22\x8C\x4C\x8F\x6A\x88\xEB\x29\xB1\x00\x99\x8F\x53\x09\x64\x00\x9C\x8F\x74\x8C\x54\x61\xBC\x00\x81\x8F\xEC\x79\xBB\x36\x96\x04\x4C\x8F\x7D\x8C\xED\x58\xA8\x8F\x53\x09\x81\x00\xAA\x8F\x6C\x8F\xB0\x72\x6C\x64\xD6\x00\x92\x8F\xDB\x21\xD4\x8B\x8D\x8F\xB7\x89\x1D\x8B\xB7\x8F\x32\x8E\x94\x8F\x02\x01\x4C\x8F\x91\x8C\xDF\x06\xEE\x00\xAF\x8F\xFB\x10\xAD\x00\x84\x8F\xB3\x8F\xD4\x7A\xA6\x7D\xBD\x8F\x99\x8A\xBF\x8F\x01\x01\x4C\x8F\x7A\x7E\xB7\x64\x07\x00\xF1\x22\x99\x6F\xCA\x00\xCE\x8F\xAB\x66\xF7\x8A\x7E\x11\x13\x00\xF1\x22\xE4\x6D\xD8\x00\xB2\x8F\x74\x8F\xD9\x8F\x0E\x0F\x20\x00\xDC\x8F\x26\x06\xE8\x00\xDF\x8F\x7C\x8F\x05\x8B\x85\x64\x2D\x00\xE4\x8F\x53\x09\xF8\x00\xE7\x8F\x95\x8F\x3B\x86\x9D\x66\x3A\x00\xEC\x8F\xFB\x10\x08\x00\x99\x0A\xAB\x8F\xC7\x8C\x32\x65\x47\x00\xF4\x8F\x71\x16\x18\x00\x99\x0A\x85\x8F\x1C\x8B\x85\x64\x54\x00\xFC\x8F\x4D\x6E\xFF\x8F\xC9\x8F\xD8\x54\x6C\x64\x61\x00\xD4\x8F\x38\x48\xF1\x22\x91\x01\x36\x00\xBA\x8C\xD8\x8F\x61\x8E\x32\x65\x6F\x00\x0B\x90\xC6", - "\x4E\x0D\x90\x28\x06\x10\x90\x4C\x8F\xEA\x88\x54\x61\x7D\x00\x15\x90\x0C\x01\x89\x00\x17\x90\xEF\x40\x19\x90\x99\x8D\x19\x67\x8B\x00\x1E\x90\x96\x1B\x21\x90\xB0\x06\x23\x90\x77\x86\x32\x65\x99\x00\x27\x90\x02\x01\xA5\x00\x29\x90\xB3\x48\x2B\x90\x07\x89\x15\x7E\x04\x90\xDB\x56\x32\x90\xB5\x7C\x06\x90\x8A\x55\xD7\x55\x0F\x88\xC2\x7B\x05\x6E\x15\x01\x8F\x62\x18\x84\x4A\x8F\xF8\x22\x93\x55\x1D\x8F\x7E\x11\xB6\x00\xF1\x22\x93\x7C\x8C\x8C\x93\x55\xE5\x8B\x1F\x7C\xC1\x00\x4A\x90\x9B\x7C\x4C\x90\x2C\x8F\x3B\x0B\xCC\x00\x2F\x90\xBD\x21\xA5\x00\x10\x90\x93\x55\x54\x8A\xBD\x03\xD8\x00\x57\x90\xF8\x22\xB3\x00\x5A\x90\x3B\x8F\x1F\x72\x5F\x90\xBA\x18\xC1\x00\x62\x90\x42\x8F\x54\x61\xF0\x00\x65\x90\xA1\x21\xCF\x00\x68\x90\xD4\x76\x12\x67\xFC\x00\x51\x90\xC7\x7C\x53\x90\x54\x8F\x37\x72\xB6\x37\x99\x6F\xEA\x00\x6F\x90\x5A\x8F\x12\x67\x13\x00\x78\x90\x26\x06\xF8\x00\x7B\x90\x61\x8F\x33\x87\x7F\x90\x53\x09\x06\x00\x09\x8D\x96\x55\x35\x8C\xBE\x62\x2B\x00\x85\x90\xFB\x10\x14\x00\x88\x90\xD2\x25\x8E\x8A\x54\x61\x37\x00\x8D\x90\x71", - "\x16\x22\x00\x90\x90\xB0\x55\x43\x8C\x12\x67\x43\x00\x95\x90\xA3\x15\x30\x00\x98\x90\xF7\x25\x9C\x8A\x9D\x66\x4F\x00\xB6\x37\xFF\x7C\xF2\x0A\x7D\x2A\x93\x55\x87\x8F\x60\x64\x9D\x90\xBD\x21\x4D\x00\xA0\x90\xDC\x55\x40\x82\x32\x65\x68\x00\xAC\x90\xF8\x22\x5B\x00\xAF\x90\x93\x55\x91\x89\x85\x64\x74\x00\xB6\x37\x18\x7D\x00\x8D\x99\x90\xBC\x6F\xAA\x65\x7F\x00\xBC\x90\x20\x7D\xBE\x90\xA1\x90\xEF\x85\x12\x67\x8A\x00\xA5\x90\x26\x06\x83\x00\xF2\x0A\x96\x04\x93\x55\xAD\x8F\xEF\x88\xCA\x90\x53\x09\x93\x00\xCD\x90\x3D\x90\x5C\x7E\xAA\x65\xA4\x00\xB4\x90\xBA\x18\x41\x8D\xA9\x2C\x93\x55\xDA\x8A\x1B\x85\xDA\x90\xA1\x21\xB1\x00\xB7\x90\xE1\x8A\xF6\x74\xD2\x90\x90\x85\xA7\x90\xD6\x90\x72\x7E\xD1\x80\xE1\x90\xB6\x24\xCE\x00\xE4\x90\x9F\x8C\xFE\x67\xD5\x00\xED\x90\xDB\x21\xA4\x8D\xDD\x90\xE1\x8F\x34\x0E\xE1\x00\xE7\x90\xD0\x7C\xD5\x90\x8C\x55\xF8\x90\x3B\x0B\xEE\x00\xFB\x90\xA3\x15\xCE\x8D\x9D\x2B\x93\x55\xE3\x89\xB7\x64\xFB\x00\x02\x91\x00\x7E\x7B\x37\xCE\x90\xE9\x8F\xB7\x64\x08\x00\xFA\x09\xE4\x6D\x1A\x00\x0C\x91\xEA\x90\xC7", - "\x88\xBE\x62\x15\x00\x11\x91\x26\x06\x2A\x00\x7B\x37\xA8\x90\x01\x90\xB7\x64\x22\x00\x19\x91\x7D\x5D\x1C\x91\x15\x91\xF6\x8D\x32\x65\x2F\x00\xFA\x09\x6B\x07\x3B\x00\xFA\x09\x35\x02\x7B\x37\xB1\x18\x93\x55\x7B\x6E\x85\x64\x3D\x00\x28\x91\xC0\x22\x2B\x91\x5E\x0F\x2D\x91\x24\x91\xEE\x83\x65\x70\x33\x91\x38\x41\x35\x91\xFD\x02\x37\x91\xFE\x90\xA1\x8D\x32\x65\x59\x00\x3B\x91\xD4\x27\x3D\x91\x61\x4B\x3F\x91\x89\x90\x2C\x90\x9D\x66\x67\x00\x44\x91\x01\x8D\x46\x91\xB4\x4E\x48\x91\x91\x90\x0B\x84\x32\x65\x75\x00\x21\x91\xD5\x80\x4F\x91\x79\x85\x23\x91\x12\x01\x88\x62\xBF\x90\x12\x67\x62\x7F\xB6\x24\x5C\x91\x01\x01\x42\x90\x5E\x91\x0E\x8C\x1F\x74\x8A\x86\x9D\x66\x84\x00\xFA\x09\xEC\x7E\x63\x91\xD7\x80\xAA\x66\x85\x00\xFA\x09\x81\x04\x89\x00\x6A\x91\x26\x06\x6C\x91\xDF\x80\xAA\x66\x8A\x00\x70\x91\xF3\x5E\x73\x91\x53\x09\x75\x91\x06\x8E\xC5\x89\x79\x91\x12\x01\x93\x00\x7B\x91\xFB\x10\x75\x91\x0E\x8E\x3B\x0B\x94\x00\x80\x91\x69\x8A\x83\x91\x71\x16\x75\x91\x81\x8E\x7E\x11\x99\x00\x89\x91\xE9\x53\x8B\x91\xA3\x15\x75\x91\x88", - "\x8E\x7E\x11\x9E\x00\x91\x91\xC0\x8F\x93\x91\x88\x82\x8E\x8E\x32\x65\xA3\x00\x99\x91\x01\x01\xA7\x00\x9B\x91\xF8\x22\x75\x91\x2D\x8E\xFE\x67\xA8\x00\xA0\x91\x33\x65\xA3\x91\x66\x91\xEF\x71\xAA\x65\xAD\x00\xA9\x91\xB1\x00\xAB\x91\xA1\x21\x75\x91\xFD\x8E\x40\x0A\xB2\x00\xA9\x91\xB6\x00\xB2\x91\xB6\x24\x75\x91\x03\x8F\x34\x0E\xB7\x00\xA9\x91\xBB\x00\xBA\x91\xDB\x21\x75\x91\x09\x8F\x40\x0A\xBC\x00\xA9\x91\xC0\x00\xC2\x91\xE8\x25\x75\x91\x0F\x8F\x40\x0A\xC1\x00\xA9\x91\xC5\x00\xCA\x91\xDE\x26\x75\x91\x15\x8F\x34\x0E\xC6\x00\xA9\x91\xCA\x00\xD2\x91\xEE\x26\x96\x62\x01\x01\x47\x90\x0E\x0F\xCB\x00\xFA\x09\xC4\x7D\x7B\x37\x4A\x04\xDC\x91\x3F\x7B\xB5\x8F\xE1\x91\xCB\x7D\xE3\x91\xF1\x58\xD4\x73\x54\x61\xE1\x00\x4D\x91\xA3\x15\xB7\x00\x51\x91\x09\x6D\xFD\x8B\x48\x69\xED\x00\xEF\x91\xBD\x21\xC5\x00\xF2\x91\xA1\x91\x63\x90\x5E\x63\xF9\x00\xF7\x91\xF8\x22\x01\x8F\xA9\x2C\xE5\x91\x3E\x89\xFE\x67\x05\x00\xAE\x29\x99\x6F\xE1\x00\xFA\x91\x00\x00\xE5\x91\x19\x8C\x7E\x11\x11\x00\xAE\x29\xFA\x73\xEF\x00\xEA\x91\x33\x57\x02\x50\x6C", - "\x64\x1C\x00\x07\x92\x26\x06\xFC\x00\x0A\x92\xE5\x91\x28\x8C\x0E\x0F\x28\x00\x18\x92\xAA\x6D\xCA\x08\xB1\x18\xE5\x91\x2F\x8C\x48\x69\x34\x00\x20\x92\xFB\x10\x18\x00\x22\x92\xEB\x91\xC0\x79\x63\x88\x28\x92\x95\x5D\x2B\x92\x14\x92\x6E\x8F\xFE\x67\x4C\x00\x2F\x92\xA3\x15\x34\x00\x31\x92\x0C\x01\xE5\x91\x76\x8F\xEB\x29\x58\x00\x36\x92\xBD\x21\x42\x00\x39\x92\x03\x01\xE5\x91\x7E\x8F\x7E\x11\x64\x00\xAE\x29\xE4\x6D\x50\x00\xCA\x08\x7D\x2A\xE5\x91\xAA\x90\x9B\x5E\x3F\x92\xF8\x22\x5F\x00\x42\x92\xF3\x91\xAC\x8A\x32\x65\x7D\x00\x50\x92\x49\x79\x53\x92\xFB\x91\x3C\x7E\x12\x67\x89\x00\x10\x92\x26\x06\x7B\x00\xC5\x8F\x43\x92\x6C\x8C\x2E\x83\x5F\x92\xF3\x69\x62\x92\x54\x92\xC1\x8A\x54\x61\x9F\x00\x48\x92\x26\x06\x95\x00\xCA\x08\x96\x04\xE5\x91\xD0\x90\xB0\x6A\x6D\x92\x53\x09\xA5\x00\x70\x92\x2C\x92\xD1\x6B\x6C\x64\xB9\x00\x58\x92\xA1\x21\xB5\x00\x5A\x92\x0B\x92\xBB\x8F\xE4\x89\x7D\x92\xB6\x24\xC3\x00\x80\x92\xE5\x91\xC2\x8F\xBD\x03\xD1\x00\x75\x92\xFB\x10\xD1\x00\x4B\x92\x79\x92\xE6\x67\x6C\x64\xDE\x00\x84\x92\xDB\x21\xE0", - "\x00\x87\x92\x1C\x86\x9D\x66\xEA\x00\x94\x92\xE8\x25\xC4\x8F\x02\x92\xFF\x90\x40\x0A\xF6\x00\x8C\x92\x71\x16\xFC\x00\x78\x92\x14\x92\x24\x86\x32\x65\x03\x00\xDA\x56\x87\x7A\xF1\x22\x71\x92\x0E\x91\x5E\x63\x10\x00\xAA\x92\xD0\x73\xAC\x92\x90\x92\x38\x40\x8F\x7F\x1D\x00\xB1\x92\x69\x6F\xB3\x92\x14\x92\x9F\x7E\x34\x0E\x2A\x00\xB8\x92\xFB\x10\x3C\x00\xF1\x22\x4C\x92\x1E\x91\xDA\x7B\xBF\x92\x71\x16\x4B\x00\xC2\x92\xB4\x92\xD7\x88\xFE\x67\x44\x00\xDA\x56\x6B\x07\x50\x00\xDA\x56\xB5\x7E\xF1\x22\x23\x92\xE2\x8C\x2B\x64\xCE\x92\x23\x43\xD1\x92\xA8\x46\xD3\x92\xB4\x92\x1B\x90\x78\x64\xD7\x92\x26\x48\xD9\x92\xC5\x4D\xDB\x92\x14\x92\xF4\x88\xA0\x7C\xDF\x92\x31\x68\xE1\x92\x92\x4F\xE3\x92\x3A\x92\x0D\x76\x12\x67\x7C\x00\xE7\x92\x18\x76\xE9\x92\xDB\x7E\xEB\x92\x63\x92\x53\x91\x1A\x6E\xC6\x92\x29\x89\xF2\x92\x2D\x1A\xC9\x92\x12\x01\x73\x69\x5E\x76\x49\x8F\xFB\x8B\xBD\x21\xFE\x92\x00\x00\xA4\x62\x64\x91\xDA\x8B\xBA\x18\x05\x93\xDD\x91\x6C\x64\x99\x00\xDA\x56\xFA\x73\xAF\x00\x37\x90\x04\x93\x2C\x7A\xB7\x64\xA4\x00\x0D\x93\x26", - "\x06\xBC\x00\x10\x93\x09\x93\x26\x72\xF1\x81\xF0\x92\xA3\x15\xC9\x00\xF4\x92\xC3\x6B\xF4\x91\x1F\x7C\xBB\x00\x1C\x93\xBD\x21\xD7\x00\x1F\x93\x01\x01\x19\x93\x84\x85\xB2\x72\x24\x93\xF8\x22\xE5\x00\x27\x93\x11\x93\x69\x90\xBE\x62\xD3\x00\x2C\x93\xBA\x18\xF3\x00\x2F\x93\x19\x93\x0D\x92\x0E\x0F\xDF\x00\x15\x93\x53\x09\x01\x00\x0A\x91\x30\x93\x23\x88\x99\x92\x34\x93\xA1\x21\x0E\x00\xB6\x37\xB1\x18\x19\x93\x1D\x92\x34\x0E\xF6\x00\x43\x93\xB4\x62\x46\x93\xF6\x55\x31\x88\x0C\x84\xB9\x27\x99\x6F\x2A\x00\x4E\x93\xF9\x55\x8A\x90\x85\x64\x0E\x00\x52\x93\x26\x06\x38\x00\x55\x93\x0C\x01\x19\x93\x33\x92\x48\x69\x1A\x00\x5A\x93\x53\x09\x46\x00\x5D\x93\x03\x01\x19\x93\x3C\x92\x7E\x11\x26\x00\x63\x93\xFB\x10\x54\x00\x66\x93\x20\x93\x78\x89\xCE\x6A\xB9\x27\xE4\x6D\x62\x00\xB6\x37\x7D\x2A\x19\x93\x4E\x92\xA0\x0C\x6C\x93\x71\x16\x71\x00\x6F\x93\x28\x93\xB1\x90\x9D\x66\x4B\x00\x7B\x93\xA3\x15\xC2\x90\xA9\x2C\x19\x93\xB9\x90\xB7\x64\x57\x00\xB9\x27\xFA\x73\x8D\x00\x3F\x93\x19\x93\x9E\x8F\x7E\x11\x62\x00\x8B\x93\x70\x8B\x8E\x93\xA5", - "\x8F\xBE\x62\x6D\x00\x73\x93\x75\x88\xB6\x37\x96\x04\x19\x93\x73\x92\x03\x01\x7A\x00\x99\x93\x89\x7F\x9B\x93\x4F\x93\x83\x8C\x12\x67\x87\x00\x83\x93\xA8\x7F\x7E\x93\x40\x93\x21\x6E\x6C\x64\x93\x00\xA8\x93\xF8\x22\xF3\x90\x86\x93\xE5\x90\x85\x64\x9F\x00\xA1\x93\xFB\x10\xE3\x00\x76\x93\xA4\x93\x98\x8C\x12\x67\xAC\x00\xAF\x93\xBA\x18\xF2\x00\xAA\x93\x19\x93\xD1\x8F\x5E\x63\xB8\x00\xBE\x93\x25\x61\xFA\x09\x47\x93\x9F\x92\xDF\x06\xC4\x00\xB6\x93\x71\x16\x0E\x00\xFA\x09\x9C\x93\xCA\x93\x8A\x92\xCD\x93\xA3\x15\x1E\x00\xD0\x93\xBA\x93\xA2\x82\x19\x67\xDE\x00\xD4\x93\x49\x6A\xD7\x93\x56\x93\xF1\x8F\x0F\x69\xDC\x93\xF8\x22\x3E\x00\xDE\x93\x5E\x93\xF9\x8F\x60\x7B\xE2\x93\xBA\x18\x4E\x00\xFA\x09\x77\x93\xC4\x92\x05\x92\x9F\x25\xE4\x6D\x5D\x00\xEC\x93\xD8\x93\x89\x7D\x19\x67\x12\x00\x9F\x25\x6B\x07\x1E\x00\x9F\x25\x91\x01\x6C\x00\xC8\x93\xF4\x93\x78\x8E\x32\x65\x20\x00\xF8\x93\xC0\x36\xFB\x93\x3A\x4E\xFE\x93\xDF\x93\xAC\x77\x19\x67\x2E\x00\x03\x94\xF4\x59\x05\x94\x79\x50\x07\x94\xE6\x93\x41\x91\x9D\x66\x3C\x00\x0C\x94\x77", - "\x0A\x0E\x94\x5B\x5F\x10\x94\x67\x93\xED\x92\x32\x65\x4A\x00\x15\x94\x18\x06\x17\x94\xD2\x25\x19\x94\x70\x93\x35\x90\x9D\x66\x58\x00\xF0\x93\x81\x45\x20\x94\x4D\x56\xF3\x93\x12\x01\xAB\x62\x02\x01\xB2\x62\x1F\x84\x3F\x90\xB0\x6F\x03\x56\x00\x93\x10\x88\xF2\x87\x3D\x8A\x4B\x91\x9F\x25\xFA\x73\xCF\x91\xD8\x17\x2F\x94\x6B\x85\x12\x67\x72\x00\x39\x94\x26\x78\x56\x91\xD5\x71\x54\x90\x40\x0A\x7D\x00\x1E\x94\xA3\x15\xDB\x00\x22\x94\xE4\x74\x21\x93\xEB\x29\x89\x00\x48\x94\xBD\x21\xE9\x00\x4B\x94\x00\x00\x3D\x94\x91\x88\xC7\x83\x50\x94\xF8\x22\xF7\x00\x53\x94\x55\x94\x1B\x83\x6C\x64\xA1\x00\x58\x94\xBA\x18\x06\x92\xA9\x2C\x5C\x94\x4D\x8F\xAE\x91\x41\x94\x53\x09\x13\x00\xA2\x92\x2E\x94\x71\x8A\xB7\x64\xB8\x00\x60\x94\xC4\x85\xAE\x29\xB1\x18\x64\x94\x49\x93\x3B\x0B\xC4\x00\x6F\x94\xB6\x24\x2E\x00\x71\x94\xFF\x55\x50\x93\x32\x65\xD0\x00\x77\x94\xDB\x21\x3C\x00\x7A\x94\x12\x01\x64\x94\x18\x82\xFE\x67\xDC\x00\x7F\x94\xE8\x25\x4A\x00\x82\x94\x0C\x01\x64\x94\x60\x93\x1F\x7C\xE8\x00\x88\x94\xDE\x26\x3E\x92\x63\x94\x72\x89\x73", - "\x74\x91\x94\xEE\x26\x66\x00\x8B\x94\x44\x94\x71\x93\x9D\x66\x0D\x6D\xA6\x26\xDB\x21\x74\x00\xAE\x29\x7D\x2A\x64\x94\x79\x93\xBD\x02\xDA\x37\x99\x6F\x83\x00\x9A\x94\x6B\x94\x55\x92\x9D\x66\x19\x00\xA7\x94\x26\x06\x91\x00\xAA\x94\x4C\x94\x5C\x92\x32\x65\x25\x00\xDA\x37\xFA\x73\x6C\x92\x3C\x94\x64\x92\x12\x67\x30\x00\xB7\x94\x26\x06\xAC\x00\x6A\x94\xB3\x94\x6A\x92\xBE\x62\x3B\x00\xDA\x37\xFA\x87\xAE\x29\x96\x04\x64\x94\x9E\x93\x97\x23\xC6\x94\x26\x06\xC9\x00\xC8\x94\x7B\x94\xA5\x93\xE6\x6A\xAF\x94\x53\x09\xD9\x00\xB2\x94\x54\x94\x82\x92\xB7\x64\x61\x00\xD4\x94\x96\x88\xD7\x94\x64\x94\x89\x92\xCA\x01\x6D\x00\xCD\x94\x1F\x88\xA2\x94\xD1\x94\xBB\x93\x32\x65\x7A\x00\xDC\x94\x71\x16\x04\x00\xDA\x56\x72\x94\x98\x92\x54\x61\x86\x00\xEA\x94\x2E\x88\xED\x94\xE6\x94\x88\x7E\xA8\x7E\xE3\x94\xB0\x5E\xDA\x56\xC9\x94\xD2\x93\x52\x8E\xF8\x94\x71\x16\x30\x00\xFA\x94\xF5\x94\x97\x7E\xC7\x69\xFE\x94\x96\x6B\x01\x95\x83\x94\xAE\x92\xFE\x67\xB9\x00\x05\x95\xBD\x21\xD0\x92\x9D\x2B\x64\x94\xBC\x92\x3B\x0B\xC6\x00\x0C\x95\xF8\x22\x60", - "\x00\xDA\x56\xA3\x94\xEE\x93\x48\x69\xD3\x00\x14\x95\xBA\x18\x6F\x00\x17\x95\x02\x95\x25\x91\x9D\x66\xE0\x00\xF2\x94\x5A\x5A\xDA\x37\x91\x01\x7E\x00\xF4\x94\x08\x95\x12\x90\x9D\x66\xEE\x00\x24\x95\xBB\x82\x26\x95\x11\x51\x29\x95\x8C\x94\x0E\x8D\x6C\x64\xFC\x00\x2E\x95\x08\x00\xA4\x27\x91\x01\x9A\x00\x32\x95\x9B\x94\xA8\x8D\x35\x8F\xA4\x27\xCE\x82\x39\x95\xF2\x55\x3C\x95\xAB\x94\x29\x8A\x85\x64\x18\x00\x40\x95\x3F\x04\x42\x95\x07\x57\x44\x95\xC2\x94\x07\x8D\xC6\x6A\xA4\x27\x4A\x04\x33\x00\x4B\x95\xE9\x57\x1F\x95\x12\x01\xB9\x62\x3D\x95\x43\x90\x01\x93\xF8\x22\x58\x95\x02\x01\xC0\x62\x5A\x95\x35\x94\x53\x09\x5F\x95\x62\x8E\x19\x67\x35\x00\xA4\x27\x09\x85\xDB\x21\x63\x95\x6D\x91\xFB\x72\xA4\x27\xFE\x17\x3E\x00\xA4\x27\x18\x61\x6A\x95\x76\x91\x19\x67\x3F\x00\x6D\x95\x7B\x3A\x70\x95\x26\x06\x72\x95\x7E\x91\x0E\x0F\x46\x00\x76\x95\x12\x01\x4C\x00\x78\x95\x62\x95\x2E\x8D\x54\x61\x4D\x00\x7E\x95\x03\x41\x81\x95\xC6\x8F\xAE\x86\x6C\x64\x54\x00\x86\x95\x38\x15\x88\x95\x71\x16\x72\x95\x96\x91\x82\x8B\x8D\x95\x73\x11\x8F", - "\x95\xA3\x15\x72\x95\x25\x8E\x1F\x7C\x62\x00\x94\x95\x01\x01\x68\x00\x96\x95\xBD\x21\x72\x95\xA6\x91\x48\x69\x69\x00\x9C\x95\x2F\x49\x9F\x95\xF8\x22\x72\x95\xF7\x8E\x34\x0E\x70\x00\xA5\x95\x76\x00\xA7\x95\xBA\x18\x72\x95\xB5\x91\xDF\x06\x77\x00\xA5\x95\x7D\x00\xAF\x95\xA1\x21\x72\x95\xBD\x91\x3B\x0B\x7E\x00\xA5\x95\x84\x00\xB7\x95\xB6\x24\x72\x95\xC5\x91\xDF\x06\x85\x00\xA5\x95\x8B\x00\xBF\x95\x69\x95\xB0\x73\x9E\x71\xA5\x95\x92\x00\xC7\x95\x91\x8A\xF3\x86\x19\x67\x93\x00\xA5\x95\x99\x00\xCD\x95\xDE\x26\xC9\x62\x1A\x57\x30\x94\x1C\x61\x9A\x00\x54\x95\x71\x16\xCB\x62\x1C\x8F\x6C\x64\x9C\x00\xA4\x27\xFA\x73\x33\x93\xD8\x17\xDD\x95\x25\x8F\xD2\x71\xE1\x95\x26\x06\xE0\x00\xF8\x92\x01\x01\xE5\x95\x0C\x44\xAA\x65\xB2\x00\x49\x95\x53\x09\xED\x00\x4D\x95\x00\x00\xED\x95\x2B\x89\x9D\x66\xBE\x00\xF1\x95\xFB\x10\xFB\x00\xF4\x95\xF6\x95\x2A\x93\xB7\x64\xCA\x00\xFA\x95\x71\x16\x09\x00\xB9\x27\xB1\x18\xF6\x95\x04\x92\x48\x69\xD6\x00\x02\x96\xA3\x15\x17\x00\x05\x96\x16\x85\xF8\x81\x54\x61\xE2\x00\xE8\x95\x44\x82\xE2\x93\xF6", - "\x95\x9C\x85\xFE\x67\xED\x00\x0B\x96\xBD\x21\x32\x00\x0E\x96\x07\x56\xA3\x85\x54\x61\xF9\x00\x1A\x96\xF8\x22\x40\x00\x1D\x96\x30\x60\x7C\x94\xC0\x6D\x1E\x27\x99\x6F\x4E\x00\x25\x96\x03\x01\xF6\x95\x85\x94\x48\x69\x11\x00\x29\x96\x26\x06\x5C\x00\x2C\x96\x02\x01\xF6\x95\x8E\x94\xEE\x60\x32\x96\x53\x09\x6A\x00\x35\x96\xEC\x95\x95\x94\x32\x65\x29\x00\x3A\x96\xFB\x10\x78\x00\x3D\x96\xF5\x95\xA2\x90\x54\x61\x35\x00\x1E\x27\xE4\x6D\x86\x00\xB9\x27\x7D\x2A\xF6\x95\xA5\x94\x82\x0A\x42\x96\xE0\x87\x45\x96\xF6\x95\x8F\x8F\x34\x0E\x4E\x00\x52\x96\xA3\x15\xA3\x00\x54\x96\x96\x8F\xB4\x74\x1E\x27\xFA\x73\xB1\x00\x15\x96\xBB\x94\x32\x65\x65\x00\x5F\x96\x26\x06\xBE\x00\x62\x96\xC7\x90\x4B\x86\x4A\x96\xA0\x8A\xB9\x27\x96\x04\xF6\x95\xCB\x94\xE0\x64\x6C\x96\x53\x09\xDB\x00\x6E\x96\x0F\x96\xD2\x94\x1A\x6E\x59\x96\xBD\x21\xEB\x00\x5C\x96\x89\x8C\x54\x61\x96\x00\x7A\x96\xF8\x22\xF9\x00\x7D\x96\x20\x6D\xCE\x83\x73\x96\xFB\x10\x07\x00\x9F\x25\x4E\x96\x89\x78\x19\x67\xAF\x00\x81\x96\x8A\x62\x9F\x25\x06\x96\xEF\x94\xBE\x62\xBB\x00\x8F", - "\x96\xA1\x21\x24\x00\x91\x96\x77\x96\xAF\x8C\x48\x69\xC7\x00\x87\x96\x71\x16\x32\x00\x9F\x25\x6F\x96\xFC\x94\x9F\x79\x9E\x96\xA3\x15\x42\x00\xA1\x96\x9A\x96\xD9\x93\x12\x67\xE1\x00\xA5\x96\xBD\x21\x52\x00\xA8\x96\x1E\x96\xE0\x93\xBE\x62\xEE\x00\xAD\x96\xF8\x22\x62\x00\xB0\x96\x26\x96\xA9\x82\xBE\x62\xFB\x00\xB5\x96\xBA\x18\x40\x94\x16\x2E\xF6\x95\xD0\x8C\x48\x69\x08\x00\xE2\x08\xE4\x6D\x81\x00\x8A\x96\xA9\x96\xF5\x93\x12\x67\x15\x00\xE2\x08\x74\x6E\xE2\x08\x91\x01\x90\x00\x99\x96\xB1\x96\x0B\x8A\x12\x67\x23\x00\xCD\x96\x7A\x37\xCF\x96\xB4\x54\xD2\x96\xB9\x96\x09\x94\x12\x67\x31\x00\xD7\x96\x57\x05\xD9\x96\x57\x95\xDB\x96\x2D\x96\x24\x90\xFF\x73\xE0\x96\xCC\x3D\xE2\x96\x2A\x57\xE4\x96\x36\x96\x1B\x94\x9D\x66\x4D\x00\xE8\x96\x28\x42\xEA\x96\x5A\x60\xEC\x96\x3E\x96\xF6\x92\x54\x61\x5B\x00\xC5\x96\xA8\x46\xF3\x96\xE1\x66\xC8\x96\x09\x56\x15\x01\x06\x57\xD8\x95\x11\x88\xBA\x18\xE3\x5D\x03\x01\xD6\x62\x60\x95\x31\x94\xFB\x10\x07\x97\x8E\x7C\x6C\x64\x6A\x00\xE2\x08\xFA\x73\xE5\x00\x27\x94\x0B\x56\x12\x93\x5E\x63\x75", - "\x00\x0F\x97\x26\x06\xF2\x00\x12\x97\x0C\x01\x0B\x97\xEE\x95\xD0\x81\xF1\x96\x3D\x17\xF5\x96\x00\x00\x1C\x97\xF7\x95\x0F\x6D\x1F\x97\x79\x63\xDA\x37\xB1\x18\x23\x97\xFF\x95\x5E\x63\x98\x00\x26\x97\xF1\x6A\x28\x97\xD5\x62\x10\x8C\x12\x67\xA4\x00\x2E\x97\xF9\x6A\x30\x97\x13\x97\x46\x89\x54\x61\xB0\x00\x17\x97\xD6\x8A\x14\x95\x23\x97\x17\x96\x48\x69\xBB\x00\x35\x97\xA1\x21\x44\x00\x37\x97\x1B\x97\x1F\x96\xBE\x62\xC7\x00\x43\x97\xB6\x24\x52\x00\x46\x97\x06\x97\x27\x96\x54\x61\xD3\x00\x4B\x97\xDB\x21\x60\x00\x4E\x97\x02\x01\x23\x97\x2F\x96\x1F\x7C\xDF\x00\x53\x97\xE8\x25\x6E\x00\x56\x97\x01\x01\x23\x97\x38\x96\x7E\x11\xEB\x00\x5C\x97\xDE\x26\x7C\x00\x5F\x97\x22\x97\x3F\x96\x9D\x66\xF7\x00\x65\x97\xEE\x26\x8A\x00\x68\x97\x23\x97\x45\x92\x0E\x0F\x03\x00\x47\x09\xE4\x6D\x98\x00\xDA\x37\x7D\x2A\x23\x97\x50\x96\x87\x04\x47\x09\x99\x6F\xA7\x00\x70\x97\x80\x93\xE6\x73\x7D\x97\x26\x06\xB5\x00\x80\x97\xB4\x94\xEF\x73\x47\x09\xFA\x73\xC3\x00\x3E\x97\x63\x96\x9D\x66\x33\x00\x89\x97\x9D\x89\x8C\x97\x6A\x96\xC2\x8A\x75\x97\x26", - "\x06\xDD\x00\xDA\x37\x96\x04\x23\x97\x71\x96\xA7\x64\x95\x97\xF2\x95\x98\x97\x31\x97\x78\x96\x54\x61\x58\x00\x83\x97\x53\x09\xFD\x00\x86\x97\x4A\x77\xAA\x66\x64\x00\xA4\x97\xFB\x10\x0B\x00\xA4\x27\x29\x97\xB3\x93\xB7\x64\x70\x00\x9D\x97\xFB\x10\x19\x00\xA4\x27\x79\x97\x8C\x96\x12\x6E\xAB\x97\x71\x16\x28\x00\xAE\x97\xA0\x97\x84\x82\x32\x65\x89\x00\xBA\x97\x58\x8A\xBD\x97\x38\x97\x9B\x96\x1F\x7C\x95\x00\xB3\x97\xA9\x7A\xA4\x27\x99\x97\xA3\x96\x74\x8F\xC9\x97\xBA\x65\xCB\x97\xBE\x97\xAA\x96\x74\x79\xCF\x97\xBD\x21\x64\x00\xD1\x97\xC5\x97\xD3\x97\x9D\x66\xBC\x00\xD5\x97\x57\x6C\xD8\x97\x47\x97\xBA\x96\x85\x64\xC9\x00\xDD\x97\xBA\x18\xBE\x95\x16\x2E\x23\x97\xC2\x96\x1F\x7C\xD6\x00\xE4\x97\xA1\x21\xD1\x95\xE7\x97\x5A\x8E\x54\x61\xE3\x00\xC2\x97\x01\x01\xEF\x00\x47\x09\x91\x01\xA2\x00\xC4\x97\xE0\x97\xD4\x96\x38\x88\xF3\x97\x00\x00\xFD\x00\xF6\x97\x15\x01\xB0\x00\xF9\x97\x4F\x97\x15\x8A\x6B\x70\xFD\x97\x0B\x00\x0A\x0A\x91\x01\xF9\x95\xA9\x2C\x23\x97\xE5\x92\xBD\x7A\x0A\x0A\x6B\x07\x19\x00\x09\x98\xF5\x58\x03\x98\x57", - "\x97\xEE\x96\x54\x61\x1B\x00\x10\x98\x81\x01\x13\x98\x08\x5A\x15\x98\x60\x97\x33\x8A\x9D\x66\x29\x00\x0A\x0A\x4A\x04\x36\x00\x1C\x98\x3E\x5A\xB6\x97\x51\x56\xA2\x56\x06\x93\x44\x90\xBA\x18\x1E\x56\x01\x97\x08\x97\x88\x8D\x11\x88\x7E\x56\xDE\x91\x34\x0E\x38\x00\x0A\x0A\xFA\x73\xF7\x00\x51\x95\x2A\x98\x1A\x89\xF1\x82\x37\x98\x26\x06\x04\x00\xB5\x96\x7E\x56\x4B\x8A\xDF\x06\x4E\x00\x1A\x98\x7E\x6B\x1E\x27\xB1\x18\x7E\x56\x5C\x90\x3B\x5E\x46\x98\xFB\x10\x1F\x00\x48\x98\x3B\x98\x22\x88\x19\x67\x66\x00\x4D\x98\x71\x16\x2D\x00\x50\x98\xB7\x56\xED\x73\x75\x66\x55\x98\xA3\x15\x3B\x00\x58\x98\x0C\x01\x7E\x56\x39\x93\x34\x0E\x7E\x00\x3E\x98\x53\x09\x49\x00\x41\x98\x6C\x94\x26\x83\x5C\x98\xBD\x21\x56\x00\x5F\x98\x03\x01\x7E\x56\x74\x94\x40\x0A\x95\x00\x6B\x98\xF8\x22\x64\x00\x6E\x98\xAE\x56\x7E\x8A\x12\x67\xA1\x00\x74\x98\xBE\x96\x77\x98\x01\x01\x7E\x56\x59\x97\xEB\x29\xAD\x00\x7C\x98\x63\x7F\x7E\x98\x78\x56\x92\x90\xBE\x62\xB9\x00\x84\x98\xB6\x24\x8E\x00\x86\x98\x7E\x56\x69\x93\x0E\x0F\xC5\x00\x8B\x98\xDB\x21\x9C\x00\x8E", - "\x98\x47\x96\xBE\x62\xD1\x00\x23\x98\xCB\x7D\x1E\x27\x7D\x2A\x7E\x56\x7B\x97\x02\x01\xDE\x00\x93\x98\xE8\x25\xB9\x00\x96\x98\xAC\x94\x09\x69\xA2\x98\xDE\x26\x9D\x96\xA9\x2C\x7E\x56\x88\x93\x56\x85\x65\x98\xFB\x10\xD5\x00\x68\x98\xBA\x8A\x6E\x83\xBD\x37\xFA\x73\xE2\x00\xB2\x98\xC3\x94\x85\x64\x0C\x00\xBD\x37\xE4\x6D\xEF\x00\x1E\x27\x96\x04\x7E\x56\x9B\x97\x19\x00\xBC\x98\x42\x07\xBF\x98\x51\x98\x82\x88\x8B\x89\xBD\x37\x99\x6F\x0F\x00\xE2\x08\x49\x98\xD9\x94\x5E\x63\x32\x00\xCA\x98\x26\x06\x1D\x00\xCD\x98\x51\x98\xE0\x94\xA7\x37\xC4\x98\x53\x09\x2B\x00\xE2\x08\x9D\x98\xB8\x97\x32\x65\x4B\x00\xD2\x98\x53\x09\x3A\x00\xD5\x98\x59\x98\xCC\x89\xAA\x66\x57\x00\xE1\x98\xFB\x10\x48\x00\xE4\x98\x60\x98\xCD\x97\xFC\x44\xD9\x98\xFB\x10\x56\x00\xE2\x08\xC0\x98\xEE\x98\x46\x71\xF0\x98\xEB\x85\xF3\x98\x51\x98\x07\x91\x5E\x63\x7D\x00\xF7\x98\xA3\x15\x76\x00\xF9\x98\xE5\x98\xEB\x89\x19\x67\x8A\x00\xFE\x98\xBD\x21\x86\x00\x01\x99\xED\x98\xE1\x97\xB7\x64\x97\x00\x06\x99\xF8\x22\x96\x00\xDC\x98\x51\x98\xE9\x97\xEB\x29\xA4\x00\x0E", - "\x99\xBA\x18\xA5\x00\x11\x99\x02\x99\x01\x8A\xE2\x71\xE9\x98\x3D\x57\xBD\x37\x91\x01\xB4\x00\xEC\x98\x6F\x98\xD5\x92\x85\x64\xBF\x00\x1D\x99\x31\x85\x1F\x99\xBF\x57\x22\x99\x78\x98\xDD\x96\x32\x65\xCD\x00\x27\x99\x31\x6F\x29\x99\x12\x01\xD0\x00\x2B\x99\x7F\x98\xE6\x96\xB3\x75\x30\x99\x00\x00\xE7\x00\x32\x99\xF6\x84\x35\x99\x87\x98\x4A\x91\x03\x69\x39\x99\xF5\x00\x3C\x99\x2F\x8A\x3E\x99\x7E\x56\x3D\x73\xB7\x64\xF7\x00\x0E\x99\x04\x00\xA1\x0C\x91\x01\xFA\x00\x19\x99\xDC\x62\x1A\x99\x61\x8B\xF8\x22\xD2\x56\x2F\x98\x2B\x98\x5B\x95\xBA\x18\x56\x99\xA0\x43\xAA\x65\x06\x00\xA1\x0C\x68\x95\xE8\x25\x5A\x99\x00\x00\xCA\x8E\x3B\x0B\x09\x00\xA1\x0C\xFE\x17\x0F\x00\xA1\x0C\x18\x61\x61\x99\xFE\x8D\x8C\x5C\x66\x99\x34\x2B\x69\x99\x84\x97\x79\x8B\xD5\x76\x6E\x99\x6A\x62\x70\x99\x53\x09\x61\x99\x86\x91\x40\x0A\x1E\x00\x74\x99\xA9\x0A\x76\x99\xFB\x10\x61\x99\x8E\x91\x0E\x0F\x25\x00\x7C\x99\x03\x01\x2B\x00\x7E\x99\x71\x16\x61\x99\x92\x95\x34\x0E\x2C\x00\x84\x99\xBA\x5B\x87\x99\xA3\x15\x61\x99\x99\x95\xEB\x29\x33\x00\x8D\x99\xEC", - "\x56\x8F\x99\xBD\x21\x61\x99\xA2\x95\x1F\x7C\x3A\x00\x95\x99\x36\x38\x97\x99\xF8\x22\x61\x99\xAA\x95\x3B\x0B\x41\x00\x9D\x99\x47\x00\x9F\x99\x59\x99\x0A\x5A\x6C\x64\x48\x00\x9D\x99\x4E\x00\xA7\x99\x7E\x92\xD2\x8D\xA3\x90\x9D\x99\x55\x00\xAE\x99\xB6\x24\x61\x99\xC2\x95\xBD\x03\x56\x00\x9D\x99\x5C\x00\xB4\x99\xDB\x21\x61\x99\xCD\x91\xDF\x06\x5D\x00\x9D\x99\x63\x00\xBC\x99\x60\x99\xCF\x95\x12\x67\x64\x00\x9D\x99\x6A\x00\xC4\x99\xDE\x26\x7B\x69\xF6\x96\x02\x97\x7D\x70\x02\x01\x20\x57\xEC\x92\x3E\x90\x31\x98\xE6\x7A\x15\x01\xD6\x95\x57\x99\x61\x95\xFB\x10\x4F\x57\x0C\x01\xD2\x99\x30\x98\x03\x97\xA1\x21\xDE\x62\x00\x00\x25\x57\xDF\x99\xD0\x99\x01\x01\x30\x57\x03\x01\x35\x57\xE5\x99\xB0\x47\x4D\x99\x16\x93\x67\x91\x27\x68\xCB\x99\x09\x97\xE9\x99\x69\x59\x32\x65\x6E\x00\xA1\x0C\x0B\x79\xF1\x99\x1C\x61\xEA\x99\x02\x01\x6C\x99\x3B\x0B\x73\x00\xF7\x99\x14\x79\xF9\x99\xCA\x01\xFB\x99\xB4\x84\x6C\x64\x78\x00\x00\x9A\x1D\x79\x02\x9A\xE0\x6B\x83\x95\x7C\x71\x08\x9A\x1B\x4F\x0A\x9A\x12\x01\x04\x9A\x9B\x87\x6C\x64\x82\x00\x0E", - "\x9A\x0B\x50\x10\x9A\x31\x57\x3D\x8D\xA6\x93\x16\x9A\x36\x79\x18\x9A\xF3\x99\xA8\x87\xAA\x66\x8C\x00\x1C\x9A\x16\x65\x1E\x9A\x02\x01\x12\x9A\x9A\x99\xEB\x29\x91\x00\x23\x9A\x46\x79\x25\x9A\x34\x57\xC5\x8D\x23\x6E\x2B\x9A\x9A\x00\x2D\x9A\x00\x00\x12\x9A\xB2\x95\xBD\x03\x9B\x00\x2B\x9A\x9F\x00\x33\x9A\x12\x9A\xBA\x95\x40\x0A\xA0\x00\x2B\x9A\xA4\x00\x3B\x9A\xE5\x86\x81\x80\x2B\x9A\xA9\x00\x42\x9A\xEB\x86\x1E\x6B\x2B\x9A\xAE\x00\x47\x9A\x0C\x01\xD5\x91\x3B\x0B\xAF\x00\x2B\x9A\xB3\x00\x33\x9A\x42\x57\x53\x57\xCF\x99\xC8\x56\xED\x99\x53\x09\x55\x9A\x7A\x87\xAA\x65\xB6\x00\x33\x9A\xBA\x18\x5A\x9A\xF7\x8D\x12\x67\xB7\x00\x2B\x9A\xBB\x00\x33\x9A\x60\x9A\x55\x7B\x6C\x64\xBC\x00\x2B\x9A\xC0\x00\x66\x9A\x72\x99\x78\x73\x2B\x9A\xC5\x00\x6D\x9A\xBC\x84\xAA\x66\xC6\x00\x2B\x9A\xCA\x00\x72\x9A\x80\x8E\x6C\x64\xCB\x00\x2B\x9A\xCF\x00\x78\x9A\xD9\x71\x6C\x64\xD0\x00\x2B\x9A\xD4\x00\x7E\x9A\x02\x01\x92\x99\x7E\x11\xD5\x00\x2B\x9A\xD9\x00\x84\x9A\x31\x6F\x6C\x64\xDA\x00\x2B\x9A\xDE\x00\x8B\x9A\x00\x00\xA2\x99\x40\x0A\xDF\x00\x2B", - "\x9A\xE3\x00\x91\x9A\x36\x9A\xCA\x01\xE4\x00\x2B\x9A\xE8\x00\x91\x9A\x3D\x9A\xDF\x06\xE9\x00\x2B\x9A\xED\x00\x91\x9A\xB7\x99\xCA\x01\xEE\x00\x2B\x9A\xF2\x00\x91\x9A\xBF\x99\xBD\x03\xF3\x00\x2B\x9A\xF7\x00\x91\x9A\x4E\x9A\x40\x0A\xF8\x00\x2B\x9A\xFC\x00\x33\x9A\x5B\x57\xC4\x73\x02\x8A\xA1\x0C\xFA\x73\x09\x00\xDD\x97\xB7\x9A\xF8\x82\xAA\x66\x08\x00\x13\x38\xFA\x73\x16\x00\xBD\x9A\x45\x94\xDF\x06\x13\x00\x13\x38\x99\x6F\x23\x00\x47\x09\xB1\x18\xBE\x9A\x14\x73\x54\x61\x1F\x00\xC9\x9A\xEE\x68\xCC\x9A\xBD\x7F\xFC\x91\xFE\x67\x2B\x00\xD2\x9A\x53\x09\x3F\x00\xD4\x9A\x72\x80\x32\x97\x32\x65\x37\x00\xD9\x9A\xFB\x10\x4D\x00\xDC\x9A\x0C\x01\xCE\x9A\x02\x01\x62\x98\x3B\x0B\x43\x00\xC2\x9A\x26\x06\x5B\x00\xC5\x9A\x76\x90\x5E\x7C\xE1\x9A\x71\x16\x68\x00\xE4\x9A\x03\x01\xE6\x9A\xD6\x84\xAA\x65\x5A\x00\xF1\x9A\xFF\x98\xF4\x9A\x02\x01\xF6\x9A\x0F\x82\x14\x71\xFA\x9A\xBD\x21\x84\x00\xFC\x9A\x01\x01\xFE\x9A\x81\x98\x7E\x11\x72\x00\x01\x9B\xF8\x22\x92\x00\x04\x9B\x00\x00\xFE\x9A\x62\x97\x0E\x0F\x7E\x00\x0A\x9B\xBA\x18\xA0\x00\x0D", - "\x9B\xFE\x9A\x90\x98\x34\x0E\x8A\x00\x13\x9B\xA1\x21\xAE\x00\x16\x9B\x97\x98\x85\x64\x96\x00\x13\x38\xE4\x6D\xDC\x97\x16\x2E\xFE\x9A\x9F\x98\x01\x01\xA3\x00\x1B\x9B\xB6\x24\xCB\x00\x1E\x9B\xA6\x98\xBE\x62\xAF\x00\x2A\x9B\xDB\x21\xD9\x00\x2D\x9B\xB3\x8A\x12\x67\xBB\x00\xEB\x9A\x53\x09\xE7\x00\xEE\x9A\x99\x89\x81\x73\x38\x9B\xFB\x10\xF4\x00\x3B\x9B\x7A\x83\x11\x8C\x22\x9B\x75\x6B\x0A\x0A\x96\x04\xFE\x9A\x9B\x97\xDE\x00\x44\x9B\x7E\x6B\x46\x9B\xD5\x9A\xA1\x97\xBE\x62\xEB\x00\x31\x9B\xE8\x25\x21\x00\x0A\x0A\xCD\x9A\xCF\x98\xFE\x67\xF7\x00\x52\x9B\xDE\x26\x2F\x00\x55\x9B\x4E\x9B\x85\x96\x19\x67\x03\x00\xD1\x0C\xE4\x6D\x3D\x00\x0A\x0A\x7D\x2A\xFE\x9A\xE8\x8A\x8C\x5C\xD1\x0C\x99\x6F\x4C\x00\x5D\x9B\xDD\x9A\xF1\x90\x48\x69\x1C\x00\x6A\x9B\x26\x06\x5A\x00\x6D\x9B\xE5\x9A\xF5\x98\x02\x01\x28\x00\x62\x9B\x26\x06\x68\x00\x4D\x9B\x6E\x9B\xC6\x97\xEB\x29\x35\x00\x7A\x9B\x53\x09\x78\x00\x7D\x9B\x76\x9B\xB2\x96\x85\x64\x42\x00\x82\x9B\xFB\x10\x88\x00\x85\x9B\xF5\x9A\x09\x95\x48\x69\x4F\x00\x8A\x9B\x71\x16\x98\x00\x8D\x9B\xFD", - "\x9A\xE7\x93\x54\x61\x5C\x00\x92\x9B\xA3\x15\xA8\x00\x65\x9B\x5E\x9B\x07\x7B\x19\x67\x69\x00\x9A\x9B\xBD\x21\xB7\x00\x9D\x9B\x7E\x9B\x52\x86\xAA\x65\x76\x00\x72\x9B\x02\x81\xD1\x0C\x91\x01\xC6\x00\x75\x9B\x8E\x9B\x2B\x95\x54\x61\x84\x00\xAA\x9B\x0C\x01\x90\x00\xAC\x9B\x9F\x79\xAF\x9B\x96\x9B\x05\x98\xAA\x66\x92\x00\xB4\x9B\x6A\x6A\xB7\x9B\x1F\x5A\xB9\x9B\x05\x9B\x37\x99\x9D\x66\xA0\x00\xBE\x9B\x02\x01\xAC\x00\xC0\x9B\xB5\x5A\xC2\x9B\x0E\x9B\x17\x98\xBE\x62\xAE\x00\xC7\x9B\xEE\x74\xCA\x9B\x03\x01\xFE\x00\xCC\x9B\xFE\x9A\x48\x99\x5E\x63\xBC\x00\xA2\x9B\x00\x00\xC9\x00\xD3\x9B\x5F\x07\xBD\x37\x7D\x2A\x5D\x57\x8D\x43\x4B\x77\xD1\x0C\x5F\x99\xDE\x26\xE2\x9B\x90\x86\xAA\x66\xCE\x00\xD1\x0C\xFE\x17\xD4\x00\xD1\x0C\x18\x61\xE8\x9B\x98\x86\xAA\x65\xD5\x00\xEC\x9B\x0A\x5A\xEF\x9B\x26\x06\xF1\x9B\x02\x01\x7B\x95\x34\x0E\xDC\x00\xF5\x9B\x1F\x5A\xF7\x9B\x15\x6E\x0C\x9A\x85\x64\xE3\x00\xFE\x9B\x62\x85\x00\x9C\xFB\x10\xF9\x9B\x01\x01\x81\x99\x34\x0E\xEA\x00\x05\x9C\x87\x5A\x07\x9C\x71\x16\x09\x9C\xAF\x8D\x6C\x64\xF1\x00\x0E", - "\x9C\x02\x01\xF7\x00\x10\x9C\xA3\x15\x12\x9C\x86\x9A\x0E\x0F\xF8\x00\x16\x9C\x20\x80\x19\x9C\xBD\x21\x12\x9C\x28\x9A\x51\x12\x1F\x9C\x12\x08\x78\x0B\xF0\x9B\x2F\x9A\x85\x64\x06\x00\x78\x0B\xFE\x17\x0C\x00\x28\x9C\xF8\x9B\xA9\x99\xAA\x65\x0D\x00\x2D\x9C\x22\x03\x30\x9C\x01\x9C\xAC\x60\x5D\x7E\x35\x9C\xBA\x2C\x37\x9C\x08\x9C\x43\x9A\xAA\x66\x1B\x00\x3B\x9C\x9C\x14\x3D\x9C\x11\x9C\xC9\x95\xAA\x66\x22\x00\x42\x9C\xC4\x77\x44\x9C\x1A\x9C\xC6\x99\x40\x96\x49\x9C\x61\x37\x4B\x9C\xBD\x21\xEF\x5D\x12\x9C\x53\x99\xBA\x18\x84\x57\xC4\x8E\x40\x0A\x30\x00\x78\x0B\xE6\x9B\xEE\x26\x84\x57\x63\x99\x40\x0A\x33\x00\x4F\x9C\xEC\x56\x51\x9C\xF8\x22\x84\x57\xFD\x99\x40\x0A\x3A\x00\x62\x9C\x36\x38\x64\x9C\x56\x9C\x6E\x9A\x32\x65\x41\x00\x6A\x9C\x47\x00\x6C\x9C\xA1\x21\x84\x57\x79\x99\xDF\x06\x48\x00\x6A\x9C\x4E\x00\x73\x9C\xB6\x24\x84\x57\x0B\x9C\x3B\x0B\x4F\x00\x6A\x9C\x55\x00\x7B\x9C\xDB\x21\x84\x57\x8A\x99\x3B\x0B\x56\x00\x6A\x9C\x5C\x00\x83\x9C\xE8\x25\x84\x57\x1C\x9C\x34\x0E\x5D\x00\x6A\x9C\x63\x00\x8B\x9C\xDE\x26\x84\x57\x24", - "\x9C\x0E\x0F\x64\x00\x6A\x9C\x6A\x00\x93\x9C\x5D\x9C\x2A\x9C\xB7\x64\x6B\x00\x6A\x9C\x71\x00\x9B\x9C\x1C\x61\x84\x57\x99\x9A\x50\x4B\x6A\x9C\x78\x00\xA2\x9C\xCA\x01\x84\x57\x9F\x9A\xBD\x03\x79\x00\x6A\x9C\x7F\x00\xA9\x9C\xBF\x57\x3F\x9C\x19\x67\x80\x00\x6A\x9C\x86\x00\xB1\x9C\x50\x60\x46\x9C\x2B\x74\x6A\x9C\x8D\x00\xB8\x9C\x9A\x57\x4D\x9C\x9D\x66\x8E\x00\x6A\x9C\x94\x00\xBE\x9C\xD9\x57\xB2\x9C\xD4\x99\xE0\x99\xB6\x24\xF5\x57\x04\x87\x2B\x71\xC5\x9C\x89\x25\xBD\x37\x94\x04\xF5\x57\x0C\x87\xFD\x6D\xCE\x9C\x83\x64\xD0\x9C\xFC\x57\xB6\x66\x4D\x6D\xD5\x9C\x42\x25\xD7\x9C\xFE\x57\x71\x64\x3E\x73\xDB\x9C\x1E\x00\xDD\x9C\xFD\x57\xDF\x7B\x5E\x63\x99\x00\xDB\x9C\x1F\x00\xE3\x9C\xF0\x57\x2A\x87\x85\x64\x9A\x00\xDB\x9C\x20\x00\xEA\x9C\xF2\x57\x79\x66\xAA\x65\x9B\x00\xDB\x9C\x21\x00\xF1\x9C\xF4\x57\x3A\x87\x9B\x88\xDB\x9C\x22\x00\xF8\x9C\xF6\x57\xD5\x67\xBE\x62\x9D\x00\xDB\x9C\x23\x00\xFE\x9C\xF5\x57\x4A\x87\xBD\x03\x9E\x00\xDB\x9C\x24\x00\x05\x9D\xE2\x67\xBE\x62\x9F\x00\xDB\x9C\x25\x00\x0C\x9D\x29\x66\x54\x61\xA0\x00\xDB", - "\x9C\x26\x00\x12\x9D\x1F\x63\x8A\x8C\xDB\x9C\x27\x00\x18\x9D\xC9\x2B\x72\x62\xDB\x9C\x28\x00\x1D\x9D\xD6\x3F\x79\x62\xDB\x9C\x29\x00\x22\x9D\x01\x01\x85\x7C\x40\x0A\xA4\x00\x64\x9C\xA5\x00\x78\x0B\x91\x01\x2A\x00\xFE\x9C\x0F\x58\x64\x95\x6F\x86\x5B\x9C\xE6\x99\x00\x00\x32\x9D\x6B\x95\x12\x67\xAA\x00\x6A\x9C\xB0\x00\xDB\x9C\x38\x9D\x73\x95\x14\x88\x6A\x9C\xB7\x00\x3E\x9D\x6E\x9C\x9D\x66\xB8\x00\x6A\x9C\xBE\x00\x44\x9D\x73\x9A\x19\x67\xBF\x00\x6A\x9C\xC5\x00\x4A\x9D\x79\x9A\xCA\x80\x6A\x9C\xCC\x00\x50\x9D\x7F\x9A\xAA\x65\xCD\x00\x6A\x9C\xD3\x00\x55\x9D\x85\x9A\x6C\x64\xD4\x00\x6A\x9C\xDA\x00\x5B\x9D\x8C\x9A\xAA\x65\xDB\x00\x6A\x9C\xE1\x00\x61\x9D\x92\x9A\xA8\x86\x6A\x9C\xE8\x00\x67\x9D\xA5\x9C\x40\x5A\x6A\x9C\xEF\x00\x67\x9D\xAC\x9C\xCA\x01\xF0\x00\x6A\x9C\xF6\x00\x67\x9D\xA5\x9A\x9C\x5B\x6A\x9C\xFD\x00\x67\x9D\xAB\x9A\xCA\x01\xFE\x00\x6A\x9C\x04\x00\x84\x16\x18\x61\x3F\x9D\xB1\x9A\xDF\x06\x05\x00\x84\x16\xFE\x17\x0B\x00\x82\x9D\x26\x06\x1C\x59\x58\x9C\xDF\x06\x0C\x00\x84\x16\x5C\x9C\x1C\x61\x1C\x59\x5F\x9C\xDF", - "\x06\x0F\x00\x88\x9D\xA3\x2A\x8B\x9D\x53\x09\x1C\x59\x67\x9C\xDF\x06\x16\x00\x98\x9D\xA4\x29\x9A\x9D\x53\x6B\x45\x9D\x54\x61\x1D\x00\xA0\x9D\x14\x33\xA2\x9D\x71\x16\x1C\x59\x76\x9C\xBD\x03\x24\x00\xA7\x9D\x0E\x36\xA9\x9D\x58\x75\x8A\x95\xAA\x65\x2B\x00\xAF\x9D\x38\x26\xB1\x9D\xBD\x21\x1C\x59\x86\x9C\x40\x0A\x32\x00\xB6\x9D\x7F\x37\xB8\x9D\x31\x83\x9D\x91\x9D\x66\x39\x00\xBE\x9D\x5B\x64\xC0\x9D\xBA\x18\x1C\x59\x96\x9C\x34\x0E\x40\x00\xC5\x9D\x46\x00\xC7\x9D\xA1\x21\x1C\x59\x93\x9A\xDF\x06\x47\x00\xC5\x9D\x4D\x00\xCF\x9D\xB6\x24\x1C\x59\x6D\x9D\x2D\x6B\xC5\x9D\x54\x00\xD7\x9D\xDB\x21\x1C\x59\x72\x9D\x27\x41\xC5\x9D\x5B\x00\xDE\x9D\xE8\x25\x1C\x59\x78\x9D\x0D\x03\xC5\x9D\x62\x00\xE5\x9D\xDE\x26\x1C\x59\x7D\x9D\xEE\x44\xC5\x9D\x69\x00\xEC\x9D\xEE\x26\x1C\x59\x85\x9D\xBD\x03\x6A\x00\xC5\x9D\x70\x00\xF3\x9D\x1C\x61\x37\x58\x1C\x59\x55\x9C\xA1\x21\x96\x58\xCC\x9C\x7D\x4A\xFB\x9D\xD3\x63\xFE\x9C\x96\x58\xD3\x9C\x50\x4B\x04\x9E\xC0\x36\x06\x9E\x14\x87\x9D\x66\x73\x00\x0A\x9E\xEC\x19\x0C\x9E\xD9\x7B\xFE\x67\x74\x00\x10", - "\x9E\x7F\x10\x12\x9E\xE5\x9C\xFE\x67\x75\x00\x16\x9E\x51\x37\x18\x9E\xE6\x7B\x48\x69\x76\x00\x1C\x9E\x38\x03\x1E\x9E\xED\x7B\x55\x7D\x22\x9E\x01\x01\x31\x00\x24\x9E\xF3\x7B\x5E\x63\x78\x00\x27\x9E\xE8\x58\x2A\x9E\xF9\x7B\x5E\x63\x79\x00\x2E\x9E\x33\x00\x30\x9E\x07\x9D\xC3\x7B\x2E\x9E\x34\x00\x30\x9E\x52\x87\xBD\x03\x7B\x00\x2E\x9E\x35\x00\x30\x9E\x6E\x7C\xCA\x01\x7C\x00\x2E\x9E\x36\x00\x30\x9E\x74\x7C\x3F\x4F\x2E\x9E\x37\x00\x30\x9E\x17\x7C\xCA\x01\x7E\x00\x2E\x9E\x38\x00\x30\x9E\x7F\x7C\x7E\x11\x7F\x00\x2E\x9E\x39\x00\x30\x9E\x29\x9D\xDF\x06\x80\x00\xC0\x9D\x81\x00\x84\x16\x91\x01\x3A\x00\xFE\x9C\xF8\x5D\x5B\x9A\xE3\x6F\x91\x9D\x36\x9D\x62\x9E\x61\x9A\x32\x65\x86\x00\xC5\x9D\x8C\x00\x2E\x9E\x67\x9E\x68\x9A\x48\x80\xC5\x9D\x93\x00\x6D\x9E\xA4\x9D\xBE\x62\x94\x00\xC5\x9D\x9A\x00\x73\x9E\x4B\x9D\x54\x79\xC5\x9D\xA1\x00\x79\x9E\x51\x9D\xCE\x83\xC5\x9D\xA8\x00\x7E\x9E\x56\x9D\xAA\x66\xA9\x00\xC5\x9D\xAF\x00\x83\x9E\x5C\x9D\xAA\x65\xB0\x00\xC5\x9D\xB6\x00\x89\x9E\x62\x9D\xAA\x66\xB7\x00\xC5\x9D\xBD\x00\x8F\x9E\x68", - "\x9D\x28\x85\xC5\x9D\xC4\x00\x95\x9E\xDA\x9D\x0E\x58\xC5\x9D\xCB\x00\x95\x9E\xE1\x9D\x12\x01\xCC\x00\xC5\x9D\xD2\x00\x95\x9E\xE8\x9D\x7A\x59\xC5\x9D\xD9\x00\x95\x9E\xEF\x9D\x08\x5A\xC5\x9D\xE0\x00\x95\x9E\xF6\x9D\xCA\x01\xE1\x00\xC5\x9D\xE7\x00\x2E\x9E\xF0\x58\xE3\x9B\x6B\x74\x65\x9E\xCA\x70\x00\x00\xB6\x9E\xE9\x9B\x19\x67\xEB\x00\xC5\x9D\xF1\x00\xB5\x9E\xD0\x8E\x85\x64\xF2\x00\xC5\x9D\xF8\x00\xC2\x9E\xD5\x8E\xCD\x73\xC5\x9D\xFF\x00\xC8\x9E\xDB\x8E\xAA\x65\xCD\x39\x42\x64\xD7\x21\xBD\x0C\x18\x61\xBC\x9E\xE1\x8E\x12\x67\x07\x00\xBD\x0C\xFE\x17\x0D\x00\xD3\x9E\xBB\x6E\x1A\x9A\xD3\x75\xD9\x9E\x58\x1D\xDC\x9E\x53\x09\xD5\x9E\x8A\x9E\xAA\x66\x15\x00\xE0\x9E\x51\x2E\xE2\x9E\xFB\x10\xE4\x9E\x90\x9E\x19\x67\x1C\x00\xE8\x9E\x3F\x32\xEA\x9E\x71\x16\xEC\x9E\x96\x9E\xAA\x66\x23\x00\xF0\x9E\xFC\x35\xF2\x9E\xFF\x76\x32\x9C\x20\x8A\xF8\x9E\x38\x03\xFA\x9E\xBD\x21\xF4\x9E\xA0\x9E\xB4\x37\xFE\x9E\x7C\x37\x00\x9F\xB1\x7F\xB3\x9C\x4B\x8C\x05\x9F\xBC\x37\x07\x9F\xBA\x18\xF4\x9E\xAB\x9E\x58\x02\x0B\x9F\x45\x00\x0D\x9F\x86\x6C\xC0", - "\x9C\x54\x61\x46\x00\x0B\x9F\x4C\x00\x14\x9F\x2B\x9B\x55\x58\x34\x94\xF2\x99\xA3\x15\x1A\x59\x96\x58\xFF\x9D\xB6\x24\xF9\x58\xF2\x58\xC8\x9C\x36\x9D\x34\x59\x02\x9E\x4D\x00\x1B\x9F\xDB\x21\x3B\x00\xFE\x9C\x34\x59\x08\x9E\x7F\x3F\x2C\x9F\xE8\x25\x3C\x00\x2F\x9F\x0D\x9E\x90\x70\x33\x9F\xDE\x26\x3D\x00\x36\x9F\x13\x9E\x48\x69\x50\x00\x39\x9F\xEE\x26\x3E\x00\x3C\x9F\x19\x9E\x48\x69\x51\x00\x40\x9F\x1C\x61\x3F\x00\x43\x9F\x1F\x9E\x1F\x7C\x52\x00\x47\x9F\xCA\x01\x40\x00\x4A\x9F\x25\x9E\x32\x65\x53\x00\x4E\x9F\xF6\x38\x51\x9F\x2B\x9E\xB6\x87\x55\x9F\xD7\x1A\x57\x9F\x31\x9E\xFE\x67\x55\x00\x5A\x9F\x87\x21\x5C\x9F\x37\x9E\x5E\x0F\x60\x9F\x5F\x13\x5C\x9F\x3C\x9E\xCA\x01\x57\x00\x65\x9F\xDD\x60\x5C\x9F\x42\x9E\xCB\x41\x6B\x9F\x88\x06\x5C\x9F\x48\x9E\x35\x42\x70\x9F\x51\x3B\x5C\x9F\x4D\x9E\x68\x42\x75\x9F\x48\x00\x5C\x9F\x53\x9E\x82\x8B\x75\x9F\x49\x00\x5C\x9F\x59\x9E\x60\x64\x07\x9F\x5D\x00\xBD\x0C\x91\x01\x4A\x00\xFE\x9C\xF4\x62\x63\x9E\x19\x67\x5F\x00\xBD\x0C\x92\x9D\xCA\x01\x8A\x9F\x68\x9E\x9D\x66\x62\x00\x0B\x9F\x68", - "\x00\x75\x9F\x91\x9F\x6F\x9E\xAA\x66\x69\x00\x0B\x9F\x6F\x00\x97\x9F\x74\x9E\x54\x6C\x0B\x9F\x76\x00\x9E\x9F\x7A\x9E\x32\x65\x77\x00\x0B\x9F\x7D\x00\xA3\x9F\x7F\x9E\x19\x67\x7E\x00\x0B\x9F\x84\x00\xA9\x9F\x84\x9E\x19\x67\x85\x00\x0B\x9F\x8B\x00\xAF\x9F\xE5\x9E\x19\x67\x8C\x00\x0B\x9F\x92\x00\xB5\x9F\xED\x9E\x12\x67\x93\x00\x0B\x9F\x99\x00\xBB\x9F\xF5\x9E\x19\x67\x9A\x00\x0B\x9F\xA0\x00\xC1\x9F\x9B\x9E\x79\x02\x0B\x9F\xA7\x00\xC1\x9F\x03\x9F\x03\x01\xA8\x00\x0B\x9F\xAE\x00\xC1\x9F\xA6\x9E\x2D\x96\x0B\x9F\xB5\x00\xC1\x9F\x10\x9F\x16\x57\x0B\x9F\xBC\x00\xC1\x9F\xB0\x9E\x3B\x57\x0B\x9F\xC3\x00\x75\x9F\x3E\x59\x31\x67\x05\x8C\x75\x9F\xE0\x98\xDA\x61\xE2\x9F\xFE\x63\xCC\x66\x75\x9F\x4C\x00\xFE\x9C\xE8\x9F\xD9\x9C\x74\x9A\x75\x9F\x4D\x00\xED\x9F\x40\x7C\xB2\x72\x75\x9F\x4E\x00\xF3\x9F\x46\x7C\x85\x64\xC8\x00\x75\x9F\x4F\x00\xF8\x9F\x4C\x7C\xE2\x97\x75\x9F\x50\x00\xFE\x9F\x52\x7C\x55\x89\x75\x9F\x51\x00\x03\xA0\x58\x7C\xB7\x64\xCB\x00\x75\x9F\x52\x00\x08\xA0\x13\x2E\x54\x61\xCC\x00\x75\x9F\x53\x00\x0E\xA0\x60\x66\x12", - "\x67\xCD\x00\x75\x9F\x54\x00\x14\xA0\x68\x9F\x2A\x59\x75\x9F\x55\x00\x14\xA0\x6E\x9F\x12\x01\xCF\x00\x75\x9F\x56\x00\x14\xA0\x73\x9F\x0C\x01\xD0\x00\x75\x9F\xE8\x98\xE7\x9F\x40\x69\x98\x98\x75\x9F\x58\x00\x14\xA0\x7D\x9F\x34\x0E\xD2\x00\x75\x9F\x59\x00\x14\xA0\x82\x9F\xCA\x01\xD3\x00\x07\x9F\xD4\x00\x86\x9F\x68\x42\xFE\x9C\x02\x5E\x8E\x9D\xBD\x03\xD6\x00\x75\x9F\xF5\x6E\xF4\x99\x87\x8A\xBD\x0C\x81\x04\xDB\x00\x75\x9F\x02\x5E\x9D\x9D\xBD\x03\xDC\x00\x47\xA0\x14\x5A\x4A\xA0\x9F\x9F\xB7\x64\xE1\x00\x4F\xA0\x30\x5A\x51\xA0\xA4\x9F\x9D\x66\xE6\x00\x55\xA0\x0C\x01\xEA\x00\x57\xA0\xAA\x9F\x12\x67\xEB\x00\x5B\xA0\x7F\x5A\x5E\xA0\xB0\x9F\x24\x8B\x62\xA0\x27\x5E\x64\xA0\xB6\x9F\x12\x67\xF5\x00\x67\xA0\x2C\x5E\x69\xA0\xBC\x9F\x4C\x7E\x6D\xA0\xCC\x8C\x6F\xA0\xC2\x9F\x5E\x91\x72\xA0\x03\x00\xD4\x39\x18\x61\x02\x5E\xC8\x9F\x63\x04\xD4\x39\x09\x7F\x79\xA0\x6E\x7E\xB0\x99\x54\x61\x09\x00\x7E\xA0\xAD\x02\x80\xA0\x1A\x6A\x09\x9F\xD3\x75\x85\xA0\xB1\x2A\x87\xA0\x8D\x92\xBA\x9C\x7D\x90\x8B\xA0\x05\x2C\x8D\xA0\x71\x16\x02\x5E\xDD", - "\x9F\x0D\x21\x91\xA0\x50\x67\x93\xA0\x8A\x6D\x07\x90\xEB\x99\xD0\x70\x99\x9F\x03\x01\xDC\x99\x9D\xA0\xF5\x8D\x5E\x7B\x51\x57\x27\x9F\xBA\x9E\xCE\x59\xE8\x99\xD9\x99\x1F\x9F\xBD\x21\x70\x7B\x42\x57\x23\x9F\xDB\x21\x32\x79\xFE\x9A\xAF\xA0\xE8\x25\x04\x81\xDE\x57\xB3\xA0\xDE\x26\x63\x84\xF5\x57\xB7\xA0\xEE\x26\x2B\x7F\xF4\x58\xA6\xA0\x9E\xA0\xA6\x60\xFA\x58\xBF\xA0\xA3\xA0\x9B\x7B\x25\x9F\x56\x9A\xC0\xA0\xA3\x7B\x34\x59\xBB\xA0\x1C\x61\x4B\x7F\xEE\x9F\xAA\xA0\xD5\x99\x53\x09\xB3\x7B\x9A\x28\x5E\x63\xF0\x70\x5B\x00\xFE\x9C\xB3\x7B\xB2\x70\x23\x26\xAB\xA0\xE7\x04\xFE\x9C\x07\x5E\xDE\x95\xD0\x6D\xD4\x39\xFA\x73\x5D\x00\x0E\x99\xDE\xA0\xE6\x95\x19\x67\x28\x00\xE1\xA0\x26\x06\x6A\x00\xE4\xA0\xC6\x9A\xBD\x03\x33\x00\xD4\x39\xD0\x76\xBD\x37\xB1\x18\xE5\xA0\x34\x8F\x32\x65\x3F\x00\xF0\xA0\x26\x06\x85\x00\xF2\xA0\x14\x5A\xD6\x9A\x48\x69\x4B\x00\xF8\xA0\xD3\x90\xFB\xA0\x18\x5A\xDE\x9A\xEB\x7A\x00\xA1\xFB\x10\xA1\x00\x02\xA1\x0C\x01\xF4\xA0\x65\x94\x15\x74\xE9\xA0\x53\x09\xAF\x00\xEC\xA0\xEF\x9A\xB3\x81\x06\xA1\xF8\x76\x09", - "\xA1\x03\x01\x0B\xA1\x71\x98\xDF\x06\x7A\x00\x14\xA1\xFF\x76\x16\xA1\xBD\x79\x50\x97\xBE\x62\x86\x00\x1C\xA1\x07\x77\x1E\xA1\xC0\x60\x57\x93\xB7\x64\x92\x00\x23\xA1\xF8\x22\xE6\x00\x25\xA1\x00\x00\x0B\xA1\x10\x9B\x34\x0E\x9E\x00\x2A\xA1\xAD\x82\x2D\xA1\x0B\xA1\x18\x9B\x3B\x0B\xAA\x00\x33\xA1\xF8\x61\xA1\x0C\xF3\xA0\x1F\x9B\x9C\x75\xD4\x39\xE4\x6D\x10\x00\xA1\x0C\x7D\x2A\x0B\xA1\x27\x9B\xDF\x57\x3A\xA1\xB6\x24\x1F\x00\x3C\xA1\xFC\xA0\x2E\x9B\x85\x64\xCF\x00\x48\xA1\xDB\x21\x2D\x00\x4B\xA1\x03\xA1\x87\x97\x82\x6A\x0E\xA1\xFB\x10\x3B\x00\xA1\x0C\x4A\x04\x0B\xA1\x90\x93\x0E\x0F\xE6\x00\x57\xA1\x71\x16\xAB\x99\xD8\x17\x0B\xA1\x9B\x97\xF1\x00\x40\xA1\x26\x06\xB3\x99\x9D\x2B\x64\xA1\x8F\x7F\xFE\x00\x67\xA1\x53\x09\x65\x00\xA1\x0C\x96\x04\x0B\xA1\xC8\x98\x7E\x11\x0B\x00\x00\x0D\x99\x6F\x75\x00\x53\xA1\x0A\xA1\x57\x9B\x48\x69\x17\x00\x77\xA1\xCB\x90\x7A\xA1\x17\xA1\xB0\x97\x66\x63\x00\x0D\xE4\x6D\x2A\x9A\x16\x2E\x0B\xA1\x68\x9B\x3B\x0B\x30\x00\x7F\xA1\xE8\x76\x81\xA1\x1F\xA1\x6F\x9B\x1F\x7C\x3C\x00\x8D\xA1\xF0\x76\x8F", - "\xA1\x26\xA1\xA7\x8C\x34\x8A\x85\xA1\x16\x93\x71\xA1\x4C\xA1\x7F\x9B\x7E\x11\x55\x00\x9A\xA1\x53\x09\xCC\x00\x9C\xA1\x54\xA1\xBF\x8C\xFE\x67\x62\x00\xA1\xA1\xFB\x10\xDC\x00\xA4\xA1\x7B\xA1\x87\x9B\xB7\x64\x6F\x00\xA9\xA1\x71\x16\xEC\x00\xAC\xA1\x82\xA1\x0B\x99\x5E\x63\x7C\x00\xB1\xA1\xF8\x7D\x43\xA1\x9D\xA1\x9F\x9B\x5D\x92\xB9\xA1\xBD\x21\x0B\x00\x13\x38\x44\xA1\xF0\x97\x23\x6E\x94\xA1\x88\x55\x00\x0D\x91\x01\x1A\x00\x13\x38\x3D\xA1\xB1\x9B\xBE\x62\xA4\x00\xC6\xA1\xDD\x71\xC8\xA1\xAD\x35\xCB\xA1\xBC\xA1\x65\x86\x12\x67\xB2\x00\xD0\xA1\x01\x01\xBE\x00\xD2\xA1\x77\x25\xD4\xA1\xA5\xA1\xAE\x8D\x54\x61\xC0\x00\xD9\xA1\x07\x59\xDC\xA1\x4D\x07\xDE\xA1\xAD\xA1\x46\x95\xB7\x64\xCE\x00\xE3\xA1\xDA\x00\xE5\xA1\xD8\x72\xE7\xA1\xB5\xA1\x24\x94\xE0\x68\xBF\xA1\x85\x6A\xEE\xA1\xD5\x13\xC2\xA1\x1D\x5A\xEF\x99\x50\x9B\x00\x0D\xEC\x7E\x15\x63\x92\x9F\x54\x61\xEC\x00\x00\x0D\x81\x04\xF0\x00\xFC\xA1\x26\x06\xFE\xA1\x9F\xA0\xB1\x78\x02\xA2\x5F\x5B\x05\xA2\x53\x09\x07\xA2\xA4\xA0\xAA\x65\xF6\x00\x0A\xA2\xAC\x5B\x0C\xA2\xFB\x10\x0E", - "\xA2\xAC\x9D\xCA\x01\xFB\x00\x12\xA2\x19\x01\x14\xA2\x94\x77\xB3\x9D\xAA\x66\xAE\x6E\x3C\x64\x26\x2A\x58\x3B\x18\x61\x0E\xA2\xBB\x9D\x86\x9D\x58\x3B\x29\x67\x23\xA2\x06\xA2\xC2\x9D\x54\x61\x0A\x00\x28\xA2\x8F\x02\x2A\xA2\x0D\xA2\xBF\x8D\x54\x61\x0F\x00\x2F\xA2\x50\x07\x31\xA2\x15\xA2\x9D\x9C\x5E\x63\x14\x00\x36\xA2\x4B\x31\x38\xA2\x1D\xA2\x12\x01\x7C\xA0\x70\x3D\x3D\xA2\xF2\x61\x3F\xA2\xA3\x15\x0E\xA2\xCD\x9F\xBB\x2F\x44\xA2\xFF\x05\x46\xA2\xBD\x21\x0E\xA2\xD3\x9F\x3D\x15\x4B\xA2\xB7\x06\x4D\xA2\xF8\x22\x0E\xA2\xD8\x9F\x78\x9B\x52\xA2\xFD\x36\x54\xA2\xBA\x18\x0E\xA2\x96\xA0\x76\x08\x59\xA2\x31\x00\x5B\xA2\x3F\x83\xFA\xA1\x85\x64\x32\x00\x62\xA2\xDA\x8B\xEE\x5C\xBD\x9E\x12\x67\x33\x00\x59\xA2\x37\x00\x67\xA2\xDB\x21\x69\xA2\xF2\x9B\x39\x78\x59\xA2\x3C\x00\x6F\xA2\xE8\x25\x71\xA2\xFA\x9B\x6C\x64\x3D\x00\x59\xA2\x41\x00\x76\xA2\xDE\x26\x78\xA2\x95\x87\xE6\x78\x59\xA2\x46\x00\x7E\xA2\xEE\x26\x80\xA2\x13\x9A\xAA\x65\x47\x00\x59\xA2\x4B\x00\x85\xA2\x1C\x61\x87\xA2\x26\xA2\xCB\x8A\x59\xA2\x50\x00\x8D\xA2\xCA\x01\x87", - "\xA2\x8E\x9C\x3B\x0B\x51\x00\x59\xA2\x55\x00\x94\xA2\x15\x01\x87\xA2\xCA\x9D\x87\x9C\x59\xA2\x5A\x00\x9C\xA2\x22\x5A\xAD\x91\xAA\x66\x5B\x00\x59\xA2\x5F\x00\xA3\xA2\x0C\x01\x87\xA2\x42\xA2\x60\x00\x59\xA2\x64\x00\xAA\xA2\x03\x01\x87\xA2\x49\xA2\x2C\x28\x59\xA2\x69\x00\xB1\xA2\x02\x01\x87\xA2\x50\xA2\xE6\x67\x59\xA2\x6E\x00\xB8\xA2\x01\x01\x87\xA2\x57\xA2\x15\x49\x59\xA2\x73\x00\xBF\xA2\x00\x00\x87\xA2\x5E\xA2\x95\x4C\x59\xA2\x78\x00\xC6\xA2\xE8\x5C\x8B\x9F\x8F\x8E\xC6\xA2\xBA\x18\xCE\xA2\xFF\xA1\xBE\x62\x7A\x00\x59\xA2\x7E\x00\xCD\xA2\xC3\x9E\xB7\x64\x7F\x00\x59\xA2\x83\x00\xD9\xA2\xC9\x9E\xAA\x66\x84\x00\x59\xA2\x88\x00\xDF\xA2\xCE\x9E\x98\x71\x59\xA2\x8D\x00\xE5\xA2\xD6\x9E\x32\x65\x8E\x00\x59\xA2\x92\x00\xEA\xA2\xE7\x8E\xAA\x65\x93\x00\x59\xA2\x97\x00\xF0\xA2\xEC\x8E\xAA\x65\x98\x00\x59\xA2\x9C\x00\xF6\xA2\xF2\x8E\xAA\x66\x9D\x00\x59\xA2\xA1\x00\xFC\xA2\xD2\x9D\xBD\x03\xA2\x00\x59\xA2\xA6\x00\xFC\xA2\x42\xA2\xA7\x00\x59\xA2\xAB\x00\xFC\xA2\xB4\xA2\x33\x65\x59\xA2\xB0\x00\xFC\xA2\xBB\xA2\x22\x97\x59\xA2\xB5", - "\x00\xFC\xA2\xC2\xA2\x00\x00\xB6\x00\x59\xA2\xBA\x00\xFC\xA2\xC9\xA2\x2F\x57\x59\xA2\xBF\x00\xC6\xA2\x2F\x5A\x90\x43\x2F\x6B\xD1\xA2\xA1\x21\x23\xA3\x68\x59\xAA\x65\xC1\x00\x59\xA2\xC5\x00\x22\xA3\xDA\xA2\x5E\x63\xC6\x00\x59\xA2\xCA\x00\x2E\xA3\xE0\xA2\x19\x67\xCB\x00\x59\xA2\xCF\x00\x34\xA3\xE6\xA2\x19\x67\xD0\x00\x59\xA2\xD4\x00\x3A\xA3\xEB\xA2\x9D\x66\xD5\x00\x59\xA2\xD9\x00\x40\xA3\xF1\xA2\xA2\x73\x59\xA2\xDE\x00\x46\xA3\xF7\xA2\xAA\x73\x59\xA2\xE3\x00\x4B\xA3\xFD\xA2\xA9\x78\x59\xA2\xE8\x00\x50\xA3\x03\xA3\xCA\x01\xE9\x00\x59\xA2\xED\x00\x50\xA3\x42\xA2\xEE\x00\x59\xA2\xF2\x00\x50\xA3\x0E\xA3\xF3\x00\x59\xA2\xF7\x00\x50\xA3\x13\xA3\xF8\x00\x59\xA2\xFC\x00\x50\xA3\x18\xA3\xFD\x00\x59\xA2\x01\x00\x6F\x0B\x18\x61\x28\xA3\xB6\x5E\x6C\x64\x02\x00\x6F\x0B\x74\x7B\x6F\xA3\x26\x06\x0F\x5E\x03\x01\x71\xA3\x84\x79\x2C\x98\xA1\x21\xEE\x73\x34\x98\x3B\x0B\x07\x00\x6F\x0B\xFA\x73\x6F\x00\x4B\x9B\xD8\x70\x14\x97\xFE\x67\x12\x00\x83\xA3\x26\x06\x7C\x00\x86\xA3\x5A\x98\x11\x44\x32\x65\x1D\x00\x6F\x0B\x99\x6F\x89\x00\xF0", - "\xA1\x02\x01\xEE\x73\x4B\x98\x3F\x24\x93\xA3\x26\x06\x97\x00\x96\xA3\x5D\x94\x5C\x8A\x48\x96\x9B\xA3\x76\x92\x9E\xA3\x8C\x85\x31\x93\x3D\x7A\xA2\xA3\xFB\x10\xB3\x00\xA4\xA3\xEE\x73\xE8\x9A\x40\x0A\x4D\x00\x8B\xA3\xB2\x7C\x8E\xA3\x97\xA3\x69\x98\x90\x7C\xA8\xA3\x71\x16\xCE\x00\xAB\xA3\x48\x97\x85\x64\x64\x00\xB6\xA3\xA3\x15\xDC\x00\xB9\xA3\x79\x98\x4B\x86\xBD\xA3\xBD\x21\xEA\x00\xC0\xA3\xAF\x85\xAA\x66\x7C\x00\xC3\xA3\xF8\x22\xF8\x00\xC6\xA3\x75\x7A\xBF\x83\xCA\xA3\xBA\x18\x06\x00\xD1\x0C\xB1\x18\xEE\x73\x37\xA1\x40\x0A\x94\x00\xD0\xA3\xC5\x5E\xD3\xA3\x04\xA1\x72\x97\x34\x0E\xA0\x00\x6F\x0B\xE4\x6D\x22\x00\xD1\x0C\x7D\x2A\xEE\x73\x46\xA1\xAD\x00\xD9\xA3\xB6\x24\x31\x00\xDB\xA3\x42\x8F\x56\x96\x3B\x0B\xB9\x00\xE8\xA3\xDB\x21\x3F\x00\xEB\xA3\x87\xA3\x55\xA1\xBE\x62\xC5\x00\xB0\xA3\xE2\x9A\xDB\x9B\xEE\x73\x5D\xA1\x34\x0E\xD0\x00\xF8\xA3\x71\x16\x5A\x00\xFA\xA3\x96\x93\x85\x64\xDB\x00\xE0\xA3\x2D\x76\xD1\x0C\x96\x04\xEE\x73\x9B\x97\xE8\x00\x06\xA4\x5C\x7B\x08\xA4\x04\xA1\x74\xA1\x4F\x69\xF0\xA3\xE8\x25\x87\x00\xF3", - "\xA3\x8F\xA3\xA8\x97\x19\x67\x01\x00\xDA\x22\x76\x85\x16\xA4\xB3\xA3\x74\x82\xBE\x62\x0D\x00\xDA\x22\xE4\x6D\xA3\x00\xE3\xA3\x04\xA1\x8A\xA1\x40\x0A\x1A\x00\x1B\xA4\x7C\x77\x1D\xA4\x9F\xA3\xBF\x97\x7C\x85\x2A\xA4\x15\x6E\x2C\xA4\xA5\xA3\x9E\xA1\x0E\x0F\x32\x00\x22\xA4\x26\x78\x0F\xA4\x42\x8F\xA7\x92\x9D\x66\x3F\x00\x37\xA4\x53\x09\xDE\x00\x39\xA4\xF4\xA3\xA6\xA1\x48\x69\x4C\x00\x3E\xA4\x7E\x7E\x41\xA4\x17\xA4\xDA\x97\x4D\x7A\x46\xA4\x71\x16\xFE\x00\x48\xA4\x1E\xA4\x15\x8B\x85\x64\x66\x00\x4C\xA4\xA3\x15\x0E\x00\x78\x0B\xE4\xA3\x19\x95\x1F\x7C\x73\x00\x54\xA4\xBD\x21\x1D\x00\x57\xA4\x04\xA1\xCB\x92\x48\x69\x80\x00\x30\xA4\xFD\x50\xDA\x22\x91\x01\x2C\x00\x78\x0B\xD4\xA3\x24\x99\xB7\x64\x8E\x00\x64\xA4\x6D\x53\x66\xA4\xEC\x37\x69\xA4\x04\xA1\xDD\x92\x85\x64\x9C\x00\x6E\xA4\x55\x76\x70\xA4\xE7\x05\x72\xA4\x42\x8F\x0E\x98\x48\x69\xAA\x00\x77\xA4\x01\x01\xB6\x00\x79\xA4\xA0\x0A\x7B\xA4\x42\xA4\xFD\x8C\x83\x6C\x80\xA4\xF6\x57\x83\xA4\x30\x03\x85\xA4\x49\xA4\x51\x8B\x12\x67\xC6\x00\x5C\xA4\x89\x59\x8B\xA4\x02\x01\x72", - "\x00\x5F\xA4\x12\x01\x3A\x5A\x62\x85\x6C\x64\xD5\x00\xDA\x22\xEC\x7E\x99\xA4\x3E\x94\x32\x65\xD6\x00\x9D\xA4\x36\x9D\x9F\xA4\xFA\x43\xAA\x66\xD7\x00\x94\xA4\xBD\x21\x81\x00\x64\x9C\xA5\xA4\xF5\xA0\x9D\x66\xD9\x00\xA9\xA4\xF8\x22\x82\x00\xAC\xA4\xFD\xA0\x1F\x7C\xDB\x00\xB1\xA4\xBA\x18\x83\x00\xB4\xA4\xA6\xA3\xB7\x64\xDD\x00\xB8\xA4\xA1\x21\x84\x00\xBB\xA4\x70\x90\x32\x65\xDF\x00\xA3\xA4\xBA\x9E\xAD\xA4\x15\x92\xAA\x65\xE0\x00\xBF\xA4\x8B\x81\xC2\xA4\x7C\x90\x32\x65\xE2\x00\xCC\xA4\xDB\x21\xB7\x9C\xDA\x61\xC8\xA4\x25\x92\x1F\x7C\xE4\x00\xD2\xA4\x14\xA4\xCE\xA4\xC8\x79\xAA\x65\xE6\x00\xDA\xA4\xDE\x26\x88\x00\xDC\xA4\x4B\x4B\xCA\x79\xE0\xA4\xEE\x26\x89\x00\xE3\xA4\xB5\x69\x16\x75\xE6\xA4\x1C\x61\x8A\x00\xE9\xA4\xDD\xA3\x3B\x0B\xEC\x00\xDA\x22\x15\x68\x8B\x00\x2E\x9D\x39\x5A\x12\x77\x28\x69\xEC\xA4\xCA\x01\xBD\x9C\xD5\xA4\x81\x97\x0C\x67\xFA\xA4\xF3\x5E\xE9\xA4\xAD\x98\xFE\x67\xF3\x00\xC6\xA4\xC0\xA0\xC8\xA4\xFC\xA3\x3B\x0B\xF4\x00\x06\xA5\xA3\xA0\xC8\xA4\x9B\x97\xF5\x00\xF3\xA4\x96\x86\x35\x9D\x98\xA4\x03\xA4\xB7", - "\x64\xF8\x00\x11\xA5\x02\x87\x13\xA5\x0C\x01\xC8\xA4\x11\xA4\x2F\x72\x00\xA5\x56\x5F\xE9\xA4\xDF\x90\x48\x69\xFD\x00\x1F\xA5\x5B\x5F\xE9\xA4\xD7\x98\x2F\x01\x18\xA5\xFB\x10\x97\x00\xF6\xA4\x14\xA5\xCA\x8F\xAA\x66\x02\x00\xEF\x21\x5F\x64\xE7\x9C\xFD\xA4\x91\xA1\xEB\x29\x04\x00\x32\xA5\x70\x8B\xE9\xA4\x3B\xA4\x31\x81\xEF\x21\x15\x68\xF5\x9C\x4B\x61\xC8\xA4\x3C\xA5\xBE\x62\x09\x00\x3E\xA5\xDF\x8D\x1A\xA5\x03\x01\xC8\xA4\xFB\x98\xFE\x67\x0C\x00\x46\xA5\x53\x09\xA1\x00\x48\xA5\x17\x63\xAE\xA1\x5E\x63\x0F\x00\x4E\xA5\xFB\x10\x2B\x9D\x41\xA5\x97\x9B\xBE\x62\x12\x00\x56\xA5\x71\x16\xA7\x00\x2D\xA5\x1B\xA5\x59\xA4\x98\x5C\x5D\xA5\xA3\x15\xA9\x00\x60\xA5\x49\xA5\xC4\xA1\x47\x95\x39\xA5\xBA\x2C\x6B\xA5\x8C\x94\xE9\xA4\x30\x91\x3D\x84\x6D\xA5\x3B\x2F\x72\xA5\xC8\x9B\xE9\xA4\x74\xA4\xB7\x64\x20\x00\x74\xA5\x81\x0B\x7A\xA5\xBF\x62\xE9\xA4\x7D\xA4\x1F\x7C\x24\x00\x7C\xA5\x26\x00\x7C\xA5\xAE\x00\xE9\xA4\x49\x8B\x1E\x92\x7C\xA5\x2A\x00\x7C\xA5\xAF\x00\xE9\xA4\xD8\x9B\xFE\x67\x2C\x00\x64\xA5\x82\x37\x7C\xA5\x3D\x9D\x5A\x64\x35", - "\x6F\x80\xA3\x40\x0A\x31\x00\xEF\x21\x18\x61\xB2\x00\x64\x9C\x35\x6F\x4E\x90\xEB\x29\x32\x00\x9A\xA5\xAB\x7C\x9D\xA5\xED\xA0\x7E\x61\x7C\xA5\xBA\x18\xB4\x00\x67\xA5\x0C\x97\xFE\x87\xE1\x6D\xA7\xA5\xA1\x21\xB6\x00\xAA\xA5\x0A\x93\xA0\xA3\xBE\x62\x37\x00\xAE\xA5\xB6\x24\x47\x9D\x95\xA5\x04\xA1\xE3\x8C\xB6\xA5\xDB\x21\xBA\x00\xB1\xA5\xDD\x8B\x39\x97\xC4\x94\xA2\xA5\x53\x09\xBC\x00\xA4\xA5\x12\xA1\x1F\x6A\xBC\xA5\xE8\x25\xBD\x00\xBF\xA5\x35\x6F\x19\xA1\xBD\x03\x3E\x00\xC9\xA5\xDE\x26\x4D\x9D\xB9\xA5\xC1\xA3\x9D\x66\x40\x00\xD1\xA5\xEE\x26\xC1\x00\xCC\xA5\x27\xA1\x5E\x63\x42\x00\xD8\xA5\x1C\x61\xC3\x00\xDB\xA5\x3C\x8C\x94\x61\xDF\xA5\xCA\x01\x4F\x9D\xD4\xA5\x9A\x90\xFE\x88\xE5\xA5\x55\x58\xE2\xA5\xD7\x6E\x34\x8A\x91\xA5\xF8\x22\xC9\x00\x51\xA5\xB2\xA5\x31\x68\x6C\x64\x4B\x00\xEB\xA5\xA1\x9E\xED\xA5\x5C\x88\x45\x7A\xF8\xA5\x0C\x01\xCE\x00\xFA\xA5\x26\x63\x54\x66\xC3\xA5\xFB\x10\xD0\x00\xC6\xA5\x3C\x9B\x12\x67\x50\x00\x03\xA6\x94\xA0\x06\xA6\x42\x9B\x12\x67\x51\x00\xF0\xA5\xBA\x18\xD2\x00\x78\x0B\x81\x04\x35\x6F\x9B", - "\x97\x54\x00\x10\xA6\xA1\x21\xD6\x00\x13\xA6\x37\x94\x1D\xA5\x3B\x0B\x57\x00\xFD\xA5\xB4\x87\x00\xA6\x81\x6C\x6C\x64\x59\x00\x20\xA6\xA8\x8E\x22\xA6\xE6\x3C\x19\x67\x5B\x00\x18\xA6\xB6\x24\xDE\x00\xF3\xA5\xC0\xA5\xE7\x94\x45\x7D\x26\xA6\x01\x01\x66\x9D\xE8\xA5\x46\x71\x16\x73\x33\xA6\x00\x00\xE3\x00\x28\xA6\x43\xA5\x85\x64\x62\x00\x2C\xA6\xDB\x21\xE5\x00\x1B\xA6\xB8\x9A\x34\xA4\x34\x0E\x65\x00\x40\xA6\xE8\x25\xE9\x00\x43\xA6\x9A\xA4\x53\xA5\xFE\x67\x68\x00\x48\xA6\x1E\x71\x4B\xA6\xDF\xA0\x43\xA4\x1F\x7C\x6B\x00\x50\xA6\xEE\x26\xF1\x00\x52\xA6\xAB\xA5\x51\xA4\xD1\x6E\x57\xA6\x1C\x61\xF5\x00\x2F\xA6\x35\x6F\x13\x99\x7E\x11\x71\x00\x5E\xA6\xCA\x01\xF8\x00\x61\xA6\x69\xA5\xB7\x64\x74\x00\x7C\xA5\x76\x00\x7C\xA5\xFB\x00\x28\xA6\x70\xA5\x2C\x9E\x7C\xA5\x7A\x00\x7C\xA5\x7B\x9D\x36\xA6\xD6\xA1\x82\x66\x7C\xA5\x7E\x00\xA7\xA5\x28\xA6\x7F\xA5\xEB\x29\x80\x00\x7C\xA5\x82\x00\x7C\xA5\x01\x00\x5E\x9E\x37\x94\x87\xA5\x34\x0E\x84\x00\x7C\xA5\x86\x00\x7C\xA5\x03\x00\x86\xA6\x44\xA6\x4F\x95\xBF\x83\xF0\xA5\x8B\x00\x7C\xA5\x87", - "\x9D\x4B\x61\x43\x5A\x3B\x5A\x72\x78\x66\xA6\x26\x06\x5F\x69\x97\xA5\xDF\x06\x90\x00\x0A\xA6\xA3\x15\x08\x00\xC0\x9D\x5F\x69\x9F\xA5\x7E\x11\x91\x00\xA1\xA6\xBD\x21\x09\x00\xA4\xA6\xA5\xA5\xFD\x51\x39\xA6\x0A\x00\x8F\xA6\xBF\x9A\xCF\x9A\x75\x9E\x39\xA6\x90\x9D\x5A\x64\x5F\x69\x2B\x97\xFE\x67\x96\x00\x39\xA6\x0E\x00\xB1\xA6\xA0\xA4\x33\xA4\x19\x67\x98\x00\x39\xA6\x10\x00\xBE\xA6\xE6\xA0\xE7\x9A\x2A\x77\xA9\xA6\xF8\x22\x12\x00\xAC\xA6\xC7\xA5\xB7\x64\x9B\x00\x39\xA6\x13\x00\xC5\xA6\x3C\x98\xCE\x84\x6C\x64\x9D\x00\x39\xA6\x15\x00\xD2\xA6\xE6\x91\xD5\xA5\x6B\x92\x39\xA6\x17\x00\xD9\xA6\x5F\x69\x07\x9B\x0E\x0F\xA1\x00\x39\xA6\x19\x00\xDF\xA6\x88\x98\x85\x64\xA3\x00\x39\xA6\x1B\x00\xE6\xA6\x4F\x83\x32\x77\x39\xA6\xA6\x9D\xB7\xA6\x3E\xA1\x5E\x63\xA7\x00\x9B\xA6\xEE\x08\xB9\x9E\xB2\xA6\x02\x01\x46\xA1\xAA\x00\x39\xA6\x22\x00\xEC\xA6\x65\x83\xAA\x65\xAC\x00\x39\xA6\xAE\x9D\xF1\xA6\xF5\xA3\x85\x64\xAE\x00\xC9\xA6\x45\x68\xCC\xA6\x07\xA6\x74\x79\x08\xA7\x6F\x68\x0A\xA7\x0D\xA6\x32\x65\xB0\x00\xF5\xA6\x0C\x01\x28\x00\x84", - "\x16\x81\x04\x5F\x69\x9B\x97\xB3\x00\x13\xA7\x33\x37\x16\xA7\x3D\x6F\x1D\xA6\x40\x0A\xB6\x00\x39\xA6\x30\x00\xFE\xA6\xAC\x93\xAA\x65\xB8\x00\x39\xA6\xBD\x9D\x04\xA7\x5F\x9B\x12\x67\xBA\x00\x1B\xA7\xCC\x59\xF7\xA6\xBF\xA6\x27\xA4\xDF\x06\xBD\x00\x39\xA6\x37\x00\x24\xA7\xE6\x98\x4C\x9D\x39\xA6\xC4\x9D\x2A\xA7\xF6\x94\x78\x73\x2E\xA7\x91\x17\x1D\xA7\xEE\x87\x45\xA6\x75\x94\x3F\xA7\xC6\x9D\x29\x66\x5F\x69\x4B\xA5\x9C\x96\x45\xA7\x43\x00\x41\xA7\xF8\xA6\x03\x99\x99\x78\x45\xA7\xD4\x9D\x47\xA7\x5A\xA5\x85\x64\xCD\x00\x45\xA7\x4B\x00\x30\xA7\xC6\xA6\xE0\x75\x92\x73\x45\xA7\x4E\x00\x59\xA7\xD3\xA6\x21\x95\x51\x97\x7C\xA5\xD5\x00\x7C\xA5\x51\x00\x37\xA7\x00\x94\x87\x8A\x7C\xA5\xD9\x00\x7C\xA5\x53\x00\x67\xA7\x39\x91\x19\x67\xDB\x00\x7C\xA5\xDD\x00\x7C\xA5\x55\x00\x6E\xA7\x7F\xA6\x7E\x11\xDF\x00\x7C\xA5\xE1\x00\x7C\xA5\x57\x00\x6E\xA7\x88\xA6\x3B\x0B\xE3\x00\x7C\xA5\xE5\x00\x7C\xA5\x59\x00\x6E\xA7\x8E\xA5\x48\x69\xE7\x00\xF0\xA5\xEA\x00\x7C\xA5\xE4\x9D\x4B\x61\x5F\x5A\x3E\x5A\x15\x69\x45\xA7\xC3\x8C\x37\x94\xFA\x89\x0D", - "\xA7\xB6\x24\x5E\x00\xC0\x9D\x9B\x69\xBF\xA6\x6A\x90\x96\xA7\x31\x7E\x99\xA7\xAD\xA6\xEB\x5A\x39\xA6\x60\x00\xD9\xA6\x9A\xA7\x7B\x85\x41\x69\x39\xA6\xEB\x9D\x5A\x64\xA5\xA7\xA1\x88\xAA\x66\xF5\x00\x39\xA6\x64\x00\xA4\xA7\xBA\xA5\xBE\x62\xF7\x00\x39\xA6\x66\x00\xB1\xA7\xC1\xA5\xB7\x6D\x9D\xA7\xE8\x25\x68\x00\x9F\xA7\xCD\xA6\x5E\x63\xFA\x00\x39\xA6\xF2\x9D\xAA\xA7\xBA\xA3\xB7\x64\xFC\x00\x39\xA6\x6B\x00\xB7\xA7\x3C\x75\x8E\x6F\x39\xA6\x6D\x00\xC9\xA7\x2D\x92\x19\x67\xC2\x6F\x10\x2A\x86\x83\xCE\xA7\x95\xA4\x73\xA3\x98\x3D\x5F\x64\x71\x00\xD4\xA7\xD7\x6D\x6C\x64\x04\x00\xD7\xA7\xF2\x85\xDA\xA7\x00\x6F\x5C\x99\x98\x3D\x15\x68\x1B\x9E\x4B\x61\xAB\xA7\x00\x00\x46\xA1\x09\x00\xDE\xA7\x83\x9B\xE0\xA7\xED\xA3\x40\x0A\x0B\x00\xEB\xA7\xFB\x10\x7A\x00\xE0\xA7\x03\xA5\x48\x69\x0D\x00\x98\x3D\x18\x61\x44\x9E\xDA\x61\xE7\xA7\x09\xA5\x40\x0A\x0E\x00\xF8\xA7\xE4\x81\xBD\xA7\xB9\x98\xB7\x64\x0F\x00\xE3\xA7\x97\x74\x4D\xA7\x03\x01\xE7\xA7\x9B\x97\x12\x00\x06\xA8\x53\x09\x82\x00\x08\xA8\x02\x01\xE7\xA7\x1F\xA7\xDF\x06\x15\x00\xF1", - "\xA7\x71\x16\x6A\x9E\xC3\xA7\x7E\x96\xB1\x65\x16\xA8\xF4\x6D\xE0\xA7\x28\xA5\x42\x0D\x0D\xA8\x42\x84\x5F\xA7\x00\x00\xE7\xA7\x32\xA7\xBD\x03\x1C\x00\x1C\xA8\xBD\x21\x8D\x00\xE0\xA7\xC3\x93\xFE\x67\x1E\x00\x29\xA8\xC5\x86\xE0\xA7\x3D\xA6\x78\xA5\x21\xA8\x71\x16\x91\x00\x10\xA8\x01\x01\xE7\xA7\x33\xA8\x66\x63\x35\xA8\xA3\x15\x95\x00\x38\xA8\x24\xA8\x8F\x9B\x1F\x7C\x26\x00\x3D\xA8\xBD\x21\x99\x00\x40\xA8\xE7\xA7\x49\xA7\x1F\x7C\x29\x00\x45\xA8\x4B\x8D\x48\xA8\x54\xA7\xB7\x64\x2C\x00\x4D\xA8\xC8\x8E\x23\xA8\xE7\xA7\x63\xA6\x0E\x0F\x2F\x00\x53\xA8\x0E\x78\x55\xA8\x6A\xA6\xD0\x98\x30\xA8\x34\x00\x30\xA8\xA7\x00\xE0\xA7\x72\xA6\xFE\x67\x36\x00\x30\xA8\x38\x00\x30\xA8\x86\x9E\x19\xA8\x2D\x99\xF2\x8F\x30\xA8\x3C\x00\x30\xA8\xAB\x00\xE0\xA7\x77\xA7\x0E\x0F\x3E\x00\x30\xA8\x40\x00\x30\xA8\xAD\x00\xE0\xA7\x7F\xA7\x40\x0A\x42\x00\x30\xA8\x44\x00\x30\xA8\x88\x9E\x6B\xA8\x91\xA6\x12\x67\x46\x00\x4D\xA8\x49\x00\x30\xA8\xB1\x00\x23\xA8\x75\x5A\x1E\x63\x19\x67\x4B\x00\x5A\xA8\xDA\x8B\x22\x77\xE7\xA7\xCB\xA0\x73\x9D\x44\x61\x9D", - "\x66\x4E\x00\x00\xA8\x53\x09\xB4\x00\xC0\x9D\x97\x5A\x31\x9F\x8F\x1D\x98\xA8\x7F\x99\x9B\xA8\x37\x9F\xBE\x62\x50\x00\x9F\xA8\x71\x16\x8E\x9E\xDA\x61\x97\x5A\x1B\x87\xB7\x64\x51\x00\xA5\xA8\xF0\x91\xA1\xA8\xF9\x9F\xB7\x64\x52\x00\xAD\xA8\xBD\x21\xB8\x00\xAF\xA8\xFF\x9F\xB7\x64\x53\x00\xB3\xA8\xF8\x22\xB9\x00\xB6\xA8\x04\xA0\x19\x67\x54\x00\xBA\xA8\xBA\x18\xBA\x00\xBD\xA8\x09\xA0\x9D\x85\xC1\xA8\xA1\x21\xBB\x00\xC4\xA8\x0F\xA0\xBE\x62\x56\x00\xC7\xA8\xB6\x24\xBC\x00\xCA\xA8\x15\xA0\xF5\x8C\xCE\xA8\xDB\x21\x94\x9E\xA8\xA8\x0D\x9D\x85\x64\x58\x00\xD4\xA8\xE8\x25\xBE\x00\xD1\xA8\x20\xA0\x26\x42\xDB\xA8\xD2\xA5\xD1\xA8\x26\xA0\x38\x15\xE1\xA8\xEE\x26\xC0\x00\xD1\xA8\x78\x9F\x40\x03\xE6\xA8\x1C\x61\xC1\x00\xD1\xA8\x31\xA0\x3B\x0B\x5C\x00\xEC\xA8\xAA\x9C\xD1\xA8\x37\xA0\xE7\x42\xBA\xA8\x5E\x00\x30\xA8\xC3\x00\xC0\x9D\x1F\x5E\xF4\xA5\x19\x67\x60\x00\xF3\xA8\xEE\x57\xFC\xA8\x88\xA3\x48\x69\x61\x00\x01\xA9\xFF\x57\x03\xA9\x90\xA3\x93\x9F\x30\xA8\xC8\x9D\xD9\xA6\xFD\xA8\x24\x97\x92\x64\x0C\xA9\x00\x9E\x0E\xA9\xB5\xA4\xEB", - "\x29\x66\x00\x12\xA9\xB6\x24\xCA\x00\x14\xA9\xBC\xA4\x5E\x63\x68\x00\x18\xA9\xDB\x21\xA2\x9E\x5A\x64\x0F\xA9\xAD\xA3\xDF\x06\x6A\x00\x07\xA9\xFE\xA5\x09\xA9\x41\x93\xD5\x6F\x1F\xA9\xE8\x25\xCF\x00\x1B\xA9\xC1\x84\xF6\x6A\x2C\xA9\xDE\x26\xD1\x00\x2F\xA9\x0D\x74\xFA\x6C\x32\xA9\xEE\x26\xD3\x00\x35\xA9\xDD\xA4\x1B\x89\x38\xA9\x1C\x61\xD5\x00\x3B\xA9\xE4\xA4\xAA\x66\x73\x00\x3E\xA9\xCA\x01\xD7\x00\x41\xA9\xEA\xA4\xC7\x81\x45\xA9\x06\x5A\x48\xA9\xF0\xA4\x40\x0A\x77\x00\x8F\xA8\xDB\x21\xDB\x00\x23\xA8\x0F\xA9\x46\xA1\x7A\x00\x4B\xA9\xEB\x86\x48\xA9\xEE\xA7\xDF\x06\x7C\x00\x58\xA9\x0A\xA1\x48\xA9\xF5\xA7\x1F\x7C\x7E\x00\x27\xA9\xB2\xA2\x29\xA9\xC0\x90\xAA\x66\x7F\x00\x64\xA9\x02\x01\xE3\x00\x66\xA9\x3D\x3F\x8F\x7F\x80\x00\x51\xA9\xD2\x6A\x40\xA8\x0F\xA9\x9B\x97\x83\x00\x71\xA9\xDE\x26\xE8\x00\x73\xA9\xB4\x8F\xAA\x65\x86\x00\x5E\xA9\x2F\x8A\x48\xA9\x22\xA5\xC9\x8B\x7E\xA9\x72\x5A\x48\xA9\x1F\xA8\x89\x18\x77\xA9\xEE\x26\xF0\x00\x54\xA9\xDE\x98\x9D\x66\x8D\x00\x83\xA9\x01\x01\xF3\x00\x48\xA9\x2D\xA8\x48\x69\x8F\x00\x8F", - "\xA9\x87\x5B\x48\xA9\x3B\xA8\xFE\x67\x91\x00\x88\xA9\x1C\x61\xF7\x00\x7A\xA9\x98\xA1\x9D\x66\x94\x00\x9C\xA9\x18\xA2\x9F\xA9\x54\xA6\x2D\x62\xA3\xA9\x20\x01\xA5\xA9\x4A\xA4\x41\x76\xA8\xA9\x14\x23\x72\xA0\x0F\xA9\x11\x95\x40\x0A\x9D\x00\xAD\xA9\x51\x2A\x8E\x9F\xE9\x5A\x62\xA5\x65\x62\xB4\xA9\xB7\x2A\xB6\xA9\xEB\x5A\x5D\xA8\xFE\x67\xA3\x00\x30\xA8\xA5\x00\x30\xA8\xDB\x9E\x22\xA9\x6B\xA4\xF3\xA6\x69\xA8\x30\xA8\x0F\x00\x3C\xA0\xBD\xA9\xBB\x9B\x19\x67\xAB\x00\x78\xA8\x30\xA8\x11\x00\xCB\xA9\xED\x5A\xC4\x9B\x54\x61\xAF\x00\x88\xA8\x30\xA8\x13\x00\xD3\xA9\x6E\x6B\xCE\x9B\x85\x64\xB3\x00\x30\xA8\xB5\x00\x30\xA8\xE7\x9E\xC5\xA9\xF7\x96\xBE\x62\xB7\x00\x4D\xA8\xBA\x00\x30\xA8\x17\x00\xBC\xA9\x01\x5B\x90\xA7\xAA\x65\xBC\x00\xBA\xA9\xA3\x15\xA6\x6D\x9E\xA6\xBD\x03\xBF\x00\x6A\xA9\x12\x21\x07\x9F\xA6\x6D\xA6\xA6\x0E\x0F\xC0\x00\xF7\xA9\x10\x2E\xF9\xA9\xA0\xA7\x66\x57\x96\xA9\xEF\x9E\x5A\x64\xA6\x6D\x99\xA3\xD5\x57\x96\xA9\x1E\x00\xDB\xA9\xC7\xA6\xB3\xA5\xE4\x89\x96\xA9\x20\x00\x0B\xAA\x90\xA9\xB2\xA7\xB2\x72\x96\xA9\x22", - "\x00\x11\xAA\x0C\xA1\x12\x5B\xCC\x7E\xFE\xA9\x24\x00\x00\xAA\xBE\xA7\xFE\x67\xCA\x00\x96\xA9\x25\x00\x17\xAA\xA6\x6D\xCE\xA5\xCA\x01\xCC\x00\x96\xA9\x27\x00\x23\xAA\x20\xA1\x85\x64\xCE\x00\x96\xA9\x29\x00\x2A\xAA\x64\x89\x54\x61\xD0\x00\x96\xA9\x2B\x00\x30\xAA\x3E\x88\x12\x67\xD2\x00\x96\xA9\x2D\x00\x36\xAA\x44\x88\x19\x67\xD4\x00\x96\xA9\x2F\x00\x3C\xAA\x83\x7A\xA1\xA4\xF1\xA9\x28\x9E\xEC\xA9\x19\xAA\x9F\x93\x6C\x64\xD9\x00\x96\xA9\x34\x00\x42\xAA\x7E\x66\x6C\x64\xDB\x00\x96\xA9\x36\x00\x4E\xAA\x00\x00\x61\xA9\xEB\x29\xDD\x00\xFE\xA9\x38\x00\x1D\xAA\x0B\xA7\x9D\x66\xDE\x00\xFE\xA9\x39\x00\x5B\xAA\x10\xA7\x9D\x66\xDF\x00\x45\xAA\x2A\x66\x72\xA0\xA6\x6D\x9B\x97\xE2\x00\x65\xAA\x3E\x00\x67\xAA\x7B\xA9\xAA\x66\xE5\x00\x96\xA9\x42\x00\x54\xAA\x81\xA9\xEB\x29\xE7\x00\x96\xA9\x44\x00\x54\xAA\x86\xA9\x8E\x7C\x65\xAA\x18\x9F\x4B\x61\xA6\x6D\x26\xA8\xCA\x01\xEC\x00\x96\xA9\x49\x00\x54\xAA\x93\xA9\x1F\x7C\xEE\x00\x96\xA9\x4B\x00\x54\xAA\x99\xA9\x48\x69\xF0\x00\x65\xAA\x2B\x9F\x29\x66\xA6\x6D\x8C\xAA\x1F\x7C\xF3\x00\x65", - "\xAA\x46\x9F\x91\xAA\x42\xA8\xEB\x29\xF6\x00\x65\xAA\x5F\x9F\x98\xAA\x4D\xA6\x48\x69\xF9\x00\x65\xAA\x59\x00\x6D\xAA\xB6\xA1\x13\x78\x65\xAA\x85\x9F\x7E\xAA\xB8\xA9\xF2\x16\x65\xAA\x60\x00\x47\xAA\x0C\xAA\x08\x90\xAA\x65\x02\x00\x1F\x3E\xE5\x02\xB3\xAA\xEE\x44\x54\xAA\x64\xA8\x48\x69\x06\x00\xB5\xAA\xC4\x2A\xBB\xAA\xD4\x27\x54\xAA\x77\xA5\xD8\x88\xBD\xAA\x91\x04\xC2\xAA\x02\x01\x67\x00\x54\xAA\x73\xA8\x34\x0E\x0E\x00\xC4\xAA\x6C\x04\xCB\xAA\x00\x00\x9B\x9F\x05\xAA\xDD\xA9\xB7\x64\x12\x00\xCD\xAA\x14\x00\xCD\xAA\x6B\x00\x54\xAA\x87\xA7\x1F\x7C\x16\x00\x1F\x3E\x32\x01\x19\x00\xCD\xAA\x6D\x00\xAE\xAA\x01\x01\x28\x5E\xEE\xA9\x40\x9C\xDC\xAA\x36\x9D\x72\x5B\x8C\xA8\xEA\x72\xCD\xAA\xF0\x70\x30\x63\x5B\xA6\x19\x67\x20\x00\xEB\xAA\xA1\x21\x70\x00\x07\x9F\xED\xAA\x60\xA7\x34\x7F\xF1\xAA\xB6\x24\x71\x00\xF4\xAA\x01\xAA\x8A\x1B\xE6\xAA\x53\x09\x72\x00\x17\xAA\xF5\xAA\x10\xA9\x85\x64\x27\x00\xFE\xAA\xFB\x10\x74\x00\x01\xAB\x15\xA9\x7E\x11\x2A\x00\x06\xAB\x71\x16\xA2\x9F\x5A\x64\x02\xAB\x08\x96\x1E\x8E\x0D\xAB\xA3\x15\x78", - "\x00\x09\xAB\xB8\xA7\xB7\x64\x30\x00\xF8\xAA\xDB\x21\x7A\x00\xFB\xAA\x1E\xAA\x26\x8E\x14\xAB\xBD\x21\x7B\x00\x17\xAB\x30\xA9\x65\x95\x21\xAB\x8D\x8C\x24\xAB\x36\xA9\x39\x78\x27\xAB\xBA\x18\x7F\x00\x29\xAB\x3C\xA9\x52\x8B\x2C\xAB\xA1\x21\x81\x00\x2F\xAB\x42\xA9\xDC\x7A\x32\xAB\xB6\x24\x83\x00\x35\xAB\x49\xA9\x19\x67\x41\x00\x38\xAB\x92\x81\x3B\xAB\x4E\xA9\xDF\x06\x44\x00\x1F\x3E\x6E\x7C\x87\x00\xE1\xAA\x13\x67\xF8\xA4\xEC\x8C\x3F\xAB\x89\x84\x3B\xAB\x5B\xA9\xBD\x03\x4B\x00\x4C\xAB\xDE\x26\xB8\x9F\x10\xAB\x5D\x96\xF1\x6D\x1B\xAB\xE8\x25\x8E\x00\x1E\xAB\x5C\xAA\x8F\x69\x58\xAB\xDE\x26\x8F\x00\x5B\xAB\x62\xAA\xD6\x67\x45\xAB\x26\x06\x90\x00\x72\xA0\x02\xAB\x9B\x97\x56\x00\x64\xAB\x53\x09\x94\x00\x67\xAB\x6E\xAA\xD3\x8A\x52\xAB\xEE\x26\x98\x00\x3B\xAB\x74\xAA\x7E\x11\x5D\x00\x71\xAB\xD9\x95\x3B\xAB\x7A\xAA\x5E\x11\x6B\xAB\xFB\x10\x9C\x00\x48\xAB\x02\xAB\x80\xAA\xB3\x0A\x78\xAB\x52\x8E\x3B\xAB\x86\xAA\xEB\x29\x67\x00\x84\xAB\xB2\x0C\x3B\xAB\x93\xAA\xEB\x29\x6A\x00\x7D\xAB\x71\x16\xA3\x00\x6E\xAB\xA0\xA9\x54\x61\x6E", - "\x00\x90\xAB\xA3\x15\xCB\x9F\x29\x66\x02\xAB\x4A\xA8\xEB\x29\x72\x00\x97\xAB\x20\x83\x93\xAB\xA6\xA9\x7E\x11\x76\x00\x9F\xAB\xF8\x22\xAF\x00\xA1\xAB\xF3\x89\x85\x64\x7A\x00\xA5\xAB\xBA\x18\xB3\x00\x80\xAB\xAA\xAA\x63\x98\xAC\xAB\xAF\xA5\xAF\xAB\x2A\x70\x19\x67\x82\x00\x27\xAB\x85\x00\xCD\xAA\xB9\x00\x3B\xAB\xB8\xAA\x1F\x7C\x87\x00\x27\xAB\x8A\x00\xCD\xAA\xBB\x00\x3B\xAB\xC0\xAA\xFE\x67\x8C\x00\x27\xAB\x8F\x00\xCD\xAA\xBD\x00\x3B\xAB\xC8\xAA\x3B\x0B\x91\x00\x27\xAB\x94\x00\xCD\xAA\xBF\x00\x3B\xAB\x7B\xA8\xDF\x06\x96\x00\x27\xAB\x99\x00\xCD\xAA\xC1\x00\x3B\xAB\xD9\xAA\xEB\x29\x9B\x00\xA5\xAB\x9F\x00\xCD\xAA\xE0\x9F\x4B\x61\xA1\x5B\x4C\xA6\xAA\x66\xA1\x00\x1F\x3E\x18\x61\xC6\x00\x07\x9F\xE5\xAB\x9B\xA7\xBE\x62\xA2\x00\xE9\xAB\x26\x06\xC7\x00\xEC\xAB\xFC\xAA\x40\x8D\x5E\xAB\xEE\x26\xFB\x9F\x5A\x64\xED\xAB\xA6\xA7\xBE\x62\xA5\x00\xF7\xAB\x1C\x61\xCA\x00\x17\xAA\xFB\xAB\xAC\xA7\x19\x67\xA7\x00\xFF\xAB\x26\xAA\x02\xAC\x13\xAA\xCD\x7C\x07\xAC\x1C\xA0\xFA\xAB\x10\x96\xBE\x62\xAB\x00\xF1\xAB\x53\x09\x28\xA0\xDA\x61\x03", - "\xAC\xC9\xA4\xAA\x66\xAC\x00\x0C\xAC\x43\x59\x09\xAC\x78\x8A\x12\x67\xAE\x00\x1A\xAC\x7A\x59\x1C\xAC\xCA\xA7\x12\x67\xB0\x00\x20\xAC\xC2\x59\x22\xAC\xCF\xA7\xD7\xA1\x26\xAC\x2D\x85\x28\xAC\xD5\xA7\xAA\x65\xB4\x00\x2B\xAC\x31\x6F\x2D\xAC\xDB\xA7\x5C\x9A\x31\xAC\xA6\x60\x33\xAC\xE1\xA7\xAA\x66\xB8\x00\x8A\xAB\xF0\x84\x48\xAB\x16\xAC\x46\xA1\xBB\x00\x36\xAC\xE0\x00\x38\xAC\x4F\xAB\xCA\x01\xBD\x00\x36\xAC\xE2\x00\x38\xAC\x56\xAA\x7E\x11\xBF\x00\x12\xAC\xFB\x10\xE4\x00\xF4\xAB\xB3\x98\x9D\x66\xC0\x00\x4E\xAC\x71\x16\xE5\x00\x51\xAC\x03\xA8\x5E\x63\xC1\x00\x3C\xAC\xD8\x70\x72\xA0\x16\xAC\x9B\x97\xC4\x00\x5C\xAC\x03\x01\x5D\xA0\x29\x66\x16\xAC\x13\xA8\xBD\x03\xC7\x00\x36\xAC\xEE\x00\x38\xAC\x75\xAB\x0E\x0F\xC9\x00\x36\xAC\xF0\x00\x38\xAC\x7B\xAB\x00\x00\xCB\x00\x62\xAC\x02\x01\xF2\x00\x3E\xAC\x8C\xA9\x54\x61\xCE\x00\x36\xAC\x6C\xA0\x0E\xAC\x36\xA5\x7E\x11\xD0\x00\x36\xAC\xF7\x00\x38\xAC\x8D\xAB\x94\x8D\x76\xAC\x6E\xA0\x65\xAC\x77\x9B\xE2\x59\x88\xAC\xFE\x97\x5E\xAC\x99\xAA\x7E\x11\xD8\x00\x8D\xAC\x01\x00\x98\xA0\x02", - "\x01\x16\xAC\x9C\xAB\x7E\x11\xDB\x00\x8D\xAC\x05\x00\x95\xAC\x01\x01\x16\xAC\xB1\xA9\xDF\x06\xDE\x00\x8D\xAC\x84\xA0\xE4\xAB\xB0\xAB\x3B\x0B\xE1\x00\x8D\xAC\x0C\x00\xD4\x39\x32\x01\x16\xAC\x61\xA4\xD8\xA4\xCD\xAA\xE6\x00\xCD\xAA\x0F\x00\xD4\x39\x91\x01\x16\xAC\xBD\xAB\x1E\x8F\xCD\xAA\xEA\x00\xCD\xAA\x11\x00\xB4\xAC\xA0\x5B\x34\x95\xAA\x65\xEC\x00\xCD\xAA\xEE\x00\xCD\xAA\x13\x00\xBD\xAC\x9E\x5B\xD5\xA9\xBE\x62\xF0\x00\xCD\xAA\xF2\x00\xCD\xAA\x15\x00\xC6\xAC\x67\x71\xD1\xAA\x5E\x63\xF4\x00\xCD\xAA\xF6\x00\xCD\xAA\x17\x00\xCF\xAC\x03\x01\x97\xAC\x6C\x64\xF8\x00\x27\xAB\xFB\x00\xCD\xAA\x19\x00\xAB\xAC\xA5\x5B\x9C\x5B\x6C\x64\xFD\x00\x8D\xAC\xBA\x18\x2D\x5E\x6F\x71\x6C\x64\x94\x3E\x18\x65\x06\x00\x8C\x3E\x18\x61\xAD\x5B\xD0\xAC\xC3\xA0\xC2\x73\xE6\x5B\xE3\xAC\xAA\x65\x07\x00\xEE\xAC\x36\x9D\xC6\x5B\xF0\xAC\x19\x67\x08\x00\x8C\x3E\x81\x04\x0C\x00\xF8\xAC\x84\x7E\x94\xA7\x20\xA4\x8C\x3E\x15\x68\x1C\x00\xD8\xAC\x02\x01\x33\x63\x4E\xA7\x9D\x66\x10\x00\x05\xAD\x26\x06\x1E\x00\x08\xAD\x32\x63\xF5\xAB\xCF\x0D\xFE\xAC\x26", - "\x06\x20\x00\xE1\xAC\x63\x7B\x4D\x94\x7E\x11\x17\x00\x15\xAD\x53\x09\x23\x00\x18\xAD\x6A\x77\x0A\xAB\x0E\x0F\x1B\x00\x1D\xAD\xFB\x10\x26\x00\x20\xAD\x03\x01\x0A\xAD\x8E\xA4\x32\x65\x1F\x00\x25\xAD\x71\x16\x29\x00\x28\xAD\x09\xAD\x0F\xAC\x85\x64\x23\x00\x0E\xAD\x69\x6F\x11\xAD\x00\x00\x2A\xAD\xFE\x4F\x6C\x64\x26\x00\x2E\xAD\xA3\x15\x2E\x00\x31\xAD\x12\xAD\x1D\xAC\xAC\x7B\x3E\xAD\xBD\x21\x31\x00\x41\xAD\x39\xAD\x2B\xAA\xB7\x64\x2E\x00\x45\xAD\xF8\x22\x34\x00\x48\xAD\x3A\xAD\x67\x8F\xAA\x66\x32\x00\x4D\xAD\xBA\x18\x37\x00\x50\xAD\xE7\xA6\xB7\x64\x36\x00\x55\xAD\x50\x89\x58\xAD\xED\xA6\x12\x67\x3A\x00\x5C\xAD\xD4\x85\x5E\xAD\xEE\xA5\xC2\x8A\x8C\x3E\x3C\x9E\x40\x00\x9D\xAC\x49\xAD\x40\x78\xAA\x65\x43\x00\x62\xAD\xDB\x21\x44\x00\x64\xAD\xFB\xA5\xAA\x66\x47\x00\x6F\xAD\xE8\x25\x47\x00\x72\xAD\x01\xA6\xA6\x67\x36\xAD\xFB\x10\x4A\x00\x38\xAD\x51\xAD\x00\x00\xFD\xA7\x44\x98\x7C\xAD\xD7\x89\x7F\xAD\x15\xA5\x5E\x63\x51\x00\x67\xAD\x26\x06\x4E\x00\xD4\x39\xB6\x03\x80\xAD\x69\xAB\x8A\xAD\x53\x09\x53\x00\x8D\xAD\x15\x01\x80", - "\xAD\x67\xAC\xCA\x01\x5B\x00\x76\xAD\x92\x94\x79\xAD\x23\xA6\xED\x70\x9A\xAD\xEE\x26\x5B\x00\x9C\xAD\x29\xA6\x12\x67\x63\x00\x91\xAD\xEF\x8B\x6A\xAD\x80\xAD\x82\xAB\xA5\x46\x9F\xAD\x1C\x61\x62\x00\xA2\xAD\x87\xAB\x7E\x11\x6C\x00\xAC\xAD\xCA\x01\x65\x00\xA2\xAD\x86\xAC\x0E\x0F\x70\x00\xA6\xAD\xF2\x9A\x94\xAD\x19\xAD\x94\xAB\xBE\x62\x75\x00\xBA\xAD\x30\x79\xBC\xAD\x21\xAD\x9F\xAA\x1F\x7C\x7A\x00\xC1\xAD\xBD\x21\x72\x00\xC3\xAD\x29\xAD\x90\xAC\x0E\x0F\x7F\x00\xC8\xAD\xA1\x7B\xCB\xAD\x32\xAD\xA5\xAA\x48\x69\x84\x00\xD0\xAD\xBA\x18\x7C\x00\xA8\xAD\xA6\xAC\x40\x0A\x89\x00\xD7\xAD\x63\x7F\xDA\xAD\xB5\xAB\x12\x67\x8E\x00\x4D\xAD\x92\x00\x8C\x3E\x91\x01\x84\x00\xA2\xAD\xB7\xAC\x7E\x11\x94\x00\x4D\xAD\x98\x00\xE6\xAD\x77\x50\xA2\xAD\xC5\xAB\x37\x8D\x4D\xAD\x9E\x00\xEF\xAD\x57\x08\xA2\xAD\xCD\xAB\x3E\x9A\x4D\xAD\xA4\x00\xF6\xAD\xB0\x6B\xA2\xAD\xD5\xAB\xBD\x03\xA6\x00\x4D\xAD\xAA\x00\xFD\xAD\x03\x01\x90\x00\xA2\xAD\xDD\xAB\x7E\x11\xAC\x00\xD0\xAD\xB1\x00\x05\xAE\xAC\x7F\x6A\xAD\x35\x5C\x90\xA6\x12\x67\xB3\x00\x0E\xAE\xBD", - "\x21\x97\x00\x38\xAD\x11\xAE\x0B\xAD\x54\x61\xB5\x00\x15\xAE\xF8\x22\x99\x00\x18\xAE\x13\xAD\x00\x00\xB7\x00\x84\xAD\xA3\x15\x9B\x00\x48\xAD\x19\xAE\xB3\xA6\x85\x64\xBA\x00\x24\xAE\xBD\x21\x32\xA1\x4B\x61\x28\xAE\x56\x94\x32\x65\xBD\x00\x2C\xAE\xF8\x22\xA1\x00\x27\xAE\x0A\xAC\x5E\x63\xC0\x00\x34\xAE\xBA\x18\xA4\x00\x37\xAE\x18\xAB\x5E\x63\xC3\x00\x1D\xAE\xBA\x18\xA7\x00\x20\xAE\x1F\xAB\x1F\x7C\xC5\x00\x3B\xAE\xA1\x21\xA9\x00\x3E\xAE\x25\xAB\x12\x67\xC8\x00\x49\xAE\xB6\x24\xAC\x00\x4C\xAE\x2A\xAB\x36\xA3\x50\xAE\xDB\x21\xAF\x00\x53\xAE\x30\xAB\x12\x67\xCE\x00\x56\xAE\xE8\x25\xB2\x00\x59\xAE\x36\xAB\x12\x67\xD1\x00\x5D\xAE\xDE\x26\xB5\x00\x60\xAE\x3C\xAB\x4A\x6E\x64\xAE\xEE\x26\xB8\x00\x67\xAE\x42\xAB\xBD\x03\xD7\x00\xB3\xAD\x15\x01\xBB\x00\x10\xAE\x4A\xAB\xB3\x75\x6A\xAE\x1C\x61\xBF\x00\x67\xAE\x45\xAC\x10\x5A\x77\xAE\xAA\x9C\x67\xAE\x4B\xAC\x0E\x0F\xE1\x00\x42\xAE\xA1\x21\xC5\x00\x45\xAE\x5C\xAB\xFD\x80\x83\xAE\xB6\x24\xC7\x00\x86\xAE\x62\xAB\xBE\x62\xE5\x00\x71\xAE\x6D\x60\xD2\xAD\x20\x80\x87\xAD\xFE\x67\xE9", - "\x00\x90\xAE\xFE\xA5\x92\xAE\xCC\x8C\x6F\xAB\x12\x67\xED\x00\x7D\xAE\x6B\x59\x67\xAE\x6D\xAC\x34\x0E\xF0\x00\x9E\xAE\x25\x73\x67\xAE\x73\xAC\xF3\x00\x97\xAE\xB4\x79\x74\xAE\x2F\xA5\x19\x67\xF7\x00\xA4\xAE\xB1\x60\x67\xAE\xB0\xAD\x0E\x0F\xFA\x00\xAF\xAE\x17\xA1\x67\xAE\xB7\xAD\x34\x0E\xFD\x00\xA9\xAE\x6B\xA9\x99\xAE\x30\xAE\x54\x71\xCB\x75\x07\x3F\x6E\x7C\xE8\x00\xBD\xAE\xCD\xAD\x34\x0E\x05\x00\xC1\xAE\x46\x74\xC4\xAE\xC5\xAD\xEB\x29\x09\x00\xC8\xAE\x53\x09\xF2\x00\xCA\xAE\x5C\xA6\x5E\x63\x0D\x00\xCE\xAE\xFB\x10\xF7\x00\xAB\xAE\x01\x38\x6C\x64\x11\x00\xD5\xAE\x71\x16\xFB\x00\xD8\xAE\xA7\x9B\xE6\x9E\x07\x3F\x32\x01\x18\x00\x07\x3F\x1F\x1A\x67\xAE\xEA\xAD\x0E\x0F\x1A\x00\xE2\xAE\x2D\x25\xE5\xAE\x38\x24\x00\x0D\x32\x01\xBE\xAE\x6F\xA7\x46\x72\xEB\xAE\x1C\x04\xED\xAE\x2E\x0E\xEF\xAE\x34\x5C\xC8\xAC\x85\x64\x24\x00\xF4\xAE\x0D\x02\xF6\xAE\x61\x2A\xF8\xAE\x12\x01\xF1\xAE\x00\xAE\xCA\x01\x29\x00\xFD\xAE\x33\x37\xFF\xAE\x88\x2A\x01\xAF\x0C\x01\xF1\xAE\x09\xAE\x0E\x0F\x2E\x00\xDC\xAE\xBA\x5B\x09\xAF\xEE\x28\x1A\xA2\x72", - "\x5C\x13\x5C\x6C\x64\x34\x00\x07\xAF\xF3\xAC\x5E\x5C\xA3\x02\x6B\x04\x93\x90\x07\x3F\xFE\x17\x3D\x00\x07\x3F\x1F\x61\xB5\x03\x1E\xAF\xBE\x62\x3E\x00\x20\xAF\x28\x06\x23\xAF\x42\x07\xB3\x14\x26\xAF\x7B\x7E\x29\xAF\x74\x6F\x2B\xAF\x3E\x61\x6B\x04\xF4\xA9\xCA\x01\x4C\x00\x13\xAF\xBD\x21\x12\x00\xF6\xA1\x1A\x62\xFB\xA9\x57\x96\x38\xAF\x7C\x62\x3B\xAF\xC3\x62\x43\x98\xBD\x03\x50\x00\x1A\xAF\xBD\x21\x16\x00\x0B\xAF\x01\x2A\x07\xAA\x03\x41\x46\xAF\xF8\x22\x19\x00\x49\xAF\x90\x61\xB9\xA6\x48\x69\x56\x00\x4D\xAF\xBA\x18\x1C\x00\x50\xAF\x1A\x62\x12\xAB\xEB\x29\x59\x00\x55\xAF\x03\x67\x58\xAF\xC3\x62\x24\xA9\x60\x64\x3F\xAF\x80\x67\x41\xAF\xE2\x63\x40\x97\x1F\x7C\x5E\x00\x5D\xAF\xA2\x63\x5F\xAF\xE2\x63\x25\xAA\x32\x0D\x6A\xAF\xDB\x21\x27\x00\x6C\xAF\x6B\x04\xD7\xA4\xEB\x29\x64\x00\x70\xAF\xE8\x25\x2A\x00\x73\xAF\x31\xAA\xAB\x81\x78\xAF\xDE\x26\x2D\x00\x7B\xAF\x37\xAA\x32\x65\x6A\x00\x7E\xAF\xEE\x26\x8C\xA1\x4B\x61\xE2\x63\xD6\xA3\xDF\x06\x6D\x00\x85\xAF\x1C\x61\x33\x00\x81\xAF\x4A\x8C\x4B\x86\x11\xAF\xBD\x21\x36\x00\x15", - "\xAF\x90\x61\x46\xA1\x74\x00\x8D\xAF\xCA\x01\x3A\x00\x90\xAF\x02\x01\x7B\xAE\x12\x01\x77\x00\x9A\xAF\x7F\x03\x9D\xAF\xF4\x97\x2C\x6F\x63\xAF\xA1\x21\x40\x00\x65\xAF\x6B\x04\x82\xAD\xBD\x03\x7C\x00\xA7\xAF\xCA\x69\xAA\xAF\x93\x97\x54\x61\x7E\x00\x93\xAF\xF8\x22\x44\x00\x00\x0D\xB6\x03\xE2\x63\x9B\x97\x82\x00\xB5\xAF\x11\x75\xB8\xAF\xB1\x5D\x4F\x9B\x92\x71\xA2\xAF\x7F\x3F\xA4\xAF\xAA\x51\x42\x68\xC3\xAF\x88\x40\xC5\xAF\x73\xAC\x8C\x00\xBD\xAF\xA1\x21\x54\x00\x96\xAF\x1A\x62\xAA\xAD\xB5\x9B\xC8\xAF\xB1\x41\xC5\xAF\xB2\xAE\x34\x0E\x93\x00\xD4\xAF\x10\x06\xC5\xAF\xB8\xAE\x3B\x0B\x96\x00\xCD\xAF\x97\xA7\xBF\xAF\xF8\x29\xDD\xAF\x40\x0A\x9A\x00\xE0\xAF\xA7\x73\xE2\xAF\x0C\x61\x98\xAC\x0E\x0F\x9E\x00\xE7\xAF\xBB\xA7\xE9\xAF\x01\x2A\xEB\xAF\xCB\x8E\xEE\xAF\x71\x79\xF0\xAF\x90\x61\xA0\xAC\x01\xAE\xF4\xAF\xEE\x26\x72\x00\xD0\xAF\xC3\x62\x57\xA8\x34\x0E\xAA\x00\xFA\xAF\x1C\x61\x76\x00\xFD\xAF\xE2\x63\xAE\xAC\xEB\x29\xAE\x00\x4D\xAF\xB1\x00\x3F\xAF\x7A\x00\xC5\xAF\xE8\xAE\x34\x0E\xB3\x00\x4D\xAF\xB6\x00\x3F\xAF\x7D\x00\xC5", - "\xAF\xF2\xAD\x65\x8D\x4D\xAF\xBB\x00\x3F\xAF\x80\x00\xC5\xAF\xF9\xAD\x33\xA7\x4D\xAF\xC0\x00\x3F\xAF\x83\x00\xC5\xAF\x04\xAF\xBF\x57\x4D\xAF\xC5\x00\x3F\xAF\x86\x00\xC5\xAF\x0E\xAF\x34\x0E\xC7\x00\xB5\xAF\xCB\x00\x3F\xAF\x89\x00\xFD\xAF\x01\x00\x6B\x04\x0B\x5C\x54\x61\xCD\x00\xDA\xAF\xBD\x21\x34\xB0\xA6\x04\x2E\xAF\xB7\x64\xD0\x00\x30\xAF\x80\x8E\x32\xAF\xFB\x10\x3B\xB0\x79\x11\x3D\xB0\x5D\x89\x40\xB0\x03\x01\xDD\x00\x42\xB0\x71\x16\x44\xB0\x09\x26\x46\xB0\xFE\x67\xDE\x00\x48\xB0\x02\x01\xE4\x00\x4B\xB0\xA3\x15\x78\x5C\x12\xAE\x02\x78\xAF\xAF\xDB\x21\x8D\x00\x41\xAF\x57\xB0\x1A\xAE\xBE\x62\xE7\x00\x5A\xB0\xE8\x25\x8F\x00\x5D\xB0\x6B\x04\x43\xAF\x57\xA3\x39\xB0\xAA\x51\x5F\xAF\x5E\xB0\x29\xAE\xB7\x64\xEC\x00\x69\xB0\x94\x00\x6B\xB0\x6B\x04\x52\xAF\x1F\x7C\xEF\x00\x69\xB0\x97\x00\x72\xB0\x1C\xA9\xFE\x67\xF2\x00\x69\xB0\x9A\x00\x79\xB0\xC3\xA4\x9D\x66\xF5\x00\x62\xB0\x7A\x8D\x65\xB0\x46\xAE\xEB\x29\xF7\x00\x69\xB0\x9F\x00\x7F\xB0\xCF\xA4\x9D\x66\xFA\x00\x69\xB0\xA2\x00\x8B\xB0\x83\x90\xAA\x66\xFD\x00\x69\xB0\xA5", - "\x00\x91\xB0\x52\xAD\xD0\xA7\x8D\x1D\x15\x68\xA8\x00\x97\xB0\x00\x00\x30\xA1\x3B\x0B\x03\x00\x9A\xB0\xF2\x87\x9D\xB0\x8A\xAF\xBD\x03\x06\x00\xA2\xB0\x53\x09\xAE\x00\x9D\xB0\x6E\xAE\xCA\x01\x09\x00\x8D\x1D\x6E\x7C\xB1\x00\xFD\xAF\x6C\xB0\xF9\xA6\x83\x74\xA8\xB0\x7F\x99\x9D\xB0\x9F\xAF\x5C\x04\xB6\xB0\x50\x75\x9D\xB0\x80\xAE\xF2\x8D\x8D\x1D\x5F\x64\xBB\x00\x85\xB0\x87\xAE\x85\x64\x15\x00\xC0\xB0\x26\x06\xBD\x00\xC3\xB0\x8D\xAE\x85\x64\x17\x00\xAF\xB0\x26\x06\xBF\x00\xF6\xAF\xE8\x24\x6B\x04\x9B\x97\x1B\x00\xCE\xB0\x53\x09\xC4\x00\xD1\xB0\x2D\x70\x6B\x04\x97\xAD\xCE\x13\xBB\xB0\x1D\x93\x9D\xB0\xA1\xAE\x3B\x0B\x22\x00\xDE\xB0\xBD\x21\xCC\x00\x9D\xB0\x73\xAC\x25\x00\xD6\xB0\xE4\x75\xB2\xB0\x6B\x04\xD2\xAF\xFC\x35\xE4\xB0\x00\x92\x9D\xB0\xD7\xAF\x6C\x67\xF0\xB0\xBA\x18\xD6\x00\x9D\xB0\xE4\xAF\xDF\x06\x2F\x00\xEA\xB0\x71\x16\xD9\x00\xD9\xB0\xB3\xB0\xBF\xAE\xAA\x66\x33\x00\xFC\xB0\xA3\x15\xDE\x00\xFF\xB0\x6B\x04\xF2\xAF\x3B\x0B\x37\x00\x04\xB1\x68\x75\x07\xB1\xCB\xAE\x7E\x11\x3B\x00\x0C\xB1\xF8\x22\xE8\x00\x0E\xB1\xD2", - "\xAE\xFE\x67\x3F\x00\x12\xB1\xC3\x8C\xEC\xB0\x68\x6E\xAA\x66\x43\x00\x19\xB1\xA1\x21\xF1\x00\x1B\xB1\xB0\xAA\x74\xAD\xF0\xB0\x4A\x00\xC7\xB0\x80\x5B\x9D\xB0\x0F\xB0\x3B\x0B\x4C\x00\xF0\xB0\x4F\x00\x27\xB1\x67\x71\x9D\xB0\x17\xB0\xEB\x29\x51\x00\xF0\xB0\x54\x00\x2F\xB1\xE6\x5B\x9D\xB0\x1E\xB0\xB8\x99\xF0\xB0\x59\x00\x37\xB1\x02\x01\xFE\x00\x9D\xB0\x25\xB0\x40\x03\xF0\xB0\x5E\x00\x3E\xB1\xF9\x29\x58\x3B\x32\x01\x00\xB1\x15\x76\xFF\xA8\x12\xB1\x64\x00\x46\xB1\x73\x04\x59\xA2\x03\x00\x35\xB0\x14\x71\xF5\xB0\x0E\x8C\x52\xB1\x3C\xB0\xAA\x65\x69\x00\x8D\x1D\xFE\x17\x6F\x00\x8D\x1D\x58\x61\x6B\x04\x05\x00\x4F\xB0\x48\x69\x70\x00\x5B\xB1\x22\x7A\x5E\xB1\x26\x06\x57\xB1\xD7\x21\x62\xB1\x1F\x7C\x77\x00\x65\xB1\x88\x4E\x67\xB1\x53\x09\x40\x63\x02\xAF\x1E\x9F\xD0\xA0\xFB\x10\x61\xB1\xF8\x29\x93\xA8\x2D\xAF\x13\x28\x6B\xB1\xBB\x81\xA3\xA0\x07\x00\x53\xB1\xEF\x87\x70\xB1\xC0\xA0\x7F\xB1\x58\xB1\x68\xA9\x12\xB1\x83\x00\x82\xB1\x43\x78\x60\xB1\x7C\xB1\x7E\x11\x84\x00\x12\xB1\x88\x00\x89\xB1\xA3\x15\x84\xB1\x6A\xB1\xAA\x65\x89", - "\x00\x12\xB1\x8D\x00\x91\xB1\xBD\x21\x08\x00\x34\xAF\x93\x88\x1F\xB1\xB6\x24\x08\x00\x48\xB1\xB5\x2A\x6B\x04\x3D\xAF\x3B\x0B\x92\x00\x9E\xB1\xDB\x21\x0B\x00\xA1\xB1\xC4\x2A\x66\xB0\x6C\x64\x96\x00\x8D\x1D\x3C\x9E\x0E\x00\x59\xA2\x9B\xB1\xAC\xA5\x85\x64\x9B\x00\xAF\xB1\xAA\x5C\xB2\xB1\x73\xB0\x6C\x64\xA0\x00\xB7\xB1\x53\x09\x16\x00\xB9\xB1\x7A\xB0\x48\x69\xA5\x00\xBD\xB1\xFB\x10\x1A\x00\xC0\xB1\x80\xB0\x54\x61\xAA\x00\xA7\xB1\xE8\x25\x1E\x00\xAA\xB1\x61\x2A\x6B\x04\x67\xAF\x08\xB0\xC4\xB1\x5C\x67\xC7\xB1\x8C\xB0\x54\x61\xB3\x00\xD3\xB1\x32\x72\xD5\xB1\x92\xB0\x73\x76\xD9\xB1\x4E\x86\xDB\xB1\x98\xB0\x12\x67\xBD\x00\xDE\xB1\xF8\x22\x2D\x00\xE0\xB1\x9E\xB0\xA4\x75\xE4\xB1\xBA\x18\x61\xA2\x29\x66\xB3\xB1\xE9\xA5\x9D\x66\xC7\x00\xEA\xB1\xA1\x21\x35\x00\xE7\xB1\xAC\xB0\xF5\x58\x6E\xB1\xFB\x10\x39\x00\x58\x3B\xB6\x03\xEE\xB1\x49\xAA\xAA\x65\xD2\x00\xF2\xB1\xB6\x24\x3E\x00\xE7\xB1\xB9\xB0\xD9\x71\x01\xB2\xDB\x21\x42\x00\xE7\xB1\xBE\xB0\x3B\x0B\xDC\x00\xCB\xB1\xDE\x26\x84\xA2\x4B\x61\xFD\xB1\x4A\x74\xCA\xA4\x0E\xB2\xEE", - "\x26\x49\x00\xCE\xB1\x25\x26\xD3\xB0\x8F\x7F\xE4\x00\xF8\xB1\xD7\x89\x58\x3B\xFE\x17\x12\xB2\x0F\x3F\x8F\x7F\xEA\x00\x1D\xB2\xA3\x15\x52\x00\x1F\xB2\xA2\xB1\xC1\xAF\xB7\x64\xF0\x00\x07\xB2\xE8\x25\x58\x00\xE7\xB1\xE1\xB0\x40\x0A\xF5\x00\x2D\xB2\xDE\x26\x5C\x00\xE7\xB1\x73\xAC\xFA\x00\x25\xB2\xBD\x21\xAE\xA2\x04\x61\x19\xB2\xAC\xAE\x12\x67\x4B\xB1\x3A\x2A\xFB\x10\x65\x00\xE7\xB1\xF3\xB0\x40\x0A\x05\x00\xFE\x3F\x3C\x9E\xB7\xA2\xED\xB1\x6B\x04\xF9\xB0\xBD\x03\x0A\x00\xFE\x3F\x11\x7C\x6D\x00\x28\xB2\xAB\xB1\xBE\xAD\x85\x64\x10\x00\x51\xB2\xF2\x85\x54\xB2\xCF\xB1\x0F\xB1\x0E\x0F\x16\x00\x59\xB2\x53\x09\x79\x00\x5B\xB2\x3E\xB2\xA2\xAB\x11\x7A\x60\xB2\xFB\x10\xDC\xA2\x18\x65\x21\xB2\x0D\x39\x47\x9C\x67\xB2\x5E\x81\xFB\xB1\x29\xB2\xD9\xAE\xE1\x75\x6E\xB2\x52\x84\x70\xB2\x55\xB2\x23\xB1\x0A\x94\x49\xB2\xFC\x0D\xFE\x3F\x91\x01\x8F\x00\xE7\xB1\x2A\xB1\x40\x0A\x35\x00\x7A\xB2\xF4\x59\x7C\xB2\x15\x01\xF3\xA2\x4C\xB2\xCD\xA9\x12\x67\x3C\x00\x83\xB2\x16\x03\x85\xB2\xEF\x88\xE7\xB1\x3A\xB1\xCA\x01\x43\x00\x8C\xB2\x78\x12\x8E", - "\xB2\x3C\x1A\xE7\xB1\x42\xB1\x0A\x3D\x94\xB2\x4C\x14\x96\xB2\x98\x77\xE7\xB1\x2C\xB0\x98\xA2\x74\xB2\x6A\x41\x9D\xB2\x40\x8D\x76\xB2\xA7\x2A\x9C\xB1\x02\x83\xFE\x3F\x9B\xB0\x18\xB2\xC6\x2A\xA3\xB1\x12\x68\xAA\xB2\xF2\x87\xAC\xB2\x28\x2B\xAC\xB1\xED\x70\xFE\x3F\x6E\x7C\xAE\x00\x59\xA2\x43\x63\xB4\xB1\xB7\x64\x63\x00\xB6\xB2\x7C\x77\xB9\xB2\xBA\xB1\xAA\x65\x67\x00\xBE\xB2\x7A\x69\xC0\xB2\xC1\xB1\x55\xA6\xC4\xB2\xFB\x10\x1C\xA3\x29\x66\xBA\xB2\xC8\xB1\xBE\x62\x6F\x00\xB0\xB2\x59\x9A\xB2\xB2\x7B\x2B\xD0\xB1\x75\x66\xC9\xB2\x71\x16\x2B\xA3\xCC\xB2\x6B\x04\x6E\xAF\xC5\x4D\xD7\xB2\xA3\x15\x2D\xA3\xDA\xB2\xDB\xA6\xD5\xA2\xDE\xB2\xBD\x21\xC9\x00\xC6\xB2\xC7\xA3\xAB\x9F\xE4\xB2\xF8\x22\xCD\x00\xE7\xB2\xCE\xA3\xBE\x77\xEA\xB2\xF5\x6E\xED\xB2\xFD\x70\x6C\x64\x86\x00\xF0\xB2\xA1\x21\x43\xA3\xE1\xB2\x65\xAD\x54\x61\x8A\x00\x9B\xB2\xBD\x21\x45\xA3\x3D\xB2\xAD\xB2\x6C\xAD\xAA\x66\x8F\x00\xF6\xB2\x2D\xA6\xF2\xB2\x4F\xAA\xF2\xA2\x05\xB3\x70\xA2\x07\xB3\x55\xAA\x6C\x64\x97\x00\xD1\xB2\x17\x88\xD3\xB2\xCD\xB2\x67\xA9\xC3\x9F\x10", - "\xB3\x71\x16\x58\xA3\x4B\x61\x13\xB3\x6E\xA9\xC2\x71\xFD\xB2\xF8\x22\xEC\x00\x63\xB2\x01\xB3\x59\xAC\xFE\x67\xA2\x00\x1D\xB3\xBF\x93\x20\xB3\xB3\xB2\x2A\xB2\xF3\xA6\x0A\xB3\xE8\x25\x67\xA3\xF9\xB2\x25\xA7\xCB\x6B\x2B\xB3\xDE\x26\x69\xA3\x2E\xB3\xA3\x75\xAA\x65\xAF\x00\x25\xB3\x25\x61\x6F\x0B\xB6\x03\x1A\xB3\x91\x92\x2F\xAC\x31\xB3\xEE\x26\x05\x00\x75\xA3\x75\x2A\x6B\x04\x46\xB2\xDF\x06\xB8\x00\x3F\xB3\x1C\x61\x09\x00\x42\xB3\x86\x2A\x4D\xB2\x8F\x7F\xBC\x00\x38\xB3\xB6\x24\x0D\x00\x6F\x0B\x42\x63\x4D\xB3\x2A\xA3\x50\xB3\xDB\x21\x13\x00\x53\xB3\x43\xB3\x5D\xB2\xD6\x91\x57\xB3\xE8\x25\x19\x00\x5A\xB3\x4C\xB3\x5C\xB3\x3B\x0B\xCB\x00\x5E\xB3\xDE\x26\x1F\x00\x61\xB3\xA7\xB2\xD4\xAD\x1F\x7C\xD0\x00\x66\xB3\xEE\x26\x25\x00\x3A\xB3\x5B\xB3\x72\xB2\x9A\x73\x6E\xB3\xCC\x63\x71\xB3\x62\xB3\x78\xB2\x40\x6B\xEA\xB2\xDE\x00\xA4\xB2\x82\x37\x4B\xB3\x6A\xB3\xFB\x97\x22\x95\xEA\xB2\xE4\x00\x7D\xB3\xD9\x0E\x7F\xB3\xB7\x2A\x6B\x04\x32\xB1\x7E\x11\xE6\x00\xEA\xB2\xEA\x00\x85\xB3\x37\x00\x87\xB3\x21\xB3\xE0\xA1\xF0\x69\xEA\xB2\xF0", - "\x00\x85\xB3\x3B\x00\x91\xB3\x28\xB3\xE9\xA1\x5E\x63\xF2\x00\xEA\xB2\xF6\x00\x85\xB3\x3F\x00\x99\xB3\xD4\xB2\xE5\xA9\x85\x64\xF8\x00\x1D\xB3\xFD\x00\x85\xB3\x43\x00\x77\xB3\x77\x2A\x6B\x04\x09\x00\x8C\xB1\xF2\x16\x16\xB3\x1B\xAF\xB9\x2A\x6B\x04\x12\x00\xAF\xB3\x34\x0E\x02\x00\x78\x40\x20\xB2\x78\x40\x3C\x63\x6B\x04\x13\x00\xB6\xB3\x64\x99\xB9\xB3\x6A\x2A\xBB\xB3\x26\x06\x0B\x00\x6B\x04\x14\x00\xBF\xB3\x40\x0A\x10\x00\xC1\xB3\x6F\x2C\xC3\xB3\x53\x09\xC5\xB3\x24\x2B\xC8\xB3\xDF\x06\x17\x00\xCB\xB3\x0C\x01\x1D\x00\xCD\xB3\x5B\x63\xA8\xB2\xAA\x66\x1E\x00\x78\x40\x15\x68\x48\x00\x6F\x0B\x32\x01\x0C\x00\xAE\xB2\x1D\x7D\xDC\xB3\x26\x06\x4B\x00\xDF\xB3\xA8\x02\xB4\xB2\xAA\x66\x24\x00\x78\x40\x6E\x7C\x4E\x00\xA2\xB3\xE1\xB3\xBB\xB2\x5E\x63\x28\x00\xEC\xB3\xDD\x77\xEF\xB3\xC1\xB2\x80\x87\xF4\xB3\x53\x09\x56\x00\xF6\xB3\xC7\xB2\x38\x5D\xF9\xB3\xFB\x10\x5A\x00\xFC\xB3\xCE\xB2\x85\x64\x34\x00\xE4\xB3\xDA\x69\xE7\xB3\xC8\x02\xD5\xB2\x7F\x69\xFF\xB3\x71\x16\x61\x00\x02\xB4\xD6\xB1\xC4\x94\x0C\xB4\xA3\x15\x65\x00\x0F\xB4\xDC", - "\xB1\xFF\x73\x12\xB4\xBD\x21\x69\x00\x15\xB4\xE1\xB1\x32\x65\x43\x00\x18\xB4\x40\x79\x1B\xB4\xE8\xB1\x89\xA2\x1F\xB4\x8D\x79\x21\xB4\xA5\xB0\xCA\x01\x4B\x00\x24\xB4\xA1\x21\x75\x00\x21\xB4\xF6\xB1\xDE\x3F\x78\x40\x3C\x9E\x79\x00\xAB\xB3\x91\x04\x6B\x04\x46\xA1\x54\x00\x2A\xB4\x51\x7F\x21\xB4\x05\xB2\xD6\x41\x38\xB4\xDB\x21\x82\x00\x21\xB4\x0B\xB2\x40\x0A\x5C\x00\x06\xB4\xFB\x10\x86\x00\x08\xB4\xD9\x02\xAB\xAF\x6C\x64\x5F\x00\x44\xB4\x71\x16\x89\x00\x47\xB4\x34\xB4\xB2\xAF\xFF\x70\x30\xB4\x9C\x84\x69\xB3\x50\xB4\x22\xB3\x48\x69\x67\x00\x53\xB4\x02\x87\x55\xB4\x5F\x07\xDB\xB0\x6C\x64\x6C\x00\x3D\xB4\xFB\x69\x21\xB4\x31\xB2\xDF\x06\x70\x00\x61\xB4\xDE\x26\x9C\x00\x21\xB4\x73\xAC\x74\x00\x5A\xB4\x65\x8E\x33\xB4\x5D\xB4\x3F\xB2\x32\x65\x79\x00\x67\xB4\xEE\x26\xA5\x00\x21\xB4\x45\xB3\xBD\x03\x7D\x00\x74\xB4\x1C\x61\xA9\x00\x21\xB4\x4E\xB2\xCA\x01\x81\x00\x6D\xB4\x90\x95\x5C\xB4\xBE\x0B\x55\xB3\xAA\x66\x86\x00\x82\xB4\xA3\x15\xB3\x00\x84\xB4\x6A\x07\x08\xB1\x8F\x7F\x8B\x00\x89\xB4\xBD\x21\xEF\xA3\x8D\x65\x8E\xB4\x64", - "\x7D\x91\xB4\xF8\x22\xBF\x00\x8C\xB4\xF0\xB3\x16\xB1\x48\x69\x95\x00\x97\xB4\xBA\x18\xF7\xA3\x00\xB3\x85\xB4\x1C\xB1\xC3\x9F\x9F\xB4\x86\x6C\x6F\xB4\xA3\xB4\x79\xB3\x4E\x6F\x1F\xB4\xA3\x00\x78\x40\x91\x01\xCF\x00\x21\xB4\x80\xB2\xDF\x06\xA5\x00\x1F\xB4\xA9\x00\xAE\xB4\x6B\x59\x21\xB4\x8A\xB3\x0E\x0F\xAB\x00\x1F\xB4\xAF\x00\xB7\xB4\xFB\x80\x21\xB4\x91\xB2\xD5\x62\x1F\xB4\xB5\x00\xBF\xB4\xF5\x71\x21\xB4\x99\xB2\x1F\x57\x1F\xB4\xBB\x00\xC6\xB4\xFD\x84\x21\xB4\xA0\xB2\x40\x0A\xBD\x00\x97\xB4\xC2\x00\xCD\xB4\x6B\xA9\xA8\xB4\x93\x02\xAD\xB3\xD1\xB3\xBD\x03\xC4\x00\x4C\xB4\xB2\xB3\xD8\xB4\xB1\x2A\xDA\xB4\xCA\x01\xC7\x00\xD4\xB3\x03\x01\xCD\x00\xD7\xB3\x71\x16\x0D\x00\xBD\xB3\xE1\xB4\x2A\x59\xE4\xB4\xFA\x9B\xE7\xB4\xA3\x15\xE9\xB4\xB3\x2A\xEB\xB4\xB6\x59\xED\xB4\x01\x01\xDB\x00\xEF\xB4\x79\x63\x6B\x04\x15\x00\xF3\xB4\x0C\x01\xDC\x00\xF5\xB4\xC7\xA2\xF8\xB4\x35\x89\xD9\xB3\x19\x67\xE3\x00\xDD\xB4\xBD\x21\x0C\xA4\x4B\x61\x0E\x00\xE2\xB3\xF9\x83\x06\xB5\xF8\x22\xEB\x00\x4F\xB4\xEE\x28\xE9\xB3\xB9\x73\x7B\xB4\xA6\x9A\xA2", - "\xB3\x0A\xB5\xF1\xB3\x18\x96\x14\xB5\xF1\x5A\x16\xB5\xF7\xB3\xFC\x7C\x1A\xB5\xA7\x5B\x1C\xB5\xFD\xB3\x7E\x11\xF5\x00\x1F\xB5\xA9\x5B\x21\xB5\x03\xB4\xB7\x64\xF9\x00\x0D\xB5\xBA\x18\xFE\x00\x10\xB5\x4F\x63\x86\xB0\x7E\x11\xFC\x00\x25\xB5\x3D\x24\xDA\x22\x81\x04\x17\xB5\x4D\xAE\x32\x65\xEA\x40\x13\x9D\xBB\x61\x35\xB5\x8F\x02\x74\xAF\xDC\xA7\xE6\x40\x6E\x7C\x09\x00\x3D\xB5\x99\x02\x6B\x04\xE1\xA6\x34\x0E\x08\x00\x41\xB5\x26\x06\x21\xA4\x29\x66\x37\xB5\xEE\xB2\x32\x65\x0C\x00\x4A\xB5\x7E\x6B\x44\xB5\xCC\x02\x6B\x04\x27\xB4\x7A\x04\x52\xB5\xFB\x10\x15\x00\x54\xB5\xDD\x02\x6B\x04\x2E\xB4\xD2\x2A\xE6\x40\x3C\x9E\x19\x00\xDA\x22\xB6\x03\x4E\xB5\xB4\xB0\xE2\x88\x59\xB5\x71\x16\x1E\x00\x5C\xB5\x11\xB5\x4D\xA1\xB7\x64\x1D\x00\x69\xB5\xA3\x15\x22\x00\x6C\xB5\x2F\xB5\x35\x9B\x32\x65\x21\x00\xE6\x40\x15\x68\x26\x00\x2A\xA5\x5D\xB5\x52\xAC\x69\x61\x79\xB5\x26\x06\x29\x00\x7C\xB5\x6D\xB5\x57\xB4\x1F\x7C\x27\x00\x61\xB5\x6E\x5D\xDA\x22\xFE\x17\x66\xB5\x22\xB2\x25\x7D\x88\xB5\x53\x09\x36\xA4\x18\x65\x8C\xB5\x46\x79\x85\x6E\x71", - "\xB5\xBD\x21\x38\x00\x74\xB5\x2C\x2B\x6B\x04\x64\xB4\xBD\x03\x35\x00\x96\xB5\xF8\x22\x3C\x00\x99\xB5\x93\xB5\x73\xAC\x39\x00\x8F\xB5\xFB\x10\x40\x00\x64\xB5\x3E\xB5\x71\xB4\xC2\x8A\x9F\xB5\xBA\x18\x45\x00\xA2\xB5\x44\xB3\x6C\x64\x42\x00\xAD\xB5\xA1\x21\x49\x00\xB0\xB5\x56\xB2\xB7\x64\x46\x00\xA6\xB5\x71\x16\x4D\x00\x8A\xB5\xAA\xB5\x43\xA7\x40\x0A\x4B\x00\xBB\xB5\xA3\x15\x53\x00\xBE\xB5\x45\xB5\x63\xB3\x40\x0A\x50\x00\xC3\xB5\x0E\x70\xC6\xB5\x55\xB5\xC8\xB5\xDF\x06\x55\x00\xCB\xB5\x51\x92\xCD\xB5\x7D\xB5\x9C\xB4\x1F\x7C\x5A\x00\xD2\xB5\xBA\x18\x65\x00\xA9\xB5\xC7\xB5\x73\xB3\x8C\x9F\xD9\xB5\xA1\x21\x6A\x00\xDC\xB5\xCE\xB5\xAA\xB4\x9D\x66\x64\x00\x9F\xB5\x68\x00\xE6\x40\x09\x68\xB7\xB5\x81\xB3\x54\x61\x6A\x00\x9F\xB5\x6E\x00\xEA\xB5\xE9\x4B\xEC\xB5\xEB\x8C\x4B\x86\x9F\xB5\x74\x00\xF2\xB5\xA0\xAF\xF4\xB5\xB6\x8D\x12\x67\x76\x00\x9F\xB5\x7A\x00\xF9\xB5\x14\x6B\xFB\xB5\x48\x8B\x2A\x73\x9F\xB5\x80\x00\x01\xB6\xBE\x4E\x03\xB6\x41\xB2\x2B\x79\xD2\xB5\x87\x00\x08\xB6\x88\x6A\xE3\xB5\xAE\x2A\xD9\xB4\x95\xB1\x80\xB5\xBA", - "\x9E\x0F\x00\xB4\xB3\xFC\xB4\x48\x51\xE6\x40\xFE\x17\x92\x00\xE6\x40\x18\x61\x17\xB6\x50\x07\x19\xB6\xAC\x7F\x1B\xB6\x3C\x62\x1E\xB6\x26\x06\x20\xB6\xD2\x2A\x22\xB6\x01\x01\x9A\x00\x24\xB6\x73\x55\x26\xB6\x53\x09\x28\xB6\xCF\x29\x2A\xB6\x8B\x0E\x2D\xB6\x3A\x92\x2F\xB6\xFB\x10\x10\x00\x03\xB5\x12\x67\xA8\x00\x15\xB6\x8B\x9B\x83\xB5\x6C\x04\x0B\xB5\xCE\xA9\x3D\xB6\x71\x16\x8B\x00\x3F\xB6\x95\x04\x12\xB5\x1E\xAC\xB4\xB5\x8C\x98\x99\xB5\x39\xB6\x18\xB5\x48\x69\xB2\x00\x4A\xB6\x9E\x6A\x4C\xB6\x1D\xB5\x12\x67\xB6\x00\x51\xB6\xE8\x25\x96\x00\x53\xB6\x22\xB5\x0E\x0F\xBA\x00\x57\xB6\xCE\x8B\x5A\xB6\x28\xB5\x5E\x63\xBE\x00\x43\xB6\xA3\x15\x9E\x00\x46\xB6\x4D\xB6\x2A\xA9\xEA\x77\x5E\xB6\xEE\x26\xA1\x00\x60\xB6\x10\xB4\xE4\x89\x6B\xB6\x1C\x61\xA5\x00\x6E\xB6\x16\xB4\x32\x65\xC9\x00\x71\xB6\xCA\x01\xA9\x00\x74\xB6\x1C\xB4\x9D\x66\xCD\x00\x78\xB6\x03\x56\x7B\xB6\x22\xB4\x8A\x7D\x7F\xB6\x0B\x56\x81\xB6\x57\xB5\xB6\x59\x84\xB6\x05\x57\x81\xB6\x5F\xB5\xB4\x79\xE0\xB5\xB6\x24\xB9\x00\x11\xB6\x4F\x04\x35\xB4\x92\x92\x89\xB6\x03", - "\x01\xBE\x00\x81\xB6\x3B\xB4\xC0\xA2\x95\xB6\x02\x01\xC2\x00\x81\xB6\x41\xB4\xDF\x06\xE6\x00\x64\xB6\xB9\x9D\x67\xB6\x49\xB4\xAA\x65\xE9\x00\xA2\xB6\xF1\xA5\xA4\xB6\x51\xB4\x85\x64\xEC\x00\x8E\xB6\x20\xA9\xD4\xB5\x92\xB6\xAB\xB6\xC0\x86\xAE\xB6\xE8\x25\xD2\x00\xB0\xB6\x40\xB6\x29\xB3\xFE\x67\xF6\x00\x9B\xB6\x34\x85\x81\xB6\x9C\xB5\xCA\x01\xFA\x00\xBC\xB6\x00\x00\xDC\x00\x81\xB6\x73\xAC\xFE\x00\xB4\xB6\xDE\x26\xCB\xA4\x12\x01\x5A\x33\x04\x00\xC3\xA5\x00\x00\x05\x00\x01\x82\x80\x00\x09\x03\x81\x80\x6A\x07\x81\x9F\x7C\x85\x84\x86\x85\x10\x82\x83\x13\x2A\x84\x00\x88\x87\x0E\x91\xA5\x69\x25\x88\x89\x82\x85\x70\x17\x98\x8F\x81\x88\x8B\x02\x8A\x07\x96\x8A\x83\x94\x92\x85\x74\x8E\x29\x9E\x86\x87\x82\x2A\x03\x94\x96\x25\x90\x8B\x08\x93\x80\x83\x9B\x91\x11\xED\x70\x83\x86\x02\x9A\x85\x9A\x3F\x98\xB9\x8A\x80\x0C\x9E\x80\x9F\x07\xAC\xBF\x71\x83\x7B\xA2\x81\xA2\x4C\xB3\x83\x90\x26\x99\xA8\x9D\xA5\x03\x95\x0E\xA1\x80\xAB\x82\xA9\x88\xF9\x56\x81\x98\xA7\x87\x8F\x82\xAE\x49\x99\xA0\xA2\x8A\x0B\xB0\x01\xB2\x02\xE7\x97\x8A\xB0", - "\x04\xB7\x80\xB7\x03\xC1\x22\x80\xA3\xB9\x83\x0E\xBB\x78\x8B\x9F\xAA\x85\x02\x24\xC6\xA3\x07\xC0\x03\xCA\xA5\xC0\x00\x12\xC4\x93\xF2\x8A\x8A\x0E\xC7\x81\xC4\x82\x5A\x82\x9F\x59\xCD\x85\xC8\x01\x14\x76\xAA\x87\x8D\x16\xBD\xAF\x83\x07\x9D\x83\xAA\xDF\xB1\xD1\x80\x50\xD2\x2D\xF3\xAF\x09\xD0\x8B\x19\xD6\x88\x13\x31\xC2\x93\xD2\x80\xC2\x81\x4E\xB8\xD3\x95\xD5\x1C\xDA\x85\x1D\xDF\x0A\x97\x02\xE1\x84\xE1\x82\xE3\x80\x9E\x49\xE6\xDB\x1D\xE7\x83\x1E\xE8\x07\x9B\x13\xE0\x05\xE8\xD2\x85\x50\xDA\x95\xC1\x3D\xE3\x85\x20\xF1\x81\x1F\x63\xE5\xF7\xE0\x00\x29\xF5\xC2\x47\x18\xCA\x8C\x2F\xF2\x83\x11\xF1\x9F\x51\x05\x6C\x00\x09\x03\x8A\x5D\x61\x4E\x36\x53\x03\x7D\x5E\x44\x6A\x42\x80\x0A\x52\x06\x83\x62\x73\x51\x16\x5E\x5F\x02\x57\x16\x5F\x80\x00\x07\x87\x40\x84\x07\x53\x03\x86\x83\x73\x58\x17\x84\x44\x5E\x1B\x8C\x83\x40\x20\x83\x44\x07\x88\x94\x45\x6F\x17\x89\x0A\x65\x1A\x89\x5C\xA5\x50\x4D\x8A\x40\x15\x30\x8A\x67\x5C\x66\x34\x87\x40\x1B\x37\x8D\x81\x8F\x41\x12\x9B\x6E\x8D\x8E\x85\x5E\x86\x58\x85\x4F\xA4\x83\x42\x88\x0A\x4C\x0B", - "\x91\x6E\x60\x4E\x99\x5C\x94\x5B\x92\x92\x43\x8B\x0A\x4E\x07\x96\x72\x4D\x9C\x9A\x62\x97\x67\x87\x91\x5B\x80\xF4\x5A\x99\x4E\x9B\x1D\xA6\x91\x9C\x9A\x00\x16\x03\x81\x81\x38\x98\x9B\x51\x1B\x45\x91\x9A\x99\x97\x7F\x81\x46\x9D\x84\x63\xA6\x6E\x18\x7B\x02\x72\x1D\x9C\xA0\x3F\x83\x43\xA1\x88\x85\x95\x63\x1C\xA2\x01\x77\x1B\xA1\x9A\x8D\x82\x4F\xA2\x8B\x91\x85\x68\x1C\xA5\x00\x3C\x17\xA7\x9C\x81\xB5\x93\x81\x8F\x79\xA4\x93\x5D\x1F\xA0\x81\x23\xA8\x9C\x17\x03\x89\x3B\x8A\x4B\x42\x2A\x7E\x91\x99\x81\x48\x0A\x7C\x10\x71\xAA\x43\x3A\xB4\xB9\x47\x23\xAD\x7E\xB9\xA0\x00\x0B\xBC\x91\x73\x80\x18\xC1\xA5\x4C\x22\x90\xC5\x8C\x97\x40\x0C\x00\xBD\xA3\x82\x18\xCD\x91\x42\x24\xB4\x8C\x92\xB3\x41\x0D\xD5\x8A\xBA\x42\x25\xD9\x90\x48\x24\xB7\x98\x9E\xB2\x42\x0E\xE1\x87\x4E\xAF\x41\xE6\x25\xBA\x42\x27\xE8\xA4\xA6\xB3\x0F\xED\x83\x4F\xBB\x40\xF3\x32\xB7\x40\x29\xC4\x9D\xBA\x9D\x40\x44\x09\xBE\xBB\x80\x85\x3E\xB3\x41\x2A\xF5\xB0\x98\x11\xBE\x02\x7B\xB2\x40\x23\x0A\xC2\x4F\x29\xC3\x72\x8D\x10\xC5\x40\x12\xC1\x4D\x21\xC5\x01\x75\x28\xC4", - "\x9D\x52\x1B\xC0\x01\xC7\x00\x31\x10\xC8\x00\xBB\x23\xC5\xAB\x15\x26\xE8\xC2\x1F\xCA\xC1\x2E\xC6\xB0\x17\x31\xC3\x86\x23\xCA\xC7\x36\xCA\xB9\x40\x61\x39\xCA\x43\x78\xF6\xBF\xC5\x49\x33\x76\x47\x0D\xB2\x19\xE3\x58\x8C\xC7\x80\x7A\x2B\xC4\x36\xCF\x03\xC0\x0C\x1A\xD0\x07\x7B\x1B\xCA\x36\x54\xEA\xA3\x41\x1C\x58\xC3\x4F\x3B\xCA\xE0\x01\xC9\xB9\xD5\x76\x06\xCA\xBF\x80\xF0\x2B\xC5\x3A\xD9\x45\xD5\xDA\x1E\xDA\x11\xC3\x8E\x12\x6B\x02\xDE\xDB\x52\x3A\x49\xCD\xBE\x1F\x78\x4A\xE2\xB7\x43\xDD\xA9\xA6\x61\x3D\xDF\x85\xD0\x45\x20\xE0\xD6\x8A\x45\x27\xCA\xF8\x1D\xD1\x44\x23\x61\xC2\x41\x27\xCA\xFE\x12\xE0\x45\x24\x95\xC1\x4C\x5D\xDC\x7A\xF9\x44\x00\x15\x0A\x41\xE8\xAE\xD1\x96\x0D\xDD\xE3\x41\x09\x49\xE5\x63\x02\xA4\xC7\x4E\xD0\xE8\x11\x5C\x2D\xE4\x00\x21\x6E\xE3\x5D\x04\xB1\xC4\x5D\xB1\x28\xB7\xC8\x57\xE9\xD5\x11\x57\x0D\xEE\x40\xA6\xD1\xB5\xD6\x29\x8C\xC2\xE3\x42\xF0\xCA\xE1\xE5\x4A\x07\xC7\xC1\x49\xF1\xDE\x11\x6D\x2D\xF3\xC1\x0A\x70\x53\xF2\xF4\x11\x65\x05\xF4\x00\xD7\xE7\xD2\xF4\x2D\xDB\xEB\xDD\xF4\xDE\xE6\xE6\x6C\x0B\xF8", - "\xE5\xF4\xE0\x47\x2E\xE9\xF5\xDA\x42\x60\xBA\xE0\x53\x0C\xFC\xCD\x82\x3A\xEA\xF3\x02\x32\x31\xFE\x4B\x2A\x06\xFE\x43\x81\x20\xC8\x1F\x7C\xF7\x07\x23\x35\x03\xA5\x21\x08\xE3\x73\x77\x11\x63\x7C\x7D\x80\x0E\x1F\x76\xB7\x2E\x81\x44\x49\x01\x82\x88\x0F\x0C\x82\x10\x33\x1B\xED\x48\x3A\x82\x88\x11\x0D\x83\x0A\x37\x08\x08\x8A\x28\x1B\xDB\x59\x3D\x84\x0A\x39\x08\x0A\x87\x2F\x0B\x15\x87\x25\x1B\xB7\x68\x3C\x0C\x87\x21\x0D\x19\x83\x27\x0C\x36\x83\x22\x38\x37\x76\x3F\x1D\x83\x21\x0D\x06\x87\x20\x1C\x41\x82\x21\x73\x0A\x83\x20\x19\x12\x57\xCA\x72\x03\x7D\xF2\x30\x4D\x1D\x74\x61\x21\x14\xBF\x5B\x64\x3B\x15\x8D\x59\xF1\x19\x88\x00\x5B\x87\x20\x66\x46\x8A\x20\x7A\x03\x7F\x67\x70\x45\x1E\x93\x64\x8B\x20\xD8\x47\x8D\x40\x7F\x0A\x8D\x66\x7A\x1E\x8D\x03\x44\x5E\x1C\x80\x04\x11\x3A\x8E\x87\x1F\x78\x8A\x21\xBC\x7B\x89\x10\x3F\x9F\x79\x22\x04\x0B\x0B\x63\x0A\x2F\x8C\x81\x3D\x5B\x8F\x8E\x1F\x8A\x03\x89\x0A\x91\x98\x0C\x90\x61\x2B\x72\x12\x21\xD1\x71\x23\x06\x15\x95\x27\x10\x2D\x91\x40\x14\x6B\x8F\x4B\x1B\x90\x7B\x10\x32\x03\x27\xCF", - "\x21\x95\x01\x5F\x63\x8F\x9C\x07\x95\xFB\x3D\x5B\x94\xB2\x2D\x92\x21\x2A\x7B\x8D\x28\x32\x92\x7E\x85\x1C\x05\x96\x77\x37\x97\x41\x33\x6B\x8E\x53\x3C\x90\x4E\x21\x00\x9B\x67\x22\x90\x01\x9D\x7B\x8B\x15\xC7\x92\x4E\x09\x4A\x92\x99\x81\x04\x68\x4E\x11\x30\x16\x0F\xA8\x9A\x21\x15\x00\x9B\x76\xCC\x91\x6B\x1E\xB6\x11\x9A\x3A\x71\x04\x9A\x97\x8A\x22\xD6\x7B\x8B\x17\x72\xA5\x56\x06\xE8\x87\x20\x33\xE3\x6B\x8E\x60\x12\x97\x90\x10\x3B\x04\x30\xE5\x3C\x99\xB6\x7B\x8C\x18\xF7\x9C\x90\x44\x3F\x0B\x9F\x6A\x82\x24\x70\xF8\x85\x30\x32\x5B\x93\x96\x85\x03\x08\x98\xF1\x6C\x98\x42\x82\xA5\x30\x67\x0C\xA5\x97\x07\x2A\x08\x44\x86\xA1\x21\xC7\x7B\x8C\x1A\xEE\x86\x59\x14\x71\x90\x8B\x01\x57\x73\x8F\xD9\x01\xA6\xD1\x56\x04\xA4\x81\x0C\x9F\x73\xD8\x90\x22\x37\x17\xA0\x4F\x2D\x1F\x9C\xA3\x00\x0D\x75\x42\xF3\x24\x1C\x95\x95\x69\x0C\x2D\xBA\x8B\x80\x39\x7B\xA6\xB0\x29\x1E\xA7\xD2\x66\x0D\x50\xE3\x83\x40\xE8\x5C\x9B\x2E\xEE\x14\xA6\x9C\x6B\x0B\xA3\x74\xB4\x25\x82\x31\xAA\x20\x3D\x52\xA4\x4E\x39\x15\xAA\x9E\x03\x5E\x78\x45\xF3\x2A\x1E\xAE", - "\xA5\x51\x0F\x5F\xA5\xA7\xFA\x7B\x80\x01\x2A\x0A\x23\x76\x70\x40\x11\x5A\xAE\xA3\x40\xFC\x45\xAB\x29\x06\x0E\xAE\xEC\x4D\x57\x11\x9B\x96\xAB\x20\x02\x97\xAD\x4E\x0C\x0A\xAE\xDF\x4E\x85\x11\x7E\xA0\xAE\x42\x0D\x82\xB1\x92\x12\x05\xB0\xAC\x91\x38\x64\x81\x25\x82\x00\x13\x13\xA9\xCC\x99\x81\x63\x91\x29\x03\xC9\x81\x9A\x21\x1E\x1E\xB1\x65\x98\x18\xB3\x01\x64\x83\xB3\x10\x20\x06\x67\x9F\x35\x04\xD1\x90\x25\x13\xA5\xB3\x5F\xCA\x27\x0B\xB4\x88\x2C\x06\xB5\x0A\x22\x15\x6C\x87\x2A\x86\xD4\x8A\x26\x05\xB5\xAA\x23\x0C\x38\xB7\x21\x53\x3B\xB3\x2B\x2B\x75\x06\x67\xB3\x7B\x06\xE2\x83\x24\x15\x89\xA3\x22\x06\x03\x48\x03\x4E\x73\x2D\x07\x9E\xAB\x43\x1F\xF2\x43\xBA\x85\x1D\x06\xBA\x60\x20\x0B\x72\x90\x26\x08\xCF\x9C\x40\x4E\xDD\xA7\x22\x07\x60\xBB\x29\x23\x23\xBA\x21\x4D\x06\xBD\xB3\x1B\x02\x8B\x3D\x8E\x0E\xB3\x56\x92\x4E\x2C\x05\xAA\x20\xFA\x9C\x8B\x8F\x52\x18\xBD\xB3\x36\x1C\xBF\xF0\x0B\x5B\x65\x56\x01\xB9\x63\xBA\x1B\xA8\xFF\x87\x21\x8E\xBE\xA7\x23\x16\x0A\xC3\xAD\x81\x3F\x15\xC1\x79\x8B\x64\x18\x14\xCF\xA9\x81\x04\x18\xC3", - "\x82\x8B\x65\x19\x1C\xCD\xA1\x83\x09\x18\xC4\x07\x2F\x91\x84\x83\x2A\x0C\x01\xCE\x86\x19\x05\xC3\x22\x83\x83\x29\x61\x3D\xAE\x0C\xC4\x18\xA3\x22\x34\x28\xC3\x20\x52\xAB\xC2\x20\x73\x18\xC4\x9C\x57\x1C\xC6\x81\x2F\x97\xC7\x01\x38\x0E\x90\xF2\x4C\x1B\x22\xC1\x21\x97\x48\xC0\x01\x1F\x4B\xC4\x4F\x70\x0E\xC8\x00\xC4\x91\xCA\x20\x54\xC5\x54\x73\x17\xCE\x99\x51\xC7\x10\x97\xC6\x5B\x1D\x2B\xD7\x9A\x4E\x93\x6F\xBD\x63\xF0\x11\xBA\x81\x33\xC0\x8D\x99\x83\xCE\xD1\x76\x17\xCB\x75\x91\xCF\x12\x72\xD5\x6B\x3E\x57\xC4\x9F\x28\xDC\x16\xC5\x9B\xAC\x09\x47\x7D\xBC\x6D\x95\x60\x10\xD0\x15\xC3\x3A\xA0\x96\x96\xC0\x85\x13\xA5\xC3\x4B\x24\x16\x9A\x89\xD1\x20\x04\x0B\xD3\x20\xF1\x6F\xCD\x40\x0F\xD5\xC4\xB0\x2A\x13\xD2\x90\xC1\x23\x03\x17\xD8\x78\x88\x1A\xD0\x00\x1E\xB1\xC8\x2C\x79\xC2\x7A\x0B\x24\xD6\x96\x84\xCA\x23\x49\xD1\xC5\x16\x56\xD1\x23\x03\xAF\xDF\xB1\xA3\x87\x20\xA6\x34\xD0\x22\x17\xA0\xDD\xD2\x40\x20\x09\xD7\xD9\x67\xD2\xA7\x94\xC5\x24\x30\x36\xD0\x22\x13\x39\xD7\x33\xA7\xC4\xA9\xB2\x91\x25\x18\x66\xDD\x9F\xD9\xA6\xCD\xA8", - "\x56\xBE\xDA\x20\x65\x01\xD9\xC7\x02\x30\x05\xAE\x99\xDA\xDB\x3D\x90\x1F\xDB\x70\x57\x07\xB8\xD9\xDB\xAD\x28\xD6\x18\xDD\x72\x5E\x07\xBA\xB1\xDF\x2D\x6D\xF4\x49\x22\xDC\x10\xDC\x9D\x45\x03\xDF\x5D\xC1\x33\x65\xE2\x1A\xDD\xA9\x4C\x05\xD8\x76\xD1\x33\x65\xE8\x02\xE2\xB1\x52\x05\xE0\x7A\xC3\x24\xB1\xD3\xD0\x22\x3B\x38\xC3\x1E\xE7\x82\x20\x0B\xD8\xCE\xE2\x40\x1A\xB1\xE2\x85\x35\x18\xC7\xFA\x16\xE1\x40\x5D\x09\xE2\x7F\xC7\x3B\x65\xFC\x18\xC5\x00\x56\x0A\x21\xCA\xA2\x0D\xE4\x32\xC3\x43\x0B\xD1\xC3\x00\x96\xDE\x30\x22\x08\x16\xE7\x40\x15\xB7\x0C\x98\xEE\xCB\x40\xBD\xBD\xE3\x41\x0A\x0A\xE7\xC8\xAF\x35\xE8\x94\xB0\x20\x1B\x3E\xE1\x21\x53\xC5\x89\xCA\x11\x08\xE9\x5F\x3D\x52\xEB\xCA\xB1\x0D\xE1\x07\x3C\x00\x75\xEC\xB9\x27\x0C\x12\xEA\xBB\x8D\xB0\x4E\xD6\xDE\xBC\xEB\x92\x1C\x02\xEA\xB3\x62\x06\xD4\xE7\xB2\x4F\xB1\xEA\xBD\xEC\x11\x23\x04\xDA\x90\x29\x05\xB5\xCD\x5F\xBB\x7F\xA1\xD5\x49\x70\x4C\xEE\x39\x6B\xBA\xE3\xC2\xCF\x4E\x9C\x7D\xE4\x4F\x0F\x1B\xEB\x8F\x2A\x16\xEF\x76\x85\xF3\x40\xBC\xD1\xCB\x05\x52\xE5\x3F\x0B\x0A\xFD", - "\xB0\xC3\xE0\xB0\xEE\x10\x30\x05\xE4\x90\x24\x06\xCA\xC9\xD8\x04\xF5\xB1\xC9\x0D\x73\xEE\x81\x3B\x0C\xE8\x00\xA0\xFF\xBD\x94\xBB\x04\xF5\xC6\xBC\x0F\xF4\xA9\xE5\x8F\xCA\x41\x02\xEB\xF8\x70\x49\x10\x58\xE3\x21\xEC\xF0\x8B\x64\x24\x35\xF4\xAF\xB9\xE3\xD9\x86\xFB\x8F\x09\xDF\xC7\xB1\xF8\x01\x3B\xF6\x40\x03\x91\xCA\x2B\x06\xFD\xB1\x93\x08\xF8\xEA\x83\x4A\xC4\xA1\xC3\x25\x0B\xAD\xE9\xD9\x26\x30\xF8\x93\x3D\xA3\x0F\xF9\xC9\xDE\x12\xF4\xCA\xF3\x95\x95\x6A\x08\xFC\x7A\xE4\x17\xF8\xAE\x9B\x65\x38\x28\xF9\xF0\x00\x0A\x17\xFA\xB8\x9B\x64\x3C\x2F\xF8\xDC\x01\x30\x17\xFC\xC3\x9B\x65\x3F\x37\xF8\x4E\xB6\x0B\x7F\x03\x10\x66\xD6\x72\x10\x86\x0F\x7F\x72\x2C\x0B\x02\x82\x10\x67\x67\x6F\x10\x1D\x08\x52\x78\x00\xFD\x3D\x6F\xBA\x70\x35\x2B\x35\x09\x08\x84\x27\xC9\x0B\x80\x01\x16\x67\x05\x81\x10\x9C\x09\x81\xA5\x2F\x0C\x1C\x80\x00\x7D\x6F\x81\x00\x03\x0A\xD9\x7A\x77\xD5\x0C\x7D\x0A\x1E\x4F\x51\x69\x0A\x2B\x80\x7F\xDA\x0E\x82\x83\x36\x6F\xA5\x21\x11\xAF\x01\x81\xCD\x2F\x0D\xB9\x62\x81\x0A\x14\x7E\x00\x0C\x69\xF8\x75\x12\xB7\x0C\x83", - "\x0E\x47\x0E\x3F\x89\x5A\x03\x29\x6A\x28\x8F\x0B\x22\x86\x2C\xEF\x05\x82\xB3\x68\x82\xC6\x01\x85\x46\x35\x0F\x25\x8D\x6B\x0E\x8A\x10\xCD\x08\x84\x8D\x5B\x0F\x14\x82\x7C\x0A\x18\x6C\x7A\x71\x11\xD5\x08\x85\x55\x32\x00\x4D\x0F\x56\x4C\x80\x12\x2B\x3C\x0D\x6A\x82\x3D\x08\x0D\x86\x7B\x51\x84\xE5\x61\x65\xE3\x00\x86\xC9\x6E\x00\x76\x83\x10\x40\x87\x10\x42\x8E\x54\xF0\x71\x11\xEB\x0C\x87\x7A\x76\x01\x7F\x82\x10\x81\x85\x81\xED\x68\x82\xF3\x08\x88\xF0\x7E\x01\x8B\x85\x69\x6F\x85\x6F\x7B\x4B\x0F\x92\x85\x84\x26\x05\x89\x00\x0D\x88\x64\x87\x10\x76\x58\x82\x03\x07\x05\x0A\x10\x8A\xF0\x7E\x02\x9E\x81\x3F\x42\x81\x58\x28\x8B\x00\xA6\x87\x10\xA8\x85\x84\x35\x0B\x8A\x97\x8F\x70\x2B\x33\x01\xB1\x88\x69\x10\x1A\x01\xBB\x82\x10\x95\x5C\x03\x9E\x83\x3B\x42\x8C\x71\x67\x80\x11\x1C\x0F\x8B\xD6\x30\x11\x23\x0A\x8C\x00\x05\x59\x42\x03\x8C\xB7\x87\x72\x7B\x45\x02\xCE\x81\x3F\x2C\x0E\x8C\x95\x58\x04\xD2\x88\x87\xB2\x5B\x47\x2E\x07\x8D\x10\x15\x03\xDA\x80\x11\x4E\x0D\x8D\x82\x80\x74\x2B\x37\x03\xE2\x8A\x10\x3E\x05\x8E\x0A\x14\x05\xE8", - "\x8E\x88\x6F\x1B\x32\x40\x0E\x8C\xB3\x88\x04\xF0\x87\x10\x5A\x06\x8B\x0A\x12\x02\xA1\x78\x82\x4A\x0E\x8C\x6B\x42\x27\x61\x0E\x89\x9F\x10\x90\xAA\x78\x82\x4F\x04\x90\x4B\x38\x90\x10\x1A\x90\xB2\x7B\x47\x54\x0E\x8C\x70\x53\x55\xF3\x82\x10\x12\x9C\x7B\x7B\x4A\x05\x16\x9D\x2C\x71\x09\x91\x01\x1B\x91\x02\x1A\x47\x51\x60\x06\x1F\x95\x7A\x22\x90\x00\x24\x91\x10\xCC\x78\x82\x66\x09\x92\x8D\x5D\x07\x2B\x9D\x92\x00\x05\x7D\xC7\x8A\x10\x6C\x0E\x90\x0E\x43\x08\x10\x9F\x8F\xDD\x71\x65\x71\x02\x93\xC9\x68\x08\x35\x93\x20\x3E\x68\x82\x77\x04\x94\x7A\x7E\x08\x47\x9A\x10\x47\x68\x82\x7D\x0C\x94\xF0\x74\x09\x4F\x97\x10\x50\x68\x82\x83\x04\x95\x45\x8A\x09\x57\x93\x10\x59\x68\x82\x89\x0C\x95\x70\x20\x0A\x5F\x96\x80\x2B\x3F\x08\x64\x92\x27\xA6\x07\x96\x01\x1D\x80\x39\x80\x11\x95\x0D\x8E\x8D\x5C\x0A\xFE\x87\x10\x36\x92\x4E\x7E\x6B\x96\x74\x23\x0B\x6E\x90\x00\x1E\x89\x93\x07\x12\x0A\x7C\x95\x2A\xB9\x0F\x97\x27\x82\x98\x03\x18\x0A\x3C\x9D\x58\xBF\x0F\x93\x78\x95\x68\x7B\x4D\x0A\x8D\x99\x6C\xC4\x00\x99\x03\x16\x93\x44\x89\x55\x07\x12", - "\x0B\x74\x99\x6C\xC9\x0E\x89\xB3\x8A\x99\x38\x86\x2C\x11\x19\x0B\x9F\x9A\x77\xD1\x02\x9A\x11\x9D\x84\x2B\x30\x0C\x85\x96\x2C\xD9\x0F\x97\x55\x8A\x98\x02\x16\x0C\xB1\x96\x34\xDF\x0F\x97\x5C\x81\x97\x0A\x1C\x0C\xA9\x90\x7F\xE5\x07\x97\x99\x93\x20\x66\x85\x88\x21\x49\x9B\x55\x3C\x0E\x7F\x92\x6D\xB6\x91\x10\xD9\x0A\x9C\xD2\x32\x0F\x7F\x94\x88\x45\x81\x11\xDF\x01\x9C\x45\x88\x0F\xAC\x90\x94\x47\x15\x9A\x46\x31\x11\xE6\x0A\x9D\xD8\x4E\x04\xA7\x8D\x9A\x8F\x8F\x9C\x00\x0D\x0E\xE4\x92\x27\x08\x06\x9E\xB2\x88\x9E\x98\x81\x65\xF4\x0D\x9E\x74\x20\x01\xF0\x90\x88\xF2\x9F\x6F\x99\x86\x9F\xA5\x28\x01\xF9\x95\x6A\xDE\x97\x70\x7B\x42\x00\x58\x05\x3A\xCD\x2F\x01\x01\xAB\x8C\x03\xA8\x8B\x7B\x49\x00\x07\xA7\x87\xAF\x11\xA1\x3B\x7D\x6C\x0B\xA3\x75\x0D\xAB\x71\x2B\x31\x01\x14\xA7\x15\xBD\x2D\xA1\x49\x7A\x10\x2C\x07\xA1\x69\x76\x5A\x2B\x39\x01\x20\xA8\xA1\x07\x1F\x01\x29\xA5\x59\x32\x04\xA2\xFB\x92\x10\x33\x78\x82\x21\x09\xA2\xB3\x37\x02\x2D\xA0\x11\x38\x00\xA3\x19\xA1\x10\x41\x7A\x9E\x29\x06\xA3\x10\x1F\x02\x39\xAE\x8E\x3C\xA1\x99", - "\xDD\x3B\x32\x31\x09\xA2\xF1\x38\x03\x45\xA7\x10\x44\x07\xA1\xF1\x33\x02\x03\x21\x02\x98\x7A\x10\x3A\x09\xA2\x60\x79\x6C\x70\x24\xA5\xBF\x57\xA5\x07\x1D\x03\x42\xAE\x50\x29\xAC\x76\x74\x2E\xA5\x07\x1F\x02\x60\xA3\x10\x44\x03\xA6\x19\x55\xA6\xCD\x28\xA6\x03\x10\x03\x6B\xA2\x10\x4B\x0E\xA6\x03\x11\x05\x70\xAE\x40\x72\xA2\x10\x31\x05\xA7\x01\x12\x05\x78\xA7\x71\x7B\xAD\x58\x7D\xA1\x10\x32\x00\xA8\x00\x09\x05\x83\xA1\x10\x5F\x05\xA8\xC9\x67\xA8\x00\x03\x03\x8A\xA0\x06\x8D\xA0\x00\x66\x00\xA9\x7A\x74\x02\x01\x9A\x9E\x67\x09\xA2\x05\x94\x27\x4B\x07\xA1\x9F\x1C\xA9\x0B\x9A\x9E\x6C\x00\xAA\xCD\x20\x05\xA4\xA0\x11\xA6\xA3\x91\x42\x97\xA9\x70\x25\x05\x47\xA3\x10\xAF\xAC\x91\x51\x67\x07\xB2\xA2\x27\x5B\x05\xAB\x02\x17\xAB\x25\x9B\x32\x7D\x0B\xAB\x74\x21\x06\xBE\xA1\x10\xC0\xAE\x92\x2B\x33\x08\xC4\xA5\x2A\x67\x07\xAC\x96\x14\x7D\x2B\x39\x08\xAA\xAE\x40\x6D\x0D\xAA\x0A\x19\xAC\x00\x05\x63\x51\x6E\x08\xCD\xA6\x2C\x72\x00\xAD\xDA\xA9\x94\xEA\x94\x09\xDF\xA6\x34\x78\x02\xAE\xEC\x7B\x47\x9A\x07\xAE\x55\x3E\x07\xEA\xA4\x7F\x7B", - "\x40\x0A\xEE\xA2\x3D\x84\x01\xAF\xFC\x75\x4C\xF5\xA1\x11\x8A\x08\xAF\x03\x8B\x32\xAC\x0B\xAF\x10\x10\x09\xFE\xAC\x80\x2B\x32\x0B\x4C\xAD\x2C\x96\x02\xA5\xAE\xA6\x81\x7B\x49\x0B\x02\xBA\x10\x9D\x05\xB0\x1D\x8B\x32\xBF\x01\xB1\x07\x13\x0A\x14\xB6\x82\x2B\x35\x0C\xD5\xAD\x58\xA9\x08\xAD\x07\x1A\xAD\x30\x88\x82\xCA\x0F\xB1\xC9\x6E\x0A\x22\xB6\xAB\x76\x30\x9E\xC4\x30\x11\xCF\x09\xB0\x0E\x43\x0B\x17\xA3\x8B\xDA\xAB\x99\xDC\x67\x10\xD6\x02\xB3\x8D\x5B\x0B\x35\xBD\xB0\x8E\x3B\x32\xDD\x08\xB1\x03\x13\x0C\x1B\xB5\x9B\xC8\x9A\x10\xE3\x04\xB4\x02\x19\x0C\x1B\xBD\x9B\xA6\x90\x11\xE9\x0C\xB3\xC9\x6F\x0C\x0C\xB9\xAD\xC6\x9B\x32\xF0\x0C\xB4\x01\x16\x0D\x1B\xBE\x9C\x49\xB7\x10\xF6\x0C\xB5\x00\x0C\x0D\x1B\xB6\x9D\x9C\x93\x10\xFC\x04\xB5\x7A\x72\x0E\x3F\xB8\xB5\xDF\x9B\x47\x03\x09\x05\x08\xAE\x40\xEA\x0F\xB6\x23\xB1\x56\x2E\xB0\x3E\x10\x1A\x00\x74\xB7\x10\xB6\x72\x27\xF2\x08\xB7\x2C\xB9\x9E\x61\xBC\x22\x7F\xBC\x8B\x0E\x4A\x0F\x84\xBF\xAB\x75\x5B\x32\x18\x09\xB8\x02\xAD\x58\x02\x0F\x04\x75\xB9\xB7\x0A\x1E\x8A\xEA\x9F\x01\x92\xBC", - "\xA0\x8D\x59\x00\x96\xB0\xB8\x40\xBC\x40\x2B\x36\x02\x9D\xBA\xA2\x03\x1C\x02\xA7\xB5\x59\x10\x01\xBA\x86\x58\xB9\x07\x16\x8C\x87\xB2\x10\x2E\x07\xBA\xB3\x34\x03\xAB\xB0\x11\x16\x0E\xBA\x1E\xA0\xB7\x07\x17\x5A\x28\x86\x03\xB6\xB0\x11\x3C\x09\xBB\xBE\x4C\xBB\x6B\x13\xBA\x03\x13\xA3\xEA\x9E\x03\xC3\xBA\x10\x44\x06\xBC\x78\x98\xBC\xA8\xBE\xB8\xE7\x1B\x32\x46\x0F\xBC\x07\x1C\x04\xD2\xB3\x10\x28\x04\xBD\xB3\x3A\xAD\x4F\x78\x82\x4E\x07\xBA\xF1\x35\x05\xDD\xB4\xBB\xD4\xB1\x3F\x25\x05\xA5\x8A\xA7\x05\xA7\xBB\xA5\x7A\x70\x27\xED\xBF\xA5\x1D\x9A\xBD\x03\x10\x06\xA7\xB6\xA6\xA5\x25\xBF\x69\xAA\xA8\x61\x08\xBF\x02\x17\x06\xFB\xBD\x2C\xFE\xB3\xA7\x8A\xA8\x06\x02\xC1\x10\x6E\x05\xC0\x0E\x47\xC0\x7E\xAA\xA8\x6F\x0B\xC0\x00\x05\x07\x0E\xCD\x58\x10\xC8\xA8\x8A\xA6\x07\x14\xCC\x07\x17\xC9\x6C\x19\xC3\xA9\x8A\xAD\x07\x14\xC3\x08\x1F\xCA\x77\x26\x0D\xA9\xB3\xB1\x10\x84\x07\xBA\xA1\xA5\x2A\x35\x04\xBD\x9F\x19\xC2\xA7\xAB\xC2\x00\x09\x08\x2E\xCD\x2C\x3A\x02\xC3\xCD\x67\x60\x90\x44\xC1\x70\x2F\x03\xE0\xBD\xC3\x0A\x10\x61\x28\x84\x09", - "\x40\xC2\x27\x45\x03\xC4\x0A\x14\xC3\x07\x16\x92\x28\x8A\x09\x49\xC2\xAA\x4C\xC7\x10\x4E\xC3\x10\x2F\x9A\x9E\xA0\x03\xC5\xA5\x21\x05\x55\xC3\x10\x57\xCE\x48\x2B\x36\x0A\x39\xCE\x40\x57\x0C\xC3\x4D\xC1\x94\x28\x8B\x0A\x5C\xC7\x33\x5F\xC2\x10\x61\xC5\x7E\x7B\x41\x0B\x6D\xC6\x34\x62\x0F\xC6\x01\x11\xC7\x00\x01\x95\xEA\x97\x0B\x75\xC5\x35\x68\x08\xC7\x00\x0A\xC7\x59\x9A\x9E\xBD\x0F\xC7\xD2\x3E\x06\x82\xCA\xC7\x61\x9A\x9E\xC3\x08\xC8\x11\x14\x07\x8B\xCA\x33\x2B\x39\x0C\x90\xC0\x11\x7A\x03\xC9\x43\x3B\x32\xCF\x06\xBE\xCD\x20\x08\xEB\xB4\xC4\x07\x1A\x97\x28\x86\x0D\x97\xCA\x10\x87\x0A\xC9\x59\x31\x87\xA7\xC7\x10\x8D\x0A\xCA\x62\x30\x70\x65\xC0\x7D\x68\xC6\xC5\x92\x91\x65\xE7\x03\xCB\xC9\x68\x09\xB5\xC0\xC6\x2D\xBB\x47\xEC\x0E\xC9\x0E\x4D\x09\xD4\xB3\x8B\x7A\xC8\xB3\x5D\x89\x62\xC2\xCD\x58\xA5\x05\xCC\xA2\xC3\x10\x4E\x8A\x9E\xFA\x0D\xCA\x03\x1D\x0A\xB0\xC6\x39\x2B\x30\x00\x5A\x0E\x86\x33\xB7\xCD\x9E\x3B\x32\x06\x0B\xCD\xA2\xBE\x40\xB9\x01\xCA\x69\xC5\x86\x2B\x3D\x00\xE2\xCF\xBA\xC9\x60\x0C\xDE\xC8\x3B\xB9\x8B\xCE\xBD", - "\xBD\x58\xC6\x0F\xCE\x68\xB9\xB3\x50\x42\xCF\x9E\xB9\x6C\xCC\x0E\xCC\xE7\xC7\x55\x7B\x40\x02\xFA\xC4\x3E\xCD\x24\x0D\xFE\xC6\xCB\x86\xB7\x9D\x10\x17\x02\x03\xD1\xB8\x74\x2C\x0D\x07\xDE\xCB\x09\xD9\xB6\xB4\xBD\xD0\xCD\x24\x0E\x11\xD0\xC7\x8F\xBB\x47\x35\x06\xD1\x0E\x4C\x0E\xE6\xC8\xD0\x04\xA1\x65\x3C\x0E\xD1\x8D\x53\x0F\x21\xD2\xD1\xA4\xBB\x47\x43\x03\xD0\xB3\x39\x04\x03\xD5\x59\xFA\x0F\xCE\xB2\xBA\xD0\x0A\x1B\x04\x2E\xD6\x42\x31\xD1\x11\xE3\xB9\xBC\xFF\xC3\x10\xC0\xBA\x9E\x53\x09\xD3\x31\x4B\xD3\x6F\x5D\xD3\xD5\xB9\xC7\x32\x7B\x32\x5B\x04\xD4\x3C\x46\xD4\x07\x1C\x00\x48\xD3\x3B\x7A\xCF\xA3\x36\xC3\x06\x4E\xD7\x44\x50\xD3\x10\x12\x03\xD5\xCF\xC2\x10\x48\xD6\xD3\x07\x1B\x06\x26\xD0\x96\x5B\xD2\x10\x18\x08\xD4\xF1\x37\x02\xEE\xBB\x47\x74\x03\xD0\xF2\xB0\x7F\x70\x2C\xD6\xF6\xB9\xAB\x59\xD2\x10\x7D\x03\xD0\xFC\xB6\x2C\x74\xDF\xBF\x7B\x4E\x07\x77\xDC\xC2\x7A\xDD\x2C\x7D\xD8\xC0\x7B\x45\x08\x81\xD0\x00\x8B\x03\xD8\x0E\x45\xD8\x11\xCB\x47\x8C\x09\xD8\x92\x0C\xD8\x8D\x5E\xD8\x1A\xCB\x47\x93\x09\xD8\x99\x04\xD9\xC9\x66", - "\xD9\x22\xCC\xAE\x89\xD0\x0A\x9C\xDA\x77\x28\x0A\xC2\x62\xD3\x10\xA1\x03\xD0\x2F\xC6\x2C\x1F\x08\xD4\x9F\x15\xDA\x35\xC7\xDA\x02\x16\x0A\xAA\xDD\x2C\x24\x0E\xDA\x10\x10\xDB\xB0\xAB\xC6\x89\xD0\x27\x29\x0E\xD5\x0A\x1A\xDB\xB8\xA8\x82\xB1\x0D\xDB\x72\x2F\x02\xC0\xD7\x10\xC2\xD1\xAC\x7B\x47\x0B\xC6\xD4\x27\x35\x09\xDC\xDE\xB3\x20\x59\xC6\xC3\xBD\x0F\xDC\xA5\x2B\x03\xD2\xD2\x10\xCB\xD1\x10\x38\x96\xC3\xC3\x05\xDB\x0E\x41\x04\xB8\xD1\xDC\x6A\xCA\x9E\xC8\x08\xDD\xC6\x26\x04\xDB\xDA\x2B\x48\x9B\x32\xCE\x0A\xDE\x46\x3C\x04\xED\xD0\x00\xDD\xDB\xC7\x52\x32\xDF\x55\x32\x05\xF5\xD7\xDF\x85\xC6\xC3\xDA\x0A\xDF\xD2\x38\x05\xFD\xD3\x20\x8D\xC6\xC3\xE0\x02\xE0\x11\x1E\x05\x05\xEA\x10\x04\x8A\x9E\xE6\x0A\xE0\x10\x14\x06\x0D\xE9\x51\x2B\x3C\x0E\x65\xDA\x77\x6A\x0A\xD6\xB9\xDE\xB0\x51\x63\x0F\x12\xE8\x4B\x15\xE3\x10\x81\x96\xC3\xF9\x01\xE2\x07\x17\x07\x23\xE2\x10\x89\x96\xC3\xFF\x02\xDE\x33\x95\xDE\xCA\xD7\xCB\x28\x84\x00\x5B\x0B\x48\x8D\x52\x08\x32\xE3\xDD\x8E\x6B\xB7\xA6\x19\x00\x37\xE3\xCE\x8D\x57\x08\x48\xD3\x8B\xF7\xD8\xCC", - "\xBE\x9D\x16\x41\xEA\xB8\x8D\x5F\x08\x45\xED\xE1\x41\xBB\x47\x17\x0B\xE4\xF3\xC9\x6C\x97\x0B\xE2\x01\x18\xB4\xB2\xD1\x10\x1D\x04\xE5\x3E\xDD\x58\x9D\x08\xE5\x00\x00\xB5\xE1\x9C\x8C\x5E\xE4\xD0\x0E\x43\x0A\x1C\xE6\xDE\xE8\xC8\x78\x67\xE7\x91\x74\x2A\x0A\x62\xE0\xB6\x5B\xE0\x00\x30\x0F\xE6\xCD\x20\x0B\x62\xE7\xCF\xC9\xC3\x10\x36\x07\xE6\x0E\xD5\x2A\xB6\x0F\xE4\x6C\xE0\xD0\x51\x6D\x03\x80\xED\x2C\xBE\x04\xE8\x33\xE3\xD1\xF8\xC2\x10\x44\x09\xE8\x0E\x46\x0C\x8C\xEC\xE3\xF3\x98\x82\x4B\x02\xE9\x8D\x5E\x0C\x95\xEC\xDD\x1B\xD1\x65\x52\x0A\xE9\xC9\x66\x0D\x6B\xED\xE8\x23\xD8\x82\x59\x02\xEA\x7A\x7D\x0D\xA5\xE6\xE9\x0E\xA7\x92\x78\xEA\x10\x66\x07\xE6\x95\x54\x0E\x62\xE5\xD3\x14\xD1\x10\x68\x01\xEB\x07\x1E\x06\xB4\xE0\x11\xEA\x02\xE6\x41\xD6\xC3\x70\x0C\xEB\x03\x16\x07\xBF\xEF\x82\x62\xEC\xBC\x36\xC8\x07\xC6\xE2\x10\x7E\x09\xEC\x62\xB2\xE6\x56\xD5\xE7\x80\x0F\xEC\x01\x16\x08\xD2\xEA\xB6\x62\xE1\xD6\xB9\xE0\x00\x88\x0A\xEA\x01\x1F\x08\xDB\xE0\x8C\x51\x07\xB9\x03\x19\x02\x6D\xD1\x65\x91\x07\xE6\x71\xD5\x84\xBE\xD3\x20\x2E", - "\x0A\xA8\x94\x08\xED\x00\x0A\x09\x67\xEB\xD7\x46\x3A\xEE\x0A\x1A\xA6\x7B\x4B\x09\xF6\xE1\x0A\xF9\xED\x2C\xFC\xE3\x2D\x8A\xA2\x0A\xF6\xE8\x0A\x03\xFE\x40\x05\xF3\x10\x7F\xAB\x47\xA9\x06\xEF\xAF\x0B\xF0\x8D\x5D\xF0\x02\x19\xA8\x7B\x40\x0B\xF6\xE6\x0B\x14\xF9\x6C\x16\xF1\x10\x94\xAD\xDC\xF6\xED\x0B\x1D\xFA\x77\x2A\x06\xDA\xDF\xEE\x0B\x67\xEB\xDA\x46\x39\x00\xE7\xE7\x73\x0A\x17\xF2\xB1\xDF\xED\xC3\x0B\xF2\xCD\x2E\x00\x2F\xF0\x4A\x31\xFE\xC3\x51\x68\x0C\xF6\xE0\x27\x13\x09\xF3\x55\xE2\x10\x32\xFF\x60\xF0\xDF\xF3\x72\x29\x01\x42\xFF\xE5\x03\x15\xF4\x03\x10\xC5\xEA\x94\x0D\x48\xF5\x78\x4B\xF9\xD4\x00\x0E\xF4\xCB\x7B\x35\x53\xFD\xBF\x55\xF3\x3B\x58\xFE\xDD\x64\x36\xF3\x0E\x4B\x02\x55\xFF\x19\x5F\xFB\xAD\x6E\x3B\xF5\xC6\x20\x03\x5D\xF0\x11\x67\xF4\xAE\x36\xCB\x0E\x6A\xF6\x34\x36\x0D\xF6\x3B\xF0\x95\x2B\x31\x0F\x73\xF5\x35\x3C\x06\xF7\x07\x17\xF6\xFF\xD5\xE7\xF7\x0B\xF7\xD2\x32\x04\x7E\xFD\xF4\x06\xEB\x32\xFD\x04\xF8\x11\x18\x04\x87\xF4\xF4\x94\xC2\xB7\x5C\x0C\xCD\x8D\x5E\x04\x8F\xF1\x10\x67\xF0\x97\x51\xBA\x10\x09\x03", - "\xF9\x42\xE9\x6C\x54\x05\xF5\xF1\x37\xF6\xA4\xCA\x9E\x10\x0E\xF9\xEC\xCA\x77\x5B\x07\xF9\x57\xF3\x20\x25\xE5\xE7\x16\x08\xFA\x43\xF0\x7F\x61\x0C\xFA\x67\xFD\xE2\x75\xEC\x01\xB2\xF0\x6B\x8D\x57\x06\x65\xFE\xF6\x34\xEA\x9E\x21\x0B\xFB\xBA\x69\x6C\x6C\x0F\xFB\x77\xF7\x83\x7B\x46\x02\xC4\xF1\xE8\xC6\x21\x07\x55\xF3\x8B\x67\xF8\xE4\x9B\xFB\x1A\xCD\xFD\x2C\x79\x01\xFD\xC0\xF1\xE5\x51\x64\x03\xC4\xF0\xE7\xA5\x21\x08\xB6\xF6\x52\x2B\x3A\x03\xDF\xFC\x57\xE3\xFA\x10\x64\xEF\xB2\x99\xB7\xFD\x87\x52\xFA\xDB\xFC\x3A\x2B\x37\x04\xE7\xFE\x40\x94\x09\xFE\x4A\x4B\x32\x4D\x05\xFF\x8D\x5A\x09\xF8\xFF\x3C\x3E\x75\x32\x13\x02\xF7\x7D\x58\x20\x06\xF6\x69\x7E\x00\x85\x23\x44\x81\x64\x38\x0A\x07\x83\xDF\x7A\x5B\x7B\x21\x0C\x0B\x80\xBD\x30\x0B\x0E\x80\xE2\x6E\x74\x7D\x72\x20\x28\x03\x09\x80\x7F\x38\x06\x05\x90\x7C\xF7\x1B\x65\x2F\x02\x0E\x85\x84\x40\x04\xFC\x68\x80\x01\x25\x8B\x24\x80\x38\x17\x0C\x27\x83\x03\x8B\x2C\xC2\x54\xFF\x43\x09\x41\x04\xFC\x15\x2E\x33\x1F\x7F\x1A\x57\xB0\x72\x80\x81\x0B\x08\x35\x80\x44\x14\x06\x38\x81\x20\x03", - "\x77\x3A\x7D\x08\x3B\x81\x40\x13\x04\x3E\x82\x21\x1A\x07\x20\x80\x00\x4C\x75\x9D\x75\x04\x46\x80\x00\x1B\x05\x24\x87\x10\x60\x04\x13\x95\x76\xDF\x75\x13\x11\x83\x51\x04\x05\xD8\x60\x13\x9E\x76\x8F\x71\x20\x25\x04\x12\x8C\x0A\x5D\x82\x40\x0C\x07\x2E\x83\x20\x2B\x01\x75\x78\x82\x2E\x04\xF1\x6F\x77\x84\x3D\x54\x2B\x83\xBA\x64\xDC\x51\x83\x2D\x04\x7E\xFA\x75\x6A\x33\x82\xBF\x61\x65\x38\x05\x14\x9E\x05\x78\x85\x59\x3B\x82\xC3\x61\x65\x3F\x05\x14\x85\x06\x81\x83\xEC\x43\x11\x87\x71\x65\x46\x05\x14\x8C\x06\x89\x85\xB1\x03\x85\x8B\x7A\xA8\x4D\x05\x14\x93\x06\x91\x81\xD9\x13\x84\x90\x7A\xA8\x54\x05\x14\x9A\x06\x99\x82\xEF\x2C\x00\x94\x71\x06\x80\x03\x36\x04\x7E\x2C\x7D\x6A\x33\x06\xE4\x77\x10\x23\x87\xCC\x65\x85\xE0\x00\x15\x8D\x16\x7C\x0C\x0A\xA9\x5C\xCF\x68\x41\xE5\x01\x0A\xB0\x13\x7E\x0C\xFA\x2E\x86\xD1\x7B\x23\xEB\x02\x17\xB2\x13\x01\x02\x05\x14\x7E\x2D\x83\x17\x79\x7A\x18\xB4\x13\x04\x05\x0C\x92\x53\x31\x90\x17\x2B\x1F\x1E\x0A\x87\x52\x1F\x00\x4D\x85\xEA\x61\x08\xBE\x84\x5F\x0A\x7C\x59\x8E\x40\x15\x02\x35\x86\x3A", - "\xCF\x84\xC6\x2B\x18\x01\x0D\x05\x46\x86\xDE\x3A\x00\xDF\x84\xE9\x42\x09\x6C\x83\x31\x2B\x18\x02\x05\x87\xCE\x82\xEF\x20\x01\x74\x86\xF5\x6C\x86\xC7\x0B\x19\x0E\x00\x1E\x97\x86\x4E\x44\x0F\xB3\x1E\x3D\x89\x19\x2B\x1C\x02\x3A\x87\xD9\x75\x84\x2C\x01\x3F\x96\x2D\x89\x7B\x8F\x1A\x01\x81\x8A\x0E\xF0\x3E\x0C\x07\x88\x22\x51\xF2\x51\x32\x10\x0C\x10\xD6\x78\x9C\x18\x01\x10\x8D\x15\x83\x10\xCD\x75\xE6\x4D\x61\x45\x8E\x7E\x46\x1E\x07\x34\x86\x6C\x4E\xE1\x28\x41\x0B\x15\x88\xE0\x7E\x58\x05\x03\x8C\x81\x0E\x82\x0B\xEB\x7F\x76\x33\x00\x25\x8D\x17\x25\x0C\x12\xEB\x87\x80\x18\x7D\xDF\x71\x07\x15\x89\x54\x82\x3D\x51\x00\x3D\x9F\x0C\xFF\x85\x64\x4D\x5F\x9D\x8D\x2C\x56\x03\x4F\x88\x88\x3D\x74\xA5\x5F\x89\x66\x1B\x05\x74\x87\x2C\x5F\x87\xD4\x7D\x23\x99\x29\xA5\x8E\x40\x63\x02\x53\x88\x8A\x07\x09\x9A\x76\x61\x28\x02\x13\x8E\x23\x1A\x15\x89\xD8\x84\xFC\x7B\x23\x2B\x0D\x15\x8D\x2D\x1C\x00\x8B\xC7\x13\x40\x2B\x7E\xBE\x5A\x10\x5D\x00\x55\x8D\x2C\x77\x03\x24\x98\x8A\x16\x3B\x32\x64\x01\x59\x89\x36\x7E\x00\x2D\xBF\x86\x3A\x7F\xED\x6A", - "\x03\x5D\x9A\x3B\x84\x02\x2F\xB9\x42\x14\x40\x07\x6F\x89\xB2\x2A\x04\x57\x89\x22\xB1\x5B\x5C\x56\x18\xFA\x3A\x24\x09\x8C\x1A\x88\x03\x89\x73\x81\x0E\x07\x0D\x8C\xFC\x3A\x04\x90\x8D\x25\x81\x08\xB1\x2A\x9E\x05\x06\x65\x85\x42\xA2\x01\x33\xB6\x89\x10\x80\xD9\x1F\x8C\x9C\x0A\x05\x72\x8A\x31\xA7\x74\xF5\x43\x09\x26\x8E\x9C\x11\x05\xA9\x89\x32\xAB\x69\x28\x3A\x09\x7F\x8A\x6D\x15\x88\x95\x28\x17\x02\x8C\x85\x08\xEB\x25\x86\x28\x16\x8D\x00\x00\x15\x38\x8C\x88\x0E\x0B\x3B\x8F\xEF\x4B\x19\xAA\x00\x38\xB0\x05\xE1\x8A\x10\x44\x06\x71\x8B\x5E\x07\x58\x38\xB8\x04\xE6\x87\x10\x4A\x07\x73\x82\x08\x58\x85\x14\xBA\x04\xE0\x80\x0C\x54\x8F\x40\x10\x06\xD7\x8B\x33\xAB\x18\x61\x0F\x19\xC9\x06\x77\x82\x08\xD6\x01\x36\x83\x09\x16\x0C\x06\xEA\x4F\x32\x15\x88\x70\x83\xF0\x32\x12\xF6\x84\x07\xEA\x4E\x33\x00\x8E\xD4\x05\x22\xB9\x82\xE9\x14\x1F\xFC\x80\x0A\x55\x06\xC0\x8B\x1B\x3A\x8F\x66\x1D\x1F\x84\x84\x0A\x5C\x06\xC0\x8A\x1C\x03\x90\x07\x25\x20\x8F\x6E\x1E\x40\x8E\xE9\x03\x41\x8D\x2D\x06\x97\xD9\x51\x32\x3A\x00\x8E\xF0\x02\x42\x89\x36", - "\x0A\x9F\xD9\x51\x31\x3C\x00\x8E\xF7\x02\x43\xBA\x3B\x79\x7D\xA3\x75\x71\x1C\x86\x16\x70\x16\xDF\x70\x5C\x14\x47\x22\xC6\x18\x9C\x14\x53\x3F\x6A\x3D\x6D\x91\xAA\x10\x27\x0C\x86\xAB\x72\x91\xF2\x8C\x4E\x30\x12\x8C\x7F\x02\xD1\x33\x8C\x92\x1E\x70\x11\xE4\x72\x8C\x16\x99\x23\xA5\x14\x9C\x14\x01\xED\x8E\x86\x78\x06\x11\x92\xD7\x72\x10\x92\x95\x8F\x26\x75\x22\xA5\x0F\x7E\x0C\x24\xC5\x43\x93\x9E\x8F\xEA\x4E\x1F\x12\x92\x88\x02\x00\x5E\x02\x42\x1B\x8F\x11\x0F\x4A\x86\x90\xF5\x43\x00\x5E\x90\xA3\x38\x34\x66\x93\x20\x20\x92\xCE\x3B\x08\x8A\x54\x02\x09\x93\xC3\x08\x22\x0C\x00\x38\x91\x10\x6B\x92\x42\x02\x93\x94\x83\x8F\x0D\x00\x3A\x94\x1E\x3A\x10\x9F\x96\x93\x07\x08\x4F\x9C\x85\x3D\x22\x01\x7C\x91\x79\x16\x00\x7F\x95\x59\x35\x00\x52\x89\x01\x9C\x18\x9F\x80\x89\x55\x1D\x1B\x28\x8B\x45\x9F\x0A\x8D\x94\x00\x1E\x00\x8F\x95\x59\x23\x07\x49\x97\x0B\xEA\x4D\x09\x1C\x93\xB3\x40\x4E\x29\x06\xF5\x82\x10\x14\x97\x2F\x91\x32\x2D\x00\x54\x8D\x16\x78\x04\x2A\x81\x0A\xA9\x8F\x7A\xC9\x2A\x55\x8E\x21\x7B\x0D\x2A\x80\x03\xAB\x99\x7A\x7B", - "\x25\x07\x32\x95\xC6\x2E\x0F\x35\x97\xAD\x80\x7B\x7B\x25\x08\x19\x94\x07\x25\x00\x75\x17\xAF\x88\x7B\x7B\x24\x09\x3B\x95\x64\x3B\x13\x68\x75\xA9\x8F\x6F\x14\x4B\x59\xBA\x3A\x09\x08\x38\x07\x0B\xB1\x9C\x63\x36\x64\x0B\x12\x96\xF8\x39\x01\x55\x97\xB7\x03\x10\x81\x7F\xDB\x64\x03\x6D\x95\x84\x20\x02\xB7\x8F\x96\x0A\x0F\xC0\x75\x72\x36\x04\x2E\xF3\x6B\xB9\x8E\x95\x12\x88\x05\x74\x03\x76\x92\x27\x2E\x03\xBB\x96\x95\x1B\x8B\x65\x3C\x02\x3E\x99\x00\x0A\x96\x5D\x13\x45\xC7\x95\xF4\x76\x61\x42\x04\x2F\xF4\x11\x0F\x17\x97\xC7\x97\x25\xA5\x85\x46\x05\x30\xA5\x14\x11\x08\x98\x37\x8F\x02\x43\x97\xC6\x2B\x04\x46\x95\xF0\x76\x61\x9C\x03\x62\x89\x36\x0B\x16\x0E\xF0\x95\x52\x91\x32\xA3\x04\x5F\x8D\x16\x0D\x1C\xF9\x63\x47\x2F\x71\x32\xAC\x02\x64\x8E\x20\x30\x06\x17\x7D\x96\x42\x07\x96\x5A\x8D\xCE\x75\x05\x86\x96\x2C\x69\x00\xC4\x92\x35\x2B\x1D\x17\x34\x98\xA3\x10\x07\x37\x98\xAF\x3D\x58\x2A\x98\x2E\xBF\x96\x93\x9D\xE6\x51\x32\x33\x1B\x99\x55\x1F\x0F\x3E\x99\x81\x0C\x17\xA5\x86\x35\x08\x9A\xD2\x1E\x10\x0B\x9A\x81\x0C\xE7\x13\x8E", - "\x40\x1E\x06\x41\x99\xD9\x0D\x05\x96\x94\x34\x86\x74\x0A\x47\x07\x59\x9A\xEF\x16\x04\xAE\x9F\x32\x90\x81\x94\x30\x07\x61\x98\xFE\x1F\x04\xB2\x96\x2D\xE6\x98\x0A\x59\x07\x69\x9D\x08\x68\x04\xB6\x9F\x2D\xA4\x8D\x94\x22\x00\x5F\x05\x64\x8E\x21\x58\x03\x34\xE5\x99\xE6\x4B\x19\x0B\x01\x6F\x87\x08\x97\x9D\x58\x39\x05\xDF\x8D\x9B\x30\x83\x8F\x14\x00\xC1\x9A\x9F\x3E\x24\xE3\x80\x46\x10\x0D\x66\x0E\x96\x8F\x91\xBB\x2B\x1A\x07\x0F\x9C\x96\x45\x89\x58\x9D\x67\x40\x11\x48\x07\xD4\x82\x82\x2B\x18\x05\x1B\x9D\x59\x40\x03\x1B\x9D\x65\x2F\x06\x9F\x9D\x09\xAB\x18\x19\x03\x3A\x90\x0A\x0E\x06\x9D\x10\x0E\x1A\x29\x9D\xEC\x86\x29\xBC\x01\xEB\x90\x5E\xB0\x9A\x21\x1D\x07\xD4\x90\x06\x96\x96\x11\x1B\x9C\x84\x9B\x20\x0F\x03\xDC\x97\x10\x64\x07\xE1\x83\x08\x37\x04\x51\x96\x9B\x80\x01\x05\x1B\x9D\x4A\x86\x1A\xEC\x05\x5E\x09\x9F\x4A\x9B\x3C\x80\x03\x15\x0E\x9E\xCD\x12\x1E\x12\x9F\x4E\x96\xC3\x5D\x03\xE6\x90\x94\xD2\x19\x72\x13\x9C\x00\x03\x3D\xA7\x94\x0A\x44\x03\xDF\x9D\x59\x3F\x07\x7B\x95\x3E\xB0\x97\x1E\x2B\x03\xE9\x9E\x81\x06\x01\x24", - "\x28\x3C\xD4\x6F\x14\x31\x9F\x8D\x2D\x01\x34\x9E\x81\x0D\x3E\xE2\x63\x1E\x39\x03\xD8\x9E\x81\x14\x01\x8B\x2D\x3F\x81\x08\xB7\x48\x41\x7F\x00\x7F\x89\x36\x0D\x0B\x3F\x81\x09\x01\xA0\x00\x70\x7D\xCE\x46\x04\x05\xAA\x77\x21\x01\x03\xA4\x9F\xEB\x51\xCA\x0D\x04\x0A\xA0\x7F\x28\x03\x05\xAF\xA0\xE1\x95\x14\x94\x04\x0E\xA5\x84\x2F\x03\x07\xA9\x88\x51\x33\x13\x24\xA0\x38\x16\x03\x27\xA2\x83\x6B\x19\xA2\x03\x85\xB2\x13\x1E\x0E\x42\x96\x70\xC4\x77\x9D\x8D\x2C\x08\x23\x1F\x59\x4F\x40\x82\x99\x9D\x71\x05\x32\xA4\x4E\x0C\x03\x1A\xA4\xE2\x2B\x18\x2E\x01\xA2\xA5\x13\x0A\x04\xA2\x16\x76\xB1\x01\xA1\x63\x3A\x02\x04\xA7\x62\xB5\x73\x62\x0E\x44\xC9\x34\x18\x11\xA2\x1F\x98\x05\x4B\x06\x1C\xA9\x6C\x66\x03\xF8\x01\x9E\xFC\x9F\x64\xA8\x41\x69\x0C\x45\xFA\x3B\x1B\x1F\xA2\x10\x0F\x81\xB1\x99\x6F\x7B\x0D\x48\xA2\xB1\x18\x03\x4B\xA1\xCB\x40\x38\x37\xA6\x34\x74\x23\xF8\x8F\xA0\x6B\x8E\x34\x29\x07\x32\xA0\x7F\x06\x07\x0E\xA9\xA3\x59\x5B\x8F\x31\x06\x3A\xA5\x35\x11\x27\x1D\xA3\x2A\x90\x1C\x90\x92\x1F\x4A\x01\x47\x80\x01\xD5\x95\x7E\x66\x0C", - "\x8F\x85\x43\x58\x2A\x37\x87\x0B\x03\xAF\xA4\x52\x88\xD3\x26\x23\xC6\x9C\xCC\x68\xA2\x42\x0F\xA0\x9C\x8E\x86\x4F\x01\x4D\xAC\x88\x4D\x16\x2B\x1E\xA4\x96\xA6\x6D\xAA\x4F\x0B\x04\x4A\x99\x9D\x63\x37\x05\xA8\xA5\x7E\xB6\x9A\x14\x4F\x01\x2D\xA7\x27\x4D\x16\xF6\x27\x3C\x5F\xA5\x01\x1A\xB9\x36\x63\x09\x16\xA5\xA1\x92\x4E\x0B\x28\x5D\xA9\x4A\x89\x9D\x94\x2F\x01\xB6\xA1\x7E\x36\x00\x5B\xA5\x59\x50\x05\x23\xBD\x8D\x96\x90\x07\x09\xA7\x81\x2C\x4C\x90\x0B\x35\x0D\xA4\x43\x87\xDB\x41\x03\x69\xAA\x10\x48\x01\x35\xAA\x08\x33\x2F\x90\x9F\x47\x28\x3A\x04\x5C\xA7\x41\x11\x02\xDF\xA7\x20\x25\x07\x46\xA4\x3B\xD5\x9F\x14\x06\xA7\x03\x0A\x0B\x29\xA7\x81\x0C\x0E\x0D\xA5\xEF\x95\x9E\x5C\x00\x98\x93\x71\x79\xAE\x48\x7F\xA2\x42\x18\x01\x03\x16\x06\x0A\x54\x33\x06\x4B\xF1\x8E\x8E\x92\x13\x00\xAE\x39\x0A\x55\x34\x06\x4B\xB3\x1F\x1B\x16\xA5\x80\x93\x20\x39\x01\x01\x1F\x40\xDF\x77\x8F\x91\x08\x70\x12\x07\x01\xA8\x45\x50\x07\x10\xAA\xFA\x92\x13\x1A\xAA\xA1\xBB\x23\x38\x06\x4B\xE5\x0D\x1D\x1E\xA8\x0E\x23\x07\x0A\x9E\x48\xA2\x10\x76\x02\x3E", - "\xAE\x20\xFB\x07\x82\xAA\xA8\xEA\x9C\x52\x81\x0A\x1F\x0F\xA9\x94\x5E\xB3\x31\x1F\x99\xAB\xDB\x6A\x4E\x21\x16\xA5\x60\xA0\xFE\x09\x00\xCF\x23\x8B\x3C\xAB\x70\x6A\x4F\x8F\x00\xA8\x8D\x17\x08\x04\x54\xF9\x27\xF0\x31\x32\x98\x02\xA9\x8E\x21\xCE\x24\x4C\x83\x0A\x51\xB8\x95\x51\x31\x14\x12\xAB\xC6\x21\x02\x4D\xAA\x42\x17\xAA\xC0\x91\xCA\x2A\x04\x9C\xAE\xF1\x3A\xAA\x53\xAA\x08\x07\xA2\x3D\x72\x05\xAD\xA9\x6C\x30\x02\x57\xA7\x08\x60\xA8\x82\xAB\x19\x5D\x0C\x56\xFA\x38\x0E\x0F\xAB\x56\xA9\x83\xA8\x40\x62\x05\x57\xF0\x3E\x78\x35\xAA\x02\x09\xAE\xA1\xA0\x4B\x9D\x0C\x7D\xA9\x11\x48\x02\x78\xA9\xB0\xA8\xA1\x52\x66\x58\xF0\x10\x14\x09\xAC\x01\x09\xAE\x8F\x70\x1B\x6F\x0D\x0D\xAE\x9C\x18\x02\x90\xA8\x00\x31\xAA\x8E\x8C\xFE\x07\x08\x3A\x16\xA5\x0A\x05\x59\x1B\x31\x4A\xA9\x57\x8A\x0A\x0F\xBF\x76\xF2\x06\xB2\xB4\x13\x34\x09\x59\xF1\xAA\xC2\x96\x94\xFB\x02\xB5\xA5\x15\x38\x0D\x5A\x91\x9B\x1E\x24\x00\x61\x00\xB0\xB0\x3F\x3C\x06\x56\xDF\xAA\x14\xBF\x76\x0C\x01\xB7\xB1\x4E\x07\x20\x08\x3D\xAC\x5C\xA2\xA3\xEA\x4C\x02\x02\xAF\x81\x01", - "\x5A\x8E\x22\x98\x3B\x0C\x67\xAA\xF9\x51\x32\x0F\x0B\x5C\x82\x09\x73\xAD\x2C\x91\x06\xB3\x17\xAF\xD2\xA9\x15\xA1\x9D\x75\xA1\x08\x41\xAD\x08\x5B\x05\xDA\xA8\x33\xFB\x21\x0C\x1F\xAE\x04\x15\x59\x23\x04\xF2\xAF\x33\xFB\x22\x0E\x08\xAF\xDB\xAA\xEF\x2B\x04\xCF\x21\x5E\xF1\xAB\x71\x55\x73\x44\x00\xBD\xA1\xAE\x38\x14\x0B\x6C\xAC\xD3\x9A\x7F\xFA\xAD\x59\x3C\x04\xFF\xA4\x35\x81\x81\x61\x16\x02\xF0\xAD\x59\x04\x06\xED\xA1\x5D\x89\x83\x49\x49\xB0\x2F\x34\xC1\xBE\xAC\xC9\x85\x53\xB9\x28\x84\xAD\x2C\xD8\x02\xC2\x87\xAE\x0A\xB9\x49\x82\x08\x1D\x17\xB0\xC9\x31\xE0\x10\xAF\x09\xB2\x8A\x2B\x1A\x1F\x00\xB1\x7A\x3C\x1D\x34\xAF\x06\xB9\x02\xFB\x20\x22\x08\xB1\xF0\x3F\xE3\x24\xAC\xC5\xA6\x4C\xA8\x42\x24\x01\xB0\x0A\x0B\x13\x28\xAF\xCA\x2E\x0F\x04\xB2\x6D\x0B\x19\x9D\x00\xC7\x87\x08\x53\x0B\x63\x90\x0A\x01\x1B\x44\x71\xA9\x9B\xA5\x84\x54\x02\x64\x83\x09\x2C\x05\xB2\x61\x10\xC9\x8B\x6B\x3D\x23\x0B\x4D\xB2\x40\x1C\x05\x50\xB7\x20\x16\x00\x29\xB7\xBD\x7B\x22\x2F\x16\xB2\x01\x0F\x18\x19\xB3\x81\x0E\x01\x5C\xB1\x3D\x5B\x23\xC9\x00\xC6", - "\x80\x01\x69\x03\x66\xF0\x62\xD4\x21\xAF\x3D\x03\xA5\x9D\xB1\x80\x05\x0D\x68\xAC\xF8\x91\x08\x93\x3B\x7C\xB1\xB2\x9A\xA3\x67\xE5\x5A\x9D\xAD\x16\x36\x07\xFE\x3B\xB3\x9E\xA6\xC3\x63\x04\x7A\xA1\xA6\x06\x9B\x13\x43\xB5\xA3\xA1\xF7\x07\xB5\xB3\x05\x02\x8A\xB7\xA9\x90\x44\x47\xBE\x40\x4D\x01\xA4\xA1\x31\x99\x44\xD2\x8D\x2D\x2A\x07\x69\xA9\x33\xCA\x03\x00\x46\x63\x9F\x7A\x3A\xEC\x3A\x67\xE7\x6E\x0D\x6A\x00\xA1\xB7\x96\x8E\x20\x32\x0D\x69\xBD\x33\xCA\x12\x00\xA9\xB0\xD1\xA5\x14\x36\x0D\x6A\xC6\x33\xCA\x1A\x00\xB1\xB5\x59\x34\x03\x5A\xBF\x64\x2B\x1A\x08\x19\xB5\x0E\x24\x0F\x3C\xB4\x2C\x3B\x32\x2A\x00\xB0\xAD\x2C\x84\x03\xD8\x93\xAD\x3A\x72\x03\x47\xB5\xB2\x2C\x04\xC3\xB4\xB3\xAC\x8B\x83\x0A\x03\x29\xB7\x7E\xB2\x13\x94\x07\xCD\x90\x09\x45\xB0\x67\x2C\x6A\xB3\xBA\x3B\x9D\x03\xD8\xAF\xAD\xEA\x9B\x04\x5F\xB4\xFC\x25\x05\xC3\xB0\x27\xA5\x85\x29\x09\x6A\xF7\xB0\x44\x0D\x05\x82\xB7\xB7\xA5\x84\x2D\x0D\x6E\xCD\x14\x2D\x11\xB7\x59\xA2\x3D\x61\x02\x6B\xBD\x2C\x3B\x06\xD4\x31\xAF\x01\x0C\xDB\x9B\x34\x03\xB3\x17\x6A\x00\xBF\xAE", - "\x20\xC5\x07\xDF\x9B\xB6\xD7\x4B\x47\x73\x02\xB9\xA5\x42\xCF\x03\xD8\x9A\x73\x6F\x7B\x07\x0F\xBB\x90\x23\xB6\x79\xA5\x32\x03\x05\x83\xBD\x58\x5F\x06\xB6\xAA\x08\x02\xB9\xA7\x2B\x18\x46\x06\x71\xF2\x10\x3A\x03\xB6\x4D\x9E\x52\x94\x05\x92\xB4\x27\x70\x07\xB0\xB8\xA4\x9D\xAB\x20\x1C\x04\x8E\xB9\x6C\x78\x06\xC2\xA0\xB9\x83\x8A\x3D\x65\x04\x9A\xBA\x77\x02\x02\x33\x40\xB8\x00\x01\xE4\xA1\xA5\x3A\x7E\x0A\x3C\xB8\xFC\x2C\x00\x3F\xBB\xE1\x9C\xB1\x98\xB2\x10\x37\x06\xD1\xA5\x42\x16\x01\xE9\xB8\xB9\x59\xAA\x9E\x40\x07\xD3\xB0\x13\x20\x06\x19\x70\xB2\x5E\xA5\xC9\x57\xBA\x9C\x09\x01\x5A\xBA\xE9\xB3\x8C\x14\x42\x0D\x0F\xBA\x36\x09\xB5\x2E\x50\x1F\x62\xBB\x81\x00\x4D\xD5\x9C\x37\x0F\xB8\xE4\x00\xED\xAE\x9C\xB5\xB3\x75\xC7\x8F\x1E\x26\x07\x0F\xBE\x1D\x32\xBA\x85\x02\x04\x74\xB9\x98\x53\xB2\x67\x9F\xE1\xB8\x07\xBD\xB9\x51\x7E\xBB\x40\x01\xB9\xED\xA5\xC2\xBA\x07\x87\xB2\x00\x63\x01\xCB\x30\x08\x52\x06\xF0\x82\x08\xA1\xBB\x32\x04\x02\xE3\xA3\x9C\x10\x0D\x01\x17\xBD\x0A\x5A\x10\x1E\x4B\x8C\xA1\x08\x3E\x03\x40\x3C\x00\x45\x5F\x00", - "\x1B\xBE\x44\x1F\xA8\x74\x11\xF4\x8A\x09\x1F\x0A\xA8\x12\x02\xE9\xAD\x88\x00\x00\x03\x2F\xBC\x00\x01\x51\x82\x08\xEB\xB5\xBB\x44\x97\xA0\xBA\xBD\x52\x10\x04\x22\xBE\xA2\x59\x00\xB3\xBD\xF6\xBE\xAB\x01\x17\x7B\xD1\x32\x06\x13\xBD\xE5\x0E\x03\x01\xBF\x66\x11\x04\x72\xB0\xD3\xA6\x0C\xB3\xBF\xDA\xB4\x13\x31\x02\x79\x81\x09\xF3\xBC\xB3\xCF\xBE\xBE\x51\xBF\x66\x1B\x06\x55\xBC\x00\x17\xBE\x84\xB5\xCE\x71\x01\xD9\xB0\x74\xF0\x13\x1C\x01\xBB\xF7\x1F\x5A\x2B\x19\x1D\x04\x7E\xCD\x14\x1F\x08\xBF\xA2\x42\xD2\xAA\x4F\x22\x0D\x7E\x8E\x21\x21\x10\xBF\x81\x0E\x7E\x84\x3F\xFA\xBD\x58\x0E\x04\xFE\xA2\x08\xE0\xBA\x1B\xBB\x23\x2C\x0B\x7D\x8E\x23\x25\x1E\xBE\x01\xC2\x20\x29\xAA\x1B\x62\x06\x7C\xBD\xB2\x3F\x04\xFF\xBE\xFA\x90\x97\x28\x3C\x06\x0E\xC2\xDE\x2C\x4C\x9F\xBF\xFB\xBA\xAA\xF5\x46\x07\x16\xC0\xFC\x31\x05\x11\xC2\x03\xF2\x57\x28\x30\x08\x1E\xC1\x11\x5A\x05\x21\xC1\x01\xC1\x08\x75\x9F\xED\x0A\x06\x09\xD0\x13\xC3\x01\x05\xF1\x97\x72\x5F\x82\xF2\x10\x70\x59\xC0\x2A\xC0\x00\x12\xB6\xD3\x0E\x09\x33\xBF\x02\x0D\x16\xD5\x02\xEA\xB1", - "\xBE\xD3\xAB\x32\x29\x05\x0D\xD4\x13\xD9\x48\x07\xEE\x7D\x95\x13\x0B\x47\xC1\xA9\x08\x07\x32\xC2\x21\x2A\xB6\x4B\x9D\x0B\x05\xC1\x63\x31\x07\x08\xC2\xDE\x96\x94\x63\x06\x85\xC9\x35\x3E\x19\xC2\xF9\xB6\x86\x4F\x06\x1F\xCD\x2C\x01\x01\x8A\x5F\xC1\xE9\xB9\x0C\xF5\x72\x6D\x04\x86\x8E\x20\x03\x07\xC3\x10\x09\x07\xEB\xA3\x52\x85\x0E\x4E\xC2\xB1\x17\x00\x29\x51\xBC\xB9\xC1\x89\xB5\x0A\xEF\x06\x1D\xC6\x1A\x20\x01\x0F\xF1\xC2\xB5\x8B\x32\x79\x05\x1B\xD5\x78\x29\x50\xE8\xB9\xC1\xFB\xAF\xED\x04\x00\x19\x03\xB1\x8D\x2B\x06\x02\xC5\x34\xC9\xFF\x7B\x22\x03\x0F\xC4\x43\x3D\x59\x3C\x01\x49\xC3\x84\xDE\x9A\x7A\x58\x00\x98\xC3\x20\x28\xC3\xC6\x25\x04\x70\xC0\x25\xCE\xB0\x28\x43\x04\x21\xC4\x81\x03\x8A\xC9\x34\x14\x06\xC5\x9D\xC3\x2B\x04\xB8\xB0\x0E\x02\x2B\xC5\x40\x0D\xC5\xAA\x78\x16\xF9\xBF\xA5\xB3\x6D\x92\xAA\x2D\xC0\x00\xB8\xC0\xFE\x19\x54\x85\x01\x8C\xA2\xC1\x89\xBB\x23\x44\x07\x17\xC5\xC6\x38\x11\x07\x09\xC7\x20\xDF\x9B\xC4\x3A\x19\xCD\x17\x3D\x0E\x8C\xA7\xC6\x68\x0B\x19\x5A\x07\x17\xC0\xBA\x32\x0F\x8B\x95\x2D\x21\x1C\xC4", - "\xBB\xC5\x72\xBB\x22\x33\x0A\x8D\x90\x08\x1C\x1D\xC6\x10\x0E\x5B\x4A\xC2\x89\x53\x45\x65\xC6\x42\x1C\x03\xE8\xC2\x21\x17\x04\x70\xC0\x80\x80\xBC\x0A\x5E\x03\xEE\xC7\x20\x08\x05\x78\xC1\xBB\x74\xC6\x04\xDD\xB2\x51\x32\x11\x39\xC7\x81\x04\x09\x7C\xC7\xC2\x1E\xC7\xC6\xC0\xB9\x3B\x22\x4B\x02\x8D\xE7\x0E\x41\xC2\x08\x08\x58\x12\xC3\x09\x21\x0E\x7C\xBD\xC6\x40\x03\x05\xBF\xC2\xD6\x86\x16\x5E\x09\xA2\x33\x44\x45\xD8\xBE\x16\xC9\x20\x2B\x05\x8C\xCA\x60\x9D\xC8\x44\x1F\xC8\xE1\xBF\xDB\x73\x05\x5F\xC2\x7D\xA5\x14\x33\x08\xC8\x28\xCC\xD1\xB5\x72\x5E\x0C\x92\xC0\xC0\x4C\xD2\xBF\x36\x65\x18\x35\xC8\x07\x2E\x0D\x37\xC8\xA6\xA6\x9A\x3B\xCD\xB1\x27\x06\x9F\xCE\x69\xFB\x23\x35\x04\xC9\x0E\x23\x6B\x7A\xAC\x00\x01\x93\x8A\xC3\xCA\x1F\x06\x41\xCD\xE6\x84\xCA\x57\xBB\x47\x68\x05\x54\xDA\x3B\x01\x07\x74\x61\xAF\xA6\xC7\x0F\x82\xA7\x55\xD0\x3F\x7E\x59\x03\xDC\xCA\x80\x8B\x47\x7A\x07\x57\xC5\x42\x13\x02\x2B\xE7\xC9\xC5\xA4\x26\xE5\x01\x06\xC2\x3B\x6A\xCE\xA1\x33\xC0\x1B\x6C\x00\x6E\xC8\xE6\xAF\x60\x71\xCF\x20\x23\xCB\x1D\xC5\x19\x15", - "\x02\x5D\xCC\xAE\xCD\x15\x76\x52\xC8\x81\x03\x96\xA7\xAD\x29\x9F\x00\x7F\xCA\x20\x2D\xC8\x63\x18\x03\x79\xCB\x44\xCB\xC2\x7B\x20\x05\x09\xCC\xF0\xAC\x7C\x8E\xCC\x61\xD6\xAD\x51\x31\x06\x13\xCC\x55\xBD\x58\x4A\x03\xE9\x5E\xC8\x5A\xC5\x7A\xB9\x01\xCD\xCA\x91\xC6\x1A\x14\x1F\xCC\x6B\xCA\x0D\xDA\xA7\xCD\xC5\x7E\xF2\x12\x16\x07\x5D\xC5\xC3\x2C\xD1\x8B\xEC\xBB\x04\x2C\xCD\xB3\x05\x03\xB0\xC9\x35\xDD\xAF\x3D\x25\x05\x1B\xCF\x62\xDC\x99\x96\xC9\x20\x23\xCA\x3E\xC6\x29\xDE\x02\x6F\xD8\x7E\xC1\xCC\x29\xC4\xC5\x3D\x27\x06\x36\xCE\x03\x22\x04\xA7\x58\xE8\xA3\xCA\x46\xC5\x0A\xF1\x03\x71\xCE\x20\x8C\x01\x39\xE3\xCB\x94\xB5\x3D\xFA\x03\x75\xCD\x2C\x95\x02\x3B\xF9\xB8\x1B\x63\x08\x4E\xCD\x63\x3E\x04\xB9\xCA\x2E\xCB\x8C\x14\x4D\x08\x66\xCD\xB2\x29\x05\xE9\xCA\x2F\xEA\xA4\x1B\x67\x09\x6E\xCE\xDE\x34\x05\xF1\xCF\x31\xFC\xC4\xD3\x01\x0A\x76\xCC\xFC\x3F\x05\xF9\xCF\x32\xD4\xBA\x1B\x6B\x0A\x7E\xCD\x11\x4A\x06\xD1\xCA\x37\xC0\x2D\x95\x15\x0B\x06\xD0\x9C\x14\x06\x09\xD2\x3D\xE3\xBA\xF5\x4F\x0B\x5F\xCF\x40\x08\x06\x9B\xCD\xB2\x1E\x06", - "\xF1\xCC\x1B\xAB\x1A\x32\x16\xD0\x02\x0B\x1A\x19\xD0\x88\x09\xCB\x62\xCA\x89\x5B\x23\xD5\x00\x44\xC1\x08\x6F\x03\xA2\xAF\x40\x87\xC7\x08\x4E\x87\xDB\x60\x06\x15\xD0\x00\x69\x05\x8B\xC7\x08\xF9\x07\x45\xE8\x6D\x95\x1B\x0E\x34\xD0\x3D\x17\xD1\x3B\x3B\xA0\x5B\xCB\xB0\x2B\x32\x76\x06\x81\xD8\x54\x8F\xBC\x18\xC3\x68\xA0\xB4\x04\x03\x12\x10\x0A\x54\x02\x06\x0C\x0A\x08\x83\xA6\x24\xF2\x11\x93\xCA\x08\x45\x02\x51\x45\x00\x29\xD1\x0F\xB7\xC4\x97\xCA\x93\x8F\xB3\x40\x23\xCA\x8B\xA5\x24\xA8\x92\x9C\x06\x02\x4E\xD2\x51\x4C\x01\x2F\xD2\x10\x42\xBD\x11\x48\xD3\x58\xD2\x51\x4D\x00\x36\xD4\x1D\x3A\x10\x9D\xD4\xBD\xCD\x17\x08\x15\xC8\xD3\x02\x01\x77\xD1\x6B\xD4\x13\x15\x02\x48\xD0\x08\x3D\xD0\x92\xA6\x0C\x07\x1E\xD3\xCD\x16\x03\x02\xD4\x85\x04\xA8\xA9\xC9\x29\x86\x01\x77\xD3\x19\xF2\x12\x86\x63\x98\x81\x09\xA3\xD2\xC9\xDF\x71\x06\x11\xD5\x66\x11\x03\x4B\xD3\xA0\xD8\xC9\x75\x74\x07\x1B\xD5\x94\xAE\xA9\x8C\xD6\xFE\xB1\x32\x47\x03\x54\xE4\xC5\x52\xD7\x10\x17\xD6\xFF\x80\x75\x88\xD6\x81\x0F\x03\x45\xDD\xAA\xA6\xB5\x9D\x7C\x02\xAA", - "\xD1\xD9\x18\x02\x56\xD3\x10\x2E\xD6\x1C\x71\x32\x67\x01\x57\xFA\x3A\x31\x0C\xAB\x82\x0A\xAF\xD8\x6F\x7B\x22\x0E\x02\xD6\xF8\x3C\x06\x45\xD6\xA5\xC0\x97\xC2\x53\x59\xC5\x42\x3B\x0E\xAC\x80\x03\xB1\xCC\xC1\xA5\x80\x11\x12\xD7\xB8\x25\xAD\xC7\xD7\xB2\xBF\x76\x93\x03\x5B\xF2\x12\x45\x0D\xAD\xF9\x97\x1E\x3E\x04\x77\xD4\x01\x0D\x16\x4A\x03\xD0\x45\xC7\xB1\xC6\xCC\x96\x92\x15\x22\xD6\x3A\x1F\x09\x65\xD6\x3A\x2C\xD0\xF3\xD5\x54\x29\x04\x7B\xD7\x10\x53\xC1\xF5\x80\x06\xB1\xD5\xB1\x33\x04\x5A\xDD\xAB\xA1\xCD\x85\xAA\x06\x01\xD9\xD9\x3C\x04\x82\xD6\xAC\xC8\xAE\x0D\x74\x06\xE9\xD5\x59\x05\x07\x81\x6A\xAE\xA6\xD6\x6A\xD0\x85\x11\xDE\x81\x11\x06\x8A\xDF\xA9\xDC\x7C\x0A\x4C\x07\xF9\xD6\x58\x1D\x06\x7E\xD3\x10\x44\xCD\xF5\x97\x07\x21\xDE\x68\x27\x06\x92\xD2\x10\x19\xB9\x61\x02\x00\x67\x05\x4A\x20\x23\x76\xDD\xB1\xF2\x7E\x25\xD1\xD9\x07\x0A\x52\xF4\x12\x7E\x0C\xB2\x81\x08\x77\xD5\xB0\x19\x00\x67\xE2\xC5\x66\x16\x00\x67\x70\xD0\xA7\xD6\x30\xB9\x24\xD6\x0C\xA1\xD2\x10\x15\xD9\x63\x30\x00\x67\x76\x69\xC5\xD9\xF5\xCA\x9E\x30\x00", - "\xD3\xC1\x08\x52\xDA\xEF\x1C\x01\xA8\xD5\xB3\xB2\xC7\x1E\x3C\x01\x57\xD8\x00\x19\xDB\x0E\xAC\xB5\x96\xDB\xA5\x6A\x4F\x48\x01\x6C\xE3\xDA\x2B\x95\xB6\xB5\xD7\x80\xD5\x73\x54\x02\x6D\xCD\x16\x20\x07\xE6\x6E\xD4\xD7\xBB\x23\x60\x02\x6E\xCE\x21\x4C\x74\x8C\xDD\xDB\x35\xDB\x23\x6C\x01\x6C\xC5\xC7\x3B\x01\xB6\x95\x2E\x15\x06\xDA\x7E\xDF\xC7\xBF\x9E\xC1\xD0\x11\x04\x05\xE1\xD0\x08\x60\x00\x71\xE6\xDA\xA0\x6B\x32\x06\x04\xE3\xD2\x35\x8F\xDD\x0C\x52\xDC\xB7\xD0\xA3\xAB\x1B\x24\x17\xDC\x30\xD1\x73\xC7\x08\x3A\x0B\xB9\xD3\xD8\x6F\x26\x34\xA0\xDB\x20\x2B\x04\xD1\xD4\x19\xA5\xDD\xC3\xC9\x52\x93\x4A\x6F\xC7\x09\x5C\x0C\xBA\x82\x09\xB8\x7D\xDB\xEA\x7B\x4F\xD5\x0D\x5D\x01\xB6\xBF\xCD\xD5\x13\x04\x67\x71\xBC\x89\x03\x01\x10\x2C\x7F\x25\xEF\xCD\x16\x9C\x01\x78\xD0\x09\xE1\xDA\x10\x36\xA5\x9D\x6D\x06\x61\xDF\x4F\xE5\x15\x52\x0E\xBA\x9E\x1E\xFA\xA6\xCA\xD1\xDD\x59\x13\x79\x4A\xD3\xE6\x20\xD7\xB7\x61\x07\xD9\xDC\x9C\x55\xDF\xEE\xDF\x93\xA8\x43\x3A\x01\xDF\x8D\x2D\xE6\x5C\xDE\xE6\xD5\x94\xD1\x31\x3D\x07\xDE\x0E\x25\x19\x0A\xDF\xDC", - "\xD8\x56\x98\x1C\xFA\xC3\x75\xE3\xDC\x7D\xD4\xCB\x28\x38\x00\x68\x00\xF7\xD0\x13\xE0\x01\x7F\xDB\xC0\x1B\x62\x01\x7E\xDD\x26\xD6\x5B\x02\xE3\x04\xE8\x40\x0E\x06\xC0\x80\xCE\x03\x34\x07\x09\xE1\x5F\x51\x32\x13\x0D\xC0\xD6\xAD\xB3\x1E\x07\x11\xE7\x5F\x7B\x22\x18\x05\xC1\x81\x0A\xF4\xC6\x16\x08\x04\xF8\x40\xBA\xFD\xD6\xB0\x6E\xAD\x07\xE0\xC6\xCD\x12\x02\x04\x7F\x62\xC4\xC2\x81\x08\xBC\xD5\x9E\x45\x07\x84\xDF\xE0\xA3\x1D\x01\x22\xE3\xF2\xD0\xCC\x51\x37\x09\x32\xE0\xC2\x66\xC3\xF4\xDD\xBF\xCB\x19\x59\x07\x84\xFE\xDC\xE9\x11\x03\x44\x7E\xF0\xC6\xD8\x7D\xB2\x0C\x02\xE2\x1D\x66\xC4\xB7\xE3\xC5\xD6\x94\x6B\x07\x84\xFA\xD9\x52\x13\x04\x44\x7F\xDA\xCD\xE1\x43\x43\x16\xCB\x0A\x3B\x02\xC5\xCD\x17\x13\x16\xE2\x4E\xE3\x37\xD1\x33\x40\x0B\xC3\x8E\x23\x16\x1D\xE1\xBC\x32\x2C\x91\x33\x45\x05\xC6\x8D\x2D\x19\x08\xE3\x03\x08\x8B\xEE\xD9\xB9\x05\x09\x5D\xE2\x03\x23\x81\xB8\xD9\x8D\xC5\x9A\x14\x40\x0A\x6D\xE1\xB2\x3A\x03\x70\xE5\x65\xC8\xA5\x3D\x2A\x0A\x7E\xE0\x60\x81\xE4\xD6\xDC\x6A\xF6\x60\x5A\x06\xC7\xFD\xBC\x18\xFE\xE1\xA8\xC4", - "\x42\xCD\xE5\x64\x3A\x09\x0F\xE6\x1E\xE7\xDB\x36\x62\x19\x13\xE4\xBD\x36\x0A\x16\xE5\x1C\xF3\xCF\x75\x75\x1A\x1B\xE4\xF8\x32\x0B\x1E\xE6\x20\xEF\xDB\x32\xD3\x94\xC5\x42\x40\x89\xC7\x9F\xE4\x34\xD1\x32\xEB\x02\x95\xF0\x13\x64\x0B\xC2\xE1\xE3\xAB\x68\x41\xF6\x06\x90\xC2\x09\x34\x09\xA4\x87\x0A\x27\x8B\xDF\x03\x15\xED\x95\xB0\x01\x0C\xCB\x87\xE1\x54\x65\xE6\x9C\xBF\x20\x1E\x06\x44\xE4\xBE\xF6\xB9\x94\x2E\x00\xC8\xE6\x82\xCA\x08\x0C\x01\xCD\xA1\x52\x67\xAC\xE6\x58\xE1\x46\xE5\x84\x0D\x05\xCD\x80\x00\xD0\xA4\x01\xDD\xE5\xB2\x32\x06\x6C\xEA\x8E\x4B\x7D\x37\xE0\xBA\x30\x01\x9C\xD0\x08\x7E\x04\xCE\xB0\xDD\x94\x32\x01\xDD\xE5\x18\xFD\x00\x75\xEF\x56\x15\x89\x31\xCA\x02\x03\x10\x09\x0A\x55\x1F\x0D\xCD\xD4\xD2\x99\xD4\x13\xF8\xE7\xA6\x4A\x54\x21\x0D\xCD\xB3\x1C\x12\x1D\xE6\x6E\xD3\x09\x2A\x8A\x45\x57\x51\xCD\x14\x13\x19\xE7\x8A\x51\x09\x08\xE8\xD4\xB3\x70\x03\x12\x42\xFB\x23\x4A\x05\x9B\xE5\x0E\x27\x03\xD1\x95\xB6\xEE\xC5\x0C\x4F\x07\x9C\xCB\xAB\x8A\x80\x74\xCD\x00\xF1\xC0\xE2\x22\xEE\x81\x1B\x00\x92\xE0\x11\x26\xE9\xF3", - "\xCB\x19\x63\x01\x9E\xC6\x60\x7B\xED\xD2\xD7\xDD\x94\x2E\x03\x32\xEE\x81\x30\x00\x9A\xE0\x5F\x5E\xDD\x29\x99\x03\x39\xED\xB1\x3B\x00\x9E\xE7\x10\x2E\xE8\x34\x9B\x23\x84\x01\xA8\xC9\x36\x23\x04\xD4\x83\x0A\x51\xE2\xC0\x51\x37\x11\x29\xE9\xC6\x2C\x15\xDC\xDF\x53\xEE\xCA\x7B\x21\x13\x0A\xEA\xD5\x7D\xD4\x82\x0B\x55\xFF\xD5\x28\x44\x14\x1B\xEA\x61\xCD\xD5\x81\x0B\x57\xE8\xD6\x51\x37\x15\x23\xEB\x22\x41\x07\x65\xE8\x00\x07\xEB\x83\xAD\x7A\xBA\x05\xB5\xE0\x27\x7C\x02\x5B\xE7\xEB\xD8\xD6\x52\x85\x06\xBA\xE2\x27\x07\x07\x5D\xF3\xCB\x75\x70\x1A\x3C\xEA\x3A\x12\x09\x7F\xEB\x26\x7B\x23\xDB\x05\x9B\xEB\xDA\x38\x1D\x09\x15\x8B\xDA\xC7\xEB\x2F\xE5\xC2\xA7\x07\xC1\xEA\xAF\x86\xEF\x2A\x7B\x23\xF2\x04\xB2\xC6\x16\x5A\x06\xD9\xB1\x67\x1E\x3D\x07\x53\xE9\xD9\x3F\x04\x96\xED\xD3\xAF\x43\xCA\x07\x00\xC7\x4B\x86\xD5\x1A\xF3\x86\xD5\x8E\xD9\x9D\x71\x00\xC7\x4B\xB1\xF2\x13\x69\x05\x11\x8D\x01\x4D\xEF\xE2\xD5\x9D\x03\x31\xED\x66\x10\x0E\x35\xEF\x6D\xE2\xE3\x28\x41\x05\x07\x4F\x29\xE6\x2C\x6D\x05\x67\xF8\x66\x7B\x24\x06\x03\xEF\x59\x87", - "\xDC\xDF\x67\x1E\x3F\x01\xBB\xEE\x81\x25\x92\x99\xD5\xDA\xB6\xD9\x94\x2B\x02\xCB\xEE\x81\x0F\x00\x3E\x95\x8C\xE7\xEB\xCF\xDD\xB3\x56\x01\xBB\xCD\x2C\x0D\x0C\xDD\xBF\xED\x24\xF6\x61\x61\x01\xBA\xD8\x60\x3E\x96\xDB\xD5\xEF\x79\xF5\x73\x6D\x02\xBD\xC9\x36\x19\x0C\xDE\xE6\xEC\x58\x7A\xE2\x39\x09\x0F\x32\xEE\xBD\x3F\x03\x75\xEE\x7B\xF7\xEF\x87\x6B\xBF\xF0\x3E\x65\x9A\x10\x6D\xED\x51\xFF\x74\x28\x41\x12\x02\xF1\x22\x49\x05\x7C\x93\x63\xF7\xDB\x51\x35\x13\x0B\xF0\x38\x15\x06\x0E\xF2\x7D\xE1\x08\x10\x3A\x3D\x69\x04\xF1\xE3\x10\x34\x07\x71\x56\x3A\xE5\xEF\xBF\xCA\xDD\x28\x36\x0B\x1C\xF2\x40\x01\x06\x1F\xF0\x22\x3B\x97\x56\xEE\xD5\xA7\xD1\x94\x23\x06\x26\xF6\x82\x29\xF0\x54\x61\xE2\x87\xF3\x38\xA8\x41\xD0\x01\xC6\xE6\x85\x19\xF7\x10\x12\x05\x8D\xEE\xEA\xE5\xE1\xCA\x1D\x06\x1D\xF8\x0E\x3C\xF0\x50\x7F\xF1\x2D\xF6\x9D\xE8\x40\x75\x0B\xE0\xF6\x06\x91\xE2\x08\xA8\x06\xC2\xCA\x09\x27\x0F\xD1\xF3\x08\x3E\x09\xED\xF6\xB0\xC9\xC1\x08\x2A\xF5\xA8\x95\x0E\x00\x0B\x03\xFF\xDA\x4E\x3F\x04\x2D\xF0\x00\x5C\xF2\xA3\xD6\x94\x0C\x00\xCC", - "\xF9\xD9\x66\x1A\x0C\x52\xF3\x41\x06\xF3\x98\xD5\x14\x97\x00\x35\xF3\xB4\x8E\x23\xD3\x94\xEE\x6F\xF6\xA7\xD6\x94\x11\x04\xE7\xAC\xC5\xB3\x02\x07\x6E\xF2\x78\xA7\xD4\x93\x8D\xE7\xB7\xC5\xB3\x0E\x07\x81\xF2\x20\x30\xF3\x57\xD8\x82\x38\x01\xA1\xFE\xE6\x76\x24\xCC\xCB\xF4\x03\xAB\x32\x42\x03\xA3\xE4\xEE\x46\x1D\x00\x1B\x9D\xB5\xD3\xE9\xF2\xAB\x1E\x2D\x02\x97\xF3\xA9\x9B\xF4\x0F\x23\xC0\xF5\x70\x16\x01\xF5\x0E\x25\x03\x23\xF5\x29\xF0\xAD\xDE\x3C\xAA\xF5\x78\xAB\xF1\xCF\xE9\x97\x95\x1E\x06\x2F\xF5\xB2\x35\x01\xB1\xF2\xD0\xEF\xA1\xFF\x96\xEB\xFA\x39\x10\x19\xF5\x8A\xF6\x5C\xD1\x32\x42\x0F\xE8\xB2\xEC\x9D\x0D\x02\x9B\x9E\xC0\xFA\xF5\x51\x6B\x32\x10\x05\xAF\xF0\x3F\x5A\x00\xD8\xDB\xF2\x1C\xE8\x82\x1B\x07\xB3\xE5\x42\x66\x02\xDA\xE5\xF2\xCC\xC8\x82\x26\x07\xA3\xEA\xED\xD2\x1A\x0E\x1B\x9D\x62\xCD\xE9\xC2\x8A\x0D\x70\x05\xDF\xF5\x59\x3D\x03\x71\xF4\xEA\xB8\xED\x85\xBA\x05\xC5\xF5\x59\x08\x05\xCD\x9E\x00\x6D\xF6\x74\xB6\x42\xF1\xF6\x81\x16\x04\x7A\xF6\xEF\xD0\x67\xCA\x12\x06\xD7\xF0\x4E\x24\x04\x6D\xFD\xE9\xA6\xD9\x85\xBD", - "\x06\x01\xFA\x4E\x30\x04\x82\xFB\x9C\xD1\x30\x3A\x19\xF7\x8D\x2C\x17\x09\xF7\x7E\xF2\x10\x54\xCE\xA5\x94\x07\x09\xFA\x03\x4C\xF8\x38\x4B\x47\x7F\x05\xC6\xE5\x15\xD5\x03\xE3\xDE\xC5\x53\xBC\x06\x78\xF1\xB2\x21\x07\xFC\xF4\xD5\xCA\xE4\xD8\x75\xF2\xD1\x69\xB3\x0F\x07\x29\xFA\xD6\xD8\xE5\x3A\x72\x02\x2D\xFB\x40\x06\xF6\xA5\x15\x1F\x31\xF9\x65\xFE\xB5\xD1\x32\x0B\x16\xF9\x4D\xDD\x59\x0B\x00\x5B\xA5\xEF\xAA\xFB\x31\xD1\x32\x3A\x00\xE8\xD8\xDB\x66\x19\x01\x36\xA6\xB2\xE1\xF6\xAF\xE0\x05\x46\x02\xA5\xF2\xB6\xCD\x16\x09\x0E\xFA\x14\xF8\xC3\xEB\x18\x29\x04\xF5\xC5\xC5\x17\x14\xFA\x95\x2B\x06\x36\xA4\x4E\xF1\xCC\xAB\x1B\x17\x1D\xFA\x10\x0A\x0D\x20\xFA\x6A\xA6\xF2\xD0\xFA\x33\xE8\x41\x6C\x00\xED\xCA\x09\x3B\x0B\xF6\xB7\x6B\xD8\xF9\xFA\xAA\x9F\x7F\xB2\xFB\x83\x04\x08\x75\xFB\x41\x17\x02\x77\xFE\xE8\xFB\xD1\x3D\x26\x08\x7B\xF9\xC9\xDE\xFB\x03\x0B\x0C\x01\xFC\x99\xFA\x90\xD1\x33\x24\x14\xFA\x6B\xDF\x13\x08\xFC\x81\x0F\x50\x85\xF0\x44\x10\x02\x55\xF0\x2C\x21\x04\xAA\xF0\xEE\x91\x08\x1F\x16\xA5\xC5\xC0\xF3\xDD\xF3\xC2\x0B\x0A", - "\x1C\xFC\x5F\x20\xFD\x97\xFC\x7B\xB2\x98\xC3\xFE\x18\x8B\xFF\x56\x16\xE9\x28\x40\x18\x2C\xFC\xF8\x3E\x09\x2E\xFC\x58\x7A\xF3\xD5\x9B\x19\x33\xFD\x22\x43\x56\xED\xFB\x66\x83\xF4\xEA\x4E\x1A\x3B\xFC\x00\x46\xFB\xBF\xFE\x42\x1F\x6E\x75\x71\x1C\x26\xFC\x07\x22\x0C\x28\xFD\xF7\x16\xD5\xDF\x73\x1D\x03\xFE\x39\x15\x58\xBE\xFD\x7D\x13\xC0\xB8\xE3\xFA\xF4\x13\x6C\x05\xFC\xD7\xFC\xDE\x7B\x23\x01\x05\x0D\x2C\xF0\xE1\x4D\xFD\xA2\xFC\x56\x4B\x19\x0C\x02\xFC\xEB\xF2\x07\x21\x0F\x65\xFC\x5B\xD6\x61\x17\x02\xFD\xF5\xF3\xC6\x2D\x0F\x6E\xFF\xAE\xF1\x32\x22\x02\xFE\xFE\xF3\x49\x28\x5E\xEB\xDA\xF9\xF6\x26\x2B\x0D\x0B\x0A\xFF\x4B\x7D\xDD\x40\x7A\x5F\xF4\x46\x7F\xCC\x7B\x1E\x19\x03\x03\x80\x28\x72\x03\x12\x02\x3D\x7F\xA9\x7F\xBD\x68\x8C\x4C\x80\x98\x79\xD5\x0E\x02\x10\x80\xCF\x7E\x14\x6B\x32\x0F\x01\x0C\x81\xE7\x7E\x3A\x68\x57\xA1\x7C\x12\x79\x7D\x59\x01\x1D\x83\xA3\x50\x02\x91\x80\xF7\x7A\x7A\x23\x06\x0C\x80\x38\x7E\xB1\x00\x05\x28\x57\x45\x7F\x5B\x0E\xDA\x5F\x3B\x6F\x00\x0B\x8D\x2C\x1E\x01\x30\x80\x0A\x8E\xEF\x7B\x11\x7B\x00\x05", - "\x8D\x2C\x2C\x01\x18\x82\x0C\x85\x5E\x51\x19\x86\x02\x0F\x8E\x40\x38\x01\x41\x83\xEB\x7A\xFE\x2B\x0C\x91\x02\x0D\x8E\x40\x04\x02\x06\x82\x0E\x85\xF1\x40\x59\x46\x80\x76\x59\x04\xB7\x7E\x1C\x7D\x94\x18\x0A\x15\x81\xC9\x19\x90\x56\xFD\x7F\x7F\x05\x58\x95\x5E\x04\xA0\x2C\x39\x81\x06\x83\xF2\x75\x39\xBF\x03\x18\x89\x6C\x37\x02\x65\x82\x10\x83\xF3\x5F\x3B\xCB\x02\x1A\x8A\x77\x05\x03\x6D\x82\x12\x8F\x06\xA5\x42\xD7\x02\x1C\x80\x7F\x2C\x59\x61\x0A\x14\x86\x7D\x6B\x0C\xE3\x02\x1E\x85\x84\x21\x03\x51\x82\x19\x8B\xA0\x7B\x11\xEF\x02\x20\x80\x27\x2E\x03\x85\x82\x1B\x87\xCB\x6A\x27\xFB\x00\x17\x87\x15\x2E\x01\xBD\x73\x40\x0B\x0F\x17\x81\x08\x80\xDB\x5E\x0E\x54\x82\xEB\x7D\x88\x0C\x09\x89\x73\x98\x19\xAA\x5E\xFF\x6E\x78\x28\x21\x05\x0F\x09\xBB\x7F\x82\x23\x29\x86\xCD\x53\x09\xA2\x82\x1F\x89\xF7\x78\x7F\xAA\x81\x03\x8B\x1A\x31\x82\x95\x17\x07\x0D\x0A\x86\x82\xD8\x47\xCA\x0F\x02\x31\x82\xC5\x62\x0E\x04\x0B\x90\x04\x2B\x03\x2D\x8E\x08\xA0\x35\x2B\x0C\x0F\x01\x0B\xAB\x6D\x48\x03\x2F\x8F\x49\x69\x5A\x07\x80\x00\x01\x05\x36\x0D", - "\x8A\x2A\x12\x01\x0B\xAE\x69\x70\x0A\x14\x01\x56\x0C\x74\x65\x6A\x8B\x42\x27\x13\x01\x03\x09\xA7\x74\xA6\x7B\x5E\xFF\x71\xA9\x04\x05\x10\x83\x7B\x13\x12\x01\x0B\xBC\x44\x18\x56\x9C\x03\x0E\x8A\x04\xDC\x81\xC7\x72\x27\x10\x01\xB1\x81\x7E\x14\x27\x15\x01\x99\x7F\x52\x04\x05\x31\x82\x1E\x80\xF4\x29\x6A\x45\x63\xF4\x83\xE8\x73\x17\x1E\x01\xF8\x82\x17\x7B\x0F\x90\x04\xFD\x83\x99\x75\x3D\x68\x01\xBC\x81\xB3\x04\x6F\x56\x7F\x05\x85\x9C\x76\x29\x73\x01\x09\x86\x03\x16\x06\x02\x83\x03\x05\x43\x8C\xDC\x11\x19\x7E\x01\x44\x8D\x58\x32\x01\x14\x86\x40\x06\x11\x8A\x2B\x84\x12\x46\x88\x17\x5D\x84\x01\x07\x47\x87\x93\x2B\x0C\x94\x01\x40\x8E\x40\x0A\x02\x03\x86\x42\x06\x12\x8B\x60\x75\x3A\x27\x02\x12\xBA\x1D\x95\x00\x49\x8D\x56\x18\x7F\x1A\x7B\x4C\x80\x7F\x21\x02\x36\x86\x49\x88\x2D\x75\x39\xB4\x02\x4E\x85\x84\x2D\x02\x3D\x85\xAB\x75\x08\x42\x85\x70\x09\x2E\x05\x14\xB3\x7A\x7B\x12\x32\x08\x14\xB2\x09\xC5\x03\x52\x87\x10\x1F\x6B\xA5\x41\x35\x0F\x14\xB4\x09\xD1\x02\x54\x80\x00\xBB\x11\xE0\x03\x31\x8D\x2C\x1D\x03\xCC\x80\x41\x85", - "\x12\x6A\x27\xEC\x03\x55\x85\x2A\x2A\x03\x5A\x86\x4B\x41\x0D\x66\x85\xC6\x0A\x3D\x09\x16\x81\x04\xFE\x6B\x30\x7F\x06\x21\x79\x74\x09\xE3\x53\xFE\x77\x84\xA6\x77\x1E\x1C\x00\x33\x85\xC6\x71\xB2\x1A\x79\x77\x85\x26\x87\x6C\x6A\xB4\x56\x00\x7C\x87\xCD\x7D\x2C\x32\x5E\x7D\x82\x4B\x83\x03\xA5\x42\x22\x01\x61\x81\xF4\x4E\x10\x26\x03\xEC\x51\x03\x95\x84\x0C\x5E\xCF\x7E\x18\x86\x7A\x0E\x10\x0D\x03\x7B\x6B\x6D\x26\x86\xC1\x7D\x67\x79\x00\x97\x86\x2C\x89\x6C\x00\x01\x9B\x86\x58\x8B\x04\x88\x63\xA1\x85\x0B\x83\xDF\x33\x5E\xCD\x82\x49\x86\xF1\x55\x4F\x50\x01\x68\x85\x01\x92\x0F\x04\x60\x43\x83\xC8\x51\x19\x5B\x02\x6C\x87\x9B\x65\x86\x8A\x87\xCA\x7F\xED\x26\x01\xA9\x84\x48\x22\x19\xA6\x86\x67\x83\xB7\x32\x07\x01\x87\x0E\x13\x1F\x03\x1C\xBD\x86\x77\x82\xA5\x4E\x07\x08\x87\x8D\x15\x23\x0B\x1C\x87\x04\x26\x87\xD0\x5D\x82\x50\x87\xC9\x1B\x26\x03\x1D\x94\x86\xA8\x71\x29\x46\x09\x18\x87\x7A\x1E\x11\x66\xF9\x4C\x87\x87\x81\x94\x12\x0A\x20\x87\xF0\x1E\x2D\x0C\x1A\x84\x87\x8F\x82\x0D\x3E\x0A\x3A\x86\x0A\x05\x2E\x01\x1A\x95\x16\xC3", - "\x00\x6F\x84\x1D\xA5\x7D\xEC\x10\x7C\x87\x10\x06\x03\xF3\x84\xCC\x26\x1F\x9C\x87\x6F\x7C\x7A\x3A\x1F\x83\x04\xD3\x01\x7F\x8A\x10\x1B\x03\xFF\x86\x47\x86\x8F\x6A\x27\xD5\x03\x80\x82\x10\x20\x03\x06\x8B\x41\x07\x0E\x09\x88\x25\x85\x90\x78\x82\x22\x03\x0E\x89\x40\x0D\x0E\x11\x88\xFC\x08\x85\x88\x17\xA7\x59\x51\x1B\x3B\x08\x1E\x80\x00\xFB\x00\x87\x89\x17\x2B\x87\x29\x11\x3D\x89\x13\x3D\x03\xA1\x85\x3E\x81\xD5\x3F\x62\x6B\x6F\x15\x07\xD2\x7B\x11\x07\x00\xD8\x2E\x22\x83\x04\xA0\x62\xF5\x72\x23\xAF\x74\x7B\x11\x04\x00\xB6\x33\x86\x11\x04\x09\x0F\x8B\x4D\x83\x3B\x8A\xF9\x4A\x9E\x1C\x00\x3F\x88\xA7\x63\x24\x90\x04\x45\x8A\xFB\x41\x65\x27\x00\x49\x8A\x03\x1E\x03\x0B\x89\x29\x89\xF9\x6A\x9E\x32\x00\x51\x88\xC5\x44\x25\xBF\x7D\xD2\x29\xAE\x46\x23\x8D\x0B\x58\x00\x8C\x8C\x24\x90\x7F\xA5\x43\x11\x09\x25\x89\x1B\xDC\x63\x78\x8C\x25\x8A\x04\x11\x53\xB7\x32\x05\x27\x89\x7A\x1D\x1C\x0B\x25\x83\x04\x4D\x8A\xAD\x5B\x47\x1D\x01\x70\x88\xFC\x18\x8F\x6A\x89\x74\x8A\x51\x88\x82\x28\x01\x79\x89\x11\x2B\x08\x33\x89\x19\x0B\xFB\x75\xE7", - "\x33\x01\x81\x88\x9C\x08\x09\x04\x8A\x01\x05\x9D\x89\xED\x26\x58\x89\x8A\x9C\x05\x0A\x0C\x8A\xD6\x4E\xB0\x72\x96\x20\x2D\xAA\x85\xD5\x02\x0B\x3F\x62\x93\x85\xA1\x84\x84\x7B\x11\x95\x01\xA4\x84\x27\x00\x03\x94\x8A\xA3\x80\x98\x06\x1A\xA2\x89\xA9\x0D\x0C\x25\x8A\xDC\x7A\x7A\x2B\x0A\x1F\x89\x0E\x12\x36\x02\x26\x95\x89\x07\x06\xB9\x72\x33\x70\x8A\x8D\x16\x39\x03\x2B\xAB\x89\x29\x82\x0D\x3F\x0B\x18\x8A\xD9\x4F\x2F\x6F\x00\x23\x89\xEE\x79\x9F\x5B\x0C\x00\x8B\x0E\x11\x00\x0B\x99\x43\x8B\xB4\x8B\x0E\x81\x65\x17\x03\xA9\x8A\xB1\x00\x01\x1B\x66\x44\x8A\x1A\x77\x21\x91\x8B\x34\x70\xB5\x84\x2C\xAD\x57\x51\x19\x3B\x08\x2C\x8D\x16\x2A\x03\x66\x6D\x29\x8D\x8A\x81\x51\x94\x19\x0F\x18\x8B\x55\x0C\x0E\x0A\x2D\x8D\x8B\x02\x07\x77\x79\x7D\x44\x00\xFF\x34\x90\x80\x11\x05\x01\xEB\x88\xAF\x8F\xDE\x5F\x3B\x0F\x03\x7F\x39\x29\x92\x0F\x52\x03\xB2\x8B\x2D\xB7\x8B\xA5\x43\x06\x0A\x2F\x8D\x0B\x61\x02\xBF\x8C\x2E\x9B\x46\xF8\x75\x49\x07\x02\x03\x8C\x0E\x10\x1C\x06\x30\xB6\x8B\x00\x79\x94\x13\x03\x0C\x8C\x8D\x17\x1F\x0F\x30\xBD\x89\xDD\x86", - "\xA5\x4F\x03\x14\x8C\xC9\x1A\x23\x02\x2E\xBF\x8B\x2D\x5B\x75\x7C\x31\xBA\x1D\x9C\x03\xC7\x87\x30\x80\x00\x19\x7A\x0D\x37\x05\x31\x8B\x10\x06\x18\x0F\xDF\x15\x16\xAA\x01\xBD\x88\x31\xA2\x63\x51\x18\x19\x0C\x32\x8A\x04\x6F\x03\xCB\x80\x11\x37\x02\x32\x8E\xA7\x81\x20\xB6\x30\x71\x03\xCD\x87\x10\x3C\x01\x3A\x8D\x73\x4D\x33\xA4\x8B\x37\x7A\x7A\x2E\x07\x02\x8D\x03\x05\x22\x05\x34\x87\x04\xD1\x03\xD1\x85\x29\x80\x64\x28\x23\x22\x0C\x34\xA5\x24\x4F\x8F\x40\x0C\xA2\x7C\x89\x3E\x8D\xE3\x78\x82\x18\x02\x23\x8D\x40\x04\x0A\x19\x8D\x02\x05\x8F\x69\x18\x87\x04\x58\x03\x80\x06\x05\x0A\x2A\xA6\x03\x7F\x3E\xCF\x5A\x83\x74\x09\x16\x03\x20\x26\x8A\xDF\x81\x95\x60\x0E\x86\x0D\x5A\x02\xDA\x8A\xA8\x29\x02\xFF\x34\x3A\x8A\x10\x83\x08\x72\x8E\x3B\x84\x27\x2E\x02\xFF\x36\x3C\x85\x2A\x1B\x01\x2A\x89\x49\x02\x0B\x17\x8D\xF0\x1D\x3E\x0B\x99\x6B\x6D\x88\x8E\x3F\x80\x16\x3D\x02\x8C\x8D\x11\x2B\xA5\x56\x7F\x91\x8E\x41\x85\x61\x48\x03\x61\x8D\x11\x21\x01\x37\x69\xCD\x81\xE6\x8E\x10\x95\x4F\xD4\x01\xE7\x80\x27\x1E\x00\xA0\x8C\x44\x02\x3A\x97", - "\x84\x28\x20\x38\x06\x3A\xB2\x09\x2B\x01\xEA\x8A\x10\x2B\x8E\x20\x85\x94\x1C\x0E\x2F\x8E\x74\x08\x0E\x02\x3B\x92\x18\x5D\x89\x94\x18\x0F\x15\x8E\x70\x09\x11\x09\xB1\x7C\x8E\xF5\x6E\xDC\x27\xE0\x3B\x8B\x11\x05\x14\x0B\x3B\x83\x04\xB4\x8E\xA7\x71\x65\x0F\x00\xC7\x8F\x0D\x8B\x3C\x82\x04\xCD\x8F\x4F\x8F\xED\x1B\x00\xD1\x8E\x57\x43\x3D\x81\x04\xCD\x8D\x5C\x75\x61\x67\x00\xD9\x8D\x63\x18\x07\x1B\x8F\x00\x01\xF3\x89\xD7\x55\x4F\x33\x01\xF8\x89\x6C\x05\x02\xE4\x8D\xF3\x84\x15\x9A\x8C\xEA\x8E\x63\x4D\x3E\x96\x8A\xEA\x27\x12\x07\xE0\x0D\x83\x70\x0B\x27\x07\xA7\x63\x8B\xE5\x8F\x58\x86\xC3\x18\x01\xF1\x8C\xFC\x1D\x0A\x33\x8F\x12\x81\xCD\x81\x40\xA7\x60\x04\x93\x0F\x7B\x47\x30\x01\x07\x3A\xBC\x8A\x10\x07\x03\xC3\x8C\xF3\x82\x02\x8A\x6D\x7B\x01\x03\x9D\x2C\x13\x03\x11\x90\xF5\x8B\x18\x96\x4A\x86\x03\xFD\x8D\x83\x37\x69\xCC\x88\xF1\x8D\x2B\xB5\x39\x93\x02\x07\x9E\x40\x2E\x03\x20\x92\xEA\x85\x19\xBC\x71\x07\x93\x2E\x49\x40\xA5\x6C\x00\x2D\x0B\x92\x27\x0A\x00\x61\x6D\xE8\x8D\xF0\x68\x20\xB8\x02\x09\x9D\x58\x17\x00\x61\x6C\xFF", - "\x8D\x3C\xAF\x86\x15\x59\x31\x02\x43\xB4\x09\x25\x01\x0D\x9A\x42\x99\x81\x28\x21\x34\x03\x44\xA5\x0A\x32\x02\x11\x93\x3B\xA3\x67\x75\x39\x37\x0A\x43\x89\x1B\x3F\x01\xD8\x61\x42\x92\x90\xBE\x85\x29\x4A\x0E\x13\x91\x7A\x1E\x13\x06\x45\x87\x91\xCD\x87\xC9\x6C\x45\xB0\x1F\x5D\x03\x17\x9F\x44\xBB\x67\x95\x04\x01\x03\x07\x1C\x8D\xCC\x6A\x19\x92\x42\xBC\x27\x50\x1F\x1A\x97\x10\x38\x8F\x72\x0B\x1E\x0D\x43\xA0\x91\xE5\x84\x0A\x2E\x01\x32\x91\x03\x04\x1D\x94\x27\x09\x02\x77\x93\x19\x93\xA1\x76\x30\x2B\x00\x1F\x9F\x18\x96\x52\x86\x93\x2A\x82\x10\x17\x02\x4E\x93\x1B\x99\x03\x51\x19\x39\x01\x22\x95\xF5\x58\x69\x92\x91\x65\x14\x0A\x0D\x92\x58\x93\xCF\x85\xE7\x07\x01\x92\x93\xDA\x63\x05\x15\x92\x10\x05\x2C\x08\x49\x9A\x90\x49\x8E\x0D\x35\x05\x1D\x92\x10\x05\x18\x00\x4A\x8A\x04\xBE\x03\x28\x9C\x3D\x96\x88\x2A\x80\x2A\x98\x33\xAB\x92\x07\x07\x32\x0E\x4A\xBD\x8F\x4A\x7A\x7A\x21\x07\x12\x92\xCD\x82\x1F\x04\x4B\x83\x04\xD8\x01\x20\x97\x10\x1D\x01\x03\x08\x17\x0A\xA8\x00\x02\xBF\x93\xFC\x22\x27\x1E\x01\xCB\x0A\xA2\x22\x08\x12\x92", - "\xD4\x82\x9C\x00\x06\x09\x8E\x11\x07\x20\x02\x49\x8E\x90\xF0\x0B\x2D\x93\x4D\x92\x8E\x4B\x06\x23\x07\x4D\x8D\x0B\xF3\x02\x36\x9A\xFA\x5F\x3B\x99\x02\x2C\x9B\x59\x27\x70\xFC\x8F\x36\x96\x24\xB6\x30\xA5\x02\x39\x9D\x87\x28\x93\x90\x6C\xEE\x75\x61\x71\x02\xEE\x92\xD6\x60\x4F\x8D\x6F\xC0\x7E\x75\x35\x4F\xB0\x1F\x2A\x03\x3D\x95\x46\x3D\x8E\x28\x21\x32\x0F\x4D\x8E\x10\x38\x03\x09\x7D\x0C\xAA\x93\xE2\x43\x47\x1B\x4F\x85\x21\x31\x73\xD9\x89\xBF\x38\x84\x08\x3B\x42\x90\x27\x13\x01\xFE\x93\x43\x9F\xFD\x76\x8E\x12\x96\x41\x25\x51\x82\x04\x08\x96\x40\x0E\x3D\xBD\x59\xF8\x01\x46\x94\x27\x2F\x01\x1B\x95\x40\x0D\x51\xAB\x60\x95\x5C\x1D\x06\xFD\x70\x09\x7D\x01\x49\x90\x00\x27\x94\xCD\x13\xCA\x00\x01\x2A\x94\x2E\x7E\x03\x1C\xC6\x4E\x94\x1C\x94\xFD\x86\xC3\x1C\x00\x34\x95\x1F\x9D\x2C\x19\x02\x27\x73\x15\x99\x53\x9F\x8A\x51\x19\x0A\x0D\x53\x87\x92\x0C\x42\x4B\x90\x53\xA3\x5B\x15\x59\x0D\x07\x54\x84\x80\x8D\x16\x2D\x0A\x54\xAD\x8A\x36\x31\x10\x0F\x54\xA2\x86\x7A\x1C\x31\x06\x50\xB1\x93\x79\x85\x94\x1C\x04\x17\x95\xD8\x93\x40\x01", - "\x0D\x1B\x95\xF8\x91\xB1\x89\x7D\x57\x01\x57\x96\x1F\x95\x2A\x1E\x03\x27\x70\x04\x0C\x55\xA3\x90\xE2\x49\x5A\x97\xE8\x6D\x95\x6F\x96\xB3\x88\x82\x31\x01\x57\x94\xF2\x80\x11\x3E\x03\x53\x97\x10\x82\x95\x39\x95\xCD\x08\x03\x0D\xCD\x69\x93\x37\x92\x7A\x29\x08\x32\x95\x0E\x10\x37\x7A\x10\x02\x95\x26\x95\xB9\x88\x82\x16\x02\x80\x94\xC3\x33\x58\xB5\x95\xED\x88\x0C\x51\x59\x8D\x16\x37\x03\x64\x95\x56\x85\x87\xA5\x42\x2B\x08\x58\xA4\x62\xDD\x72\x5B\x9B\x59\x80\x8C\x96\x4B\x2E\x0F\x59\x89\x1B\x55\x01\x68\x94\x59\x88\x8C\x7B\x10\x32\x07\x5A\xBA\x1D\x65\x02\x6A\x93\x5A\x91\x8C\xFF\x47\x6B\x90\x7F\x35\x01\xB2\x97\x3F\x99\x31\x95\x4F\xE2\x02\x6D\x95\x84\x05\x02\xDD\x70\x63\x9F\x52\x90\x78\x28\x23\x3B\x0E\x5B\xB0\x09\x94\x01\x70\x9B\x5A\xA8\x8C\x28\x1F\x65\x90\x88\x35\x01\x95\x83\x45\x6A\x59\xBA\x96\x34\x8C\x0A\x2A\x00\x10\x97\x35\x96\x96\x58\x5D\xA0\x82\x02\x05\x2C\x03\x5D\x96\x94\x9A\x93\xB7\x38\x01\x1B\x97\x48\x97\xAF\x24\x5E\x8A\x92\x01\x07\x2F\x0F\x5D\x83\x95\x9D\x6F\xF2\x37\x5E\x93\x92\x07\x06\x0C\x0F\x5E\x95\x16\xCD", - "\x03\x7A\x9D\x58\x94\x8D\xEA\x24\x0D\x0F\x5E\xAB\x6D\x40\x03\x7C\x90\x11\x09\x76\x38\x97\x7D\x90\x22\xA8\x20\x42\x03\x7B\x9D\x0C\x8F\x01\xFE\x96\x4B\x0A\x5C\x8A\x04\x61\x03\x80\x06\x06\x0A\x2A\x51\x03\x7B\x9E\xA6\x78\x03\x1D\x77\x83\x13\x20\x1F\x01\x8A\x2A\x14\x02\x61\x94\x74\xC6\x0B\x18\x03\x20\x0D\x98\x82\x8E\xDD\x82\x62\x86\x0B\x64\x02\x83\x9A\xA8\x13\x01\x1B\x9B\xE2\x15\x2A\x0F\x98\x2E\x07\xCA\x04\x05\x3B\x97\xCD\x09\x3E\x06\x5F\x98\x2A\x33\x8B\x49\x20\x63\x8E\x10\xA8\x75\x80\x94\x63\xBC\x88\x14\x62\x81\x9D\x2C\x15\x00\xC7\x26\x70\x9C\x62\xAB\x93\x75\x39\x1E\x0E\x63\x8E\x10\x24\x01\x90\x90\x11\x03\x99\x4E\x88\x0A\x26\x08\x07\x99\x91\x62\x92\x92\xEB\x26\x98\x98\x35\x82\x9D\x58\x02\x01\x4F\x79\x40\x0C\x64\xBB\x72\xD8\x83\xDD\x84\x23\x72\x09\x5B\x99\xED\x88\x82\x15\x02\x50\x99\xB2\x14\x04\x12\x99\x07\x05\x98\x97\x12\xBB\x11\xA2\x03\x8D\x9D\x58\x13\x01\xC7\x24\xFF\x8A\x66\xB0\x84\xDF\x3A\x2B\x05\x66\xBA\x1D\xE9\x77\x62\x9B\x64\x90\x94\x75\x3B\x2E\x07\x67\xB0\x1F\x70\x00\x9A\x93\x10\x2A\x99\xD6\x8D\x29\x48\x0C", - "\x3F\x99\x45\x23\x1F\x02\x68\x82\x04\x6A\x9B\x47\x99\x7D\x55\x03\x88\x98\x9C\x0E\x08\x0B\x9A\x5A\x9A\xA1\x8F\xED\x22\x03\x91\x9A\x9C\x02\xE1\x7A\x99\x53\x9B\xFD\x75\x5C\x99\x9A\x74\x08\x2B\x04\x69\xBB\x98\x36\x51\x94\x1C\x0F\x2F\x97\xFC\x8C\x9C\x0B\x0B\x07\x27\xA2\x95\x9A\x9E\x3F\xB5\x39\x0A\x02\x1D\x0C\x46\x85\x21\xCB\x03\xA8\x9A\x66\x8C\x95\x7D\x5B\x05\x02\x6B\xB3\x91\xCD\x0A\x36\x06\x6B\x94\x95\x75\x38\x09\x0B\x6B\x86\x86\x0E\x11\x3A\x01\x67\xBB\x99\x5D\x94\x0A\x20\x03\x03\x9B\xE5\x94\xFC\x17\x0F\x07\x9B\x9D\x98\x5C\x95\x0A\x7C\x00\xCC\x99\x40\x09\x6A\xB2\x09\x05\x03\xA3\x71\x01\x08\x9B\xD2\x9A\xA5\x4A\x04\x15\x9B\x00\x03\xB5\x94\x27\x16\x00\xDA\x98\xB7\x96\x57\xAA\x27\x58\x00\xB8\x9A\x56\xBC\x35\x8F\x7A\x90\x96\x2D\xAA\x27\x65\x02\xBA\x90\x68\x6D\x9B\xE6\x99\xCB\x63\x45\x20\x9B\xE2\x99\xA9\x05\x04\x0F\x7A\xAD\x9B\xA0\x9E\x58\xAA\x27\x80\x02\xBC\x9E\x40\x15\x01\xF4\x99\xB4\x9F\x5F\x7B\x11\x8D\x02\xC0\x9D\x58\x24\x01\x05\x9E\xAB\x9E\x12\x0A\x2A\x9A\x00\xB8\x9E\xA6\x73\x01\x8F\x78\x87\x0A\x66\x9B\x02\x8A\x2B", - "\x26\x00\x6E\x95\x16\x70\x08\x1D\x0F\xE8\x55\x16\x6A\x98\x17\x09\x30\x91\x04\x9D\x03\xC6\x9D\x2C\x36\x01\x1F\x9D\xBD\x91\x10\x23\x03\x8A\x2B\x27\x02\x71\x8D\x0B\x78\x01\xC5\x9A\x72\x80\x00\xE5\x02\xA2\x20\x0A\x2F\x9C\x0E\x11\x1E\x02\x73\x86\x9C\x2C\x3A\xA2\x21\x0A\x38\x9C\x8D\x16\x1E\x0B\x73\x8E\x9C\xF0\x0B\xC1\x30\x74\x89\x1B\x7B\x03\xD0\x9E\x6F\x8A\x04\xEC\x02\xA2\x23\x0A\x07\x9D\x7A\x1C\x1F\x0A\x74\x8C\x9A\x03\x09\x1F\x0A\xA8\x24\x02\x26\x9E\x03\x1D\x07\x29\x9C\x3C\x9D\x47\x1C\x36\x99\x9D\x15\x8C\xD7\x94\x74\xA6\x05\x8A\x28\x2A\x00\x75\xB0\x1F\x81\x03\xD4\x95\x69\x8A\x04\x8B\x03\xDE\x80\x76\x89\x1B\x82\x02\xD8\x9B\x74\x87\x04\xF2\x02\xA2\x2B\x0A\x27\x9D\x45\x20\xB1\x7F\x25\x73\x9C\x49\x6E\x69\x0C\x0A\x38\x9B\xCD\x09\x21\x05\x6E\x9D\x9D\x8E\x53\xC8\x9F\x6B\x00\x9E\xFA\x7B\xE0\x93\x76\xB4\x96\xE8\x34\xE2\x9D\x58\x27\x02\x8A\x9F\xDC\x9D\xF3\x65\x32\x8E\x9D\xB2\x18\x0B\x11\x9E\x54\x9D\x7C\x8A\xA8\x24\x03\xE0\x9B\xDB\x8B\xDA\x4F\x7A\xEF\x3A\x9A\x9A\x0B\x0A\x2A\xE7\x01\xE7\x9D\x2C\x0C\x03\xA0\x9F\xCC\x9B\x0B\x0A", - "\x2A\xEA\x02\xE9\x9E\x40\x0F\x03\xA9\x9C\xE1\x9C\x0B\x0A\x2A\xED\x02\xEB\x9D\x58\x00\x7C\x53\x6B\xCC\x9D\x0B\x0A\x2A\xF0\x02\xED\x99\x6C\x15\x03\xB1\x9F\xE2\x96\x41\x0A\x2A\xF3\x03\xDB\x9A\x77\x18\x03\x72\x9D\xE6\x97\x10\x15\x03\x8A\x29\x3D\x06\x7C\xB4\x20\xC9\x9F\xDA\x97\xF4\x68\x20\xF7\x01\xE5\x9A\x77\x1C\x03\xFC\x9B\xCC\x9A\x09\x1A\x69\x77\x01\x74\x90\x7F\x2C\x03\xD1\x9C\xA9\x90\xD4\x0A\x2A\x07\x01\xF7\x97\x10\x15\x16\x09\x02\xF9\x9C\x5D\x81\x04\xEE\x01\xF8\x9A\x66\xBD\x52\x75\x3B\x02\x0A\x7E\x82\x04\xF9\x9A\xB1\x00\x0F\x19\x9F\x84\x9D\xCA\x85\xE7\x19\x00\xF3\x9D\x40\x0D\x0C\xA6\x00\xFD\x9C\xE7\x4A\x74\x1C\x9A\xC2\x9C\x00\x0B\x06\x1D\x99\xA5\x08\x0A\x01\x80\x9C\x9C\x60\x98\x7E\x81\x65\x2A\x00\x01\xA1\x33\x87\x03\x0B\xA0\x10\x07\x03\x04\xF5\x6E\x9B\xEC\x62\x02\x81\x81\xA4\x17\x14\xA0\x68\x17\x81\xB3\x9C\xDA\x72\xA5\x48\x04\x1B\xA0\x2E\x85\x07\xAB\x1A\x1F\xA0\x84\x9D\xE2\x5D\x67\x57\x01\x24\xA3\x41\x04\x06\x26\xA0\x03\x04\x0F\x08\x82\x85\xA0\xF7\x51\x85\x56\x06\x01\xA0\xFC\x8C\x1D\x00\x83\xB6\x29\x54\x7D\xBF", - "\x93\xC0\x14\x93\x10\x06\x1D\x01\x80\xBA\x95\xB3\x8C\xD5\x7C\x3F\xA7\x01\x35\x98\x0A\x22\x08\x03\xA1\xCD\x09\x1A\x06\x84\x90\x04\x48\xA0\x8F\x98\x82\x0E\x02\x2D\xA1\xB2\x14\xF7\x44\xA0\x3F\x10\xEC\x7A\x9E\x1B\x02\x55\xA2\xDE\x15\xF8\x58\xA1\x3F\xA0\x32\x4B\x47\x28\x02\x5D\xA0\xFC\x15\x09\x33\xA0\x59\xA0\xE1\x9F\xED\x35\x02\x3B\xA0\xFC\x14\x0A\x13\x7E\x01\x05\x14\xA7\x10\x29\x01\x08\xA1\x38\x86\x87\x86\x0D\x72\xA0\x16\x3B\x32\x37\x02\x65\xA1\x11\x26\x0A\x28\xA1\x61\xA1\xFB\x6B\x57\x4C\xA1\x0E\x11\x2D\x0F\x84\x8A\x04\x79\xA0\x56\x71\x65\x10\x03\x7D\xA0\x0C\x60\x88\xB1\xA1\x7C\x9B\xB7\x3D\x0D\x0D\xA2\x72\x0A\x34\x0F\x88\x80\x00\x89\xA1\x57\x66\x21\x54\xA2\x55\x1B\x25\xA9\x89\xA4\x65\x51\x1B\x3D\x0C\x89\xA5\x0A\xF0\x02\x27\xA6\x69\xA5\x42\x04\x00\x1E\x03\x6B\xBC\x1D\xA6\xA2\xA7\x9A\x9E\x11\x00\xAA\xA0\xAF\x9E\x40\x0E\x00\x0C\x82\x70\x9F\x89\xBC\x65\x85\x06\x07\x01\x8B\x83\x04\xF5\x9C\x0D\x7C\x00\xBE\xA0\x90\xA0\x51\x98\x82\x2C\x00\xBB\xA2\x40\x0B\x6E\x86\x0D\x02\x80\x18\xA1\x8C\x97\x76\x90\x91\x31\xAE\x7F\x9A\x62", - "\xB5\xA0\x14\xA0\x6C\x9F\x3B\x46\x02\x33\xA0\x5F\x89\x1B\x4B\x00\x03\x87\x84\x93\x90\xA6\x06\x14\x06\x8D\x84\xA1\x07\x04\x09\x8A\x63\x9F\xA2\x82\x86\x69\x0E\x05\x16\xA3\xBD\xA1\xD5\x07\x06\x0C\x80\xDB\x98\x22\xAB\x41\x95\x4F\x6C\x00\x3A\xA0\x73\xAC\xA3\xD2\xA2\xC7\x6A\x9E\x3A\x01\xD6\xA3\x31\xA5\x35\x09\x02\xD1\xA2\x3B\xAE\x57\xAA\x27\x87\x01\x3E\xAD\x2C\x18\x02\xFD\xA3\x41\x0F\x89\xB3\x71\x60\x04\x25\x02\x8F\x8E\x10\xA7\x03\x2F\xA5\x8F\x96\x77\x28\x22\x28\x02\x90\x8E\x10\xB7\x01\x41\xA9\x86\x95\x62\x69\x77\x44\xA4\xCF\x16\xA4\x81\xA3\x40\x09\x0E\x0A\x2A\xBC\x02\x35\xAE\xA6\x55\x03\x0C\x80\x87\x0F\x89\x98\x9C\x7B\x11\x2F\x06\x8D\x8C\xA0\x74\x0A\x35\x0C\x00\xBC\x1C\xC5\x92\xE1\x9A\x10\x3F\x02\x2B\xA5\xB3\x08\x0D\x2F\xA4\x0F\xA7\x40\x0C\x72\xBB\x11\xC1\x02\x48\xAD\x6B\xA5\xA4\x39\xA6\x40\x05\x73\xBB\x11\xC2\x02\x4F\xAE\x40\x1B\x03\x40\xA6\x3F\xAD\xAF\x4A\x2A\xC3\x02\x51\xAD\x58\x1C\x03\x49\xA6\x41\xA4\xDD\x0A\x2A\xC4\x02\x53\xA9\x6C\x1D\x03\x51\xA7\x45\xA4\x4F\x4A\x2A\xC5\x02\x55\xAA\x77\x1E\x03\x59\xA5\x47\xA8", - "\xD7\x0A\x2A\xC6\x01\x4D\xAE\x40\x1F\x03\x38\xA6\x52\xA0\xCD\x0A\x2A\xC8\x02\x59\xAD\x58\x21\x03\x69\xA6\x54\xAB\x12\x0A\x2A\xCA\x02\x57\xA0\x7F\x01\x82\x7B\x9E\x5A\xAC\x03\x4A\x2A\xCB\x02\x5B\xA9\x6C\x24\x03\x71\xA6\x56\xA2\x10\x35\x9D\x7B\x11\x33\x06\x97\x85\x21\xE6\x01\x58\xAB\x8C\xA4\x96\xD5\x4E\x33\x0B\x90\x82\x65\xF4\xA2\x5E\xA1\xA8\x32\xA4\x07\x04\x37\x0F\x98\xB5\x5C\x91\xA6\x5C\xA1\x46\x95\x58\xEA\x03\x65\xAA\x77\x09\x00\xB1\x81\x3B\xAA\x99\x93\x9E\xEA\x24\x3E\x0E\x99\xB0\x1F\x1A\x01\x68\xA1\x94\x81\x04\xB9\x02\xA2\x26\x00\x39\x01\xB9\x9F\xD8\x31\x0B\xAF\x3B\x9F\xA3\xE8\x9F\xA0\x30\xA6\x07\x06\xE7\x92\x3D\x2E\x00\xB3\xA7\x6A\xAC\x32\x2A\x69\xB8\xA7\x40\x0A\x9B\x91\x04\x31\x01\x6F\xA2\x99\x80\x00\xB3\x9F\x1E\x1F\x00\x01\xA7\xA7\x5D\x66\x86\x9C\xA3\xA6\x02\x07\xEE\x94\x28\x4C\xA7\x01\x07\x70\xA9\x46\x4F\xA7\x82\xA7\xF0\x9B\x47\x15\x00\xD4\xA6\x00\xAD\x58\x3E\x82\xDE\x9C\x26\xA3\x20\x0C\x9F\x52\x39\x77\xAC\x92\xA5\x0A\xC6\x81\x78\xAF\x89\xA3\x22\xEA\x25\x06\x0D\x9D\xA9\xA3\xD2\x0E\x0F\x01\x0B\x80\xA3\xE2", - "\xA6\x42\x0B\x7D\xBB\x11\x27\x02\x79\xAD\x2C\x0E\x01\xCA\x80\x74\xA2\x04\x4A\x2A\x29\x02\x7E\xAD\x4D\x02\xA8\x6F\x05\x7F\xA9\x9D\x80\x00\xF0\x9F\xB7\x3D\x02\x2F\xA7\xCD\x0A\x14\x03\x9F\xBE\xA6\xFA\x9F\xB7\x3B\x03\x1D\xA7\xCD\x80\x12\x04\xA0\xB0\x11\xB1\x82\x2D\xA3\x20\x07\xA0\x21\x9A\xB1\x0A\x04\x17\xA8\x7A\x1F\x27\xA2\xCC\x7D\x59\x4C\x00\x85\xA0\x11\x19\x01\x20\xAB\x93\x19\xA1\xBE\xA6\x4A\x5A\xA5\x4B\x05\x26\xA8\x0A\x04\x1A\x09\xA2\x80\x00\x80\x03\x8A\xA7\x9C\xA1\xA0\xD5\x4E\x1A\x00\xA3\xA9\x38\x33\xAB\x23\x06\xA3\xBE\xA7\x00\x02\x0A\xA9\x7D\x79\x01\x3B\xAB\x00\x23\xA3\xB2\x84\xCA\xA1\x7D\xA3\x60\xAA\x27\x88\x00\x83\xA3\x2E\x33\xA8\xAD\x03\x83\xA1\xA3\x83\x08\x74\xA1\x87\xA0\x37\xA3\x98\x46\x0D\x95\xA7\x10\x25\x01\x8A\x28\x26\x0D\x9D\x91\x93\x74\x0A\x1A\x03\x20\x28\x01\x75\xA3\x95\xA7\x87\x95\x0D\x1C\xA8\xEB\x05\xA6\x9F\x99\x5E\x9A\xF4\x0C\x06\x14\x99\x51\x19\x26\x03\xA3\xB0\x09\xBD\x03\x34\x8A\x74\x15\x9D\x19\x9F\x9C\xA2\x27\x3E\x02\x76\xAA\x42\x0E\x06\x03\x08\x6D\x02\xA2\x2D\x09\x3A\xA9\x6D\xA9\x44\x0F\x06", - "\x00\xAA\x2D\x9C\xA1\xA8\xA5\x95\x0D\x70\x00\x9E\xAA\x4B\x1F\xA9\x1C\x9A\xD1\x02\x07\x00\xA1\xB9\x15\x77\xA1\x56\x82\x04\xBF\x01\x2C\x8D\x0C\x93\xAA\xDC\x91\x4E\x0D\x0A\x16\xAA\xA7\x9E\xA6\xA0\x11\x1C\xAA\x9A\x8D\x9F\x58\x0B\x1D\xA7\xE0\xA3\x40\x09\x0D\x31\x82\xFC\x8C\xA9\xA3\x3A\x95\x58\xC4\x00\xAA\xAD\x2C\x27\x03\xAC\xAB\xA8\xA2\x4F\xBD\x59\xD0\x02\xAC\xAE\x40\x35\x03\xB5\xA9\xBA\x49\x4F\xB5\x39\xDC\x02\xAE\xAD\x58\x03\x00\xA1\x85\xAB\xA0\x50\xAA\x27\xE8\x00\xA8\xAE\x40\x11\x00\xA1\x87\xA6\xA4\x26\x96\x4A\xF3\x02\xB0\xA9\x6C\x1E\x00\xC5\xAA\xAD\xAC\x26\xAB\x0C\xFF\x02\xB4\xA2\x0A\x55\xAB\xBE\xAB\x45\x9F\x8A\x02\x4C\xA9\xAB\xBA\x0C\xAD\x83\x13\x7E\x8B\x2A\x50\xAE\x8D\x0B\x48\x03\xB8\xA0\x96\x27\xA2\x96\x4B\x08\x07\xAE\x8E\x10\x56\x02\xBA\xA9\x28\x00\x76\xDF\x3B\x0B\x0F\xAE\x8B\x9C\xF2\xAB\x0A\x6A\x53\xB5\x39\x3B\x02\xC0\x4A\x8F\xA1\x7B\xA1\x86\x70\x9E\xAA\x9D\x5B\x51\x18\x12\x07\xAF\x89\x1B\x81\x01\xBE\xA8\x65\x14\x7B\xEA\x24\x15\x07\xB0\xBA\x1D\x8F\x02\xC2\xA3\xB0\xB0\x85\x1A\x1A\xC0\x47\xA9\x82\x41\xCD\xAA", - "\xB5\xA5\x2B\xAB\x0C\x6B\x02\xC5\xAD\x2C\x2A\x02\x19\xAD\xB7\xAD\x6D\x95\x4F\x76\x02\xBF\xAD\x2C\x37\x02\xA1\x84\x7D\xA3\xB1\x99\x71\x7B\x13\x20\x06\xB2\x8E\x10\xC7\x01\xCA\xAA\xB1\xA7\x9B\x36\x30\x24\x0F\xB0\xB0\x1F\xD7\x02\xC4\xAF\x6E\x98\x4C\x37\xAD\x11\x25\x0E\x3A\xAC\xA7\x86\x16\x8F\xB2\xA7\x34\x01\xAF\xCC\xA3\x05\xBB\x11\xB5\x01\xCF\xA0\x27\x02\x00\x60\x2E\xB1\xA8\x44\xAA\x27\xC1\x02\xD2\xA2\x27\x10\x00\x4D\xAE\xD1\xA1\x10\x33\x01\x6B\xA8\x90\x49\x0D\x95\x0D\x2B\xAD\xDF\x95\x19\x0D\x03\x43\xAF\xB4\xA0\xB6\x2A\xAC\x50\x93\xB7\x3A\x0D\x21\xAD\x23\x4B\xD8\xA6\xB5\xB5\x07\x94\xA7\x40\x07\x0E\x28\xAD\xF0\x1E\x0F\x0A\xB6\xA2\xAC\xA4\xA6\x0D\x34\x0F\x30\xAD\x45\x22\x13\x03\xB7\xA4\xAB\xBB\x95\x85\x51\x00\x25\x38\xFF\xAB\x82\x30\xB6\x02\xAC\xC4\x96\x7A\x2E\x00\x00\xAE\xCD\x09\x1B\x03\xB8\xAB\xAD\x11\xA9\xC0\x85\xE2\x2B\x6D\x27\x01\x89\x35\x59\x3C\x01\x55\xAC\xDD\xAF\x48\x81\x77\x8F\xAF\x38\x22\xB9\x90\x04\x8A\x01\xE5\xAC\xB7\xA1\x97\xA5\x43\x0D\x09\xB9\x8E\x14\x9B\xAE\x42\x08\x09\x1E\xAE\xEB\xA9\x29\x95\xE7\x05", - "\x01\xA3\xAF\x39\x55\xBA\x83\x59\xA8\xAF\xBC\xA8\x5F\xB6\x30\x53\x01\xEB\xA3\x10\x1F\x01\xAF\xAD\x87\x71\xBB\xBA\xAB\xB9\x90\x7A\x78\xB8\xBE\xA9\xB9\xAE\x40\x02\x0C\x0B\xAE\x0A\x04\xD6\xAF\x8E\x59\xAD\x11\x04\x1C\x01\xBC\xB0\x1F\x74\x03\x80\x07\x9E\x95\x58\x72\x01\x89\x3E\xA6\x51\x03\x60\x2C\x87\x0D\xBC\x8A\x04\x31\x03\xCA\x03\x07\x12\xAF\xCD\x0A\x34\x05\xBD\x90\x04\xD7\xAF\x41\x0D\x01\x2B\x0C\x74\x00\xF7\xAE\x40\x13\x03\xDF\xAE\x42\x01\xBE\x8E\x0A\x2B\x0D\x1D\x06\xBE\x8D\x16\xD4\x01\xFA\xA3\xBA\x67\x0A\x5D\x13\xFB\xAF\x7B\xB2\xAF\x03\x07\xFA\xAF\x25\x2B\x0C\x77\x02\xFD\xAA\x77\x16\x03\xF8\xAE\x87\x53\x20\x1C\x00\xF5\x1E\xFF\xA8\xB3\x81\xB0\x01\x06\xFE\xA0\x55\xA8\x20\x79\x02\x01\xB5\x84\x18\x03\x08\xB0\x00\x0A\xC0\x98\x95\x36\x32\x1E\x0E\xC0\xB0\x09\xD9\x01\x04\xB3\xC1\x9B\x00\x2B\x0F\x1E\x07\xC1\xB2\x09\xDA\x02\x06\xB3\x20\x3E\x8D\x85\x04\x1F\x0F\xC1\xB4\x09\xDB\x02\x08\xB3\x68\x11\x19\x7D\x03\x09\xB5\x2A\x1C\x03\x2A\xB1\x97\x65\xE7\x3E\x01\x2E\xB2\xC8\x61\xC3\x93\x09\xFD\x1D\x0D\xB6\x34\x1E\x03\x37\xB1\xC4", - "\x0B\x32\x00\x02\x3A\xB1\xD5\x0F\x0D\x3D\xB0\x01\x06\x07\x0B\x32\x01\x02\x0E\xB2\x20\x0B\xBC\x80\x00\xE0\x01\x04\xB5\x07\x14\xAA\x7C\x7D\x89\x37\xB1\x80\x00\xE1\x00\xD8\x2D\x0C\x8F\xB1\x9D\xA9\x49\x0F\x08\x12\xB1\x87\x7A\x15\xB0\x11\x18\xB1\xA5\xA9\xF6\x5A\x09\x36\xAE\x7A\x1F\x3E\x0B\xBB\x95\x30\x5A\xA2\x0D\x36\x0A\x24\xB1\x42\x57\x7F\x3C\x3F\xA0\xB1\x4D\x9A\x5A\x5C\xC6\x85\x21\x17\x02\x1B\xBF\xC5\xBF\xAA\x29\x3F\x1C\xB4\xBF\x36\xB1\x0A\x04\x1C\xBC\xE8\x6A\x27\xCA\x00\x17\xBE\x40\x13\x8C\xB3\x9A\x1F\xB4\xE9\x68\x68\x7A\xB2\x9C\x00\x04\x3C\xB1\x07\x06\x21\xBE\x3C\xA8\x20\xE1\x01\x22\xB4\x27\x0E\x01\x8C\xB3\x40\x0E\xC8\x85\x9A\x96\x49\x3B\x02\xC9\xA5\x0A\x5C\x01\x25\xB2\x10\x0E\xB2\x8E\x9A\xD2\x69\x0F\x1B\xB2\xC6\x0A\x1A\x0E\xC9\x81\x04\x8E\xB3\xF9\x85\x61\x45\x00\x7C\x03\x4A\x92\x27\x38\x01\xA7\xB0\x1A\xBE\x8A\xB6\x30\x11\x01\x2B\xB9\x5D\x89\x1B\x86\x01\x2C\xBE\xC8\xB8\xA2\x73\x05\x07\x06\xCB\xBE\x94\xF6\x3F\x7F\x32\x5C\x8E\xB2\x91\x75\x9F\x5A\x02\x3F\xB2\xCD\x99\x11\x23\x0A\x3A\xB2\x0C\xAE\x0D\x36\x03\x08\xB3", - "\x0B\xB2\xDE\x11\x0B\x0C\xB3\x1A\x83\x1E\x12\x04\x10\xB3\x14\xB1\x11\x2F\x0B\x3F\x37\x57\xB0\x37\xA5\x19\x0D\x01\xD8\xB3\x14\xBC\x0C\x1C\xB3\x77\xB2\x59\x9A\xB4\x58\x01\xD8\xB1\xE0\xA0\x11\x19\x03\xFF\x34\x7D\xAE\xC8\xA5\xA3\x95\x05\x19\x09\xCE\x8D\x0B\xE9\x01\x3B\xB5\xCE\x80\x77\xEA\x26\x1C\x08\xCD\xA1\xAB\x01\x05\x3E\x04\xCD\x87\x04\x9E\x85\xF6\x5E\x07\x3B\xB3\xCD\x0B\x01\x07\xE0\x2F\xB1\x85\x96\x0D\x3A\x08\x33\xB3\xDD\x43\x81\x33\xCC\xBF\x9B\xF4\x64\x41\xB8\x64\x87\xB4\xF7\xB3\xC1\x90\x32\x52\xB4\x8D\x16\x0C\x04\xD1\xBD\xB1\x65\xAD\x29\x4F\x0A\x0C\xB4\x8D\x14\x10\x07\xE0\x2E\xB3\x1D\xB6\xA5\x4C\x0B\x20\xB4\xAE\x63\x48\xB5\xD1\x8C\x9E\x36\x31\x32\x08\xD2\xBA\x1D\x60\x02\x4A\xBC\xD1\xA8\x91\x85\x06\x35\x0F\xD2\x80\x9A\x32\xB5\x23\xB8\xE0\x6A\x27\xE3\x03\x4D\xB5\x84\x00\x02\x0E\xB7\x4A\xB1\x10\x09\xA8\xA5\x40\x3C\x0E\xD3\xB0\x09\x8F\x01\x50\xB3\xD3\x83\x92\x75\x39\x3F\x08\xD1\x83\x04\x09\x01\x1F\x01\x9E\x9E\x02\x1B\xB6\x4E\xBD\xA1\x7B\x11\x0B\x02\x54\xB7\xCB\x91\x0C\x5A\xB7\xFA\x90\x00\x2C\x02\x55\xB6\x25\xB4", - "\x0A\xAD\xA7\x5D\xB5\x32\xB5\x02\x25\xB5\xE8\x94\x00\x0A\x0B\x21\xB5\x9F\xB3\x82\x8E\x4B\x68\xB5\xD7\xA2\x40\x03\x03\x30\xB5\x95\x14\x32\x0C\xD6\xA8\xB2\xB0\x92\x0D\x35\x03\x30\xB5\x6B\x6D\x10\x04\xD7\xB1\x4E\x77\xB6\x2C\xBB\xA4\xB6\x30\x43\x00\x5C\xBD\x0C\x90\x01\x7F\xB6\x42\x04\x0E\x0A\xB5\x07\x06\x1D\x00\xA7\xA8\x20\x52\x00\x5C\xBE\xA6\x73\x03\x07\x38\x87\x07\x07\x0F\xB6\x42\x35\x62\xBD\x58\x34\x03\x07\x39\x65\x17\xD9\x8A\x04\x56\x9C\x6F\x6A\xD9\x89\x1B\xF6\x01\x67\xB0\x11\x38\x01\xE0\x4B\xFB\x22\xD9\x91\xAA\x55\x0D\x1E\x09\xDA\x8E\x10\x95\x14\x16\x0B\xDA\xAA\x98\xC6\x0A\x6B\xB3\xF7\x65\x1D\x60\xAB\xA2\xA2\x3D\x3A\x01\x03\x0A\x63\xB6\xA5\xAC\xA9\xBA\xB5\x44\x0B\x07\x03\x08\x8E\xB1\xDD\x87\xA6\x9A\xAD\x74\x08\x1F\x03\x20\x13\xB0\xC6\xB6\x99\xAE\xDC\x95\x0D\xA1\xB7\xE7\xA9\x7B\x41\xB7\x7E\x0F\x80\x01\x08\x08\xAF\xAC\xB6\xF4\x0E\x07\x03\x08\x82\x00\x76\xB4\xDB\x86\x0D\x80\x03\x80\x0F\x07\x0A\x2A\x59\x03\x68\xBA\x4C\xB4\x09\xD7\xB6\x42\x03\xDE\xBB\x11\x5B\x02\x79\xBD\x24\x74\x09\xDD\xB6\x42\x01\xDE\xBF\xB6\xC8", - "\xB4\x75\xBA\x10\x03\x02\x4D\x22\xA2\x2D\x05\x33\xB6\x61\x1E\x9C\x08\xDF\xAC\x9D\x8A\x2A\x17\x0C\xDF\x9C\x29\x72\x09\x21\x0A\x33\x1E\xB7\x34\x12\x7B\xB5\x84\x06\x02\xD6\xB4\x82\xB5\x73\x55\xB6\x10\x04\x83\xBA\x10\x31\xB7\x3E\x4B\xD6\xA2\x3D\x39\x03\x10\xB8\x2A\x30\xC5\x83\x04\x61\x00\x5C\xB3\xC5\xBA\x03\x63\x90\x00\x07\x08\x09\xA1\xA8\x2A\x87\xB5\xD0\xBC\x92\x10\x07\x88\xB2\x85\xAA\x27\x77\x00\x5F\xBD\x2C\x14\x00\x92\x90\xFF\x8A\xE2\x84\x99\xDF\x3B\x20\x0E\xE2\x8E\x80\x31\xB9\x8A\xB7\xAB\x99\x5F\x8F\x03\x8D\xBD\x58\x30\x00\x39\xBA\x86\xB6\x25\xB6\x30\x9B\x02\x8F\xB9\x6C\x3E\x00\x41\xBB\x41\x03\xE3\x90\x75\x28\x23\x29\x06\xE2\x8E\x10\x4C\x00\x8A\xB2\xE4\x87\x04\x74\x99\x29\x42\x0B\x06\xB9\x7A\x1D\x16\x09\xE4\x83\x04\x4B\xB9\x3B\x4E\x65\x58\xB9\xF0\x1F\x19\x0B\xE5\x82\x04\x5D\xBA\x26\xA6\xB2\x20\xB9\x45\x21\x1D\x03\xE6\x81\x04\x65\xB8\x28\xA5\xCA\x28\xB9\x70\x0A\x35\x9A\x63\xAD\xB9\xAA\xB1\x9F\x52\x0E\x30\xB9\x72\x09\x24\x0B\xE6\xA2\xB8\xF4\xA9\x29\x4E\x0E\x38\xB9\xF4\x6B\x9E\xBD\xE6\xBC\xB2\x60\x06\x3E\x06\xD8", - "\x8D\x0B\xAD\x02\x24\x92\x5C\xAD\xB9\xC5\xB1\xF6\x57\x00\x3E\x01\xAE\xB0\x9D\x0C\x0B\x02\xBA\xCD\xB1\x9D\x33\x01\x10\xBA\x5B\xB4\xFC\x1A\x0C\x14\xBA\xD5\xB1\x94\x1F\x01\x18\xBA\xF3\x7D\xB2\x18\x0D\x12\xB9\x4A\xBA\x37\xB5\x18\x2A\x00\xA0\xB8\x2A\x89\x6C\x25\x03\xA4\xB8\x97\xBF\x8E\x8D\x95\xA9\xBB\x33\xAE\x40\x32\x03\x92\x90\x7D\xAD\xE6\xB0\xB3\x85\x06\x10\x01\xEB\x80\x00\xEA\xB1\xCB\x17\x55\xB6\xBA\x2B\x92\x7A\x2F\x04\x3B\xBA\xFC\xB0\x00\x02\x01\x17\x95\x32\xBB\xCE\xA5\xE7\x1B\x01\xC4\xB9\xB3\x00\x02\x08\xBB\x3A\xB9\xD0\xA8\x82\x27\x01\xBB\xB9\xAF\xB7\x10\x2E\x00\x57\x97\xA2\xB0\xD1\xB5\x39\x74\x01\xB3\xBE\x40\x3D\x00\xD0\xBB\x94\xB6\xD1\xA8\x20\x80\x02\xB7\xB4\x31\x61\xBB\xA5\xB9\x16\x96\x29\x4C\x02\xD5\xB9\xB3\x09\x05\x3F\xBA\xD1\xB8\x67\x96\x29\x59\x02\xED\xBA\x03\x19\x06\x30\xBB\xE2\xB8\x4B\xB5\xE7\x26\x02\xF5\xB9\x63\x19\x07\x38\xBB\xE9\xBB\x66\xAD\x67\x73\x02\xFD\xB9\xB2\x17\x58\x8C\x05\xF1\xB8\x1C\x91\xFB\x45\xBC\x7A\x1D\x26\x09\xED\x89\xBC\x21\x8C\x0A\x2D\x0C\x0C\xBC\xF0\x1C\x2A\x0F\xF0\xB9\xBB\x5A\x7F", - "\x1E\x1A\x0D\x26\xBB\x58\x33\xAE\xB5\x59\x37\x02\xE8\xBA\xAB\xB7\xD5\x8E\x7C\x1C\xBE\x40\x04\x0F\x1E\xBC\x10\x05\x31\x01\xF2\xA4\xB9\x63\xB6\x0D\x36\x0F\x25\xBC\x94\x17\x1F\x01\x9E\x93\x03\x2B\xBC\x9B\xBE\xD6\xB5\x39\x04\x02\xCC\xB9\xE9\x84\x04\x3A\xBE\x57\xB1\x0E\x35\xBC\x7C\xBB\xEC\xA5\xE7\x12\x00\x3D\xBD\x32\xBE\x01\x05\xBD\x69\xB6\x71\x93\xE7\x84\x69\x01\x34\xD2\xBC\xEB\x90\x04\x2D\x02\xD3\xB5\x59\x3D\x03\x17\xBE\x3E\x68\xD9\xB6\x30\x2F\x02\xD3\xBE\xA6\x4C\x00\x29\x9B\x41\x09\x08\x03\x08\x84\x02\xA2\x20\x03\x1A\xBD\xD9\xB4\xBF\x23\x20\x08\x02\x0E\xBB\x79\xB5\x2A\x2D\x9D\x68\x55\xDA\xBF\xDE\xA5\x0A\x8C\x03\x86\xBE\xA7\x0E\xBD\x53\xB1\x03\x08\x68\xB1\xBD\x59\xB1\x44\x0C\x03\x34\xBD\xCD\x0A\x06\x07\xF7\xA3\x93\x65\x8A\xD3\xB5\xEC\xA7\x00\xA8\x98\x44\x08\xF7\xB4\xB8\xEB\x5A\xE0\xBA\x28\x45\xBE\x6C\x8B\x8E\xBA\xB4\x5F\x01\x8A\xBE\x03\x13\x04\x0C\xBE\x07\x07\xE1\xBA\x87\xAF\x4F\x91\xBC\x55\x74\xF9\xBD\x18\xC7\xAA\x0D\x37\x07\x3C\xBD\x0E\x13\x17\x0F\xF7\x85\x8F\x5A\x19\xE6\xB6\xFC\x1B\xBE\x13\x0D\x24\xA5\x0A\x4E", - "\x02\xA6\xBE\xDE\x1A\x07\x28\xBE\xA3\x11\xA9\x7F\xED\x1A\x02\xAD\xBC\xFC\x18\x08\x30\xBE\x10\x51\xB9\xAA\xC6\xB5\xBE\x45\x22\x25\x08\xFB\x96\xBE\x89\x0B\xC1\x2C\xFB\x82\x7C\xBF\xBD\x9F\xB6\x29\x7E\x02\xC3\xBE\x7E\x15\xFC\x87\x76\x51\x1A\x32\x0E\xF4\x96\xBB\x03\x04\x30\x0F\x5E\x82\x97\xC0\xBE\x0B\x7B\x32\x17\x03\xC9\xBC\x9D\x0F\x0C\x0B\xBF\xCC\xA0\x0A\x23\x0E\x19\xBF\xA5\x09\x37\x0C\xFD\x9E\x76\x21\x88\xE8\xBD\x58\x2B\x03\xA3\xBF\xC6\xA5\x96\x66\xBF\x35\x5D\xFA\xB3\x10\x38\xBA\x73\x05\x01\x00\x08\x2B\xA2\xD8\x98\xB8\x94\x9F\x95\xBF\x2C\xAD\x94\x12\x01\x33\xBF\xB2\xA1\x63\x15\x01\x36\xBF\x86\xBD\xB0\xB6\xC3\x1F\x00\xFC\xBC\xB1\x98\xC1\x16\x9F\xB1\xBF\x3F\xA4\x48\x85\xC0\xC9\xB1\x90\x48\x00\xF9\xBE\xD2\xBA\x7A\x27\x03\x0C\xC0\xB2\xB9\x63\x11\x04\x20\x9B\xD4\xBF\xB6\xBF\xED\x04\x01\x14\xC1\x5C\xB0\x7F\x10\x01\x0F\xC0\xFE\xBE\x2E\x8A\x6D\x50\x01\x07\xC5\xEC\x9E\x01\x21\xC1\x49\xB8\x4F\x5D\xC0\xD0\xBE\x40\x0C\x06\x00\xC0\x8D\xBE\xBA\xB5\x3D\x69\x01\x2C\xC2\xFB\x50\x03\xD5\xBE\xA0\x73\xB7\x36\x07\x35\xC0\xD8\x67\x0D", - "\xCC\xF9\xB4\xB4\x73\x07\x20\x0C\x03\xCD\x16\x9C\x02\x0F\xC9\xFA\xBD\xAD\x7D\x58\x24\x03\x04\xC9\x1B\x7F\x9D\x92\xA8\xFF\x84\xB5\x96\x49\x27\x0B\x04\xFA\x1D\xBB\x00\x06\xC1\x00\xF5\x58\xEA\x26\x2A\x06\x02\xD0\x04\xB6\x01\x07\xC5\x59\x0A\x03\x29\xC3\xC8\xB8\x43\x9B\xC1\xCD\x46\x17\xC0\x11\x18\x03\x61\xC0\xE8\xAB\x85\x64\xC1\x07\x06\x34\x06\x06\xC2\x12\x69\xC0\x74\x4F\x51\x2C\xC1\x03\x04\x38\x0F\x06\xC7\x04\xF4\x01\x1C\xC9\x0B\xBB\x11\xE2\x00\x1D\xC2\x10\x2E\x03\x77\xC3\xCE\x18\x83\x97\xC1\x83\xB5\x9D\x30\x0F\x13\xC1\x01\x05\x3F\x01\x08\xC5\x07\x01\xA2\x70\x9D\x08\x26\x14\x6E\xBC\xBC\x32\x27\x0F\xC2\xB3\x96\x8B\x3D\x01\xEE\x69\x1F\x01\x00\xAC\x21\x14\xC2\x3D\x79\x24\xCD\xD0\x4A\x04\x8E\x00\x24\xC4\xDF\xA9\x83\x85\xA9\x3A\x6D\x4C\xAC\x15\x81\x01\x5E\xAD\x58\x20\x00\x9A\xC2\x29\xCA\x10\x12\x02\x9E\xC2\x85\xB1\x11\x0F\x02\x57\xBD\x9D\x31\x00\x29\xC2\x07\x06\x9B\x61\x02\x2D\xC2\x0A\x04\x24\x02\x0A\xD5\xB8\xA5\xC2\x03\x11\x09\x20\xBD\x50\x68\x2E\xC0\xA6\x5F\xB7\x55\x0C\x2C\xCA\x10\x34\xC2\xA3\xC1\xD9\xB0\x11\x13\x02", - "\xAE\x11\x2C\xC1\x0C\xC7\x04\x94\x03\x80\x00\x0D\xCD\xC3\xC8\xC3\x22\x58\x94\x12\xC3\xF6\xB7\x13\x33\x20\x28\xA4\x34\x1E\x31\xCD\xA6\x4E\xC3\xE3\x0B\x80\x07\x9F\x91\x19\x04\x02\x38\xC5\x27\x64\xC3\xDE\xC2\xC4\x2A\xA5\x6A\xC3\x78\x6B\x5B\x10\x0F\xCF\xAF\x46\x0C\x26\x03\x20\x17\x02\x6E\x48\x3C\xC9\xDB\x86\x0B\x99\x03\x3D\xCA\xA8\x09\x00\xFA\xC0\x3B\xC3\x10\x27\xC3\x03\x06\x3D\xC8\x0D\xFD\xB7\x74\x08\x41\xCA\x7C\x96\x97\x01\xC6\x03\x8C\x0B\xC7\x04\xE0\xC0\x6A\x31\x09\xCB\x00\xF3\xC0\xF2\x66\x5A\x11\xC2\x0D\x01\x45\xC3\xCC\x32\xBD\xA2\x18\x3C\xC3\xC5\xA3\x00\x7D\xA1\x27\x04\xE2\xB6\x30\x1A\x02\x47\xCD\x2C\x30\x00\x21\xC4\xE0\xB6\x29\x65\x00\xF0\xC1\xB1\xBD\x03\x03\xC2\xEE\xC3\x62\x1C\x0D\xC7\xB7\x24\x9D\x1A\xB2\x7E\x6D\xC4\x33\x44\x4C\xCF\xBB\x0E\xBE\xA6\x05\x0F\x08\x13\xCE\x10\x59\x02\x4E\xC3\x7E\x83\xB9\x75\x39\x12\x0F\x13\xFD\x3E\x42\xC7\x71\x0D\xF9\xB5\x39\x55\x02\x49\xCE\x40\x35\x01\x29\xC4\xE9\xB8\x82\x20\x01\x47\xC4\xDC\x99\x14\xFF\xA7\xD7\xA8\xE0\x65\x15\xFA\x1D\x90\x03\x55\xC0\x00\x22\xC4\xDE\xAA\x7A\x28", - "\x07\x1B\xC5\xB4\x7E\x57\xC0\x16\xE7\x7F\x48\x74\x59\xC5\x84\x2C\x02\x66\xC4\xBB\xA5\x3D\x50\x02\x6A\xC4\x9C\x0A\x0B\x2D\xC5\xB3\xB1\x9D\x3C\x09\x31\xC5\xC2\x50\x5D\xC5\x6A\xA8\x20\xA8\x00\x3C\xCD\x02\xDD\x2D\x8D\xC3\x6B\x1F\x6A\xAB\xA1\x78\xC4\x9D\x05\x0E\x3A\xC5\x45\x50\x4F\xA5\x18\xE5\x0A\xF3\x00\x62\xCC\x44\x45\xA6\x4E\xC5\x63\x11\x00\x1A\xA4\x43\xC6\xFA\xB1\x65\x18\x03\x91\xC5\x1F\x24\x19\xCA\xC5\xE6\xB2\x69\x03\x0E\x3E\xC5\xF3\x16\x35\xA4\x9F\xA7\xC5\xEF\xBD\xDB\xA2\x10\x30\x03\xA0\xC7\xD8\x32\x1A\xC2\xC6\xF6\xA2\x0D\x3D\x0F\x0B\xC6\xC6\x0B\x0E\x07\x9A\x9F\xC5\xCA\xBB\xB7\x39\x00\x02\x02\x91\xB9\xA9\x09\x04\x33\xC6\xA4\xC6\xBD\x9B\x9D\xB8\xC6\xFD\xBD\xB2\x17\x05\x16\xA3\xC2\x95\x6F\xC8\x10\x3E\x5A\xC0\xC6\x01\xCD\x45\x7C\xC6\xB7\x84\x0A\x2E\x02\x09\xC7\x0D\xC2\x9C\x04\x07\x0C\xC7\x32\xC1\x85\x5A\x03\x10\xC7\x15\xC0\xDC\x9B\x1A\xF1\xC4\xF2\xB9\xF5\x47\x04\x18\xC7\x4F\xBE\x03\x12\x09\x1B\xC7\x3B\xC4\x10\xC0\x16\x14\x01\xE0\xC7\x5F\xC0\x00\x12\xA4\x08\xBC\x77\xC5\xB7\xB5\x39\x61\x01\x7A\xCD\x2C\x32\x02\xE4", - "\xC5\x65\xCA\xF0\xAA\x27\x6E\x02\x7C\xCC\xFC\x44\xC7\xAC\xC7\x6A\x46\xC3\x3B\x01\xFA\xC5\x63\x11\x0D\x3C\xC7\xEE\xC7\xDF\x61\x65\x08\x02\xE0\xC7\xDA\x64\x09\x20\xC7\x95\x14\x38\x04\x1D\xD5\x97\xEA\x26\x25\x09\x20\xD0\x04\xA2\x00\x83\xC2\x71\x0F\xC8\x94\x6F\x1E\x14\x0A\x13\xC8\x0A\x04\x2C\x06\x21\xCA\x04\xFC\x00\x86\xC2\xA3\x07\x2C\x1C\xCB\x41\x0E\x0B\x1F\xC8\x43\x1E\x93\xA5\x1E\xE7\x6E\xF5\x11\x89\xC3\x10\x0C\x03\x28\xC8\x8E\x8A\x22\xF6\xC7\xC4\x83\x1E\x1E\x0C\x01\xC8\x03\x07\x36\x01\x23\xF0\x31\xDD\xA6\x70\x9E\x09\x1C\xC4\x00\x01\x37\x00\x1E\xD3\xB1\x35\x01\x91\xA2\xA3\x23\xC4\x75\x38\x3A\x03\x24\xCD\x0B\x42\x02\x91\xC8\x1D\x2A\xC4\xD5\x4F\x3C\x0E\x22\xFA\x1D\x4F\x03\x8C\xC7\x24\xC5\x31\xD8\xAB\x94\xC4\x46\x96\xC9\x4F\xCA\x18\xA1\x65\x0B\x00\x83\x01\x6E\xC6\x2C\x2B\x01\x5C\xC9\x13\x48\xC7\xB2\x79\x61\xCB\xCE\xB0\x27\x04\xA9\x3A\x9B\x8F\xC7\xFC\x6B\x0C\x23\x01\x9A\xC1\xEA\xBA\x1D\x87\x02\x93\xC6\x26\xD2\xC5\xEA\x26\x0B\x02\x27\xD1\xC7\x74\x08\x25\x05\x26\xEE\xC9\x95\xBD\xF9\x3B\x27\xD1\xB3\xF0\x1E\x28\x0F\x27", - "\xF2\xBE\xA5\x42\x11\x03\x28\xDE\xC0\x45\x20\x2C\x07\x28\xCA\x70\xEA\x26\x14\x0B\x28\xC5\xBB\xBE\x03\xA3\xC2\xC1\x68\x20\x5E\x03\xA4\xC7\x7A\x96\xCA\x1A\x71\x94\x1A\x06\x1A\xCA\xB1\x88\xA7\xC5\xC2\x51\x19\x76\x03\xA2\xCA\x1E\xC9\xAB\x49\xA8\xA0\xC3\x10\x0D\xBA\x4A\x6F\x20\x00\x2A\xCD\x16\xF7\x02\xA8\xC5\xB1\x3B\x11\x8F\x03\xAB\xC9\x6C\x05\x00\x02\x4C\xFF\x8A\x2A\xCF\xC6\x29\x53\xA2\xC3\xC5\x93\x00\x78\xAF\xAE\xC1\x10\x36\x8A\xDF\x3A\x29\x0E\x2B\xCE\xBB\xC1\xCB\xAB\xBD\x67\x71\x02\xA6\xC8\x81\x42\x30\x74\xA7\xC2\xC9\xFE\xB8\x82\x3E\x02\xCD\xCB\xB7\xBF\x2C\xD0\x04\xD1\xCB\x1C\x66\x29\x4B\x03\xB6\xCA\xDE\x1D\x04\x39\xCA\xD8\xC9\x6D\xC8\x07\x9D\xCB\xF0\x1F\x16\x00\x2E\xF3\x0B\x09\xB5\x9D\x33\x0E\x15\xCB\x8D\x15\x1A\x02\x30\x7E\xC8\x1A\xC1\x51\xB4\x2E\xC5\x21\x78\x03\xB9\xC0\xA3\x4D\xC7\xEA\x24\x3F\x03\x2F\xF0\x09\x86\x02\xBD\xCB\xBC\x2A\xC0\x15\x58\x02\x04\x08\x34\xBF\x7D\xCB\xB5\xC8\x2E\xD5\xC7\x7D\x59\x05\x03\x30\xC1\xC7\xE9\x1E\xC1\xC7\x2F\xE6\xC7\x4B\x06\x08\x0B\x30\xC0\xB3\x8D\x14\x2D\x0E\x30\xFF\xCB\x10\xCD", - "\x4E\x0F\x02\x13\xCC\xC6\xA2\x82\x57\x31\xD7\xC9\xD3\x9E\x7A\x2C\x03\x1C\xCC\xD9\xC6\xDE\x14\x0D\x2F\xCB\xE1\xC9\xD4\x7A\x9E\x09\x01\x24\xCD\x78\xCD\x58\x23\x03\x28\xCF\xC1\xCC\xD4\x9F\x3B\x56\x01\xCB\xCB\xB6\x62\x01\x2D\xCE\x38\x7E\x2F\xE0\xCC\x9A\x83\x1E\x14\x06\x36\xCC\xE6\x61\xCE\xC2\xDC\xAD\xC9\x2D\xBD\x9D\x32\x07\x00\xCD\x0A\x06\x1F\x02\x34\xE1\x09\x25\x3A\xAE\xC7\xF3\x9F\x3B\x80\x00\xD2\xC5\xF9\x8B\xCD\x59\x1D\xD3\xC9\x32\xEC\xC8\xDD\x2A\xD4\xC3\x10\xD4\xCD\x4D\x3E\xD5\xC2\x33\xDE\x8D\xEA\x24\x27\x0D\x32\xCD\x83\xA9\x00\xD7\xC2\x10\x38\x00\x25\x3A\x70\x9F\x09\x3E\xC3\xCF\x11\xCB\xCB\x0F\xC6\x0D\xA0\x03\x80\x0B\x36\xC7\xC4\x04\xB8\x9D\x01\x37\xDF\xCD\x38\x4B\x34\xC9\x6C\x21\x02\x03\x08\x27\x03\x13\xCF\xB7\xD2\x0E\x28\x03\x20\x26\x02\x8A\x28\x2B\x0E\x36\xEF\x5B\x66\xCD\xA1\xC3\x20\x24\x02\x8A\x2B\x2B\x07\x38\xD9\xC3\x11\x04\xE3\xCA\x86\xA5\x42\xB0\x03\xE3\xCD\x58\x07\x01\x0E\xB1\x29\x03\x20\x23\x02\x8A\x29\x2C\x06\x39\xF5\xCD\xA5\x08\xE1\xC3\x39\xD6\x4A\xB2\x03\xE7\xCA\x77\x08\x01\x0E\xB3\x29\x03\x20\x2D", - "\xA6\x54\x5A\xE9\xCF\xF6\x86\x0B\xAA\xCE\x42\x06\x9B\x91\x19\xB4\x02\xEB\xC2\x09\xF4\x09\xB1\xCF\x41\x0B\x7A\x88\xAD\xB6\xCF\x27\xC5\x5C\x03\x08\xC9\xA4\x89\x7D\x3B\xF2\xC2\x10\x05\xEE\xC3\x10\x12\xA7\x51\x1B\x2D\x03\x3C\xFA\xCD\x02\x05\x2A\x03\x20\x28\x02\x8A\x28\x2E\x0D\x32\xD6\xA7\x0E\x12\x2A\x0F\x3C\xCA\x2A\xBB\x03\xF4\xC2\x10\xC2\x04\xAB\x03\xF5\xCE\x65\x5A\xCF\x90\xCC\x44\x0C\x0A\x03\x08\xDD\xCC\xDD\xCA\xF6\x86\x0B\xAD\x03\x80\x03\x3E\xE6\xCF\xAF\xCE\xD1\x0E\x0A\x03\x08\xD6\xCC\xFB\xC7\x3B\xE5\x0A\xAF\x03\x80\x09\x3E\xF2\xCF\xBE\xCF\x40\x00\x0B\x1E\xCF\x51\x19\x30\x00\x3E\xC8\xC4\xA5\x09\x2C\x03\x20\x3B\xCF\xF8\xCC\xF1\xCA\x10\x32\x02\xFC\xCF\x5E\x5F\x3F\xE0\xCE\xC6\x0B\x2C\x03\x20\x08\xD0\x05\xD0\xF3\xC1\x10\x34\x02\x03\x0A\xF3\xC1\x41\xDD\xC3\x03\x05\x2D\x03\x20\x2F\xCF\x17\xD0\x4D\xCC\x05\xC3\x08\xF5\xCD\x07\xD0\x38\xD1\x04\xB7\x03\x80\x02\x40\xE2\xD0\xC0\xB6\xB1\x08\x0B\x03\x08\x0E\xD0\x0A\xD5\xDF\x86\x0B\xAC\xCF\x41\x04\x41\xEE\xD0\xA4\xC1\xA9\x03\x3B\xD9\xD0\x7F\xCD\x0A\xD6\x34\x3B\xCE\x07\x06\x2D", - "\x09\x43\xEF\xD0\x46\x0D\xF0\xC3\x10\x25\xD0\x34\xD1\xB3\x08\x3C\xC3\x04\x2B\xD1\x11\xDE\x40\x3E\x02\x03\x08\x30\x0A\xA8\x07\x03\xB6\xCC\x32\x09\x38\xE5\x40\x03\x0B\x2F\x04\x97\x8B\xCF\x18\xD3\x89\x73\x20\x03\x03\x7C\xA4\x16\xDE\x41\xCA\x04\x5C\xD2\x42\x0B\x0C\x11\xC2\xCC\x03\x14\xD0\x27\x04\x03\x03\x0A\x32\x0F\x43\xF5\xD0\xC6\x08\x1A\xDA\x10\x0E\xD1\x36\xCA\xED\xCF\x0C\x13\xD1\x49\x02\x03\xB5\x0C\x03\x08\xC6\x03\x1A\xD2\xB1\x69\xD1\x7A\xD3\xA4\x3D\x44\xCA\x2A\xD1\x02\xED\xC2\x0D\x13\xD1\x4A\x02\x03\xB7\x0C\x38\xD1\x7D\xD1\x63\x17\x48\xDD\x1B\x89\xD1\xB2\x18\x0C\x35\xC2\xDF\x38\x35\x0E\x45\xC6\x0D\x4B\x02\x03\xB9\x0C\x03\x08\xC2\x02\xA2\x25\x0D\x13\xD2\x3A\xD1\xD5\x0A\x46\xCA\x04\x8F\xD2\x12\xDD\x58\x23\xD1\xCD\x45\x23\xDA\x77\x0C\x03\xAB\xCE\xA2\x26\x0D\x26\xD1\x72\x08\x13\x0E\xC0\xA8\xD2\xB2\xCE\xA2\x28\x0D\x2C\xD2\xC7\x7B\x2B\xD3\x20\x3C\xD0\x28\x22\x36\x04\x4B\xE5\x0A\x4E\x02\x2D\xDA\x10\x02\xD1\xEA\x24\x37\x0B\x4B\xC6\x0B\x4F\x02\x2F\xD7\x10\x07\xD1\xEA\x26\x37\x03\x4C\xC6\x0D\x50\x02\x31\xD3\x10\x0E\x03", - "\x8A\x28\x38\x0C\x49\xC0\xD1\x55\x0C\x2C\xDB\x7C\x8A\x2A\xE1\x03\x34\xDC\x46\xC6\x0D\xD0\xD2\x42\x04\x0D\x11\xC2\xE2\x03\x32\xD5\x35\x0F\x03\x40\xC8\x39\x0D\x32\xD3\xB1\x51\x03\xEF\xA7\x10\x24\xD3\x79\xBC\x44\x0F\x0E\x27\xD3\x37\x82\x3A\xD3\x10\x2C\xD3\x61\xB2\xD2\x6A\x0F\x1A\xCD\x7A\x1F\x1A\x0E\x35\xEB\xD3\x36\xC7\xB7\x36\x00\x0B\x60\xC5\xB9\x03\xBA\x63\xB4\xD3\x71\xB0\x01\x70\x50\xFC\x15\xFB\xD3\x3C\xD7\x26\xD6\x4A\x1E\x03\x41\xDE\x40\x15\x02\x09\xD6\x40\x04\x50\xC2\x04\xD2\x02\x29\xD0\x7F\x13\xD4\x61\x54\x0A\x2A\x02\x0B\x60\x53\xB3\x28\x02\x4F\xD2\xD4\xCF\xA9\xF5\x45\x03\x0E\xD4\x8D\x14\x2C\x01\x51\xC1\x04\x18\xD7\x23\xBA\x9E\x01\x01\x24\xD5\xB2\x1E\x0B\x27\xD4\x00\x01\x4A\xD8\xC9\x95\x4F\x4D\x01\x4B\xD7\x4A\xF0\xD4\x29\xD5\x28\xB6\x1A\x19\x01\x36\xD4\x0D\x28\x53\xEE\xC5\x15\x59\x19\x0D\x53\xC5\x21\xE8\x03\x4F\xD5\x17\xDF\x3B\x71\x03\x50\xD0\x27\x36\x03\x46\xD7\x5E\xCA\x9E\x3D\x01\x0B\x62\x7A\xC4\x00\x18\xB3\xC2\x95\x4A\xDC\x2A\xE6\x06\x8A\x02\x52\xD2\x27\x13\x00\xD8\xB0\xFF\x89\x52\xF8\x9A\xD9\x5E\x25\x0A", - "\x55\xF4\x09\x21\x01\x57\xD0\xB3\x13\xA3\xBE\x44\x47\xDD\x2C\x2F\x00\x3E\xB5\x4A\xD4\x2C\xE5\x42\xAD\x02\x5A\xDE\x40\x3C\x00\x6D\xD6\xB2\xC9\x7D\x78\x02\x51\xD5\xB3\x09\x04\x18\xB3\xF4\xA5\x4A\xD0\xFF\xA0\x05\xC5\x01\x5E\xD0\x14\xFC\xD5\x67\xD5\x6B\xC5\xE7\x12\x03\x63\xD5\xA9\x09\x06\x26\xD5\x0A\x05\x4A\xD1\xD0\x8A\x6D\xDE\x01\x62\xD6\x2C\x37\x01\x8C\xD4\x3F\xD1\x01\xF6\x30\xEA\x02\x60\xDD\x58\x05\x02\x54\xD5\x61\xD0\x91\xAA\x27\xF7\x02\x64\xD6\x34\x14\x02\x95\xD6\x42\xDF\xB4\xB6\x30\x03\x03\x64\x55\xEC\xA2\x02\xA5\xD4\x48\xD8\x30\xD9\x5F\x0F\x03\x64\x5A\x1E\xF0\x02\x84\xD5\x63\xD0\x30\xFD\x59\x1C\x02\x6C\xD8\x4B\x75\xD6\x96\xD6\xC0\xB9\x7D\x69\x00\xBA\xD6\x03\x10\x0D\x3C\xD6\xA6\xD6\x6F\xDA\xB4\x76\x00\xC1\xD5\x63\x10\x0E\x04\xD7\xAE\xD5\xC8\xC4\xD8\x89\xD7\xC9\x1A\x51\xB9\xA4\xA9\xD4\x50\xC0\x6C\x80\x5D\xF3\x2F\x9D\xD6\x6D\xD8\x05\xDD\x4F\xAA\xD4\x44\x09\x06\x13\x56\x95\x16\x03\x00\xD7\x9E\xD5\x0E\xA0\x0A\x2B\x06\x1D\xD7\x73\x7C\x78\xD8\x8C\x23\xD7\x9E\xD5\x86\xC1\x65\x39\x01\xE8\xD4\x95\xBA\x5E\xF1\x3C\xEC", - "\xD6\x76\xDD\x5E\xA1\x19\xF1\xD7\x40\x03\x09\x33\xD7\x07\x04\x0E\x05\x5F\xFD\xD6\x83\x7D\x94\x15\x09\x39\xD7\xD8\x44\x7F\xD3\x10\x06\x01\xFF\xD5\x71\xD0\x36\xF6\x30\xA3\x03\x75\xD9\x7F\x06\xD8\x02\x04\x15\x00\xD7\x82\x97\xD0\x00\x90\xC2\x0B\x13\x56\x53\xB3\x18\x07\xE8\x8A\x04\x15\xD9\x3B\xDA\x10\x3D\x02\x18\xD9\xB3\x00\x07\x1B\xD8\x07\x05\x87\xD5\x4F\xE6\x06\xC8\x00\x81\xD0\x7F\x3D\x01\x09\xDA\x40\x06\x62\xEF\xAA\x7D\x58\x35\x0A\x62\xC2\x8A\x2D\xD9\x40\x0F\x62\xEC\x8E\xEA\x24\x38\x03\x63\xF0\x09\x99\x01\x8D\xD0\x00\x37\xD8\x62\x98\x59\x8B\x63\xF2\x09\x4E\xBA\x8E\x90\x64\xEB\x99\xBE\x8D\x88\xD5\x88\xA4\xD8\xDF\x45\x48\xD5\x61\x43\x00\x87\x02\x98\xC6\x34\x02\x03\x3E\xDB\x91\xDD\x26\xA5\x42\x0F\x01\x94\xDA\x26\xF2\x09\xD0\x01\x95\xD8\x28\xD6\x4A\x1B\x02\x96\xDA\x1C\xDF\xA5\x5E\xD8\xA4\xCE\x4B\x62\xD9\x7C\xC9\xA9\x0C\x0E\x25\xD9\x97\xCA\x7A\x23\x03\x28\xD9\x84\xC9\x11\x26\xE8\x86\xD9\xC6\xBD\xF5\x4F\x03\x30\xD9\x8C\xC8\x9C\x08\x00\x3B\xBA\xFC\x8F\x91\xD4\xE8\x8B\x05\x4B\x00\x9E\xDA\x1E\xD6\x00\xBB\xB8\x85\xD3\x18", - "\xE5\x42\x58\x00\x9E\xD5\xEC\xA5\x00\x7C\xD8\x44\x07\x64\xE0\xD5\x4A\x6C\x19\x0A\x68\xCD\x0B\x33\x01\xA3\xDC\x61\xE8\xD5\x96\x48\x1C\x08\x67\xD3\xB1\x41\x00\xC5\xBF\x63\xE6\xBA\x73\x07\x1E\x0B\x69\xFB\xA7\x9E\xDB\x91\xDF\x57\xCB\x05\x86\x02\xA0\xDC\x14\x7B\xBA\xF4\xA6\xA9\xD6\x1A\xC7\x41\xAA\xDA\x57\x4C\x6A\xCE\xDA\x02\xC1\x9D\x30\x0A\x13\xDA\x0E\x13\x1E\x06\x69\xE5\xD8\xE2\xCA\xA5\x4C\x0A\x38\xDA\x8D\x15\x22\x0B\x6B\xCD\xD9\x97\xD5\x9D\x38\x0B\x31\xDA\x8D\x17\x25\x05\x68\xF4\xDA\x7B\x72\x7A\x25\x0C\x00\xDB\xC9\x18\xBF\xB4\x67\xE7\xD6\x75\x39\x34\x00\x6D\xF7\x67\xC3\xDA\x8B\xD7\x5B\xD9\x5F\xDD\x00\xB2\xD9\x6C\x02\x03\xB3\xDB\xA5\xDF\x5A\xCA\x6D\xEA\x02\xB7\xDA\x77\x12\x03\xE1\xD8\xAF\xD9\x31\xE5\x04\xF7\x02\xB9\xD0\x7F\x22\x03\xE9\xD8\xB1\xD6\x5C\xE6\x06\x04\x00\x22\x04\x30\xE5\x0A\xF2\x01\xBC\xDA\x6D\xC8\xC1\xD9\x5D\x04\x06\x6F\xCC\xCC\xF0\x1E\x00\x0E\xF4\x86\xDA\x2A\xCE\x0D\x3E\x01\x3F\xDB\x14\xCD\xB2\x11\x01\x03\xDC\xCC\xDB\xCC\xC5\x0A\x6B\x00\x08\xDD\x32\xB7\x03\x11\xDC\x69\xB4\x08\x0E\xF4\xBD\xD9\xE5\xD6", - "\x7A\x29\x03\x14\xDC\x8C\xC9\x11\x0C\x71\xD5\x16\x2E\x03\xC5\xDD\x70\xEE\xD7\x28\x23\x11\x0C\x71\xDE\x92\x1F\xDC\xF1\x22\x72\xE2\xDB\xF7\xD4\x0A\x25\x05\x27\xDC\xA9\x91\xCA\xD3\x34\x2B\xDC\xEA\xD8\xD6\xC8\x82\x23\x01\x30\xDC\xCE\x82\x73\xE8\x8D\x34\xDE\xBC\xDB\x60\xF5\x39\x71\x00\xC7\xDD\x4B\xBB\xDC\x83\x98\xC3\xDA\x10\x11\x03\x03\x09\x33\x07\x4C\x9C\xDC\xD4\xCF\xED\x93\x20\x08\xDD\xA2\xD1\xB2\x13\x0D\x03\x08\x47\xD9\x73\xBD\x49\xD4\xD3\xD2\x0F\xD4\xDA\x10\x15\xD4\x51\xDE\xC9\xC3\x20\x29\xD4\x56\xDC\xD6\xDB\x4D\xD5\x0D\xE4\xA7\x41\x0B\x0D\x11\xC2\x83\x00\xD1\xDF\xBF\x80\xC9\x85\x00\xC7\xD3\xC5\xB5\x01\xCF\xBD\xEC\x48\x24\xDF\x3B\x90\x02\xDB\xDD\x2C\x02\x02\x71\xDE\x42\x06\x0D\x10\xC9\x15\x5B\x26\x09\x73\xCD\x39\x3D\xDC\x7A\x4D\x4F\xE5\x42\xA7\x03\xDF\xDD\x05\x81\xDE\x5D\x2C\x4F\xC5\x19\x33\x02\x86\xDE\x7C\x58\x78\xC0\x00\x7B\xDC\x51\xCF\xED\x3F\x02\x8D\xDC\xFC\x19\x0B\x0F\xDE\x91\xDF\x41\x09\x0D\x16\xD4\x45\x21\xE6\xDC\xE4\xAE\x47\x76\xDC\xCC\xA9\x77\xFA\x2C\x4E\xD9\x9F\x56\x0D\x15\xDE\x45\x20\x35\x08\x79\xEA", - "\xBE\x96\x4A\x38\x08\x7A\xF0\x09\xE2\x03\xEA\xD1\x16\xF6\x30\xEE\x03\xEB\xD2\x27\x30\x03\xB2\xDC\x5A\xC1\x65\x3A\x03\xB6\xDC\x9D\x0E\x0F\x39\xDE\x60\x24\x38\x39\x08\x12\xD9\x55\x0C\x03\x0D\x01\xFC\x8F\x9E\xDC\x5A\x24\x28\x43\xDF\x5B\xD8\x9D\x0A\x01\x07\xDF\x72\xDC\xF3\xBA\x47\x8C\xDF\x09\xDC\x69\x3D\x01\xC2\x97\xC9\xDE\xF5\xBB\x47\x2B\x00\xD4\xDD\x9A\xD6\x2C\x13\xC0\x3A\x99\xF6\xD7\x2A\xBB\x11\x37\x01\xF7\xD1\x67\xC1\x8F\xD0\xDE\xDE\xD8\x69\xD5\x4F\x43\x02\xF9\xD9\xCD\x93\x94\x88\xC0\xE4\xD0\x6A\xE0\x05\x4E\x02\xFB\xD3\xC5\xA0\x01\xF1\xDE\xF8\xD7\x6A\xF9\x04\x59\x02\xFB\xDA\x1E\xED\x01\x1D\xC0\x7D\xAA\x7F\xEF\xDA\x98\x2A\xFF\xDA\xEE\x41\xE0\xD1\xDC\x3E\xB6\xC3\x33\x01\xEE\xDD\xB1\xBD\x08\x29\xDF\xA4\xDE\x02\xC5\xE7\x3F\x01\x0D\xE1\xB3\x0B\x09\x10\xE0\x03\x06\xF8\xD8\x90\x8B\x05\x8B\x02\x01\xEE\x40\x29\x02\xD7\xDD\x02\xE4\x17\x7B\x11\x98\x01\x05\xEE\x40\x38\x02\x18\xE2\xE0\xD4\x6D\xDF\x3B\xA4\x02\x09\xE4\xCF\x29\xE0\x89\xDF\xB8\xD6\x1A\x30\x02\x1E\xE0\xFC\xA8\x80\xEA\xDF\x32\xE1\x65\x0D\x0B\x35\xE0\x7F\xA7\x0D", - "\xE1\x81\xF3\xDB\x95\x06\x32\x0C\x83\xFA\x1D\xF4\x02\x0F\xE9\x81\xF9\xC0\x78\x83\x10\xE0\x7F\x29\xC3\xED\xC7\x0F\xE7\x1F\xF6\x30\xE4\x02\x12\xE5\x84\x14\x00\xF0\xC0\xF6\xD5\xB8\xB6\x30\xF1\x02\x14\xED\xA5\x15\xE1\x22\xE2\x81\xC8\x82\x3E\x03\x2E\xE0\x73\x5A\x08\x21\xA7\x32\x00\x3C\xC8\x7C\xD9\xDC\x74\x67\x18\xEB\xF3\x98\x00\x6A\xE2\x57\xB0\x04\x26\xE1\x5D\xE0\xE8\x4A\x10\x6D\xE1\xC9\xB2\x09\x04\x87\xE9\xB5\x4E\x00\x1C\xE8\x83\xED\xDC\xEA\x24\x0A\x07\x87\xCC\xCA\x34\x03\x1F\xE5\x59\x1C\x01\x7A\xE2\x13\xEB\x07\xD1\x19\x36\x03\x1F\xEB\xB6\x42\x01\x82\xE1\xDA\x75\x88\xC7\xE1\xBD\xAC\x7E\x5F\x87\xCD\x83\x51\x01\x23\xEA\x10\x23\xC5\x49\xAB\x35\x00\x24\xD3\x01\x7F\xE3\x14\xB7\x08\x29\xC6\x07\x06\x26\xEE\x61\xC7\x04\x5E\x01\x27\xEB\xAE\x60\xE2\x03\x06\x28\xE7\x62\xD5\x06\x69\x02\x22\xEF\x3B\x0F\xE2\x02\x06\x2A\xE0\x63\xD9\x5F\x75\x02\x2B\xEE\x40\x2F\x02\xB0\xE1\x40\x02\x8B\xF8\xD8\x36\x31\x20\x06\x8B\xCD\x16\xBD\x01\x2E\xE0\x00\x3B\xE2\x41\xDA\x0D\x3D\x08\x3F\xE2\xC9\x1B\x32\x02\x8C\xC4\xE3\x48\xD8\x0A\x29\x09\x26\xE2", - "\x0E\x11\x36\x08\x8A\xF1\xE2\xA5\xDD\xF6\x54\x0A\x08\xE3\x7A\x1E\x39\x0B\x8C\xEC\xDE\xD5\x4C\x2C\x08\x8D\xF0\x1F\xF4\x03\x36\xE3\x7B\xF3\x64\xDF\xE1\x11\x22\x00\x20\xC7\xFC\x8C\x33\xEA\x53\xD5\x06\xC8\x01\x39\xE0\x27\x10\x00\xE8\xE2\x35\x50\x54\xF1\xD8\xEE\xE2\xDF\x11\x8F\xCA\x04\xCC\xE3\xFB\x85\x3D\x60\x03\xF5\xE0\x9D\x0C\x02\x37\xE3\xA1\xE3\xBE\xAF\xED\x2C\x03\x93\xE2\x0E\x30\x1E\xC2\x97\xCC\xE3\x55\xD5\x19\x39\x03\xFD\xE2\x6E\xC0\x90\xE9\xE2\x95\xBB\xB7\x35\x00\x0B\x02\xC4\xDE\xF4\x07\x05\x0F\xE4\xD4\xE1\xA7\xB8\x82\x11\x00\x14\xE5\x27\x89\x6C\x25\x01\x38\xC9\x46\xE6\x19\xCB\x70\x1D\xE7\x9C\xC0\x7F\x32\x01\x21\xE6\x2E\xE6\x57\xCA\x6D\x27\x01\x49\xED\x31\xC9\x87\xE0\xC4\x7D\xAC\x8C\xFB\xDF\x25\x04\x0D\x0E\x92\xE5\xCC\xF0\x1F\x23\x01\x93\xF2\xE3\x86\xD6\x36\x57\x93\xF9\xD9\x72\x0B\x27\x08\x91\xEA\xE4\x12\xE3\xB7\x3D\x04\x3F\xE4\xC5\xB9\x2B\x03\x94\xC3\xE3\xE9\xCB\xB7\x39\x05\x3F\xE4\xEA\xC7\x2E\x07\x90\xFC\xE4\x9F\xD6\x0D\x36\x06\x08\xE5\x6C\x7B\x52\xEC\x8C\xE3\xC0\xA6\x06\x1C\x08\x95\xCE\x10\xD8\x02\x56\xEB", - "\x6D\xCA\x6D\x7E\x00\x54\xED\x2C\x26\x03\x3B\xE4\x3E\xE3\x96\xE6\x06\x8B\x02\x59\xEE\x40\x36\x03\x69\xE5\x40\xEB\x6E\xD1\x04\x98\x02\x5B\xED\x58\x06\x00\x8B\xCA\x4C\xE8\x84\xD6\x4A\xA5\x02\x5D\xE9\x6C\x16\x00\x79\xE4\x55\xEF\x84\xF5\x39\xB2\x02\x5F\xE8\xC2\x0B\xCA\x08\xE7\x15\xE8\x06\x86\xE6\xF0\x1D\x0D\x08\x98\xC2\xE6\x5E\xE2\x7A\x2C\x0C\x1F\xE5\x07\x04\x36\x0F\x93\xD5\x16\x44\x03\xA2\xC9\x8E\xE8\xE1\x6B\x60\x65\xE8\xC5\x17\xE6\x90\x5E\x66\xE0\x99\xF2\xE1\x0E\x7E\x67\xE6\xF2\xA0\xE6\xCD\x6E\x68\xEA\x96\xEA\xAE\xDF\x3A\x3D\x06\x9A\xD4\x16\x70\x3D\x65\x1E\x06\x2A\xE6\x72\xE6\xCD\xDA\x9E\x04\x00\x70\x3F\xDA\x60\x01\x31\xE6\x2A\x78\x6D\xE0\x91\xD1\xE2\xDF\x3A\x04\x00\xF7\x0D\x83\x1F\x00\x6F\xEA\x10\x0A\x02\x8F\xE4\x0B\x19\x74\xCA\x2A\x21\x00\xDC\x3D\x74\xC9\x1B\x9B\xDE\x72\xED\x75\xF4\x20\x03\x08\x33\xE1\x76\xE3\xDD\x62\xDC\x44\x0A\x0D\x03\x08\xD1\xE4\x30\xC9\x45\xF0\x1F\x67\xDF\x1E\xE3\xDD\x9F\xD1\x4F\xA7\x80\x0E\x0D\x1C\xDE\x70\x08\x37\x0B\x45\xCA\x2A\x24\x00\xDC\x3E\xA6\x59\x02\x8B\xC8\x87\x0D\x0D\x26\xE7\xE8", - "\xE6\x9C\x03\x9F\xE0\xD1\x8A\x29\x09\x0E\x9E\xCD\x0B\x9A\x01\x7C\xE2\x53\x0B\xE7\xCB\x3F\x7E\xE1\x3E\xCA\x04\xDF\x03\x80\x0A\x9E\xD3\xE7\x45\x20\x38\x00\x24\xE7\x00\xB9\xE6\x05\xEC\x2E\xF5\xC1\x73\xDD\x29\x43\x03\x0D\xE8\x0E\x10\x2A\x0F\xA0\xCF\x88\x7C\xDD\x9F\x5F\x03\x03\xE7\xCD\x09\x2D\x0E\x9B\xD8\xE8\x58\xC9\xB2\x4C\xA1\xCE\x10\xC3\x03\x87\xE1\x10\x0A\xE8\x5E\xC8\xAA\x33\xA2\xC2\xC8\x26\xE8\x13\xB0\x49\xE5\x42\x66\x02\x71\xED\x71\x7E\xE7\x0A\x04\x8A\xE7\xD4\x51\x19\x68\x03\x8A\xE9\x6C\x20\x03\x2D\xEA\x8D\xEF\x79\xF6\x30\x75\x00\x85\xED\x58\x2E\x03\x17\xEB\x89\xE5\x8D\xCA\x6D\x81\x02\x8E\xE5\xC6\xBD\xE8\xDC\xE1\x85\x5E\x08\x0A\xE9\x42\x55\xCB\xCC\x3F\xBE\xE8\x76\x89\x0A\x50\xA5\xF4\xB1\x52\xE8\x44\x04\xA5\xFD\x5A\x63\xA3\x95\xE4\xBF\x19\xE9\x35\xEB\x3C\xE9\x7D\x75\x02\x5E\xEA\x9C\x03\x03\x20\xE9\x55\x41\x9D\xD5\x61\x42\x03\x65\xE8\x9D\x01\x04\x28\xE9\x10\xEA\xF4\xDA\x9E\x0F\x03\x70\x3C\x7C\xA1\x11\x0F\x01\x2D\xCE\x70\x9B\xA5\xC0\x00\x0A\xE5\x61\x0D\x0D\x2D\xE9\xA5\x0A\x17\x00\xA7\xE0\xE8\xDD\xBE\x7A\x2A\x0E", - "\x00\xEA\xC6\x08\x1B\x03\xA8\xC6\xE9\x1A\xE4\x68\xD2\xA4\xFF\x71\x63\xCE\x96\xE3\x7F\xCB\x05\x03\x00\xB6\x45\xEC\x87\x02\x91\xE9\x98\xED\x19\xD5\x06\x0F\x00\xB6\x46\xA7\xD0\x04\x94\x01\xCB\xC4\x9F\xBB\xE9\x34\xE5\x44\x0D\x01\x1E\xEA\xCD\x08\x29\x02\xAA\xD2\xEA\x3D\xE7\xC3\xD8\x2D\x6A\xC7\xB5\xCE\x8E\x9B\xA7\xCF\xD6\xA6\x04\x0E\x0F\xAA\xFD\x0F\x8B\xEA\x8B\xE5\x6C\xDF\x3B\x45\x00\xAA\xE2\x5C\xF9\xE9\xAC\xE9\x55\xE5\xE7\x13\x01\xB7\xEB\x59\xA9\xAB\xFB\xE9\x5C\xE5\x65\x00\x06\x05\xEB\x8D\x15\x3B\x07\xAC\xF2\x0A\x8A\x29\x1B\x08\x2D\x6F\xCD\x55\x0F\x9E\xE1\x11\xF8\xC7\xD8\x48\x3D\xCA\x67\x36\xCE\x7B\xEA\xC8\x9B\x40\x99\xEB\xCD\x08\x3F\x0C\xAD\xC3\x08\x3B\xA5\x94\x12\x07\x13\xEB\xDB\xCC\xA3\xEA\x4E\x4A\x2A\x73\x00\xBA\xE3\xA0\xE9\xE9\x52\x62\xA2\x24\x07\x2E\xEB\x00\xD2\xB1\x0B\xA7\xE6\x03\x8A\x29\x1D\x04\xAF\xCC\xD0\x46\x0F\x9E\xED\x74\xBB\x11\x76\x03\xBE\xE7\x3E\xFD\xEB\x8E\xA9\xAE\x20\xAE\xCE\x10\xFD\x03\xB8\xEE\x38\x0A\x2A\x79\x03\xC1\xEC\x2B\x4A\xEC\x51\x06\xA2\x2B\x07\x02\xEC\xED\xCD\xB5\xE3\x20\x2C\xBD\x51\x18", - "\x1F\x0E\xB0\xDC\x29\x10\xEF\x40\x04\x98\x98\x84\x14\xEF\xFC\xC6\xAF\xEB\xE5\x95\x07\x1F\x0E\xAB\xDB\x16\x0B\x63\xA8\xE4\xB2\xC5\x06\x8D\x03\xC9\xE9\x6C\x10\x00\x29\xED\xB0\xEF\x1E\xDF\x3B\x9B\x02\xCB\xE2\x0F\x71\xEC\x9A\xE8\x10\xE5\x18\x29\x02\x36\xEC\xFC\x10\x03\x38\xEC\xF0\xEB\xEC\x6A\xA8\x37\x02\xD8\x4B\x73\xE1\x40\x0B\x60\x0D\xCB\x80\x07\x43\xEA\x27\xBA\x01\xD1\xEC\x24\xC8\xED\x32\xEE\x40\x08\x4B\xC6\x32\x4E\xEE\x03\x14\x04\x10\xED\x39\xEF\x40\x00\x4C\xF6\x30\xC0\x01\xD5\xED\x58\x06\x01\x58\xED\xD0\xE7\x3C\xCC\xA5\x5E\xED\xB2\x18\x04\x21\xED\x71\xEB\x41\x0D\x4D\xCD\x42\x1B\xEE\xDE\x1A\x04\x0B\x60\x1C\x0B\x9E\xE5\x76\xE8\x20\xC8\x01\xDB\xE0\x7F\x0B\x01\x70\xED\xD4\xEF\x07\x8D\x85\x3D\xED\x11\x2C\x04\x0B\x60\x7A\xEA\x39\xC2\x4B\xF6\xED\x45\x23\x16\x09\xB7\xD9\xED\x9C\xC5\x94\x1A\x0D\x04\xEE\xDC\x00\xE1\xEC\x05\x07\xEE\x62\xED\xC4\xB9\x4C\xFD\xED\x70\x09\x17\x00\xB8\xFA\xED\xCC\x94\x30\x3C\xAC\xC3\x04\xF9\x00\xE1\xEC\x06\x0B\x60\x53\xE8\x67\xEF\xED\x3B\x03\x9B\xEC\x23\x2E\x08\x21\xA7\x7A\x00\xE8\xE8\xB9\xED", - "\xA8\xD5\x4E\x02\x07\xBA\xC0\xDC\x27\x0F\xEB\xEE\xD5\x88\x02\xAA\xEC\xE2\xE8\x1D\x27\x28\xB2\xEF\x4B\xE6\xC5\x39\xEE\x69\xB6\x58\xD2\xAB\xF9\xB5\x75\x38\x0A\x0C\xBB\xEE\xCC\xDF\x0B\xF0\xE6\x49\xB5\xEE\x91\xEE\x78\x44\x7E\xC3\xEF\xFC\x8D\x11\x06\xBC\xD0\x04\xB2\x03\xE5\xEA\x10\x22\x03\x03\x09\x38\x0A\xA8\x07\x01\xC3\xEC\xB5\xE2\x3D\x25\xEB\x42\x11\x7D\xE4\x27\x24\x03\xD5\xEE\xA2\x28\x04\x19\xEF\xE9\xE8\xCD\x93\x20\x20\xEF\x08\xE8\x9C\x08\xAF\xED\x98\x7B\x11\x12\x03\xBC\xD3\xB1\xC1\x02\x66\xD8\xC5\x11\xE8\x96\x48\x15\x0F\xBE\xCD\x0B\xCE\x02\xFC\xEB\x7C\x19\xE8\xD9\x5F\x17\x03\xBC\xC5\xBB\xDB\x00\xF2\xE3\xBF\xE1\xE8\x51\x1B\x1A\x0F\xBF\xF4\xB3\x02\xF3\xFE\xE9\xA2\xEC\xB8\x07\xF3\xAC\x49\xC0\xEE\x24\x0B\xD5\xF5\x43\x08\x0D\xF0\x8D\x15\x01\x03\x59\x7C\x8F\xEB\xEE\x20\xA8\x54\x77\xEF\x0E\x13\x04\x0E\x60\xC0\x00\x19\xF1\x42\x94\x1B\x54\xF0\x9F\x1F\x05\xF0\x11\x21\xF0\x5E\xB9\x94\x16\x0A\x24\xF0\x23\x4A\x09\xF2\x48\x1F\xD9\xD5\x4E\x2C\x0C\xC2\xF0\x1F\x3C\x02\x0B\xF5\x74\xA6\xD9\x75\x3A\x2F\x03\xC3\xC5\x21\x4A\x02\x0D", - "\xF3\xC0\xED\xD9\x99\x73\x0E\xF0\x27\x18\x01\x3E\xF2\x02\xF3\x15\xAB\x0C\xD6\x02\x10\xF0\x66\x85\xF1\x10\xF2\x9C\xE6\xC3\x22\x03\xC3\xEE\x7A\xC4\x07\x13\x56\xC2\x94\x0A\xFA\x7D\xE1\x88\x4A\xF0\x9D\x03\x08\x0C\xF1\x20\xF1\x44\xE5\x0A\x7B\x03\x59\xF1\xA9\x01\x09\x1C\xF1\x56\xF0\xC7\x24\x23\x8F\x02\x77\x85\xFE\x8F\xC1\xE5\xF1\x6F\xD6\xA5\x42\x01\x28\xF1\x1E\xE6\xDE\x1C\x0A\x2B\xF1\x2B\xE6\x69\x0D\x01\x30\xF1\xD5\xDE\xE5\xD3\x59\x74\xA7\x65\xF1\xA9\xEE\xF6\x38\xF1\xBA\xEC\x68\x2B\xC7\xE7\xF0\xB5\xDB\xB7\x37\x03\x00\xF2\xE7\xDE\x9C\x09\x0D\x24\xF1\xBD\xD8\xFB\xD8\xC8\xC0\xE5\x74\x0B\x39\x0C\xC8\xFB\xEA\xA5\x43\x13\x0F\xC8\xEA\xC7\xF5\x00\x15\xF4\xC8\xCD\xDB\xD9\x4B\x23\xF5\xEC\x84\x00\x78\xD8\x06\xF8\x2F\xF6\x30\x68\x02\x27\xF9\xC2\x61\xF2\x9B\xF1\x77\xC5\x61\x74\x01\x97\xF2\xB3\xB8\x67\xFC\xF1\x2B\xEF\x5C\x01\x08\x2D\xF2\x3A\x77\x2B\xF9\xCA\xF3\xEC\xAB\xBC\x2D\xF1\xD2\xB6\xF2\x2F\xF3\x5C\xE0\x11\x1B\x02\xBA\xF2\x2B\x6C\xCB\xF7\xF0\xCE\xD5\x9D\x38\x0A\x01\xF3\x30\xB4\x9E\xD5\xC5\xCA\xE6\x6B\xA0\x32\xF0\x7F\x2F\x01", - "\xCA\xF3\x2D\xF1\x99\xF6\x30\xC2\x02\x29\xFA\x10\x0E\x03\x8F\xF1\x65\x1E\x07\x28\xF2\xBD\xF0\x84\xC6\xC3\x10\x03\xD6\xF1\x65\xA9\xCD\xC6\xBE\xDC\xF0\x31\xF4\x72\xC9\xD3\xE1\xF3\x40\x0A\x0E\x23\xF3\xF6\xA5\x39\xFF\xC3\xF2\xC1\xB6\x8D\x3A\xF2\x10\x38\x03\xEC\xF3\x41\x08\x0A\x2E\xF3\x46\xF1\x80\xD8\x82\x3A\x03\xF2\xF3\x5A\x00\x09\x21\xA7\xB6\x00\x3E\xFD\xC4\xC5\xC2\xDF\x38\x02\x0F\xCF\xF0\xEE\x15\x03\x41\xFE\xD5\x84\x03\xD1\xF2\x42\x07\x0E\x21\xEF\x52\x3A\x42\xF3\x0E\xEF\xEB\x03\x04\x3A\x03\x20\x0F\xF4\xE9\xEE\x9C\x0F\x91\xBF\x0A\x91\xC0\x06\x02\xD1\xE9\xB5\x70\x0A\x3A\x00\xD1\xC6\x5F\x1F\xF5\x3C\xC5\xAF\xC6\x0D\xEB\x03\x80\x02\xD2\xD9\xF4\x74\x0B\xBF\xE7\x10\x33\x0A\x7B\x13\x06\x05\xD2\xD3\xB1\xD3\x02\xBB\xD0\x00\x2E\xF4\x03\x05\xF1\x63\xC1\x73\xF4\xBC\x76\x4D\xF8\xD3\xDC\x94\x4A\x29\x49\xF5\xEC\xAD\x03\x02\xF7\x4D\xF3\x20\x2E\x03\xDE\xEE\x9A\xD3\x78\xD6\x4A\x3D\x02\x50\xFD\x2C\x3B\x03\x45\xF7\x4F\xF1\x10\x10\x3D\x36\x31\x12\x0E\xD4\xD3\x12\x1C\xDC\xFF\x82\xD5\xE0\xF0\x2B\x0D\x15\x07\xD5\xFB\x90\x59\xF4\x44\x0B", - "\xD5\xC8\x7F\xDF\x39\x18\x0C\xD3\xCF\x30\x42\xDE\x58\xF7\xA4\xE6\x06\x6C\x03\x57\xF3\xDF\x61\xF5\x4C\x9D\x93\xED\x67\x78\x01\x6E\xF6\xDE\x10\x04\x30\xF5\x07\x07\x56\xF3\x53\xD5\x58\x84\x01\x5D\xF0\x7F\x0E\x01\x78\xF7\x56\xA8\xC3\xF4\xDD\x7E\xF5\x11\x2C\x05\x01\xF6\x67\x42\x98\xEA\xB4\x5C\x02\x85\xF4\x9C\x0A\x06\x08\xF6\x01\x07\x56\xFA\x8F\xD5\x58\xA8\x01\x63\xFF\xCA\x90\xF6\x46\xF6\x13\xF0\x14\xA5\xF4\xEA\xC6\x21\x0C\x71\xC2\x97\x5B\xF5\x9F\xE3\x17\x01\x03\x96\xF4\x9D\x05\x09\x18\xF6\x5B\xF4\xA4\xD6\x1A\x0D\x03\xA5\xF5\xA9\x03\x0A\x28\xF6\xEB\xDD\x85\x59\x0D\x27\xF5\x8D\x15\x2C\x09\xD6\xF1\xF5\xC9\x9A\x7A\x24\x0E\x34\xF6\x2E\xD7\x6D\xF9\xD7\xF5\xF1\x95\x07\x3B\x0C\xD9\xCD\x0B\xCB\x00\xC7\xD4\x9F\x9B\xF5\x7E\xF0\x88\xC3\xDC\xC7\xA5\xC6\xF6\x5A\xFD\xAA\xD6\x4A\x09\x00\xD2\x25\xEC\xAB\x03\xB0\xF5\x51\xE5\x0A\x55\x00\xD2\xF5\x8C\x95\xDD\xDC\x8B\x34\x28\xD2\x2A\x1E\xC7\x00\xEE\xDC\x68\xF1\x2F\xD6\x4A\x2E\x01\x76\xFE\x40\x16\x00\xEE\xDE\x56\xF3\xCA\xF5\x39\x3A\x02\x79\xFD\x58\x24\x00\xE9\xF6\x73\xFA\xCA\xFD\x59\x46", - "\x02\x77\xFD\x2C\x32\x00\xEE\xDF\x71\xF1\xCB\xE0\x05\x53\x02\x7D\xFE\x40\x02\x01\xF9\xF6\x7C\xF8\xCB\xD6\x4A\x60\x02\x7F\xFD\x58\x12\x01\x01\xF8\x6E\xFA\xB3\xF3\x05\x6D\x02\x81\xF9\x6C\x22\x01\x09\xFB\x6F\xFC\x6F\xCA\x6D\x7A\x02\x83\xFA\x77\x32\x01\xE1\xF6\x80\xF2\xB9\xF6\x30\x87\x02\x85\xF8\x76\x99\xF8\x0A\xF9\x7B\x85\xE7\x14\x02\xEE\xF4\xDB\x58\xB4\x15\x16\x90\x01\x7C\xF1\xE2\xD7\xAE\xEA\x26\x28\x05\xE2\xC2\x04\xAE\x03\x89\xF8\x2D\xEA\xF8\x12\xFA\x1A\xCD\x8D\xEF\xF8\x01\x04\x2F\x02\xE3\xCA\x04\xAC\x00\x8D\xF2\xD8\xFC\xE1\x36\x32\x2F\x08\xE3\xC0\x00\xCA\x03\x8E\xF7\x10\x3A\x02\x3E\xF9\x62\xF2\xF4\x9F\x3B\xCC\x03\x90\xF8\x0D\x06\xF9\x17\x69\x92\xF1\xD9\xCC\xBD\x8A\xEE\x87\xF0\x00\x27\x03\x50\xF8\x7A\x40\xE2\xC7\x04\xED\x03\x51\xF9\xD4\xC6\x0B\x48\xF6\x42\x06\xBD\xFB\x11\xE9\x00\xD2\x2A\xBD\xD1\x04\xEF\x00\x90\xCA\x0E\x08\x2D\x53\xB1\x39\x02\x85\xE9\xF9\xA3\xE3\x40\x05\x0F\x2C\xF9\xD9\x4F\x9B\xFC\xBF\xCA\x6D\x00\x02\x24\x05\x91\xD8\x54\x52\xFA\x09\x23\x20\x31\x03\x5F\xFA\xD1\x00\xE7\xC8\xBE\x68\x7A\x9E\xFD\x7C", - "\xE5\x0A\x0D\x03\x1F\xEC\x3F\x83\xFA\x05\xD5\x9D\x38\x01\x06\xFA\x63\xD8\xFC\x1B\x01\x0A\xFA\xEE\xD1\x04\xF5\x61\x64\x00\x90\xFA\xF7\xDB\xEF\x14\xFA\xF1\xEB\x9B\xCB\xC1\x59\xFA\x98\x84\x66\x95\x90\xDD\xFA\x54\xBB\xFA\x50\xEA\xD0\xF2\x0E\x4C\xA7\xFB\x94\x99\xC5\xA8\x6B\xA9\xF5\xEC\x92\x01\xAA\xFA\xD8\x00\xC3\xD5\x58\x53\x02\xAB\xF2\x5A\x71\xFA\x3D\x9F\x60\xF5\x0A\x5F\x01\xB6\xFA\x03\x1E\x06\x38\xFA\x70\x86\x62\xF6\x1A\x2B\x01\xBD\xFA\xEB\x10\xEC\xFE\xF9\x47\xD5\x29\x47\x07\x05\xFB\x87\x47\xB1\xFC\xE8\xE3\xCA\x5A\x27\xA9\xFA\x1E\xD8\x02\x7F\xE2\x70\x9F\xEC\xD7\xF1\x28\x20\x24\x0C\xEC\xFA\x1D\xA7\x02\xB3\xFE\xC5\xD6\x4A\x9C\x03\xB6\xF0\x7F\x35\x02\xDE\xF9\xA3\xE6\xC3\x28\x02\xA7\xFB\x14\xB3\x0C\x23\xFA\xAB\xFB\x48\xEA\x9E\x33\x02\xE9\xF9\xB3\x00\x0D\x2C\xFB\xB2\xFB\xA6\xE5\x18\x3E\x02\xD2\xFB\x57\x8F\x87\xF4\xA7\xD7\xFA\xB4\xCE\x1E\x79\xFB\x0E\x11\x3B\x0B\xEF\xD5\xFA\xCF\xF5\xF5\x48\x0D\x22\xFB\x45\x21\x3F\x05\xEE\xC0\xB4\x2B\x0C\x39\x08\xF0\xF0\x09\x0B\x03\x4F\xEB\xE8\xCD\xE5\x45\xB4\xC0\xFD\x58\x19\x00\x3F\xE6", - "\xB5\xF3\xDE\xD5\x4F\xFD\x03\xC3\xF2\x27\x28\x00\x12\xFC\xC1\xF8\x91\xA8\x20\x09\x03\x24\x0B\xE7\xD0\x04\x36\x01\xC8\xF4\xEA\xCC\xA6\x15\x59\x05\x06\xF2\xF0\xEE\x70\x08\x11\x0F\x93\xFC\xFB\xFB\xF5\xC4\xCF\xF2\xF9\xF1\x45\x20\x15\x03\xF3\xE2\xFC\x03\xF9\xF5\x4F\x02\x37\xFC\x81\xF2\xDE\x14\x06\x3B\xFC\x2B\xFE\xBE\xBF\xED\x3C\x00\x40\xFC\x4E\xE5\x84\x34\x01\x44\xFD\xBB\xF3\x98\xDF\x3B\x49\x01\xD2\xF4\xBC\xC0\x46\x19\xFC\xCF\xFB\xE1\xF5\x39\x56\x02\xD4\xFA\x1E\xD3\x02\x55\xFD\xD1\xF9\xF1\x91\x19\x63\x02\xD4\xFB\xB6\x6F\x01\x52\xFD\x65\x12\x0A\x2A\xFC\x4E\xFC\x8B\xF0\x34\xA2\xFD\x10\x05\x1F\x05\xF6\xD0\x04\xB0\x00\xDA\xF5\xEF\xF6\xF8\x15\x5B\x1F\x0C\xF6\xEC\x9D\x6F\xFC\x2B\x92\xF7\xF9\xFA\x40\xF8\x11\x47\xF7\xC7\x04\x99\x01\xDE\xF7\x10\x13\xE6\x3A\x99\xBF\xF2\xA4\x8A\x6D\x9B\x03\xDF\xF3\x10\x27\x02\x82\xFF\x40\x0A\x0D\x3B\xFD\xC1\xF8\x70\xE5\x0A\x69\x02\x5A\xFC\x17\xCD\xF8\xC2\x04\xE8\x01\xD7\xF5\x2B\xBF\xF9\x81\xF9\xD5\x00\xE8\xE2\xF9\xD1\xCE\xD4\xF7\xE6\xD0\x04\x1F\xEE\xE4\x9A\x9E\x39\x02\xA2\xFD\xB3\x07\x0F\x3F", - "\xE4\x1C\x0B\x3C\x03\xD2\xE8\x20\xBA\x01\xEA\xF4\xD1\xCE\x12\x03\x0A\x3E\x0D\xF9\xD2\x0F\xAE\xFE\x42\x07\x0F\x37\xFE\x11\x04\x3D\x03\x20\x39\x03\x91\xC3\x2E\x07\xF9\xF1\x58\x2F\xE8\x15\x62\xFB\xCD\x16\xF8\x00\xEB\xF0\x11\x36\x03\xAF\xFE\x7A\x2E\x0B\x07\xFF\xFC\xE9\xD5\x0C\xFC\xFA\xFE\xBC\xFC\x44\x0B\xFB\xE3\xCE\xD5\x4F\x2F\x00\xFD\xFA\x1D\xF9\x02\xF2\xFA\x10\x38\x03\xCD\xFC\xD7\xEB\xFD\xD5\xEC\x17\xBB\x80\x05\x0F\x15\xFF\x0A\x06\xED\xFA\x55\x28\xFF\x07\x07\x3E\x00\x24\xC1\x03\x52\xFF\x87\xBC\x98\xE4\x88\xF4\xED\xF5\x4C\x0C\x31\xFF\x05\xB7\x95\xEE\xFE\xEB\xB8\x36\x33\x35\x0A\xF8\xFA\x1D\x14\x01\x3A\x74\x44\x03\xFF\x74\xE8\x75\x9E\x23\x03\x7F\x7F\xF0\x0E\x11\x02\x00\x82\x21\x04\x00\x8D\xF4\x5F\x3B\x6F\x01\x08\x81\x22\x10\x0C\x03\x01\x8D\xFE\x76\xF4\x7D\x59\x7B\x01\x11\x80\x38\x06\x0F\x04\x02\x86\x09\x4B\x8A\x5F\x3B\x07\x00\x94\x01\x34\x79\x2B\x6A\xFF\x7B\xD6\x75\x0C\x12\x00\x21\x80\x87\x7C\x63\x05\x16\x04\x03\x82\x10\x0D\x00\xA9\xF0\x7A\x48\x28\x81\x48\x7D\x11\x17\x0C\x0C\x02\x81\x08\x2E\x00\xE6\x5C\xEA\x12\x15", - "\x01\x0C\x82\xD3\x75\x35\x01\xD2\x7A\x98\x37\x80\x6E\x5C\xF5\x12\x0D\x03\x07\x89\xC8\x7A\xE2\x75\x00\xF4\x7F\x4C\x43\x28\x0E\x10\x04\x08\x88\xEA\x66\x16\x11\x02\x47\x80\x40\x81\xC9\x79\x9F\x2E\x09\x0C\x04\x85\x76\x5F\x02\x50\x80\x02\x73\x79\x2C\x13\x82\x3D\x6D\x0A\x10\x7B\x02\x97\x40\x80\xA2\x7A\xB0\x03\x19\x05\x0A\x82\x60\x38\x02\x85\x90\x28\x10\x73\x00\x32\x82\x03\x0A\x19\x06\x06\x8A\x20\x51\x19\x7F\x00\x4C\x81\x29\x58\x36\x04\x04\x89\xDB\x6A\x68\x71\x01\xCD\x05\xE5\x00\x3A\x83\xC8\x55\xC2\x25\x09\x1B\x02\x99\x4F\x70\x1E\xF4\x52\x20\x81\x72\x7B\x30\x1E\x07\x90\x6D\x58\x4B\x01\x81\x85\x78\x8F\x5A\x1A\x85\xB1\x02\x01\x1D\xDB\x40\x01\xB4\x75\xBB\x37\x45\x83\xE7\x0E\x11\x84\xF1\x76\x94\x07\x03\x05\x81\x8D\x0A\x17\x00\xB6\x27\x0B\x8B\xF1\x75\xB0\x14\x03\x12\x81\x7A\x0F\x1E\x00\x25\x83\x05\x70\x0B\x20\x05\xB7\xED\x23\x81\xF3\x7B\xEC\x2C\x3B\x00\x13\x89\x6C\x19\x02\x07\x02\x83\x80\x35\x7F\x9C\x01\x3E\x04\x15\x8A\x77\x09\x03\x2F\x02\x8C\x80\x7B\x73\xEA\x26\x01\x02\x2B\x2A\x1E\x6D\xD8\x4D\xE1\x1D\x80\xBE\x78\x85\x03", - "\x04\x04\x17\x8D\x2C\x09\x04\x37\x02\x95\x80\x13\x7C\xD3\x00\x08\x04\x18\x8E\x40\x19\x04\x1B\x02\xB0\x81\x05\x6F\x3A\x1D\x0B\x04\x19\x8D\x58\x08\x05\x0F\x03\xB8\x81\xDB\x6A\xF6\x7A\x56\x23\x6D\x36\x04\x1A\x8A\x1F\xBC\x28\x81\x3D\x67\x82\x57\x36\x80\x22\x04\x05\x1E\x06\xA9\xBC\x60\x81\xD4\x11\xE6\x0F\x38\x85\x88\x16\x0E\x8A\x08\x13\x03\x68\x81\xB7\x76\x9F\x67\x3A\x82\x89\x0D\x0E\x87\x08\x21\x03\x70\x81\x41\x55\x29\x0B\x3C\x84\x32\x25\x0F\x82\x1B\x38\x03\xB5\x50\x7D\x2C\x40\x00\x35\x83\x20\x0D\x08\x1D\x07\x82\x04\x7D\x01\xD7\x81\x83\x00\x3F\x05\xF8\x75\x3D\x2F\x04\x1A\x45\x5B\x5E\xE4\x76\x85\x01\x3F\x01\xFC\x75\xE7\x10\x04\x0F\x04\xE5\x77\xFE\x01\x01\x07\x42\x84\xA5\x76\x24\x23\x10\x00\x01\xD7\x73\xE5\x76\xEF\x52\x40\x03\xCC\x7C\xEE\x17\x08\xB3\xFE\x75\x24\x95\x0A\x02\x71\xFE\x65\xE7\x25\x41\x04\x09\xB6\x58\x06\x82\xE4\x7F\x88\x03\x00\x05\x25\x84\xEF\x10\x09\xA2\xEC\x46\x06\x04\x00\x9A\x83\x42\x36\x26\x8B\x12\x84\x0B\x3A\x04\xD0\x2A\x3C\x82\x03\x6A\xEC\x07\x27\x81\xC5\x01\x0A\x92\xD0\x64\x07\x44\x83\xB0\x66\x51", - "\x87\x3B\x7F\x89\x15\x20\x0A\x00\x04\x70\x9E\x00\x93\x83\x49\x7D\x6A\x0F\x14\x8C\x0A\x2A\x04\xC1\x72\x4B\x82\x63\x07\x02\x05\x82\x0E\x00\x17\x0A\x87\x05\x90\x7E\x15\x08\x12\x00\x01\x71\x14\x09\x15\x86\x1A\x0D\x00\x4F\x77\xC4\x31\x0A\x0B\x0D\x04\x00\x73\x0A\x12\x0A\x83\x04\x24\x01\x36\x83\x07\x01\x44\x81\xAA\x11\x16\x84\xC0\x66\x02\x65\x82\x55\x06\x08\x00\x5A\x84\x2E\x8F\x49\x24\xC0\x68\x02\x6E\x82\xCD\x66\x9B\x82\x04\x03\x2E\x8D\x47\x55\x20\x09\x00\x04\x70\xAB\x00\xC0\x81\x4C\x80\x22\x0D\x15\x85\xF0\x1E\x05\xCC\x82\x70\x05\x07\x01\x05\x0C\x01\x0F\x18\x84\xCF\x49\x1B\x12\x83\x61\x05\xCA\x83\x08\x6D\x59\x00\x01\x15\x20\x1B\x05\x9C\x82\xC6\x05\x08\x01\x05\x0A\x03\x04\x80\x6C\x05\x0A\x06\xB7\x82\x55\x07\x09\x01\x05\x0C\x02\x0A\x19\x97\xBA\x58\xE7\x11\x02\xAC\x82\x85\x02\x05\x05\x35\x89\x9D\x62\xA0\x35\x05\x93\x13\x78\x82\xE9\x07\x04\x03\x2F\x8E\x22\x0A\x0B\x84\xE0\x2F\x01\xA7\x82\x58\x02\x4D\x85\x02\x04\x18\x9C\x11\x37\x06\xD1\x0C\xB2\x01\xDC\x81\x44\x06\x02\x0C\x1B\x86\x0E\xBD\x05\xFB\x08\xB4\x01\xD3\x81\x2D\x06", - "\x26\x88\x01\x05\x0E\x82\x0A\x15\x08\x6A\x4D\x6F\x1F\x2D\x07\x34\x80\x27\x19\x00\x16\x07\xA7\x06\x15\x08\x09\x00\x01\x70\x17\x0C\x1D\x82\x0A\xB8\x88\x15\x08\x15\x00\xDA\x83\x6B\x87\x30\x45\x41\x13\x0D\xA0\x06\xC6\x06\x19\x01\xD5\x82\x7A\x85\x7C\x74\x1A\x82\x06\xB3\x07\xA7\x82\x00\x01\xFA\x82\x3C\x0F\x3E\x83\xBB\x2A\x0E\xA6\x1A\x15\x08\x21\x00\x02\x73\x2E\x05\x3C\x87\x14\x9D\x00\x15\x10\x1F\x00\xFC\x83\xE8\x7E\xF4\x06\x40\x8B\x19\x04\xC0\x7C\x02\x04\x84\xA5\x04\x0D\x03\x77\x84\x41\x87\x10\x1A\x0F\xA8\x20\x3D\x01\x10\x84\x63\x07\x06\x07\x3B\x8E\x01\x07\x10\x89\x08\x83\x76\x55\x07\x0E\x85\x83\x86\xCB\x29\x21\x86\x1A\x1C\x00\x1C\x84\xA3\x82\x02\x73\x2F\x05\x44\x85\x35\x1D\x00\x1F\x07\x88\x84\xBE\x08\x02\x70\x30\x04\x45\x85\x1B\x82\x44\x1E\x08\xEF\x83\x55\x06\x10\x02\x53\x84\x00\x71\x0C\x14\x11\x91\x04\x1E\x00\xDF\x82\x1D\x86\x42\x06\x42\x8A\x9E\x02\x06\x3E\x08\x90\x02\x1F\x01\xEF\x81\x80\x86\xBB\x0F\x21\x8B\x0C\xBF\x23\x47\x83\x28\x11\x61\x03\x91\x80\xC9\x45\x41\x0A\x01\x0D\x09\x80\x00\xC4\x00\xFF\x82\x42\x05\x04", - "\x05\x41\x06\x01\x17\x09\xC6\x01\x5A\x84\x2B\x19\x05\x0B\x04\x04\x80\x68\x06\x13\x09\x8D\x0B\x5E\x84\x85\x03\x09\x07\x4A\x8D\x13\x80\x00\x2B\x09\xEC\x77\x51\x0D\x64\x02\x56\x23\x8A\x50\x02\x11\xE2\x4B\x34\x15\x08\x3A\x7A\x14\x10\x35\x03\x4E\x84\x20\x36\x13\xAA\x09\x95\x08\xCE\x37\x6F\x1F\x37\x03\x1F\x8A\x77\x1A\x01\x0C\xEF\x77\x84\x04\x78\xF3\x34\xA1\x80\xFE\x03\xBE\x7A\x31\x6F\x09\xCF\x18\xD1\x21\x45\x85\x11\x16\x0A\x07\x28\x9F\x13\x92\xDE\x25\x21\x03\x00\xAA\x79\xB1\x5C\x0C\x05\x29\x87\x08\x0F\x0A\xBF\x74\x75\x1D\x07\x00\x55\x7B\x8A\x52\x07\x1E\x13\x9E\x0A\x95\x08\x55\x5C\x4B\x26\x06\x02\x53\x8D\x2C\x1F\x03\x1D\x0A\x83\x02\x9F\x85\x17\x82\x7A\x16\x04\x0C\x2A\x87\x2C\x2F\x0A\x82\x02\xB1\x84\x1C\x82\x0D\x1A\x06\x05\x2B\x8D\x2C\x1B\x02\x37\x85\x01\x03\x5C\x85\x10\x86\x86\x1E\x03\x1D\x15\xAF\x67\x40\x85\x6E\x85\x0A\x09\x9D\x59\xFB\x2A\x04\x06\x16\xBA\x1D\x37\x01\xC8\x84\x61\x86\x14\x81\xFB\x26\x05\x0E\x16\xB0\x1F\x45\x01\xD1\x85\x0A\x0B\x9F\x69\x27\x02\x06\x14\xEA\x6A\xC7\x53\x01\xC3\x76\xE1\x4A\xB0\x81\x0C\x8B", - "\x14\x0F\x03\x16\x0B\xC5\x10\x50\x78\x47\x85\x05\x0A\xB5\x75\x19\x1B\x03\x27\x0B\xF0\x04\xF0\x01\x6C\x86\xB9\x7D\xCE\x17\x08\x03\x15\x97\x70\x26\x85\xB0\x85\x0A\x09\x1B\x7D\x7A\x22\x09\x16\x17\x8E\x10\x0B\x00\xCE\x79\x64\x86\xBD\x7B\x2E\x0D\x09\x1E\x16\x87\x86\x0F\x79\xF4\x52\x61\x87\x20\x83\x20\x0A\x0A\x06\x18\x8E\x10\x28\x00\x08\x86\x44\x86\x02\x75\xCE\x17\x0B\x0F\x17\x88\x54\x0F\x79\xFC\x46\x61\x84\x24\x85\x30\x03\x0C\x16\x18\xB4\x09\x46\x00\x18\x86\x89\x85\x1C\x3C\x93\x1E\x30\x8D\x2C\x14\x01\x0F\x79\xE2\x85\x0A\x08\x10\x4D\xCF\x2C\x0D\x1E\x18\xA5\x0A\x63\x00\x21\x86\x4B\x87\xC8\x78\x59\x5E\x32\x8F\x7E\x31\x0C\xA7\x85\x39\x71\xC2\x00\x3D\x05\x64\x89\x6C\x1F\x03\x11\x0C\xB2\x86\x2C\x7F\x3E\x2D\x00\x07\x12\x07\x6F\x66\x16\x0F\x02\x3F\x86\x38\x87\x05\x7C\x58\x06\x01\x04\x34\x90\xF9\x41\xE5\x48\x86\xF9\x85\x60\x81\x78\x05\x69\x88\xF3\x70\x13\x2F\x02\x50\x86\xB8\x85\x0A\x08\x7B\x56\x86\x18\x02\x14\x1A\x81\xFD\x7F\x33\x28\x86\x91\x87\xD5\x7F\xDB\x15\x03\x1E\x1A\x8A\xFD\x70\x04\xD8\x79\x24\x56\xB0\x85\x71\x56\x29", - "\x22\x02\x26\x0D\x8C\x65\x4E\x01\xB7\x85\x65\x0D\x1B\x07\x33\x91\x1A\x9E\xF3\x75\x1C\x50\x01\xB7\x87\xDA\x34\x0B\x02\x37\x90\x08\x2B\x03\x75\x86\x59\x87\x0C\x51\x94\x0E\x0B\x0A\x37\x89\xFB\x3D\x0D\x8A\x02\xF9\x00\xC0\x85\xB0\x85\x82\x08\xA3\x55\xB0\x2C\x01\x05\x87\x97\x71\xC3\x84\xE0\x15\xA4\x79\x31\x95\x20\x07\xFE\x26\x03\x7A\x00\xC8\x87\x54\x42\x72\x81\x16\x14\x1C\xA2\x0D\xCA\x77\x07\x65\xB7\x85\x33\x45\x12\x0C\x39\x9E\x0F\x25\xF4\x42\x4B\x28\x01\x31\x84\x01\x77\x12\x0F\x36\x83\xFD\x4A\x04\x29\x00\x15\x09\xD4\x84\x8E\x82\x7A\x06\x25\x9B\x12\xAC\x09\xE6\x83\x02\x03\x15\x01\x05\x0D\x05\x04\x80\x78\x04\x2D\x0E\xE5\x77\xBC\x86\xEC\x57\x95\x81\x13\x05\x3A\x89\x45\x15\x10\x30\x00\xB7\x87\xA3\x82\x0B\x00\x4A\x8B\x85\x45\x1E\x85\x21\x32\x00\x25\x7A\x90\x6D\x05\x0B\x14\x04\x80\x7D\x04\x2F\x0D\xC6\x76\x01\x02\x1A\x01\x49\x7F\xDD\x1B\x3C\x8A\x08\x24\x02\x04\x70\xA0\x01\xEB\x85\xB3\x07\x06\x0B\x3D\x90\x08\x1D\x0F\xFC\x3E\x6C\x82\xF1\x86\x03\x0A\x07\x05\xD2\x65\x0F\x27\x0F\xB4\x0C\x76\x82\xF5\x85\x63\x0E\x07\x0D\x3E\x86", - "\x1F\x95\x10\x0B\x86\xCD\x66\xF9\x85\xB2\x0A\x08\x05\x3F\x9F\x2D\x37\x0F\xA5\x83\xFA\x86\xBD\x0E\x11\x05\x7F\x87\xED\x55\x20\x1E\xEB\x69\x3A\x01\x88\xF8\x0E\x12\x05\x7C\x8E\x3F\x8A\x08\x13\x02\x04\x70\xB2\x01\x04\x89\x11\x15\x09\x0C\x40\x85\x20\xBC\x46\x04\x70\xB5\x00\x09\x8A\x63\x2D\x82\x83\x10\x0F\x1F\x98\xAA\x63\x83\x1A\x89\x6D\x40\x07\x8C\x76\x15\x41\x05\x06\x02\x08\xA1\x88\x74\x04\x2B\x03\x08\x89\x20\x0E\x41\x94\xB3\x04\xE0\x3E\x01\x28\x89\x52\x05\x16\x03\x85\x80\x00\x0D\x21\x80\x00\x6E\x00\x3C\x85\x18\x8B\xCD\x04\x86\x86\x43\x8F\x07\x04\xE0\x44\x01\x3A\x88\xA3\x07\x17\x04\x80\x8D\x41\x95\x20\x25\x01\x04\x70\xC7\x01\x20\x89\xD5\x03\x0C\x0C\x43\x95\x20\x1E\xAD\x05\x03\xCA\x00\x25\x89\x52\x0C\x88\x84\x42\x99\x19\xB3\x05\x4D\x01\x52\x89\x88\x02\x1A\x04\x8A\x8C\x42\x95\x20\x31\x03\x04\x70\xD0\x01\x2C\x88\x44\x06\x0D\x0C\x45\x95\x21\x95\x10\x56\x43\xA5\x21\x69\x02\x18\x89\x5D\x25\x46\x96\x21\xA8\x11\x96\x25\xD6\x01\x35\x89\x63\x5D\x8D\x85\x41\x0E\x07\x04\xE0\x59\x01\x72\x89\x55\x64\x1D\x8A\x21\x01\x3C\x91\x32", - "\x1C\x03\x79\x88\xD0\x1D\x26\x8A\x44\x84\x00\x7F\x0D\x00\x24\x81\x04\x01\x01\x34\x89\x17\x03\xF1\x81\x79\x8C\x14\x8A\x24\x99\x2B\x04\x70\xE2\x00\xE7\x84\x9C\x05\xAF\x71\x9E\x4E\x24\x99\x2C\x04\x70\xE4\x00\x43\x89\x33\x09\x91\x85\x41\x1F\x1E\xBB\x11\x67\x01\x9A\x89\x44\x00\x27\x8A\x21\x04\x08\x04\xC0\x6A\x03\x1A\x89\x8C\x01\x32\x8A\x25\x88\x7E\x8B\x47\x0D\x07\x1A\x12\x90\x01\xAA\x89\xFF\x87\x1E\x08\x1E\x0A\x49\x94\x04\x31\x12\x83\x86\x60\x03\x79\x02\x26\x88\x13\x07\x4B\x87\x08\x07\x10\xB8\x39\x9A\x88\xC6\x79\x6C\x51\x4D\x15\x41\x0F\x20\xBB\x11\x79\x01\x9A\x89\x4F\x03\x28\x89\x76\x14\x80\x7C\x07\x1A\x12\xA2\x01\xCB\x88\x0B\x0E\x4A\x82\x93\x85\x0A\x11\x26\x82\x04\x26\x88\x05\x14\x4C\x03\x30\x8C\x01\x26\x4D\x8E\x21\xBB\x11\x05\x00\xDA\x89\xDC\x51\xB3\x03\x15\x0D\x4D\x97\x21\x84\xE0\x08\x00\xE1\x88\xE1\x52\x29\x2D\x9C\x8E\x43\x98\x6A\x69\x13\xCD\x53\xB5\x7B\x5E\x8B\x40\x07\x88\x86\x89\x2F\x27\x95\xA7\x1D\x74\xE5\x89\x27\x8B\xEE\x06\x9E\x80\x00\x18\x1E\x80\x00\x38\x01\xF2\x89\x30\x41\x94\x0C\x02\x0C\x4F\x9E\x27\xBC", - "\x02\x01\x8A\x01\x03\x2F\x8A\x94\x1D\xA0\x88\x4B\x28\x28\xAC\xAD\x0A\x22\x0C\x8A\x07\x08\x31\x06\xA1\x8F\x46\x99\xED\x11\x14\x8D\x0B\xC8\x00\x87\x8A\x1D\x89\xA0\x17\x51\x9C\x67\x0E\x14\xFD\x88\xA9\x31\x8E\x8A\xDE\x08\x1A\x05\x4E\x9D\x07\x04\xE0\x26\x00\x22\x8B\x3D\x40\x0D\x88\x79\x82\xA2\x04\xC0\x69\x00\x7C\x89\xAE\x87\x83\x01\x0C\x05\x82\x06\x43\x80\x09\xB8\x07\xB2\x00\xCC\x86\x1B\x1A\x0A\x04\x9F\x8A\xAD\x72\x1E\x16\x03\x25\x7A\x1C\x04\x9C\x8B\x73\x81\xCA\x0C\x02\x10\x29\x90\xBD\x3C\x8A\xCD\x04\x1A\x01\x4E\x8D\xCE\x1F\x02\x06\x2A\x8E\x10\x57\x01\x40\x8A\xCE\x0E\x6F\x82\x7E\x60\x03\x08\x2A\x8E\x10\x35\x00\x15\x09\x9E\x8A\x69\x02\x06\x0E\x54\x98\xB0\x11\x15\xAF\x26\x15\x09\xEC\x57\x1E\x0B\x06\x0D\x55\x90\xCE\x5F\x15\xD6\x25\x15\x09\xF1\x55\x72\x3D\xAC\x8A\x77\x1A\x06\x27\x15\xDF\x05\xED\x83\xE4\x08\x5B\x88\x3C\x7F\x56\x85\x95\x28\x07\xAB\x06\x36\x01\xB9\x89\x11\x14\x1B\x05\x57\x8E\x95\x2B\x06\xEB\x11\x7A\x8A\x38\x05\x37\x05\xAF\x86\x2B\x35\x20\x04\xB0\x7B\x08\x38\x01\xC0\x8A\x9C\x06\x1B\x04\x58\x98\x2A\xA7\xFC", - "\x05\x03\x39\x00\xC5\x88\x12\x35\xB1\x8E\x19\x85\x7F\x12\x16\xA5\x05\xE0\x00\xCA\x89\x7F\x0B\xFD\x27\x59\x86\x16\x21\x03\x1A\x8B\x30\x1E\x92\x19\x67\x8E\x68\x02\x0E\x00\x2D\xB2\x06\x2B\x06\x3D\x01\xD1\x89\xD5\x03\x1C\x06\x5A\x84\x88\x1F\x3B\x3E\x00\xAA\x8A\xE9\x07\x6E\x7A\x15\x60\x57\x82\x06\xAB\x0C\x3F\x00\xB1\x8A\x8D\x01\x6B\x8C\x63\x06\x8F\x19\x2D\xA7\xF0\x3B\x8B\x97\x25\xD9\x0E\x5E\x8A\x08\x06\x55\x92\x10\x44\x16\xB6\x00\x15\x09\x19\x00\x01\x74\x08\x0E\x5B\x8E\x20\x2B\x05\xE0\x8A\xB3\x87\x88\x00\x0E\x05\x82\x0A\x03\x0C\x24\x96\x06\xEB\x05\x15\x08\x1E\x02\x75\x8B\x33\x88\xA5\x0B\x2A\xBC\xEA\x45\x8B\xC9\x0C\x74\x01\xF4\x86\x75\x23\x55\x88\xD5\x3A\x15\xC8\x00\xE0\x8A\x81\x02\x3A\x04\xB0\x8B\x03\x1E\x2E\xA5\x42\x4A\x00\xE9\x8A\xF8\x0F\x3A\x03\xBC\x8F\x55\x25\x2F\xA8\x20\x4C\x00\x7A\x8B\x26\x01\x7C\x8B\x3D\x14\x58\x9A\x2E\x8E\x07\x5B\x8B\xAE\x83\x6D\x2D\x05\x0D\xBD\x81\x5D\x82\x30\x8A\x04\x7E\x8B\xDE\x73\xEB\x89\xDC\x50\x3B\x8A\xA8\x0F\x02\x3B\x17\x8B\x41\x84\x8A\x1F\x01\x05\x0A\x74\x61\x65\x11\x02\x3B\x17\xD3", - "\x00\xFB\x8A\xE1\x78\x6D\x8A\x20\x02\x61\x9E\x1E\x8A\x2A\x55\x00\x0F\x8D\xDB\x6C\x61\x88\x08\x05\x41\x1F\x01\x04\xE0\x57\x00\x21\x8D\xA3\x81\x10\x05\xC4\x84\x80\x79\x02\x29\x18\xCC\x82\x42\x01\x0A\x08\x11\x00\xC0\x85\x23\x8C\x53\x1A\x0B\xB4\x8C\xEB\x82\xE8\x16\x7B\x8E\x45\x5F\x62\x86\x16\x31\x03\x74\x8B\x50\x14\xFB\x8A\x7A\x15\x0B\x0A\x57\x9E\x02\x3B\x17\xF3\x01\x84\x8B\x22\x03\x8E\x8D\x7A\x20\x06\x1D\x31\x86\x0D\x74\x01\x40\x8D\xF6\x02\x90\x8C\x01\x3A\x57\x83\x03\x3B\x17\xF6\x01\x84\x8A\x23\x01\x56\x8A\xC4\x0D\x5C\x87\x08\x37\x03\x59\x8C\x61\x8B\x95\x06\x19\x05\xCB\x83\x10\x18\x07\x20\x19\xDE\x0B\x2B\x07\x33\x00\x99\x8A\x20\x09\x0F\x07\x33\x9A\x59\x2B\x06\x68\x01\x35\x8D\x40\x02\x1F\x0E\x66\x81\x0B\x2B\x0C\x69\x00\x72\x8C\x12\x45\x9D\x8B\x7F\x5B\x47\x0A\x03\x39\x19\xFC\x01\x7B\x8D\x80\x03\x61\x8D\x80\x79\x67\x9D\x07\x01\x1A\xCD\x80\x7D\x2C\x36\x01\x9E\x8E\x1F\x07\x68\x93\x62\x51\x04\x6D\x00\x79\x8D\x7F\x03\xA1\x8C\x83\x56\x63\x19\x33\x80\x00\x66\x7C\xE4\x0B\x0A\x08\x09\x5B\x2E\x0F\x06\x19\x33\x81\x00\x18\x8D", - "\x0A\x02\x2D\x8F\x0A\x5C\x30\x29\x67\x82\x00\x20\x1A\x87\x02\xA2\x8C\x19\x58\x52\x69\xCF\x83\x00\x07\x35\x87\xD8\x15\x08\x13\x01\x29\x09\x9E\x8C\x00\x0E\x6A\x82\x08\x29\x1A\xFA\x05\xDA\x57\x3C\x8D\x01\x05\xD6\x81\x10\x17\x35\x82\x04\x46\x58\x6E\x1A\xBD\x89\x1D\x03\xBF\x86\x00\x1C\x35\x96\x6B\x15\x08\x43\x00\x1C\x8C\xBA\x50\xD9\x8A\x6C\x8E\x20\x09\x01\x15\x08\x48\x01\x66\x8D\x63\x0F\xD9\x88\xFD\x75\xB0\x37\x01\x4E\x8C\x55\x07\x03\x01\x96\x7E\x73\x03\x61\x8C\xD8\x7B\x17\xFB\x00\xFB\x8B\xE8\x79\x78\x54\xDA\x8F\x2F\x03\x61\x18\x1B\xD2\x07\x0B\x01\x6D\x8E\x0E\x35\x82\x0E\x6B\x8E\x71\x38\x0E\xF7\x76\x15\x08\x25\x8D\x81\x8F\xA6\x17\x63\x93\x37\x9B\x2F\x32\x89\x09\x8C\xEE\x89\x63\x0C\x09\x0E\x44\x92\x36\x89\x1B\x7C\x8D\x52\x86\x05\x85\x8E\x8B\x84\x4D\x04\x04\xC0\x7F\x01\x67\x8D\x03\x8E\xE1\x25\x05\x0D\xE0\x8B\x47\x01\x04\x08\x1C\xAB\x15\x15\x09\x27\x02\xBF\x8A\xEF\x01\x05\x0B\x38\x84\xE0\x03\x01\x0F\x8E\x07\x0A\x75\x15\xE2\x86\x6F\x83\x08\x13\x01\x78\x8D\x28\x11\x42\x01\x9E\x8D\x01\x06\x6C\x9F\x38\xB8\x12\xA8\x6D\x79", - "\x8C\x07\x01\xC9\x8D\xDF\x8B\x47\x07\x04\x39\x19\x8F\x00\x2B\x8E\x2B\x88\x58\x00\x11\x09\x67\x90\x00\x31\x1C\xCA\x86\x4B\x03\x44\x01\x9E\x89\x02\x07\x73\x9D\xF9\x55\x58\x0A\x01\x79\x8C\x09\x02\xB1\x8D\x0A\x05\x41\x17\x02\x17\x09\x8B\x01\x19\x8F\x83\x02\x15\x02\xC6\x83\x71\x81\x08\x13\x00\x46\x8D\x46\x8E\x1D\x8C\x82\x74\x02\x06\x6C\x98\x02\x15\x10\x54\x00\x04\x71\x46\x01\x4A\x88\x35\x84\x1B\x57\x3A\x84\xE0\x10\x01\x5B\x8F\x36\x86\x16\x06\x80\x84\x80\x73\x04\x11\x1A\xF2\x04\xBF\x88\x81\x01\x17\x07\x4A\x84\x09\x09\x3A\x97\x1F\x00\x85\x4D\x8F\x22\x13\xDA\x8A\x21\x0E\x05\x11\x3B\xB0\x09\x75\x8E\xE1\x53\x6F\x1E\x25\x01\xCF\x88\xDD\x7B\x30\x81\x04\x78\x8E\x32\x8B\x95\x07\x25\x01\xCF\x86\x01\x06\x36\x80\x1E\x83\x02\x6A\x8A\xA8\x29\x9E\x8F\x02\x06\x78\x91\x2B\x99\x75\x79\x8C\x18\x01\xC6\x8E\x42\x05\x02\x0B\x32\x1A\x04\x39\x19\x99\x00\x92\x8F\x83\x00\x05\x03\x65\x0B\x09\x19\x33\x9A\x00\x19\x8F\x03\x03\x41\x8C\x0A\x14\x13\x09\x67\x9B\x00\x20\x1E\xBC\x80\x4A\x37\x4E\x01\x9E\x8C\x03\x07\x7A\x81\xF5\x68\x20\x1E\x01\x79\x8D", - "\x0E\x01\xEB\x88\x00\x04\x69\x91\x32\x1F\x02\x79\x8C\x1E\x01\xD9\x8F\xA6\x88\x2C\x00\x0A\x19\x33\x9F\x00\x33\x8F\x86\x47\x0A\x2D\x28\x01\xCF\x80\x02\x13\x3D\x8F\x4F\x59\x2F\xA2\x01\x3C\x8D\x08\x03\xF6\x81\x6B\x9B\x23\x23\x02\x79\x8C\x22\x01\xD9\x8F\x05\x03\x65\x04\x0A\x19\x33\xA3\x00\x33\x8F\xC0\x8D\x28\x0D\x29\x02\xAF\x86\x0A\x1B\x2F\xA4\x00\x46\x8D\x5F\x00\xB8\x8D\xC7\x8C\xA3\x45\x41\x10\xE9\x5A\x81\x7C\x89\x53\x59\x12\x02\x95\x78\x0C\x08\x27\x8C\xC2\x28\x1F\xF7\x7B\xEB\x8E\x40\x87\xCA\x06\x17\x0C\x4F\x85\x76\x7F\x00\x48\x16\xE9\x49\x0A\x09\xAA\x2D\xCE\x1A\x0C\x15\x3F\x8D\x0B\x4D\x00\xF8\x8E\xC8\x35\x05\x0C\xAA\x75\xE7\x16\x06\x3E\x1F\xE6\x38\x01\x91\xE6\x35\x05\x0D\xBA\x15\xE7\x02\x07\x07\x20\xED\x65\x09\x91\x32\x09\x05\x0C\xAC\x7E\xE7\x4F\x3F\xA5\x1E\x71\x8F\x78\x64\x13\x1F\x03\x91\xD9\x04\x08\x11\x40\xB9\x2F\x15\x08\x57\x6C\x4B\x25\x01\x01\x13\x0F\x58\x9D\xF1\x1E\x20\xE4\x8F\xE3\x71\x6F\x1D\x04\x04\x04\x99\x02\x90\x9B\x67\x20\xA6\x4A\x15\x09\x75\x71\x61\x05\x03\x0C\x82\x92\x01\xB0\x09\x31\x7C\x3A\x4C\xF6", - "\x8D\x12\x81\xB8\x35\x83\x88\x3D\x91\x04\x3A\x7C\x39\x91\x0A\x0B\xB4\x82\x69\x35\x03\x1D\x41\x85\x01\xA5\x05\x45\x7D\x20\x92\x66\x7A\x9B\x26\x84\x93\xFA\x70\x1F\x4F\x7C\x49\x54\x1D\x91\x02\x41\xCA\x0E\x04\x0D\x42\x85\xBB\x58\x7C\x4A\x91\x42\x76\x0D\x1A\x0B\x06\x85\x8D\x16\x33\xF9\x59\x90\xE4\x5E\x98\x11\x13\x93\x8A\x53\x00\x16\xF8\x5F\x20\xF5\x80\x40\x6F\x31\x90\x67\x86\x0C\x98\x82\x9B\x03\xBD\x59\x7C\x00\x4D\x90\xF5\x61\x07\x07\xD4\x74\x9F\x52\x42\xA5\xC6\x04\x09\x71\x90\x02\x24\x1D\x92\x00\x95\xF0\x75\xB0\x16\x02\x5D\x90\xDF\x5D\x53\x7D\xFE\x8E\xBA\x76\x29\x22\x05\x00\x22\x94\x26\x82\x90\x3E\x90\x77\x7A\x3D\x1E\x0A\x19\x43\x80\xC5\x27\x7D\xC2\x4A\x3B\x93\xD1\x51\xCA\x0B\x0B\x07\x44\x89\x1B\x68\x00\x89\x90\x05\x90\x29\x86\x12\x86\x89\x9A\x3B\x36\x01\x19\x91\x12\x90\x99\x8F\x52\x03\x1A\x0E\x88\x88\xB6\x3B\x21\x9A\x91\xA9\x80\xA5\x34\x38\x05\x14\x99\x6C\x14\x04\x27\x22\xA1\x91\x38\x8F\x9C\x01\x3B\x04\x15\x99\x7E\x0F\x45\xA7\x21\xB1\x91\x25\x02\x7D\x00\x2D\x90\xFE\x04\x0B\x16\x45\xAD\x21\xCF\x7E\xA5\x21\x03\x02", - "\x26\x05\x68\x86\x34\x04\x06\x10\x22\x8A\x91\x79\x49\xE4\x2B\x30\x96\x69\x84\x27\x13\x06\x07\x23\xA8\x91\x22\x7D\x6F\x1D\x08\x03\x19\x92\x03\x8D\x01\x14\x23\x90\x27\xD3\x76\x50\x93\x2D\x91\x1C\x88\x82\x0F\x01\x17\x23\xF1\x6C\x3B\x01\x6F\x92\x48\x87\x34\x6A\x8D\x9F\x45\xA9\x03\xA8\x10\x3D\x00\x71\x93\x15\x3A\x1C\x9C\x63\x25\x47\xB0\x20\xAC\x73\xA5\x21\x25\x02\x3A\x94\x49\x4C\x8E\x92\x93\x12\xFD\x03\x91\xB6\x72\x1B\x19\x16\x03\x1E\x95\x23\x15\x47\x83\x09\xF7\x91\xC8\x91\x1A\x64\xB0\x32\x1C\x9D\x0C\x54\x03\x3E\x23\xCA\x1B\x52\x7E\xE1\x49\x18\x05\x82\x0B\x05\x04\xC0\x76\x01\x62\x91\x31\x8A\x38\x09\x05\x0B\x21\x93\x7E\x81\x08\x23\x01\x46\x88\x04\x71\x3B\x00\x44\x95\x7C\x74\x4F\x83\x6B\x17\x09\xF8\x00\x07\x93\x2E\x2B\x96\x8B\x8F\x0A\x07\x1B\x48\x8E\x17\xE3\x7F\x98\x15\x30\x8C\x0F\x46\x24\x9D\x58\x18\x01\x28\x24\xE6\x00\x15\x09\x34\x02\xDD\x88\xCC\x49\x56\x9A\x97\x2C\x24\xC9\x0D\x39\x01\x97\x92\xE3\x8C\x85\x57\x93\x85\x14\xBA\x24\x93\x8F\x26\x2D\x9E\x90\xFC\x0B\x07\x0F\x93\x9A\x3C\xBD\x1F\x42\x92\x45\x10\xA4\x7E\xDF", - "\x89\x25\x9E\x4B\x1F\x61\x48\x25\xF0\x04\x3D\x01\xA2\x92\x0D\x95\x14\x21\x08\x0F\x4A\xB1\x1B\x52\x92\xAA\x5C\xF5\x12\x20\x06\x2A\x94\x27\x1F\x01\x18\x25\xCD\x0E\xCB\x14\xAE\x90\xEF\x2F\x2B\x95\xFC\x0A\x4F\x04\x02\x62\x92\xC6\x05\x20\x00\x59\x91\xF8\x8D\x67\x25\x04\x28\x25\xC6\x06\x42\x00\xB2\x93\xF1\x8A\x69\x36\x08\x0F\x4B\x95\x0D\x43\x00\x64\x93\xE6\x8D\x98\x0E\x2E\x92\x3D\x04\x02\x24\x25\xD3\x8F\x2E\x2C\xBE\x91\x44\x05\x08\x04\x96\x99\x3E\xA2\x25\x48\x92\x8A\x01\x90\x92\xAD\x88\x25\x97\x06\x03\x49\x91\x19\x0C\x01\x82\x93\x41\x34\x63\x92\x25\x9A\x41\x31\x4C\x9D\x53\x13\x93\x68\x8C\x48\x0A\x65\x94\xD7\x08\x99\x8F\x33\xB4\xCA\x1B\x93\xD6\x09\xCE\x92\x9D\x8B\x8F\x00\x09\x00\x4D\xB6\x29\x22\x93\x7C\x8C\x76\x1E\x69\x91\x20\x0C\x04\x08\x4D\x82\x1A\x99\x09\xAB\x93\xB7\x3A\x6B\x90\xD1\x89\x7D\x33\x04\x31\x26\xCE\x00\xB3\x92\x47\x8C\xA8\x71\x36\x9F\x04\x13\x4D\xB5\x1E\xE3\x4C\xB1\x92\x28\x03\x6C\x93\xF7\x8B\x14\x16\x04\x31\x26\xD1\x00\xB3\x92\xB6\x91\xF6\x2F\x12\x01\x9B\x92\x02\x33\x26\xF3\x92\xA6\x02\x4C\x01\x6C\x93", - "\x0A\x03\x9B\x9A\x4B\x8E\xE3\x31\x93\x54\x01\xD9\x90\x60\x94\x36\x21\x9B\x95\x02\x33\x26\x86\x93\x5B\x50\xA4\x90\x27\x02\x31\x91\x10\x19\xFA\x4B\x25\xE8\x00\x15\x08\x32\x00\x54\x81\x36\x90\x27\x12\x49\xB1\xA8\x33\x92\x61\x55\x0A\x09\x63\x95\x22\x99\x53\x11\x49\xB0\x27\xA5\x05\x6B\x00\xEC\x83\x7D\x91\x51\x75\x41\x18\x21\xBB\x11\x1F\x01\xEC\x92\x39\x06\x7F\x97\x20\x08\x07\x17\x12\xA0\x02\x64\x93\x45\x11\x37\x02\x63\x91\x22\x51\x9B\x97\x02\x28\x24\x8A\x94\xD8\x57\x95\x07\x28\x01\x36\x98\x05\x0F\x50\xB5\x24\x9A\x64\xB1\x93\x2C\x02\x85\x92\x36\x8B\x32\x05\x05\x31\x26\xDA\x00\x1B\x95\x83\x00\xE5\x8D\x98\x01\x9B\x9B\x02\x21\x28\xAE\x04\x2B\x07\x53\x01\x6C\x94\x0B\x07\xA2\x82\x08\x22\x1E\xEA\x13\xA8\x01\xD8\x91\x17\x05\x45\x97\x84\x95\xB0\x29\x02\x31\x93\x5E\x00\x1A\x97\xFB\x6D\x14\x2A\x0A\x11\x4D\x9F\x01\x3A\x94\xBF\x92\x57\x45\x6C\x90\x0C\x0A\xA3\x84\x4E\xB9\x04\x2C\x01\xB1\x93\x30\x02\x8E\x92\x39\x9A\xB4\x2D\x05\x31\x26\xE2\x00\x3A\x94\xE8\x91\x65\x06\x15\x01\x9B\x81\xFB\x4B\x25\x90\x94\x21\x05\x95\x07\x2B\x01\x36", - "\x94\x06\x1A\x51\x9B\x27\xA8\x10\xB0\x01\xD8\x91\x19\x02\x47\x90\x9E\x96\x61\x31\x02\x48\x92\xB2\x00\x04\x96\x19\x00\x25\x90\x07\x11\x41\x97\x09\xB4\x01\x08\x94\x66\x31\x05\x0C\x0E\x0B\x9F\x86\x1A\x31\x01\x4A\x85\x75\x95\xAA\x07\x9D\x92\x21\x06\x07\x19\x53\xA1\x7B\x15\x08\x73\x01\x2B\x86\x2D\x01\x4E\x92\x27\x01\x54\xAA\xAF\x7E\x94\x11\x02\x43\x95\x63\x58\x51\x90\xBE\x55\x20\x35\x01\x57\x84\xB8\x00\x42\x94\x9D\x07\x51\x9C\xA7\x8C\x54\x95\x2A\x8A\x02\x6D\x00\x02\x72\x2E\x01\x40\x94\x27\x17\x03\x15\x10\x6D\x94\xF4\x93\x02\x94\xCE\x46\x52\x97\x10\x19\x03\x0B\x28\xEA\x13\xBB\x00\x49\x96\xB3\x10\x25\x96\xAA\x91\x50\xA9\xA4\x2A\x95\xC6\x04\x34\x00\xAB\x97\x42\x95\x08\x30\x55\x99\xA9\x33\x95\x1C\x94\x9E\x52\xAD\x95\x6A\x0A\x06\x18\x55\xA2\x28\xAB\x06\xC3\x01\x5D\x96\xF4\x03\x0D\x0E\xAB\x88\x51\xBB\x11\x45\x01\xC2\x95\x88\x00\x1B\x05\x58\x9E\xA2\x9C\x19\x09\x2B\x90\x02\x6D\x00\x66\x95\x8D\x95\xCF\x29\x0C\x0F\x56\xBE\xA9\x52\x95\x3B\x95\x6D\x66\xB5\x97\x20\x04\xF6\x6B\x4A\xAD\x2A\xE1\x03\x2B\x07\x66\x03\xB6\x94\x69\x28", - "\xAD\x86\x52\xA5\x04\x4F\x01\xE3\x94\x8F\x48\xB6\x94\x49\x96\x1A\x11\x06\x29\x2B\xAB\x30\xD8\x94\x29\x95\x61\x03\x1A\x0F\xAE\x80\x00\x33\x01\x58\x95\xD6\x92\x06\x45\xBD\x94\x0E\x08\xAD\x9F\x52\xAA\x27\x57\x01\xF5\x95\x3A\x00\xB6\x95\x4C\x95\xE7\x19\x06\x08\x28\xDB\x01\x08\x94\x3B\x00\x4A\x93\x0F\x05\x7E\x82\x5A\x22\x23\xD3\x58\x77\x01\xCA\x7E\x3A\x0D\xFD\x85\x95\x2F\x58\x8D\x0B\x04\x01\x12\x97\xAC\x06\xFC\x8B\x8F\x03\x0F\x1C\x47\x98\x57\x00\x92\x13\x97\x44\x86\x8C\x26\x63\x9F\x80\x20\x59\x9A\x2C\x8B\x78\x36\x19\x05\x03\x26\x05\x04\x95\xCD\x06\x59\xA4\x38\x0B\x90\x2B\x07\x0B\x03\xCA\x95\x05\x95\x35\x02\xFE\x7A\x98\x0C\x96\xEA\x5A\x52\x97\xCB\x96\xD3\x71\x65\x03\x01\x33\x2C\xA6\x72\x45\x11\x64\x01\xC6\x93\x67\x95\xEA\x60\x47\x3F\x2C\xBE\x90\xB1\x26\x97\x96\x4B\x20\x04\x95\xFE\x07\x5A\x93\x2B\xD5\x06\xE4\x00\xA5\x95\x07\x15\x82\x0B\xD7\x74\xEF\x4E\x2D\xB4\x93\xD3\x12\xA9\x94\x60\x11\x06\x9B\xF5\x37\x5A\x85\xBB\x00\x00\x4C\x80\xFE\x44\xCE\x90\x88\x75\xE7\x1E\x02\x1E\x2D\xB7\x1E\x61\x96\x88\x03\xD8\x95\x53\x68\x82", - "\x0A\x03\x27\x2D\x8E\x08\x1C\x01\xB4\x95\xC8\x96\xA9\x66\xC3\x16\x03\x17\x2D\xEA\x63\x3A\x81\x24\x57\xDA\x94\x60\x5A\x95\x0F\x5B\x8D\x16\x39\x00\x72\x97\x93\x96\x16\x95\xCE\x1F\x08\x1E\x5B\x89\x1B\x47\x00\x81\x96\xA2\x95\x18\x93\x0B\x57\xB5\x93\x62\x55\x01\x34\x81\x53\x96\x34\x91\xB1\x65\x71\x9D\x2C\x02\x03\x10\x2E\xDB\x96\x27\x8F\x9C\x01\x2C\x07\x6E\x9D\x2C\x0F\x03\x0C\x01\xF4\x53\x7B\x97\x81\x2E\x97\x2C\x73\x99\x1C\x5F\x5C\xAA\x2D\x95\x08\xDA\x65\xDC\x3E\xE1\x90\x62\x59\xB8\x8B\x5A\x84\x22\xD5\x27\xD7\x01\xD5\x94\xFC\x0D\x13\x0D\xBA\x91\x5C\x8B\x22\x85\x2D\xA4\x97\xC6\x0B\x2A\x04\x09\x82\x5C\x41\x5D\xA2\x5C\x33\x89\xB2\x97\x13\x31\xED\x90\x73\x93\x33\x96\x61\x3C\x03\x41\x97\x70\x04\x64\x03\xF0\x96\x77\x9A\x4F\x80\x0B\x08\x00\x1C\x01\xC4\x91\xAA\x06\x35\x06\x74\x93\xB7\x81\x1A\x99\x5F\x15\x00\xD0\x96\x66\x91\x97\x0C\x7A\x92\xB8\x9E\x39\xBD\x59\x22\x00\xD9\x97\xAA\x86\x9C\x06\x1E\x0C\xBD\x8A\x5C\x86\xFD\x25\x21\x2F\x01\xF0\x97\xD7\x85\x08\x1B\x0B\x9F\x05\xAE\x2E\xC5\x79\x47\x7E\xF5\x97\xD9\x82\x4E\x06\x01\x1A", - "\x8A\x3D\x2E\x95\x08\xD5\x6B\x0A\x2D\x12\x02\x7E\x9E\x84\x85\x42\x25\x00\x76\x97\xA7\x97\x6C\x80\xCD\x64\x7F\x97\x33\x7C\x5F\x95\x16\x34\x00\x5A\x22\xB1\x95\x05\x0B\x44\x59\x7D\x24\x03\x04\x30\xE6\x31\x06\x98\x88\x02\x10\x01\x81\x91\xC0\x94\xFB\x7D\x59\x72\x00\x0F\x99\xA4\x65\x04\x9D\x7B\x04\xC1\x95\x5E\xA3\xC8\x7B\x08\x80\x01\x0C\x99\xE5\x5B\x83\x94\x8A\x7D\x60\x9D\x2F\x87\x71\x53\x50\x11\x9B\x40\x64\x84\x93\x10\x0C\x03\x26\x30\xE6\x97\xA0\x87\xD1\x8C\xFF\x94\x6C\x6C\xC2\x88\x23\x00\x30\xEF\x31\x15\x09\x3E\x02\xCE\x92\x20\x0C\x07\x15\x20\x3F\x01\x3B\x98\x01\x02\x1D\x98\x9C\x83\x8D\x1C\xBF\x93\x62\x49\x02\x03\x82\x78\x1A\x8A\x94\x89\x3D\x88\x9A\xB0\x08\x62\x81\x31\x9B\x96\xFD\x66\x15\x9A\xDE\x0D\x2D\x8A\x63\x42\x62\x85\x00\x95\x2C\xCD\x00\x29\x9B\x07\x37\x85\x99\xC4\x88\x59\x85\x2C\xDA\x98\xDA\x58\x2E\x9B\x13\x9F\x52\x86\x29\x25\x07\x20\x31\xF0\x04\xCD\x00\x31\x9A\x94\x0B\x02\x99\xF7\x0C\x62\x87\xA5\x4E\x98\x6B\x99\x0C\x91\x9D\x1C\x1F\x07\xC6\x86\xB9\x2A\x31\xD6\x98\xFB\x36\x14\x10\x02\x03\xD8\x15\xEC\x56\x07", - "\x37\x31\xD4\x96\x01\x22\x3E\x99\xB3\x04\x00\x04\xD5\x7C\x1F\x78\x31\x9E\x4A\x2B\x06\x10\x02\x20\x9E\x81\x02\x01\x05\x64\xAD\xFD\x4A\x85\x2B\x06\x16\x03\x22\x9B\x15\x6E\xC8\x80\x6D\x42\x21\xAB\x06\x38\x01\x49\x99\xB2\x0E\x05\x05\xC9\x87\x08\x07\x32\xEF\x12\x2B\x06\x22\x03\xB0\x1A\x3D\x6C\x03\x14\xEA\x42\x97\x1F\x99\x7C\x75\x95\x05\x14\x02\x93\x9A\x77\x0B\x02\x1D\x32\x83\x02\xA8\x98\x76\x85\x61\x05\x0B\x0C\xCA\x90\x3F\x19\x01\x2F\x99\x5D\x98\x37\x80\x0A\x11\x0D\x03\xEC\x13\x62\x67\x01\x3C\x86\xB9\x99\x81\x03\xBE\x83\x95\x7D\xCB\x9A\xB5\x00\x33\xE3\x98\x6E\x91\xEC\x2F\x1F\x03\x94\x9D\x2C\x01\x04\x14\xF5\x74\x53\xA8\x98\xFC\x87\x28\x0C\x99\x92\x0C\x6F\x66\x8F\x32\xFD\x90\x7D\x2D\x4C\x01\x2D\x9D\x08\x11\x0A\x18\x65\x88\x33\xB0\x48\x7B\x09\x52\x03\x36\x9E\x6A\x8E\xCD\x91\x63\xB7\x2E\xBF\x28\xD4\x98\x60\x72\x29\x9F\x9A\x92\xAC\x69\x79\x23\x33\xB6\x30\xE5\x98\x54\x99\xB2\x70\x8A\x8F\xCE\x94\x13\x1A\x03\x71\x99\x2C\x8E\x77\x0D\x3A\x99\xBC\x86\xCD\x96\x64\xA2\x22\xB9\x02\xE3\x01\x7D\x9A\xDE\x08\x1F\x0D\xCF\x9E\x64\xA7", - "\x11\x84\x70\xF0\x00\x81\x98\xFC\x08\x01\x0F\x36\x90\x66\x87\x34\x9F\x3B\x0A\x9B\x22\x10\x06\x05\xA1\x9C\xCE\x80\x46\x96\x4A\x0A\x00\xCC\x1C\xF5\x61\xD7\x81\x49\x58\xCA\x99\x5F\xB9\x9A\x19\x9A\xE3\x87\xB7\x87\x29\x9D\x82\x0C\x36\x95\x9E\x24\x00\x4C\x1D\x6B\x36\x18\x00\xB3\x1D\xB2\x06\x04\x0F\x1B\x86\x32\x8B\x98\xAB\x26\x94\x98\x44\x06\x07\x0B\xD2\x84\x07\xAE\x34\x95\x9A\xE7\x90\xF5\x10\x10\x02\xA6\x9B\x1F\x15\x69\x85\x31\x37\x9A\xFE\x99\xBE\x7F\xB7\x1E\x09\x0C\xD3\x9C\x47\x3E\x34\xCA\x08\x40\x9A\x83\x9B\x92\x7D\x14\x2C\x05\x05\x6A\x83\x04\x68\x00\x47\x9A\xCA\x21\x52\x98\x96\x97\x46\x86\x3F\x20\x34\xF3\x3E\x51\x9B\x89\x06\x48\x98\x22\x0E\x07\x19\x61\x80\x31\x80\x00\x5D\x9B\x9C\x94\x7D\x97\x87\x96\x5A\x24\xC0\x79\x01\x4C\x1D\x11\x92\x81\x00\x20\x03\x5D\x8F\xD5\x81\x04\x15\x10\x25\x89\xF4\x92\xB7\x98\x5A\x2F\xAB\x93\x08\x15\x20\x02\x02\x04\x70\x7A\x01\xAC\x9A\x93\x80\x7D\x83\xE1\x44\xC0\x7C\x01\x7A\x9A\x5C\x8F\x88\x01\x21\x05\x82\x05\xD7\x94\x4F\x86\x02\x6F\x9A\x04\x70\x3F\x00\x5A\x9E\x02\x7F\x3B\x8E\x70\x28\x0A", - "\x86\x8E\x8B\x9A\x07\x08\x27\x05\xB1\x9A\x8F\x35\x20\x0A\x02\x5F\x9A\x88\x01\x25\x8D\x85\x28\x10\x00\xD8\x8C\xEC\x0E\x0F\x99\x9B\x43\x8A\x25\x51\x64\x9F\x20\x03\x08\x00\x6C\x9F\x02\x14\x9B\x4D\x46\xCD\x99\x5B\x95\xB3\x92\x27\x01\x1F\xA1\xA7\x09\x01\x53\x8C\x7A\x87\x68\x9B\x20\x08\x08\x00\x6C\xA2\x02\x28\x9B\x02\x03\xCB\x98\xDB\x4F\xAB\x9A\xDB\x85\x40\x6D\x60\x33\x9B\x53\x98\xDC\x99\x40\x03\x11\x07\xAA\x96\x61\x0B\x02\x2C\x9B\x74\x04\x52\x02\xF3\x84\xB8\x95\x6D\x9D\xB3\x0D\x02\x40\x9B\xF0\x0E\x53\x02\x70\x9A\xB1\x14\x99\x93\x42\x48\x37\xA5\x05\xA7\x01\xE5\x98\xAD\x91\xDB\x77\xDD\x86\x16\x29\x02\x5A\x9B\xB9\x95\x28\x0E\x24\x05\xBB\x96\x34\x0B\x05\x20\x37\xBF\x95\x7B\x08\x4A\x00\x79\x9D\x6A\x0D\x0A\x07\x6F\x86\x2B\xD1\x0C\x96\x01\xF5\x9A\xF4\x07\x15\x0E\xDE\x8D\x56\xA4\xE0\x72\x9B\x11\x03\x58\x01\x7D\x9F\x69\x9A\xB4\x3A\x04\x38\x37\x90\x02\xB3\x01\xFD\x99\xB6\x95\x7A\x2C\x09\x1F\x6F\x8A\x04\x19\x88\xE1\x52\xE6\x98\xB8\x97\x5C\x36\xE0\x87\x08\x37\x02\x02\x9C\xE6\x95\x88\x00\x28\x05\xC1\x93\x10\x19\x05\x02\x38\xEC", - "\x95\x95\x02\x51\x00\x85\x9A\x6A\x72\xE0\x92\x57\xB3\x05\x24\x01\x1B\x9D\x80\x01\x2F\x02\xC0\x99\xAF\x8A\x63\x61\x38\x80\x00\xBF\x00\x01\x9E\xBF\x97\xDC\x77\xE2\x81\x06\x02\x38\x84\x96\xDF\x1C\x55\x00\x60\x9C\x15\x00\xD8\x83\x06\x0E\x0F\x8C\x01\xC5\x9A\xA2\x2F\x89\x9D\x18\x07\xE3\x95\x6E\xAA\x27\x30\x01\x27\x9D\x24\x89\x78\x50\xC7\x99\x99\x88\x0E\xA7\x38\xC9\x01\x3D\x9D\xF0\x98\x0A\x14\x16\x07\xE2\x8B\x06\x09\x39\xE8\x9B\x24\x3D\x13\x9C\x16\x8B\xC8\x9F\x57\x9B\x23\x38\x02\x27\x9C\xCF\x01\x27\x9D\xE8\x8B\x65\x0A\x0B\x07\x71\x91\x03\x5A\x9C\x48\x97\xC2\x00\x2F\x07\xC4\x9A\x46\x94\x72\xA2\x00\xC7\x5F\x27\x9D\x6A\x00\x98\x98\x2C\x95\x4F\x07\x71\x97\x03\x6B\x9C\x65\x92\x6A\x7B\x89\x98\x8F\x86\xE6\x87\x93\x2A\x27\x44\x01\x27\x9D\x6D\x00\x9C\x9E\xC3\x90\x16\x06\x06\x27\x38\xDD\x01\x70\x9D\x12\x9D\x9D\x18\x19\x07\xE2\x85\x24\xB5\x39\xB8\x8D\x4D\x43\x13\x9D\x38\x00\xCE\x90\xE3\x85\x85\x0C\x03\x00\x9B\xCE\x00\xC0\x9B\x38\x06\x79\x8D\x08\x15\x20\x07\x02\x60\x88\xD0\x9B\xC0\x99\x3A\x30\x04\x9F\xD5\x8E\x04\x0C\x18\xFB\x08", - "\xD1\x01\x4C\x9C\x9C\x05\x1C\x03\xDD\x8F\x04\x15\x10\x30\x9B\xF4\x92\x53\x9F\x71\x77\xAB\x90\x09\x15\x20\x20\x36\xF9\x8D\x01\x8C\x61\x61\x31\x8C\x00\x72\x0D\x02\x75\xAF\x1B\x96\x0B\x9F\x9D\x28\x0F\x34\x06\xD6\x94\x27\x06\x07\x13\x37\x94\x01\x15\x08\x49\x00\x01\x74\x1A\x0C\xEB\x8C\x0A\x95\x02\x15\x08\x97\x01\xAF\x9B\xB1\x9A\x21\x09\x09\x1F\x6A\x89\x3B\xF9\x8E\x55\x43\x62\x9E\xB1\x00\x94\x8B\x94\x8F\x76\x80\xFE\x4E\x9D\x3E\x9C\x1B\x1A\x35\x02\xDA\x96\x34\x08\x07\x13\x37\xD6\x9D\x88\x8F\xEB\x5C\xB7\x9D\x6A\x09\x0E\x1F\x76\xBB\x24\xA8\x10\xD8\x01\x71\x9E\xF4\x07\x94\x85\xED\x97\x2B\xA8\x14\x6A\x9D\x86\x10\x73\x9E\x42\x03\xF3\x8A\xF1\x50\x77\xA2\xF5\x72\x9D\x59\x0F\x95\x07\x36\x06\xDE\x9A\x10\x0E\x25\xAD\x3B\xAC\x96\x4B\x02\x6E\x00\xBF\x9F\x20\x0E\x0E\x18\x77\x80\x2D\x92\x51\x03\x9E\xB1\x06\xC1\x9E\xCD\x0B\x32\x1E\x06\x09\x3C\xA7\x63\x0B\x9E\xDE\x1C\x0A\x17\x1B\x0F\xF0\x89\x28\x91\x3C\xFD\x24\x5C\x43\x8A\x9C\x00\x02\x1E\x07\xF1\x9C\x73\x8B\x05\x61\x01\x1A\x9E\x5D\x8B\xBF\x99\x4B\x9C\x07\x7A\x78\xB4\x03\x17\x9E\x2B", - "\x9C\x75\x66\xC6\x9D\x1E\x07\xF1\x8D\x74\x96\x4A\x64\x01\x99\x9D\x72\x00\x60\x9E\x1E\x03\xDD\x98\x04\x39\x38\xDF\x1D\xE7\x00\x8D\x9F\x3D\x05\xE6\x99\xED\x89\x92\x5A\x3C\xF8\x01\x3C\x9F\x22\x9C\x0A\x11\x1D\x0A\xF1\x88\x26\x8B\x25\xB6\x9E\x4A\x9C\x43\x76\xC6\x9A\x1F\x01\xF4\x90\x72\xA6\x6F\x1A\x9E\xFB\x01\xA6\x9F\x7B\x9F\x63\x3A\xF1\x8E\x26\x87\x3D\x86\x8B\x2B\x07\x76\x02\xC6\x9D\x1F\x02\xF5\x81\x73\x90\x15\x1A\x9E\xFE\x01\xAE\x9E\xEB\x8A\x3D\x1F\x0E\x1A\x78\xBF\x03\x62\x9E\xB4\x8E\xAD\x16\xC6\x98\x00\x0A\x57\x88\x7A\xA1\x16\xA8\x10\xF1\x00\x8D\x9D\x00\x05\xED\x95\x41\x18\x70\x85\x06\x72\x01\x1A\x9E\x01\x00\xDD\x9D\x63\x25\xE7\x13\x07\x1A\x3C\x83\x00\x7B\x9E\x92\x9C\x7D\x12\xE3\x94\x00\x01\x7C\x88\x3A\xEE\x37\x1A\x9E\x70\x8B\xD5\x98\xB4\x05\xA4\x39\x74\xB7\x03\x00\x9B\x06\x00\xBD\x89\xB3\x9A\x21\x0C\x09\x1F\x6A\x93\x3E\xA3\x16\x04\x71\x7C\x03\x89\x9F\x00\x0B\x5F\x97\x7C\x83\x04\x54\x87\x99\x10\x66\x1E\x3F\x89\x01\x0B\x75\x9E\x7C\x82\x04\x1E\x89\x51\x0C\x7F\x02\xE8\x99\xB0\x45\xFA\x88\x6C\xA0\x7F\x29\x46\xFE\x89", - "\x07\x00\x3F\x8D\x3C\x06\xFA\x86\xA0\x04\xE0\x04\x00\xB0\x9F\x66\x07\x04\x03\xF6\x90\x11\x15\x7D\xBE\xFB\x36\x18\x07\x01\xDC\x9E\x03\x0F\x02\x0C\xFB\x8C\x76\xA0\x1C\xEA\x13\x0A\x00\xE1\x9D\x63\x0B\x03\x05\xFC\x97\x76\x8A\x04\x69\x8E\x36\x19\x06\x02\xF2\x99\xD9\x0F\x01\x0D\x7D\x8E\x10\x84\x70\x10\x01\xE9\x9E\xDE\x0A\x04\x06\xFD\x8C\x26\xBB\x11\x13\x00\xDA\x9E\xF8\x0D\x09\x05\xFB\x92\x4D\x9B\x23\x16\x00\x61\x9F\x45\x10\x14\x00\xF9\x9F\x9A\x84\x80\x79\x00\x28\x3F\xF0\x04\x2B\x01\xF5\x9E\x37\x89\xCA\x0C\x01\x0F\x7F\xB5\x4B\x72\x9F\xE6\x89\x3D\x0B\x07\x06\xFE\x96\x4E\x18\x7F\xAD\x13\xF8\x3F\xFC\x9F\x52\x04\x0D\x05\xF9\x93\x10\x1E\x7D\x9D\x24\xA8\x10\x25\x01\x00\xA0\x63\x30\xFF\x9D\xBC\x8B\x0A\x28\x00\x0A\xA0\x46\x07\x1D\x00\x01\xA2\x20\x0E\xFB\x8D\x80\xB9\x04\x2B\x00\x10\xA1\xAA\x04\x6E\x8B\xD4\x84\x01\xBE\x22\x84\xE0\x2E\x00\x19\xA0\xE9\x07\x10\x03\x02\xA1\x10\x1E\x7D\x95\x14\x95\x2C\x31\x01\x10\xA1\x44\x07\x08\x04\x02\xA0\x00\x26\x40\x84\x70\x34\x00\x15\xA0\x44\x03\x09\x0D\x02\xBE\x7D\x9B\x14\xD1\x0C\x37\x00\x19", - "\xA3\x94\x3D\x06\xAB\x3B\x84\xC0\x7A\x00\x3A\xA0\x07\x02\x0C\x8F\x36\x8D\x03\xAA\x10\x0B\x12\x87\x3A\x29\x46\x6E\x34\x2B\x02\xE4\x9D\x82\x06\x52\x9B\x23\x3E\x00\x40\xA0\x74\x45\xAD\x8E\x26\x05\x82\x05\xF9\x94\x4F\x93\x41\x8F\x89\x7B\x09\x20\x01\xCA\x42\xAB\x80\x11\x1A\x02\x3B\x17\xD7\xA0\x97\x88\x96\x18\x14\xA2\x20\x0C\x05\x12\x82\x9D\x12\x84\x70\x46\x01\x31\xA2\xA3\x16\x0C\xA4\x4A\x84\xC0\x49\x01\x6A\xA0\x00\x00\x31\x01\x0B\xA0\x0C\xAC\x4A\x9E\x2A\x70\x41\xE3\x8C\x1C\xA1\x80\x00\x1D\xA7\xA0\x04\x80\x6F\x02\x30\x41\xFE\x8C\x79\xA1\x7B\x1F\xF1\x9E\x86\x12\x05\x10\x83\xAE\x01\x73\xA0\x64\x8E\xDE\x30\x1C\xA2\x0E\x0C\x06\xA7\x08\x06\x13\xD1\x0C\x58\x00\x38\xA3\xB0\x8B\x08\xAA\x07\xAB\x60\x84\xE0\x5B\x00\x70\xA0\x3C\x01\x23\xA5\xFC\x93\x38\x90\x83\xA0\x1B\x94\xA1\x82\xA0\x85\x00\x36\x89\xCA\x01\x06\x10\x83\xBE\x01\x1B\xA1\x02\x03\x6A\x00\x01\x74\x0C\x00\x07\xAE\x38\xA0\x42\xFB\xA0\x0C\x18\x02\x73\x19\x00\x0E\xA4\x08\x08\x85\xB0\x85\x04\x70\x6A\x00\x38\xA2\xCB\x89\x10\xA0\x0B\xA0\x00\x07\x40\xEA\x13\x6D\x00\x38\xA0", - "\xD2\x8F\x15\xA9\xCF\x84\x8C\x30\x41\x8E\x01\x88\xA1\x7F\x99\x49\x03\x0E\x00\x07\xB2\x04\x09\x43\x87\x02\x0A\x8A\x52\x64\x1C\xA3\xEF\x8C\x0B\xAF\x68\xAF\xD7\x70\xA0\x96\x8F\x6A\xA1\xC0\x8C\x87\x90\x07\xB0\x3D\x9A\x43\x84\x9E\x06\x8E\x38\xA1\xF2\x8F\x1B\xAB\x1E\x24\xC0\x42\x02\x70\xA0\xDD\x8E\x62\xA1\x11\xA4\x00\x75\x08\x08\x82\x8D\x0B\x29\x01\x7A\x8B\x5E\xA1\x13\xA4\x08\x40\x07\xAA\x05\x1B\x1D\x9B\x01\x54\xA1\xAF\x99\x15\xA7\x89\x1F\xD5\x9D\x04\x15\x10\x6E\x9E\xE3\x72\x7D\x8D\x17\x45\x82\x0E\xFB\x96\x29\x93\x05\xD2\x07\x9E\x01\xE9\x84\x01\x71\x11\x0E\x0E\xB8\x0F\x89\x44\xDE\x87\x04\x70\x45\x01\x43\xA7\x20\xA1\x11\x0F\x88\x9E\x3F\xEB\x38\x13\xA2\x81\x8C\x44\x00\x14\x06\x39\x97\x12\x8C\x02\x5B\xA0\xBF\x06\x64\x9D\xDC\x8D\x15\x0A\x57\x81\x05\x04\x44\xF1\x8E\xAE\x00\xBD\x8A\x28\x04\xA4\x94\x80\x6E\x04\x29\x8C\x66\x95\x70\x04\xD0\x9D\x71\x0F\x4A\x83\x09\x00\x89\x8E\x10\x28\x9F\x8B\x13\x2B\x85\x25\x06\x26\xAC\xCC\x02\x89\x88\xE8\x2F\x01\x7A\x8B\x52\x03\x49\xA0\x41\x70\x0B\x1C\x3E\xAC\x44\xA5\x09\x2F\xA3\xF2\x77\x29", - "\x05\x82\x02\x14\xB4\x4F\xA8\x02\x3E\xA2\xB0\x9D\x1A\x8D\x77\x4A\xAF\x8F\x14\xA6\x7E\x88\xE8\x32\x01\x7A\x8B\x54\x03\x51\xA6\xCF\x09\x14\xB8\x0F\xAA\x02\x15\x08\xAC\x01\xB1\x81\x46\xA2\x20\x02\x0A\x1C\x89\x8C\xC1\x15\x08\xAB\x00\x02\x70\x29\x03\x2C\xAB\xD7\x95\x66\x2A\x36\xD9\x2F\xA5\x00\xB3\xA2\xDE\x0B\x16\x0A\x57\x8D\x05\x15\x10\x33\x01\x04\x71\x53\x00\x5B\xA1\x38\x22\x17\xB0\x3F\x2F\x02\x6F\xA2\x4A\x36\x55\x03\x5E\xA4\xBF\x2A\x57\x9F\x8B\x8A\x04\x78\xA2\xF2\x67\x55\x01\x5F\xA5\x51\x65\x41\x12\x05\x17\x09\xAD\x01\x8B\xA2\x38\x05\x2C\x05\x82\x0E\x0A\x1F\x0D\xB0\x41\xF0\x04\x8E\xA2\x85\x03\x64\xA4\x3E\x98\x18\xA7\x08\x30\x02\x5F\x9A\xB4\x00\xC0\xA2\x69\x02\x16\x01\x19\xB2\x13\x35\x02\x7A\x8A\xA1\xA3\x5F\x68\x01\x74\x16\x0B\x17\xB5\x05\x25\x46\xF4\x04\xB6\x00\xD1\xA1\x65\x07\x16\x03\x18\xB2\x13\x36\x02\x7A\x8A\xB1\xA2\xD5\xA2\xFC\x60\x17\x0F\x1A\xA5\x15\x37\x02\x60\xA2\x9A\x95\xBD\xA3\x2E\x03\x31\xA7\x0B\x1A\x2B\xB8\x02\x15\x08\xB9\x01\xAF\x9B\x71\xA2\x21\x0B\x0B\x1F\x6A\x89\x47\xBC\x7C\x04\x71\x5E\x03\x5E\xA6", - "\x17\x0B\x18\xB8\x05\x3A\x15\xBA\x01\xC8\xA3\xAF\x98\x76\xA4\x39\xAF\xD5\x8D\x8E\x87\x38\xB2\x84\x97\xA3\x04\x11\x05\x0F\x37\xA4\x9F\x9D\x05\x15\x10\x3F\x01\x04\x71\x61\x01\x6D\xA7\x28\x86\x1E\xA2\x85\xBF\x10\xEB\xA3\x4C\x82\xF4\xA1\x73\x27\x4A\x85\x0C\x1D\x8D\x86\x0B\x40\x01\xB2\xA3\xC2\x03\x31\x06\x3E\xA6\x34\x19\x05\x3B\x17\xF8\xA3\x87\xA2\x02\x71\x32\x03\x2F\xAA\x0C\x0B\x8C\xBB\x02\x7A\x8A\xC1\x01\x0A\x0B\x30\x07\xAB\x99\x20\xB8\x82\x91\x19\x4C\x01\xFC\xA3\xAA\x04\x2F\x03\xBF\x8D\x20\xA7\x08\x1D\x46\xA8\x10\xCE\x01\xBD\xA3\x33\x03\x31\xA4\x7F\x8B\x4A\x82\x03\x0A\xA4\x5F\x9B\x0F\xA6\x83\xA1\x89\x41\x21\xB2\x1E\x3F\x02\x7B\x8B\x22\xA4\x0B\xA4\x01\x73\x1A\x0B\x17\xB4\x06\x0B\x46\xC1\x01\x7A\x8B\x05\xA4\x2B\x4C\x00\x76\x0D\x01\x8F\xB4\x09\x44\x01\x15\x08\x00\xA5\x54\xA1\xE1\x83\x07\x55\x20\x0B\x03\x57\x84\xD9\x01\x12\xA5\x44\x06\x18\x09\x1F\xB3\x0B\x1B\x03\x42\xA4\x10\x02\x61\x03\x7E\x8C\x48\xA1\x20\xBB\x23\x1D\x03\x7B\xA2\xDE\x01\xC5\xA0\x31\x02\xAF\x87\x0C\x15\x20\x0A\x03\x5F\x9A\x55\xA5\x11\xA5\x8E\x68\x49", - "\xA2\x0A\xBB\x2F\x99\x49\x98\x9F\x7C\x60\x2E\xA7\x41\x07\x18\x0E\x25\xB7\x8B\x98\x12\xFB\xA2\xE5\x01\xC5\xA1\x32\x04\x4A\xA5\x41\x1C\x05\x04\xE0\x67\x01\x7B\xA2\x74\x03\x62\xA5\xFF\x8B\x94\x88\x06\x16\x49\xDF\x9A\x76\xA4\x2D\xA4\x66\x6A\x4C\xA3\x10\x0B\x06\x3B\x17\xF9\xA4\x60\xA4\xDB\x44\x9F\xA2\x20\x0D\x0C\x1F\x93\xA6\x49\xFB\x08\xEE\x01\xBD\xA3\x3B\x03\x31\xAF\x0C\x1A\x2B\x80\x4A\xDA\x76\x04\x71\x78\x03\x5E\xA2\x1E\x0B\x18\xB0\x06\x3A\x15\xC9\x01\x77\xA4\xFA\x90\xA6\xA2\x4F\xA5\xE7\x14\x07\x03\x4A\x81\x02\xD1\x01\xFD\x8B\xA6\xA7\x20\x0E\x26\xBB\x23\x36\x03\x7B\xA2\xF7\x01\xC5\xA3\x34\x02\xAF\x87\x25\xB3\x91\x87\x13\xB6\xA4\xA5\x05\x1F\xA6\x42\x04\x49\xAB\x23\xA5\xDF\x4C\x03\x45\xA4\x60\x02\x7E\x03\xA7\xA0\x00\x04\x0D\x1A\x2B\xB7\x4A\xDB\x6E\x04\x70\x7F\x03\x60\xA3\x57\xAE\x0C\x18\x95\x8B\x05\x01\x00\xB2\x17\x91\x52\x5E\x8D\x58\xA0\x2C\xB2\x9F\x42\x00\x32\x17\x5C\xA1\xC6\x6B\xCD\x98\x15\x59\x2C\xAD\x16\x06\x20\xCB\x92\xCF\x01\x9E\x9E\x44\x75\x5A\xAF\x54\x9A\x2B\x99\x4B\xC2\x9E\xEA\x12\x03\x00\xB7\xA0\xC3\x2E", - "\x2D\xA7\x77\xAA\x27\x07\x00\xE3\xA4\xE8\x71\xB9\xA0\x28\x9B\x47\x08\x00\x29\x4B\xED\x8A\xEB\xA4\xA3\x93\x83\x17\x5D\xA0\x9E\x71\x97\x9B\x39\xFB\x08\x0A\x00\x7A\xA7\x5E\x8E\x5E\xAE\xF5\x80\x0B\x0B\x00\x7A\xA5\x82\x8A\x7E\xA7\xD8\x9C\x2E\x30\x30\xAB\x2C\x82\x4C\xE9\x9E\x7A\x25\x82\xA4\x12\x37\x60\xA1\xE1\x8C\x0C\x8A\x4C\x98\x8B\x07\xA6\xBB\x9F\x5C\x07\x01\x0F\x30\xBE\x2C\x87\x4C\x9E\x9E\x39\x02\x08\x01\xC5\xA4\xB4\x87\x30\xA2\x74\xAA\x20\x9B\xA6\xAB\x8B\x83\xA5\xCA\x99\x38\x70\x32\xB2\x2D\x87\x4C\xAE\x9E\xD5\x27\x09\x02\xBE\xA4\x02\x00\x2D\xB0\x08\x25\x03\x7A\x8A\xD0\x01\x0A\x09\x33\x04\x00\x76\x01\x05\x99\xBC\x48\xA0\xA5\x15\x09\x98\xA4\x7D\x92\x1A\x05\x41\x1F\x96\xB5\x4A\xF8\x83\xD3\x01\x0A\x0A\x2A\xA2\xCA\x16\x33\xA0\xC2\x15\x10\x59\x01\x57\x84\x0C\x01\xCB\xA6\xCE\x35\x41\x18\x06\x1F\x35\xD6\x01\xC6\xA5\x9C\x02\x06\x03\x69\xA9\x2B\x5B\x2F\x90\x4D\xCD\xA5\xF4\x9E\x7D\xA5\x07\x04\x6A\xA5\xD1\x7A\x2B\x97\x03\x4D\xA6\x5F\x9B\xAF\xA4\xA7\xA7\xDB\x1F\x01\x1C\x9A\xBA\x1D\x69\x01\xFB\x8A\xB1\xA5\x1B\x64\x00\x71\x02", - "\x1A\x97\xA2\x00\x66\xA6\x01\x03\x75\x02\x5E\x8E\x69\xAE\x4D\x64\xC0\x64\x00\x45\xA6\xD1\x71\x0A\x0B\xD5\xA7\x67\xA4\x11\xBA\xCE\x55\x10\x67\x01\x5F\x9A\x6D\x01\x05\x08\x1D\x01\x38\xA5\x3F\x85\x4E\x8A\x02\xEA\x01\xAF\x98\x37\x05\x82\x0B\x0D\x04\xC0\x65\x00\x32\x17\x12\xA7\xAB\x51\x05\x0B\x71\xA4\x9F\x9E\x06\x15\x10\x5D\x01\x5F\x9B\x6F\x01\x05\x0E\x72\xA4\x9F\x80\x07\x0C\x4E\xAE\x8A\x90\xA7\xF2\x75\x38\x05\x82\x0A\x39\xB4\x4F\xA2\x03\x15\x08\x9E\xA6\xFA\x93\x38\x07\x73\xAB\x47\x0D\x01\x21\x4E\xF8\x83\xE4\x01\x0A\x0B\xEA\xA4\x3E\x95\x0E\x15\x20\x31\x4E\xF4\x93\xE6\x00\xD6\xA5\x66\x37\x75\xAD\x37\xAE\xE8\x6D\x04\xDF\x9A\x84\xA7\xE9\x77\x57\x99\x1D\x05\x41\x15\x9D\xB4\x27\x89\xA7\x82\x09\xAF\x9B\x3A\x05\x82\x0F\xFF\x81\x88\xB1\x3A\xE7\x5F\x1E\xA0\xFA\x93\xF2\xA2\x21\x07\x03\xAE\x9E\x92\x45\xF0\x0F\xED\x01\x0A\x08\x3B\x04\x00\x75\x03\x10\x9B\x9A\x3A\xD4\xA7\x15\x09\xEC\xA4\x7D\x95\x79\xA7\x06\x24\xC0\x77\x00\x5E\xA7\x6D\x84\x78\x02\xF6\xA4\x00\x79\x03\x08\x9F\xB7\x3A\xD1\xA1\xC2\x99\xAF\x9A\x3C\x04\x79\xA4\x80\x7B", - "\x01\x38\x4D\xF9\x7A\x7A\x8B\xF9\xA6\x42\x00\x7E\xA2\x32\x77\x9F\x83\x04\x6D\x01\xF9\xA7\x3A\x88\x01\x75\x07\x0E\x3F\xBF\x83\x7A\x15\xF4\x01\x15\x08\x7D\x03\x95\x86\x07\x0E\x3E\xB4\x13\x35\x03\x53\xA5\x96\x24\x20\x01\x01\xA8\x2E\x4A\x57\x8F\xA0\xAE\x2A\xD1\x0C\x41\x01\x09\xA8\x00\x00\x1E\x05\x41\xBB\x6E\xAA\x27\x42\x00\x1A\xA9\x78\x01\x07\xA9\xE9\x94\xD8\x5A\xA0\xB2\x03\x23\xA8\x4E\x9E\xF5\x10\x11\x02\x83\xA3\x0F\x08\xA1\x93\x3D\xF3\x2F\x1A\xA8\x7A\x02\x0B\xAE\xBE\x91\x65\x06\x02\x1A\x50\xF5\x01\x33\xA8\xFE\x9A\x69\x07\x08\x0A\x41\xB6\x07\x39\x50\x83\x9C\x15\x2C\x24\x02\x06\xAF\x1E\x0F\x43\xA1\x52\x95\xF5\x1A\xA8\xF8\x01\x1F\xA9\xC3\xA3\x68\x0A\x41\xB9\x07\x3F\x50\x91\xA7\x80\x6C\x0D\xAA\x3E\x07\x87\xA8\x31\xA5\x09\x0C\x01\x1A\xA8\xFB\x01\x1F\xAA\xC7\xA5\x14\x2D\x04\x1A\xA0\xBC\x03\x3F\xA8\x23\xA7\x52\x22\x13\x02\x83\xAD\x0F\x1F\xA1\xA8\x4C\x95\x2C\x4F\x00\x7D\xA4\x14\x06\x7B\xAE\x0F\x1A\x2B\xB6\x03\x15\x08\xF7\x01\xAF\x9B\x1B\xAE\x77\xA9\xBE\x6E\xA3\x83\x4E\xF1\x8E\x2E\xA1\xA5\x93\x1C\xAF\xA5\x71\x77\x81\x00", - "\x0D\x21\x9C\x04\x7B\xA8\x75\x79\xDC\x8A\x00\x0F\x47\xB6\xFE\x4D\x2C\x80\x0C\xB2\x16\x32\x93\x2E\x90\x00\x01\x47\xB1\xF3\x6A\x1D\x89\xA9\x9C\x83\x45\xA9\x23\xAB\x15\x75\x18\x08\x03\x32\x2E\x45\x5D\x34\x90\x1D\x4F\x24\xAB\x16\x7A\xB4\x34\x03\x17\x52\x82\x21\x4D\x90\xFE\x47\x26\xAC\x17\x76\xED\x1F\xA4\x8E\x10\x39\x00\xA1\xA8\x43\xA8\x19\x9D\x7A\x2C\x08\x06\xA5\x97\xCE\x29\xA9\xBA\x7E\x36\x98\x09\x70\x92\xA3\x70\x52\xA4\xA8\x0A\x92\x94\xAE\xA9\x07\x7C\x2C\xAE\xCB\x8C\xB4\x9B\x23\x2F\x02\x39\xA9\x7A\x0E\x38\x03\x2E\xAB\x20\x03\x4A\xBA\x15\xBD\x99\x40\xA9\x7A\x45\x61\xAA\x40\x05\x98\xA3\x2C\x95\x73\x07\x03\x48\xA9\x45\x10\x46\x02\x32\xA9\x20\x0C\x4C\xAB\x16\x8A\x6D\x53\x01\xD0\xA8\x38\x06\x26\x03\x9A\xAC\x48\xB7\x64\xBB\x11\x5F\x01\xD9\xA8\x39\x04\x2A\x04\x9B\xAC\x4C\xBB\x16\xA5\x04\x6B\x01\xB2\x16\xF5\x62\x2D\x05\x09\x92\x5C\x4C\xA6\xA4\x0B\xB9\x02\xF8\x01\x70\xA8\x9D\x05\x18\x04\x4E\xAB\x17\x95\x5E\x56\x1A\xC5\x5C\x52\x92\x26\xAC\x79\xA2\x53\x56\x6A\x13\xB1\x61\x01\xB6\xA8\xC9\x95\xC0\x46\x9F\xA7\xE8\x21\xA8\x89", - "\x33\xCA\x36\x26\x00\xAB\x1A\x7A\x63\x1F\x0D\x84\x94\x4F\x4C\x53\xD2\x99\x93\x14\x85\xAA\xD0\x3A\x1C\x9E\x50\xA8\x5D\xB6\x23\x78\xA9\xF3\x0A\x71\x92\x28\xAD\x82\x0B\x31\x93\x0B\x0C\x01\x18\xAA\x0C\x1E\x8D\xAA\x2A\xAF\x9C\x9F\xED\x18\x02\x12\x54\xCE\x8B\xE2\x91\x76\xAA\xCA\x82\xC4\x00\x52\xBF\xDA\x62\x54\xB1\xA9\x9B\x91\xEA\x25\x1C\x05\xA5\xA0\xFA\x0F\xA9\xBC\x52\xCA\xA1\x11\x03\x3E\x03\x49\xAD\xB1\x02\x06\x14\xA8\xA3\x54\xD6\x97\x4A\x36\x45\x03\x4E\xA9\xD9\x02\x07\x1E\xA9\xB0\x54\xB8\x91\x11\x03\x4B\x03\x50\xAA\xEF\x0B\x95\x8E\x5F\x94\x53\xD6\xA1\x61\x3B\xA5\xA8\xFC\x0A\x12\x06\x54\xB7\xA9\xB0\x2F\xA5\x21\xB1\x00\xA9\xA8\x68\x21\xA5\xAF\x53\xA3\x1B\xA5\x42\x3E\x01\x5A\xAA\xC9\xA0\x57\xAF\xA8\xA1\x8D\x85\x85\x0B\x03\x34\xAA\xB1\x70\xAB\x19\x65\x08\x18\x06\x53\xA4\xA6\xB0\x34\xA8\x0A\x68\xAB\x80\x01\x39\x02\xAD\xA0\x11\x0E\x06\x2D\x55\xCB\xA9\x15\x08\xD6\x76\x64\x39\xAE\xA7\x93\x14\xAB\x8A\x04\x5C\x01\x77\xAB\xA7\xA8\x3C\x96\x52\x25\x0F\x1C\xAB\x81\x00\x22\x01\xE1\x52\x75\x01\x60\xAD\x9B\xAB\xD4\x96\x94\x03\x00", - "\x08\xAB\x3B\x5F\x07\x00\x64\xAE\xAB\x58\x0F\x0B\xAC\x8C\x53\x80\x82\xFD\x6D\xC9\xAB\xFA\x96\x03\x0A\x59\xA9\x6B\x46\x00\x57\x96\xC2\x4A\x7C\x03\xDF\xA1\xEE\x85\x01\x17\x5A\x9C\x08\x22\xAB\x0A\x03\xE0\xA4\xDF\xA7\x2F\x76\x5A\xB0\x08\x28\x56\xFC\xA8\x08\x74\x99\x97\x52\x97\xB5\xA2\x48\xA8\xD0\x58\x00\x2D\xAB\x88\x87\x09\x90\x01\x70\x04\x0D\x59\xA6\xE9\x5A\x44\xE9\x7F\x15\x08\x0B\xAB\x6A\xA8\x44\x82\x3D\x1B\x07\x0C\x41\xEC\xA6\xBD\xAB\xB4\x99\x22\x65\xEE\x91\xD7\x06\x88\x99\x26\x3D\xAB\xD1\xA5\x83\x02\x3F\x00\x82\xA6\xD2\x89\xAE\x8C\x7D\x38\xAB\xD2\xAA\x6D\xA5\x29\x25\x04\x06\x5D\xA9\x2C\x58\x57\x83\x02\xD3\xAA\x70\xA6\x0D\x1E\x04\x0D\x5D\xAB\x7E\x9F\x57\x82\x02\xE1\xAA\xCF\x93\x93\x45\xBC\xA9\x6C\x1C\x00\x27\x57\x81\x02\xE9\xAB\xD1\x91\x94\x08\x05\x0C\x5E\xBA\x3B\x1D\x00\x6F\xAB\x00\x01\xF8\xA9\x6A\x91\xB8\x35\x5F\xB3\x44\x38\x57\xFA\xAB\xAF\x92\xC4\x0D\x7F\xAD\x08\x1F\x01\x1F\xAF\x93\x06\xAB\x06\x2B\x01\x01\xAC\xD6\x2E\xC0\xA7\xE6\x95\x9E\x2C\x00\x0A\xAC\x72\x05\x10\x00\x83\xAB\xC1\x98\x2A\x30\xB0\xB4\x09\x22", - "\x00\x13\xAC\x9D\x1E\xCF\x3E\xC2\xA5\x2A\x1E\x59\x8B\x25\x80\xAC\x18\x9F\x63\x28\x87\xAE\x58\x04\x02\x19\xB0\xAE\x16\xA5\x21\x30\x01\x11\xAE\xD1\x05\x04\x06\x62\xAE\x3A\x8A\x29\x2A\xAC\x55\x06\x13\x01\x8B\xAF\x64\x0B\x3A\x30\xB1\x92\x0F\x27\x00\x33\xAD\x33\xA9\x9F\x2B\x06\x03\x60\xB4\x01\x10\x57\xB9\x1B\xF8\xAB\x7F\x00\x75\xAD\xC2\x26\x03\x16\xB1\x91\x04\x29\x00\x41\xAC\xED\xAA\xA5\x27\x06\x06\x64\xAE\x7B\x09\x59\xE2\xAB\x75\x1C\x1C\x01\x93\xAD\x9B\x0F\x64\xAA\xAF\xA8\x20\x39\x00\x53\xAD\x56\x21\x95\xAA\xBE\xA8\x82\x1A\x01\x19\x59\xEB\x23\x5B\xAD\xFD\xAA\x7A\x13\x07\x0F\x65\xB4\x5D\x21\x59\x81\xAC\x24\x1B\x32\xAD\x40\x07\x05\x07\x66\xB8\x5A\xBD\xC4\x6A\xAC\x76\x1D\x36\xAE\x6E\x96\x1D\x10\x67\xB1\x01\x2D\x59\xC6\xA8\x75\x1D\x1F\x00\x9C\xAA\x06\x0D\x66\xAB\xA2\x91\x06\x70\xAC\x33\x01\x36\xAC\x14\xA9\x27\x01\x04\x10\xB3\xB4\x00\x6D\xAC\x55\xA9\x88\x02\x10\x00\xCE\xA5\x03\x0D\xB3\x9B\x51\x96\x25\x43\x00\x38\xAE\x0D\x05\xCD\xA1\x46\xB6\x94\x04\x01\x70\xAC\x37\x01\x36\xAE\x8E\xA9\xFB\x25\x04\x03\xB0\x86\x01\x3F\xAC", - "\xFF\x28\xFC\xA9\x3F\x88\x44\x64\x80\x68\x02\x30\x59\xF0\x04\x01\x01\x77\x1D\x73\xAD\x14\x2D\x26\x8B\x5A\x71\x35\x29\xAD\xF4\x93\x01\x01\x73\xAF\xAB\x94\x00\x11\x6B\x20\x58\xCE\xAB\xC4\xAB\x88\x01\x01\x01\xAE\x12\x13\xA8\x41\x09\x01\x20\xAD\x7F\x96\xFC\xAB\xAE\xA8\x22\xA5\x0E\x40\xB6\x89\x1B\x3A\x00\xC2\xAD\xB8\x18\x5C\x99\xCA\x0D\x04\x06\xB6\xBA\x1D\x3B\x00\x57\x97\xCA\x0B\xB0\xAC\xCA\x5D\x07\xAE\xB6\xB0\x1F\x3D\x00\xD1\xAC\x88\x03\xB4\xAF\x0E\x95\x61\x96\xB6\x85\x21\x3F\x00\xD9\xAC\xC6\x01\x5C\x18\xA2\xA3\x05\x1E\xB6\xB0\x09\x41\x00\xE1\xAC\xCF\x01\x5C\x18\xFA\x9C\x14\x66\xB7\xB2\x09\x43\x00\xC9\xAD\xEB\x9F\x58\x26\xDD\xA4\x27\x04\x02\x31\x5B\x97\xA2\xA8\x1C\x7A\xAE\xBE\x4F\xDE\xAC\x09\xA8\x41\x1B\x01\x7A\xAD\xEB\x1A\x7E\xAC\xFB\x9F\x4E\x40\x70\xA6\x1A\x07\x01\x02\xAE\xF3\x9E\x14\x13\x17\x05\xE0\xA5\x35\x08\x02\x08\x5C\xF9\x9F\xA4\xA0\x86\xAE\xF4\x01\x09\x0F\x70\xA4\x9F\x97\x35\x12\xAE\x11\x02\x25\x01\xBA\xAD\x27\x01\xD7\x1F\x85\xB6\x30\x65\x00\x18\xAE\x88\x00\x13\x07\xE1\xA6\x01\xA5\x09\x27\x01\x21\xAE\xF0", - "\x0B\x8D\xAF\x53\x01\xAE\x15\x72\xB1\x08\x29\x01\x28\xAE\x6F\x3C\x95\xAC\x59\x01\xAE\x1C\x3F\xB6\x61\x2B\x01\x30\xAE\x79\x14\x99\xAF\x5D\x01\xAE\x17\x02\xBD\xB3\x2D\x01\x38\xAE\x02\x03\x29\x02\xCE\xAB\xDB\xA7\xBE\x96\x94\x2F\x01\x40\xAE\x25\x43\xA1\xAD\x5C\x1D\x7A\xAA\x4B\x48\xBA\x96\x4F\x4A\xAE\x7C\x88\x02\x73\x1C\x06\xE9\xA9\x05\x0F\xB8\xB3\x43\xA8\x10\x75\x00\xA7\xAE\x16\x00\xBF\xA7\x00\x11\x6B\x06\x00\x2B\xAD\x96\x25\x3B\x02\xD3\xAA\xCF\x6E\x75\xA0\xBB\x95\x4F\x79\x00\x63\xAE\x39\x05\x02\x05\xEC\xAC\x03\x49\xBB\xB4\x09\x0A\x00\x6C\xAE\x16\x5A\xDB\xAD\x54\x0B\x00\x11\xBB\x88\x50\x73\xAE\xC6\x04\x06\x02\xDD\xAA\x3D\x11\x08\x18\xBB\xA6\x05\xFB\xAE\xE4\x32\xBF\xAD\xD5\x06\x01\x00\x78\xB5\x73\x05\x02\x02\xAF\xD2\x07\x07\x01\xE1\xAF\xDB\x17\x08\x08\xBC\x91\x04\x10\x00\x8B\xAF\x52\x21\x22\x06\xF1\xAA\x23\x11\xBC\x96\x4A\x0B\x01\x94\xAF\x08\x06\xE5\xAD\x7A\x2D\x08\x19\xBC\xA1\x08\x71\x1A\x62\x82\x5A\x66\xD3\xAB\x0B\x08\x5F\xB3\x00\x3C\x5A\x84\x70\x91\x01\xDE\xAA\x3F\x8C\x0B\x0A\x73\xA6\xBD\x84\x5B\xD1\x0C\x94\x00", - "\xD5\xAF\x0D\x45\xF5\xAA\x6C\xAB\x1D\xB2\x5E\xAB\x26\x57\x97\x77\x1E\xEB\xAC\xDA\xAC\xAE\x17\xBD\x8D\x16\x63\x00\xB9\xAE\xE0\x03\xB8\xAD\x7A\x8E\x7B\xBD\xA2\x01\x5F\xC2\x81\xC3\xAF\x79\x15\xF1\xAD\x16\x87\x7C\xBF\xBC\x8F\x3F\xEC\x82\xCB\xAE\x66\x34\xED\xAA\xDE\xAA\xC2\x71\xBE\x85\x21\x6E\x00\xD3\xAE\x7C\xAE\x86\x3E\xFA\xA0\x27\x10\x03\x19\x5F\xFD\xAD\xEA\x12\x56\x00\xF7\xAA\x4E\x02\x07\x1F\xBE\x83\x5C\xE9\x3A\xE3\xAE\x3A\x04\x1D\x06\xFC\xA9\x70\xAA\xAB\x29\x5F\xA5\x05\x76\x97\xF0\x53\xEE\xAB\x20\x03\xA0\x88\x41\x35\x02\x6F\xAF\x6F\x28\xF6\xAE\x09\x13\x3C\x88\x7F\xA6\x1A\x3A\x01\x4D\xAF\x53\x05\x8E\xAE\x80\x85\xFF\xA0\xDD\x5A\xBF\xAD\x5C\xC4\x23\x04\xB0\xE9\x07\x1F\x00\x00\xB2\x10\x13\xBF\x82\x14\xA8\x10\xC1\x01\x04\xB1\x44\x02\x10\x0C\x80\xAE\x3A\xB4\x5C\xBF\x88\x12\xB0\xC5\x05\x05\xB0\x00\x0E\x80\xAC\x2D\x51\x19\x47\x01\x19\xB0\x85\x00\x22\x03\x03\xBD\x81\xAF\x28\x8D\xBF\x21\xB0\x07\x03\x45\x00\x09\xB3\xE9\xA4\x80\x6D\x06\x28\x60\x83\x02\x8E\x01\x15\xB1\xD4\xAE\xDC\x0F\x82\xB6\x1C\x3A\x5F\xD7\xAE\xEA\x13\x69", - "\x01\x0D\xB7\x08\x2A\x73\xB5\x00\x20\x5E\xB4\xA4\x70\xAD\x4A\x00\x7E\xAE\x07\xBA\x10\x1D\xB5\xBF\x2B\xCE\xAE\x96\x01\x1E\xB1\x5C\x18\x27\xAA\x9E\x19\x06\x0E\x5D\x98\x01\x4A\xB1\x36\xA0\x62\x3E\xE9\xAA\x09\x1B\xC0\x84\x61\xBC\xAF\x42\x3C\xA7\xAD\x27\x06\x0A\xB9\x7C\xB1\x32\x1F\x03\x4E\xAE\xA0\x00\x2E\xB1\xE6\x95\x24\x01\x0E\x0E\xBA\xA3\x02\x62\xB0\xBE\x88\x02\x73\x38\x06\xE9\xA6\x0A\x11\xC2\x8E\x42\x84\x70\xE5\x00\xA7\xAC\x2A\x06\x0D\xBC\x76\x2F\x93\x8E\x5D\xAA\x01\x74\xB1\x0F\x88\x99\x7E\xE9\xAC\x0A\x19\xC3\x81\x04\x23\xA1\xE6\x36\xA7\xAE\x2B\x06\x0F\xB0\x00\x03\x9A\x9D\x8B\x4E\xAE\xB0\x00\x42\xB1\xFD\xAC\xEC\x9E\x74\xB2\x05\x04\x62\x96\xAE\x75\x1D\x78\x02\xD3\xAC\x16\x08\x86\xB3\x27\x84\xE0\x73\x01\x4E\xAF\x5B\x00\x21\xB7\x00\xBE\x71\x0E\xBA\xB9\x02\x15\xB1\x0F\xB0\xD0\x6A\xD3\xAC\x17\x00\x8A\xA9\x28\x99\x3E\xCE\xAE\xBF\x01\x52\xB2\x09\xB0\x05\x1B\x0F\x0E\xBA\x82\x03\x2A\xB1\x3D\xAF\xEC\x2D\x3F\x06\xE9\xA5\x0C\x0A\xC5\x8C\x5D\xAE\x1C\x4E\xAE\x64\x02\x2A\xB0\xA4\x8A\x9E\x01\x00\x23\x02\x50\x9D\x74\x05\x65\x00", - "\x21\xB0\x07\xB8\x5A\x7F\xC5\xA7\x9F\x4D\x05\xCD\x00\x9D\xAE\x05\x01\xAE\x14\x01\x06\xBB\xAB\xB2\x46\xB1\xC7\x61\xDE\xA6\xBB\x01\xAE\x19\x01\x0E\xC6\xBD\x59\x06\x00\xD0\xB1\x89\x7A\x34\xB2\x5F\x01\xD7\x1A\x00\x16\x63\x8E\x5D\xD9\xB1\x75\x63\x29\x11\x1C\xB3\x8E\x9C\x96\x31\x35\x18\x00\xDF\xB0\xA5\x36\x02\x04\x1C\xBA\x5C\xB9\x0F\xA7\x63\xE9\xB1\xA6\x03\x05\x00\x3B\xB5\x7C\x7B\x01\x14\xC6\xB0\x63\x95\x03\x0C\x00\x72\xB1\x74\xAB\x9E\x68\x5F\xB5\xC7\x83\x09\xF7\xB1\x85\x02\x07\x02\x3E\xB6\x23\x03\x90\xBC\xB0\x78\x57\x9D\x00\x71\x1A\x0E\x00\x40\xB3\x2E\x02\x01\x13\xC7\xB8\x07\x88\xB2\x8C\x09\x85\xB0\x58\x03\x02\x0E\x90\xA2\x90\x47\x64\xDD\xB1\x12\xB3\xA5\x00\x05\x05\x22\xB1\x16\x05\xC8\xAD\xC1\x78\xAB\x1E\x01\x84\xB1\x46\xB1\x27\x07\x01\x1C\xC8\xB9\x5A\x90\x02\x21\xB3\x88\xB3\x1E\x08\x03\x06\x92\xBB\x03\x60\x64\x98\xB2\x7B\x09\x0C\x01\x4B\xB1\x3F\x8E\x91\xA3\x08\x14\x03\x78\xAB\x1F\x01\xB8\x19\x08\x03\x24\xB6\x76\x13\xC9\xAD\x09\xBB\xB2\x2A\xB3\x28\x0D\x07\x05\x26\xBC\x82\x1A\xB9\x80\x65\x95\x84\x3C\xB3\x88\x03\x07", - "\x04\x28\xB1\x10\x01\x01\x0C\x65\xC3\x71\x3A\xAE\x11\x01\x5C\x1B\x04\x09\x94\xA5\xDF\x70\x09\x52\xB2\x5B\x85\xAA\xB0\x7E\x85\x4B\x16\x8F\xBB\x23\x23\x00\x4F\xB2\x18\x58\x9D\xAC\x55\xB7\x1F\xB5\x8D\x0F\xCA\xA7\x00\x4F\xB2\xDB\x00\x9D\xAC\x09\x03\x2A\xBA\x95\xBB\xC6\x9B\x2A\x71\x1A\x25\x01\xB6\xB3\x6F\xA8\x83\x11\xD7\x00\x01\x32\x65\x82\x02\x29\x00\x9F\xB3\xAD\x9E\x04\x01\xD7\x0B\x01\x37\x65\xFC\x49\x60\xB3\x8F\x7D\x5C\x1F\x04\x0F\x97\xBF\x9E\x8D\x16\x28\x00\x3F\xB1\x3D\x08\x0B\x01\x30\xB4\x27\x1D\x06\x3A\x5C\x88\xB3\x45\xB1\x0F\xA0\x39\xB6\x9F\x8F\x0D\x1B\xC0\x90\x66\xFF\x05\x04\x71\x18\x03\x64\xB7\xCF\x36\x99\xB5\xBD\x89\x77\x1B\xB3\x0E\x09\x72\x03\xD5\x95\x3C\x07\x99\xB5\x83\xA8\x20\x37\x00\xA0\xB3\xC6\x09\x3A\x03\x34\xB9\xDB\x1D\xC2\x9D\x59\xA9\xB3\xC9\x0D\x76\x00\x6B\xB1\xB8\x1E\x9A\xAA\x4F\x3D\x00\x30\xB3\x7A\x0F\x78\x03\x6C\xB2\xB9\x1B\x6E\xA4\xC0\x40\x01\x38\xB3\x31\x2D\xCE\xB0\xF5\xA8\x05\x13\x04\x00\xCE\x9B\x27\x42\xB3\xDA\xAE\x1B\x1A\x11\x06\x38\xB0\x27\x1B\x07\x08\x67\xE0\xAF\x55\x7A\xE6\xB2\x9C\x06", - "\x1F\x0F\x9C\xA7\xBF\xB7\x17\xD2\xB3\x74\x05\x00\x00\xFF\x97\xDD\x15\x9A\xA9\x85\xBD\x41\xD8\xB3\xA5\x04\x02\x03\x76\xB5\x35\xBE\xA7\x44\xC0\x52\x01\x60\xB3\xC6\x05\x03\x03\x78\xB4\x36\xB2\x85\x24\xC0\x55\x01\x68\xB3\x46\x06\x05\x00\xFF\x94\x34\xB2\x80\xBB\x23\x18\x01\x70\xB3\x83\xAF\xF5\xB0\x6F\xB0\xA7\xAA\x3A\x58\xCF\x92\x0F\x11\x00\xF3\xB2\xF2\xB1\x2A\x96\x1C\x5E\x9F\xB1\x08\x18\x2F\x81\xA1\xDD\xB2\x53\xB1\x04\x25\x40\xB1\x4A\x01\xD0\xAC\x67\xC8\xAA\x13\x1C\x06\xB6\x77\x0E\x41\xBB\x9F\xB0\xD0\x88\xA2\x12\xB4\x07\x03\x10\x00\x85\xB6\x7B\x1C\x82\xBD\x33\x98\x68\x83\x02\x25\x01\x0D\xB4\x77\x1A\x27\xB5\x98\xAD\x03\x3A\x65\xF4\x04\x29\x00\xFE\x94\x87\x01\x41\xB0\x00\x1C\xC5\xB6\x30\x6E\x00\x1F\xB4\xA2\x1E\x7E\xB4\x43\xB3\x48\x83\xA9\x31\x68\x81\x02\x2D\x01\x19\xB4\x5E\xB3\x30\xB5\x98\xAD\xB5\x9F\x5D\x09\xB3\x51\x0C\x3A\x00\x63\xB5\x54\x00\x03\x15\x61\x81\x04\x29\x00\xA7\xAE\x80\x77\x8D\xB0\x00\x02\x03\x1A\xD1\x87\x69\xCB\xB0\x66\x9B\x25\xB5\x0D\x06\x49\xB7\x1A\x1E\xCC\x99\xEC\x4B\xB4\x38\x00\x11\xB7\x93\xB3\xAE", - "\x9B\x47\x1F\x03\x0B\x69\xBC\x00\x5A\xB5\x2A\xB7\x18\xB3\x02\xBB\xA4\xA0\x02\x21\x69\xC8\xB4\x63\xB4\xC5\x07\x92\xB4\x08\x07\xA6\xBD\xCD\xAE\x58\x4B\xB4\x48\x00\x2A\xB4\x9A\xB7\x0D\xBB\x47\x0B\x04\x0B\x69\xCB\x00\x72\xB5\xB8\x18\x47\xA0\x92\x0B\xA4\xAE\x02\x39\x69\xB3\x52\xA8\xAF\x25\xB5\x14\x07\x4F\xB7\x10\x00\xC4\xA5\x2B\x4B\xB4\x54\x00\x42\xB7\x40\x06\x10\xB8\x82\x17\x04\x0B\x69\xD7\x00\x8A\xB4\x81\x03\x22\xB6\x86\x1A\x09\x0B\xD2\x9A\x01\x11\xB5\xB7\xA1\x3D\x09\x27\x03\x49\xBD\x05\x0D\xD3\xB5\x08\x60\x87\x4B\xB5\x30\x00\xA6\xB5\xF0\x4E\x7C\x8B\xD2\x8E\x30\x81\xA1\x73\xB4\xA0\xAA\x69\x06\x14\x0B\xA4\xA8\x03\x1E\x6A\xD0\xA1\x04\x71\x54\x03\x92\xB4\x0D\x0F\xAA\xBE\x5E\x99\x5F\x2C\x01\x4B\xB4\x38\x01\xAD\xB5\xE8\xA5\x3D\x2F\x05\x0B\x69\xF4\x00\xBB\xB4\xF6\x4C\x04\x8B\x49\xB8\x07\x01\xD6\x80\x00\x47\xB2\xF6\xAF\x13\xB5\xA9\x04\x0F\x0A\xA2\xB4\x3B\x31\x35\x2E\xB4\x75\x1C\x5B\x03\x92\xB5\x0F\x03\xAA\xA4\xC6\xB5\x39\x39\x01\x4B\xB5\x10\x98\x28\xA2\x05\x0C\xA3\xB4\x4F\x9C\x6B\xE3\xA6\xA5\x20\x5E\x03\x90\xB6\x58\x03", - "\x08\x06\xD2\x97\x3D\x49\xB4\x51\x0C\x5F\x03\x92\xB5\x10\x04\xA5\xBF\xD6\x98\x66\xBC\x52\x4B\xB4\x44\x01\xBB\xB6\x4A\xBB\x57\x2B\xD2\x8B\x02\x61\xB4\xEE\xB4\xD3\xB2\x7A\x17\x18\x0B\xA4\xAF\x04\x38\x6B\xB5\xB3\x99\x39\x25\xB7\x24\x07\x5F\xB9\xA6\xBE\x42\x0B\x69\x97\x01\x04\xB7\x34\xB2\xB9\x0B\x49\xBB\x09\x13\xD7\x83\x67\xB9\xB0\x4B\xB4\x4F\x02\xC3\xB1\x39\xB5\x80\x8B\xD2\xA1\x02\x13\xB6\xD0\xB3\x82\x97\x92\xB4\x14\x08\xB1\xB6\xCE\x81\xD3\x4B\xB4\xA7\x01\x8E\xB5\xFB\xAC\xB2\x2B\xA4\xAA\x05\x22\x6C\x90\xAE\x17\x45\x25\xB5\x2B\x07\x64\xB0\x89\xBF\x76\x25\x03\x4B\xB4\xB0\x01\x84\xB6\x25\xB5\x2A\x3B\xA4\xB4\x05\x27\x6C\x9C\xB1\x07\x03\x75\x03\x92\xB7\x16\x02\xB3\xA1\xC5\xB4\xDE\x4B\xB4\xBB\x01\x9E\xB6\x82\xB6\x43\x2B\xA4\xBF\x05\x02\x6D\xAB\xB1\xEA\x12\x7A\x03\x92\xB3\x18\x07\xB4\xB1\xC5\x8A\x6D\x77\x01\x4B\xB5\x63\x03\xD1\xB7\x16\xB5\xE7\x1A\x07\x0B\x69\xCB\x01\x47\xB6\x68\xB7\xB7\x1D\x1F\x0B\xA4\xAF\x06\x27\x6C\xD6\xB5\xDF\x1C\x00\x00\x29\x00\x14\xA0\x27\x12\x06\x14\x69\xFE\xB2\x0F\xB4\xEB\xA7\xCD\xA5\x20\x21\xD7", - "\x0E\x01\x05\x66\x83\x00\x63\xB7\x5C\x61\xF9\x74\x05\x01\xD7\x10\x01\x05\x66\x84\x00\x71\xB7\x68\xB3\x5C\xB5\x83\x8D\x97\xBD\xD1\x98\x9B\x79\xB6\xD8\x91\xE5\x4D\xB3\xB5\xDF\x1F\xAC\xA5\xCC\x87\x00\x00\xB7\xF7\x88\xFC\x82\xDD\xB5\x9B\x0E\xB7\xAF\xBB\x88\x6E\xE5\xB1\x90\x6F\xC1\xB6\x4C\x8D\x70\xBA\x17\x4F\xDC\xBE\x13\xBB\x24\xEF\x1D\x6C\x06\x54\x02\x7A\x04\xEF\x85\x0C\x1D\x6E\xF3\x02\xE1\x2B\x92\x03\x2C\x16\xB1\x0C\xA7\x25\xDD\xA6\x00\xA6\xB7\x85\x03\xD9\x05\x49\x07\x33\x05\x12\x05\xC6\x2D\x6E\xF1\xB1\xB0\xB7\xCA\x02\xEB\xB1\x22\x03\xBB\xBA\x09\x26\x06\x19\xB7\x11\x03\xCA\x09\x49\x04\x43\x05\x12\x02\x4D\x7B\x0E\x26\x03\xBE\xB6\xB0\x01\xF0\xB3\x29\x01\x3F\x05\x09\x25\x07\x26\x03\x39\x02\xA0\x2D\x49\x03\x6D\x35\x12\x02\x74\x8D\x6F\xA6\x03\xFC\x47\x92\x00\x7D\x52\x7A\xB6\x1A\x13\xDE\x9D\x12\x26\x03\xC2\x4B\x92\x01\xF6\xB1\x22\x0C\xBC\xB1\x08\x0E\x6F\x91\x02\xD1\xB7\xC7\xAE\x69\x05\x19\x4A\xBD\xA6\x0D\x23\x28\x85\x03\xE7\xB7\xB9\x01\xFA\xB2\x6F\xB8\x3D\x1B\x8F\x3F\x03\x3C\xB7\x11\x02\xF8\xB4\x44\x02\x7E\xB0\x8C\xAA", - "\x0A\x3D\x14\xC2\xAC\xA6\x02\xDD\xB5\xEE\xB7\x76\xBA\x1D\x1A\x4D\x7F\x03\x6F\x1D\xC7\xB6\x00\xBA\x4C\x80\x22\x01\xC0\xBC\x92\x03\x70\xE1\x53\xA3\xAC\x04\xBB\xBB\x1A\x77\xBB\xC0\xA7\xE0\xB2\x6D\x90\x02\xEF\x1C\xDE\xB5\x04\xBE\x81\xBC\xBE\xB0\x27\xAA\x13\x90\xB8\x18\xB9\x0C\xBA\x38\x8A\x83\xB7\xC1\xA0\x85\x99\x6E\xAA\xAD\x14\xB8\xB0\x00\xBB\x94\x49\x9F\x0F\x07\xDE\x88\x12\x73\xB7\xBA\xAC\xED\x00\x4F\x27\x1F\x0C\xBA\xA9\xE1\x8B\x25\x96\x22\x38\x03\xB9\x93\x3F\x02\x75\xB1\x11\x13\x1D\x3C\x6E\xB6\xB8\x11\x03\x3B\x2C\xF8\x27\x1F\x03\xA5\x19\xE1\x8C\x23\x3E\xB8\xDC\x36\x34\x1D\x5F\x44\xC9\x1E\xC0\x23\x9F\x21\x00\x40\xB8\x19\xB4\x24\xBB\x40\x07\x88\xB6\x12\x10\x08\x0C\x71\xC6\xB8\x4A\xB8\x81\x03\x13\xBF\xF3\x1A\x91\x11\xE2\xA3\x24\x56\xB8\x2C\x12\x2C\xBA\x08\x02\x8B\xBC\xC5\xAD\xE2\x88\x70\xF1\x07\xCC\xB6\x30\xB8\x16\xB9\x8C\xB2\x27\x23\xE3\xA6\x71\xDE\xB8\x3B\x5E\x21\xBA\x0C\x82\x8D\xB2\x10\x19\xDE\xB1\x0F\x53\xB7\xF1\x06\x37\xB9\x05\x50\x8B\xB2\xC7\xA9\x52\x6C\x71\xD6\x03\x58\xB8\x38\xBA\x47\x04\x8E\xB9\xC7\xB8\xE2", - "\xA5\x04\x71\x07\xE4\xB6\x40\xB8\x16\xB9\x90\xB9\x79\x23\xE4\x86\x72\xE8\xB8\xFB\x21\x3B\xBA\x6F\xAC\x88\xB3\x6C\x18\xE2\xA0\x00\x0E\xB9\x90\xB8\x44\xBA\x40\x07\x03\x08\xC5\xB4\xE4\x92\x72\x86\x03\x95\xB8\x2C\xB9\xF4\xB1\x7E\x0B\xC9\xAC\x0C\x9A\x72\x9F\xB9\x97\xB9\x70\x4C\x28\xBB\x7C\x27\xBC\xB1\x1F\x19\x6E\xF1\x07\xC5\xB7\xF8\x07\xE8\xB1\x7E\x0C\xBA\xB1\x1F\x0E\x6F\xAE\xB9\x58\xB9\x57\xB8\x70\x01\x96\xB8\xC5\xA3\xDE\xA2\x5A\x01\x02\xB6\xB8\x45\xB9\x2E\xB9\x7E\x0B\xCB\xBA\x11\x35\x72\xBF\xB9\xA1\xB8\x09\x00\x16\xBA\x98\xB1\xCC\xA3\xE6\x86\x73\xC5\xB9\xC8\xB9\xF1\x24\x31\xBA\x99\xB0\xCC\xAC\xE6\xA1\x72\xBD\xB9\x11\x04\x2C\xBB\xE7\xB4\x91\xB1\x10\x13\xE6\x93\x2E\x5C\xAC\xD4\xB8\x00\x03\xFA\xB7\x9A\xBA\x29\x18\xE2\x96\x00\x5E\xB9\x58\xB8\x82\x96\x22\xBA\x9C\xB1\x3F\x09\x3C\x94\x71\xDC\x1C\x58\xB9\x17\x94\x37\xB8\xCD\xA7\xCE\xB9\x0F\x98\x71\x9A\x00\x58\xB8\x3C\xAE\x22\xBA\x9D\xB7\xCB\xAE\xE7\xA1\x72\xF2\xB9\x11\x0A\x2C\xB9\x06\x00\x8B\xB8\x01\x1C\xE7\xB4\x72\xCF\xB9\xC7\xB9\xF1\x26\x35\xBD\x9E\xBB\xCD\xB5\xE7\x9F", - "\x73\xA1\xB9\xE4\xB8\x88\x02\x39\xB9\x9B\xB4\xCF\xAA\xE4\xB0\x73\xF7\xB9\xFA\xB8\x7F\xB9\x28\xB9\xE5\x9A\xC8\xB4\xE8\xB1\x0F\x16\xBA\xB6\xB7\x50\xB8\x09\x00\x8B\xB1\xBA\xB1\x1F\x1D\x74\x90\x02\xA1\xB7\xD2\x33\x43\x02\xA4\xBC\x10\x13\x45\x3C\x6E\xA6\xBA\x11\x03\x59\x12\xEE\xB2\xA5\xB9\xD2\xBA\xB6\xAD\x74\xB8\x1C\xC3\x2B\xB7\x9C\x27\x2F\xB4\x88\x73\x04\xE0\xAF\x74\xF6\x9C\xA5\x28\x50\xA0\x67\x35\x83\xB1\xD3\xA0\xDD\x9A\x07\x43\x38\xFF\x01\xF0\x28\xEF\xB2\xA8\xB1\x11\x04\xEA\xA0\x74\xA6\x03\x9D\x3E\x70\x3F\x3F\x00\xE8\x29\xB9\xAC\xEA\x91\x04\x40\x2E\xBC\xB6\xA8\xBB\x53\xBE\x80\xBD\xB7\x14\xEA\x9C\x6F\x4D\xBA\x28\xB9\xAA\xB8\x02\xBA\x79\xB4\xBB\xBA\x0E\x33\x86\x7F\x01\xC5\x31\xCC\xB5\x58\xBD\xAB\xBF\xC2\xA5\xC6\x3C\x6E\xC5\x31\xBA\xB6\xB4\xB8\x59\xB8\xA7\xB3\x30\xA1\xB1\xB1\xF1\x09\xB7\x77\x43\xB3\xBA\x55\xBF\xAD\xBE\xD6\xA0\x5A\x8B\x6F\xDA\x03\xFB\x45\x7F\x03\xDA\x34\x77\xBB\xD7\xBC\xDE\xB3\x75\xB2\x80\xBA\xB7\xBE\xB9\x19\xB8\x81\xBD\xBD\xA5\xE4\x85\x0E\x7F\x55\xFF\x01\x66\x42\xEA\xB2\xB1\xB7\xBD\xAF\xE1\x8D\x83", - "\x3C\xB7\xCD\x41\xCC\xB5\x64\xBD\xB1\xB2\xD3\xAB\x5F\xAC\x6E\xCD\x41\xBA\xB6\xCC\xB8\x65\xBC\xA6\xB3\x6B\x47\xDE\x8C\x76\x86\xBB\x0F\xB9\x59\x4E\x64\xBE\xA5\xB0\xDA\xBE\x6A\x7D\x2F\x9E\xBB\xD0\xB6\xED\x00\x7C\x57\x1F\x0C\x3F\x5C\xDD\xAD\x76\xE0\xB7\x59\xBA\x1D\x4D\xF9\xB5\x70\x02\x5C\x5B\xDC\x82\x97\x3C\xB7\xB7\xBB\x88\x01\x6E\xBB\x8E\xB5\x19\x14\x4F\x67\x05\x3E\xBB\x52\x02\xFA\x50\xEF\xB2\xB8\xB2\xBE\xAF\xE1\x96\x6F\xBE\xB9\x85\x06\x5B\xBB\xE6\xB6\x96\xBC\xBB\xAC\xEE\x91\x04\x4E\xBB\xC8\xBB\xC2\x03\x32\xBC\x93\x03\xDD\xB9\x1B\x3F\x03\x55\xBB\xE2\xB1\x68\xBB\x0B\xB8\xBB\xBB\xC8\xA2\x08\x1C\x77\xBC\xB7\xDF\xBB\x88\x00\x77\xBF\x79\xB5\x38\x0F\xB4\xA3\x04\x02\x9D\xBC\xB6\xF4\xBA\xF7\xB1\xB6\xB2\xF8\x93\x0B\x03\x74\xE7\x02\xEF\xBA\xA9\x03\x40\xBD\x24\x05\xD0\xA7\x0B\x35\x77\xD2\x02\x05\xBA\xFA\xBA\xF9\xB3\xBF\xB5\x19\x07\xE8\x87\x12\x7E\xBB\xD1\x07\x7F\x00\x80\xB8\x2C\x03\xE0\xAB\x0A\x05\x78\xB9\x02\x07\xBD\x92\x01\x82\xBB\x39\x86\x1A\x15\xB4\x8A\x05\x0E\xBC\x18\x02\x8A\xB9\xF1\x04\xBD\xB8\x23\x5A\x0E\x3D\x73\xA9", - "\x05\xFF\x01\x0B\xBD\x61\x02\xC3\xB3\x17\x1C\xF0\xA0\x05\x1E\xBC\x4B\x02\x10\xBD\x4E\x02\xC4\xB5\x12\x04\xF1\x91\x04\x26\xBC\x10\x02\x14\xBF\x34\x3E\x34\x0A\xE2\xA7\x08\x2D\x78\xD0\x08\xDA\x03\x7D\xB8\x86\xBA\xC6\xB1\xDA\xB2\x27\x26\x06\x34\xBC\x15\xB9\x80\x03\x43\xBF\x90\x0B\xE3\xA1\xF0\xBD\x78\xDA\xB1\x15\x84\x0A\xBC\x5D\x02\xC8\xBA\xE3\xA4\xF2\xB6\x73\xB5\xBC\xD2\x0A\x23\xBF\x8F\xB9\xBB\xB1\xE4\xB5\x0C\x0B\x79\xD2\xA6\xA6\x03\x27\xBD\x49\x02\xCA\xB1\x11\x14\xF2\xBD\x22\x51\xBC\x58\xBC\x27\xBE\x69\x00\xCF\xA7\x16\x1C\xF2\x92\x05\x72\xB9\xB7\x0D\x2D\xBE\x98\xBF\x85\xB8\x67\xBC\xDD\xA5\x79\xE1\xBC\x64\xBC\x23\xBF\x99\xBE\xD4\x06\xE4\xB4\xE7\xA7\x05\x6E\xBC\x52\x03\x86\xB9\x44\x02\xCE\xB8\x8C\x16\xE3\x5A\x07\x0B\xBA\xE6\x07\x7F\x00\x9E\xB9\x81\xB0\x65\xBC\xDD\xBB\x79\xBA\xB7\x7F\xBC\x53\x77\x5F\xBA\x20\x0B\xE7\xBE\xF3\x83\x7A\xE8\xB9\x95\x03\x3D\xBD\x49\x03\xCF\xB7\xBC\xAC\xF4\x82\x7A\xBA\xBA\x85\xBD\x47\xBF\x31\xB2\xA1\xB6\xE7\xA1\x84\x80\x00\x7B\xBC\x99\xB7\x48\xBC\xA5\xB8\x81\xBA\xE8\xB2\xF4\x9C\x76\xEA\x0B", - "\xDA\x03\x4D\xAC\x43\x02\x9C\xBA\x94\xBA\x0E\x16\x72\xDF\x07\xFF\x01\x53\xBF\x5C\x02\xD5\xB0\x16\x0C\xF5\x8B\x05\x2E\xBD\x39\x02\x58\xBD\x49\x02\xD6\xB5\xEA\xB5\x0C\x34\x7A\xC8\x84\xCA\x80\xED\x03\x23\xB8\xC3\xBB\xEB\xA8\xF2\x8D\x72\xAF\xB8\xBD\xBD\x1C\xBC\xEA\x0E\xC8\xB1\xEC\xA0\xF2\xBA\x1E\x44\xBD\xC8\xBC\x04\xB9\xB1\xB9\xAD\x53\xEC\xAA\xF6\x87\x7A\xCD\xBD\x93\xBD\x20\x13\xB3\xBB\xD9\xB0\xB9\xB0\xF6\xB3\x05\x54\xBD\x25\x02\x6C\xBD\x44\x02\xDB\xBE\xC4\xBA\x0E\x13\x71\xD6\xBB\xDF\xBC\xB8\xB9\x12\xBA\xA7\xB1\xEE\xB5\xEB\x92\x71\xB6\xBA\xDD\xBC\xBE\x9F\xB1\xB6\xC8\x21\x11\x05\xF7\xAA\x6E\xE5\xBD\xBC\xB6\x78\xBD\xBB\xBE\xC8\xB5\xEE\xA5\xDE\xB5\x7B\xF3\xBD\xE3\x27\x75\xBC\x4C\xBB\x89\xB4\xDA\xA5\x82\xBD\x7B\xE3\xBD\x43\xB9\x73\xBD\x10\xBD\xDC\xBA\xBC\xA4\xF8\xB8\x7B\x81\xBE\x4D\xB2\xAD\xBA\xBF\xBB\xE0\xBA\xF0\xA0\xF8\x85\x71\x8E\xBE\x8A\x33\x83\xBC\x54\x5A\xE2\xB1\xF1\xA9\xF7\xB7\x65\x0B\xBE\x17\xBE\x88\xBD\x5B\xBA\xDF\xB4\xD7\xBC\xF8\xA6\x76\xE5\xBD\x25\x03\x72\xBC\xF9\xB5\xDC\xB3\xBA\xA5\xF7\x91\x6F\xE5\xBD\xCC", - "\xB7\x2D\xB9\xE1\x02\xE5\xB8\xEA\xAC\xF9\xB3\x05\x2E\xBE\x60\x02\x98\xBD\xC4\x66\x34\x02\xF3\xB9\x09\x35\x7C\xA5\x02\x37\xBF\xB8\x0E\x76\x03\x04\x09\x1C\x1F\x07\x3C\x7C\x95\x03\x3F\xBF\xC2\x01\xD0\xBB\x2E\x03\xF4\xA0\x0B\x05\x7D\xCB\x02\x47\xBF\x9C\x01\xD2\xBD\x24\x0B\xF4\xA1\x12\x5A\x07\x1B\xBA\x18\xBC\xA8\xBD\x61\x02\xEA\xB3\x17\x14\xFA\xA0\x05\x56\xBE\x4B\x02\xAC\xBD\x4E\x05\x04\x0A\x1D\x1C\xFA\x98\x78\xDE\xBE\x85\x02\xB0\xBF\x5C\x02\xEC\xB0\x16\x04\xFB\x8B\x05\x66\xBE\x5B\xBE\xD3\x00\xDA\xBD\x24\x06\x02\x1A\x0E\x2D\x7D\x98\xBC\x6F\xBF\xC2\x01\xDC\xBB\x2E\x03\xF7\xA0\x0B\x35\x7D\xCB\x02\x77\xBF\x9C\x03\x09\x02\x3B\x0B\xF7\xB8\xF0\xBD\x7D\x85\x03\x7F\xBF\xB9\x01\xE0\xB8\x2C\x03\xF8\xAE\x80\x9A\x07\x28\x00\x3D\xBE\xC4\xBD\x65\x02\xF1\xB5\x18\x0C\xFC\xB3\x05\x0E\xBF\x60\x03\x14\x02\x76\x02\xF2\xB8\xE1\xB4\xFC\x85\x06\x16\xBF\xC2\xBC\x15\x02\x76\x02\xF3\xB8\xE1\xBC\xFC\xA7\xBA\x26\x03\x9E\xBF\xB9\x01\xE8\xB8\x2C\x03\xFA\xAB\x0A\x25\x7E\xB9\x02\xA7\xBF\x92\x01\xEA\xB9\x22\x0B\x02\x1A\x0E\x2D\x7E\x98\xBC\xAF\xBF", - "\x68\xBF\x41\x01\xF6\xB2\xEC\xB4\xFD\x86\x7B\xB9\x87\xA6\x02\xDB\xBF\x52\x04\x05\x0A\x1D\x1C\xFD\x98\x78\xBE\xBF\x85\x02\xE0\xBE\xB0\xBA\xF8\xB0\x16\x04\xFE\xBB\x7E\xC6\xBC\x2D\x00\xED\x01\xF2\xB8\xC3\xBB\xFC\xA5\x0C\x0D\x7F\xF3\x02\xCF\xBE\xB0\x01\xF4\xBB\x29\x03\xFD\xB9\x09\x15\x7F\xA5\x02\xD7\xBF\x88\x02\x0B\x02\x3B\x0B\xFD\xB8\xF0\x9D\x7F\x85\x03\xDF\xBF\xB9\x01\xF8\xBC\x16\x36\x1A\x03\xFF\x8B\x05\x66\xBF\x39\x02\xF4\xBD\x49\x07\x05\x0A\x1D\x0C\xFF\x98\x78\xEE\xBF\x85\x02\xF8\xBE\x6E\x06\x34\x02\xFF\xA0\x0B\x35\x7F\xCB\x02\xF7\xBE\x8D\x64\xFD\xBB\xFF\xB5\x19\x19\xFF\xAB\x7F\xA6\x03\x30\x00\xED\x01\x00\xC0\xC3\xB3\x00\xC5\x0C\x05\x80\xF3\x02\x07\xC0\xB0\x01\x02\xC3\x29\x0B\x00\xD9\x09\x0D\x80\xA5\x02\x62\x8B\x43\x09\x04\xC1\xC0\xB3\x01\xD7\xFD\x81\x04\x15\xC0\x4B\x02\x0C\xC1\x77\xB8\x51\x1A\x1D\x12\x01\x3D\x7C\x9E\xC0\x95\x02\x10\xC1\x61\x02\x04\xC3\x17\x04\x01\xE0\x05\x26\xC0\x4B\x02\x14\xC1\x4E\x02\x05\xC5\x12\x0C\x01\xD1\x04\x2E\xC0\xBD\x02\xED\x03\x0C\x05\xE7\xB3\x03\xD5\x0C\x35\x80\x85\x03\x34\x00\xED", - "\x01\x0E\xC0\xC3\xBB\x03\xD8\x01\xE6\x06\x3D\xC0\x73\x02\x20\xC0\x58\x02\x08\xCB\x14\x04\x02\xF9\x04\x46\xC0\x25\x03\x1A\x02\x76\x02\x09\xC8\xE1\xAC\x02\xC5\x06\x4E\xC0\x73\x02\x28\xC0\x58\x02\x0A\xCC\xEC\xB4\x02\xDB\x80\xB6\x25\xCF\xBC\x2B\xC2\xEE\xB2\x0B\xC1\x11\x16\x02\xFC\x6E\xDE\xC0\x11\x02\x1B\x02\x76\x02\x0C\xC8\xE1\xA4\x03\xC5\x06\x37\x00\xDA\x02\x34\xC0\x86\xBA\x0D\xC7\x06\xC6\x0D\x2C\x81\xF3\x02\x6F\xC0\xB0\x01\x1C\xC3\x29\x08\x03\x1A\x0E\x35\x81\x98\xBC\x77\xC1\xC2\x01\x1E\xC3\x2E\x0B\x07\xC0\x0B\x3D\x81\xF4\xC0\xB5\x75\x40\xC1\x65\x01\x07\x0A\x1D\x04\x04\xD8\x78\x86\xC1\x90\x8A\xD3\x00\x22\xC3\x2E\x0B\x08\xC0\x0B\x0D\x82\xCB\x02\x8F\xC1\x9C\x01\x24\xC4\x77\xB3\x09\xD1\x08\x15\x82\x90\x02\x97\xC0\xE7\x02\x91\xB9\x13\xC7\x10\x1C\x04\xC3\x04\x3A\x00\xDA\x02\x50\xC0\x86\xBA\x14\xC5\x18\x04\x05\xF3\x05\x26\xC1\x60\x02\x54\xC0\x01\x0B\x3B\x0A\x1D\x1B\x01\x3D\x7C\xAE\xC1\x95\x02\x58\xC1\x61\x02\x16\xC3\x17\x14\x05\xE0\x05\x36\xC1\x4B\x02\x1E\x02\x76\x02\x17\xC8\xE1\xBC\x05\xDB\x70\x87\x8C\x1C\xB9\x18\x51", - "\x30\xC2\x20\x0E\x0B\xDC\xE9\x82\x83\xAF\xB8\xC5\xC0\x0B\xBB\x31\xC6\xD7\xB1\x10\x09\x06\xCC\x7B\xCE\xC1\xD5\xBC\x68\xC2\xEE\xB0\x1A\xC5\x12\x10\x06\xD9\x6E\xD0\xC1\xBC\xB6\x69\xC2\xDE\x5D\x27\x6A\x1D\x1D\x01\x3D\x7C\xDE\xC1\x2F\xB8\x70\xC0\x33\xC1\xE8\x2F\xEC\xA2\x07\xD7\x17\x26\x03\x3E\x00\xED\x01\x3A\xC0\xC3\xBB\x0E\xC5\x0C\x2D\x83\xF3\x02\xEF\xC0\xB0\x01\x3C\xC3\x29\x03\x0F\xD9\x09\x35\x83\xA5\x02\xF7\xC1\x88\x03\x0F\x02\x3B\x0B\x0F\xD8\xF0\xBD\x83\x85\x03\xFF\xC1\xB9\x01\x40\xC0\x2C\x03\x10\xCB\x0A\x05\x84\xB9\x02\x07\xC3\x92\x01\x42\xC2\x1F\xC6\x1A\x1E\x68\x8F\x04\x0E\xC2\x0C\x02\xF8\x4E\xEB\xB0\xFE\x41\xBA\xB0\x3F\x6A\x6E\xF0\x4F\xC7\xB6\xF8\x4C\xEB\xB0\xFE\x45\xBC\xB0\x3F\x7A\x6E\xF0\x4F\xCA\xB6\xF8\x4D\x49\x00\xFE\x49\xB9\xB0\x3F\x63\x6E\xF0\x4F\xBC\xB7\xAD\x84\xED\x02\x25\xCB\xB9\xAA\x09\xCF\x10\x26\x03\x42\x00\xED\x01\x4C\xC0\xC3\xB3\x13\xC3\x07\xF5\x84\xF3\x02\x43\x00\xED\x01\x4E\xC0\xC3\xBB\x13\xC5\x0C\x3D\x84\xF3\x02\x44\x00\xED\x01\x50\xC0\xC3\xB3\x14\xC5\x0C\x05\x85\xC0\xC2\xA6\x03\xA3\xC0\x58", - "\x02\x29\xCB\x14\x05\x02\x1A\x07\x4E\xC2\x18\xBC\xA8\xC1\x61\x02\x2A\xC3\x17\x14\x0A\xE0\x05\x56\xC2\x4B\x02\x23\x02\x76\x02\x2B\xC8\xE1\xBC\x0A\xC5\x06\x5E\xC2\x73\x02\xB0\xC2\x05\xC0\x00\x02\x16\xCC\xF2\xA0\x05\x00", - }; - vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); - } - - const wchar_t* ParserRuleName(vl::vint index) - { - static const wchar_t* results[] = { - L"_Type", - L"_CtorFragment", - L"_LetVariable", - L"_VirtualExpression", - L"_BeginBoundary", - L"_EndBoundary", - L"_SetTestingOperator", - L"_ExpPrimitive", - L"_Exp0", - L"_Exp1", - L"_Exp2", - L"_Exp3", - L"_Exp4", - L"_Exp5", - L"_Exp6", - L"_Exp7", - L"_Exp8", - L"_Exp9", - L"_Exp10", - L"_Exp11", - L"_Expression", - L"_SwitchCase", - L"_Block", - L"_ElseStat", - L"_If", - L"_ForOperator", - L"_VirtualStatement", - L"_CoStatement", - L"_CoProvider", - L"_StateSwitchHead", - L"_StateSwitchArgument", - L"_StateSwitchCase", - L"_StateStatement", - L"_Statement", - L"_StateInput", - L"_StateDecl", - L"_StateMachine", - L"_Attribute", - L"_Namespace", - L"_FunctionArgument", - L"_FunctionArgumentList", - L"_FunctionStat", - L"_FunctionBody", - L"_FunctionKind", - L"_Function", - L"_Variable", - L"_Event", - L"_Property", - L"_BaseConstructorCall", - L"_ConstructorType", - L"_Constructor", - L"_Destructor", - L"_ClassBody", - L"_Class", - L"_EnumItemInt", - L"_EnumItemA", - L"_EnumItemB", - L"_Enum", - L"_StructMember", - L"_Struct", - L"_APConfig", - L"_AutoPropertyKind", - L"_AutoProperty", - L"_CastResultInterface", - L"_DeclarationCandidates", - L"_Declaration", - L"_UsingFragment", - L"_UsingItem", - L"_UsingPath", - L"_ModuleBody", - L"_Module", - }; - return results[index]; - } - - const wchar_t* ParserStateLabel(vl::vint index) - { - static const wchar_t* results[] = { - L"[0][_Type] BEGIN ", - L"[1][_Type] END [ENDING]", - L"[2][_Type]< \"::\" @ NAME >", - L"[3][_Type]< \"::\" NAME @ >", - L"[4][_Type]< \"bool\" @ >", - L"[5][_Type]< \"char\" @ >", - L"[6][_Type]< \"const\" @ _Type \"[\" [ _Type ] \"]\" >", - L"[7][_Type]< \"const\" _Type \"[\" @ [ _Type ] \"]\" >", - L"[8][_Type]< \"const\" _Type \"[\" [ _Type @ ] \"]\" >", - L"[9][_Type]< \"const\" _Type \"[\" [ _Type ] \"]\" @ >", - L"[10][_Type]< \"const\" _Type @ \"[\" [ _Type ] \"]\" >", - L"[11][_Type]< \"double\" @ >", - L"[12][_Type]< \"float\" @ >", - L"[13][_Type]< \"func\" \"(\" @ { _Type ; \",\" } \")\" \":\" _Type >", - L"[14][_Type]< \"func\" \"(\" { _Type ; \",\" @ } \")\" \":\" _Type >", - L"[15][_Type]< \"func\" \"(\" { _Type ; \",\" } \")\" \":\" @ _Type >", - L"[16][_Type]< \"func\" \"(\" { _Type ; \",\" } \")\" \":\" _Type @ >", - L"[17][_Type]< \"func\" \"(\" { _Type ; \",\" } \")\" @ \":\" _Type >", - L"[18][_Type]< \"func\" \"(\" { _Type @ ; \",\" } \")\" \":\" _Type >", - L"[19][_Type]< \"func\" @ \"(\" { _Type ; \",\" } \")\" \":\" _Type >", - L"[20][_Type]< \"int\" @ >", - L"[21][_Type]< \"interface\" @ >", - L"[22][_Type]< \"object\" @ >", - L"[23][_Type]< \"observe\" @ _Type \"[\" \"]\" >", - L"[24][_Type]< \"observe\" _Type \"[\" \"]\" @ >", - L"[25][_Type]< \"observe\" _Type \"[\" @ \"]\" >", - L"[26][_Type]< \"observe\" _Type @ \"[\" \"]\" >", - L"[27][_Type]< \"string\" @ >", - L"[28][_Type]< \"uint\" @ >", - L"[29][_Type]< \"void\" @ >", - L"[30][_Type]< NAME @ >", - L"[31][_Type]< _Type \"*\" @ >", - L"[32][_Type]< _Type \"::\" @ NAME >", - L"[33][_Type]< _Type \"::\" NAME @ >", - L"[34][_Type]< _Type \"?\" @ >", - L"[35][_Type]< _Type \"[\" @ [ _Type ] \"]\" >", - L"[36][_Type]< _Type \"[\" [ _Type @ ] \"]\" >", - L"[37][_Type]< _Type \"[\" [ _Type ] \"]\" @ >", - L"[38][_Type]< _Type \"^\" @ >", - L"[39][_Type]< _Type \"{\" \"}\" @ >", - L"[40][_Type]< _Type \"{\" @ \"}\" >", - L"[41][_Type]< _Type @ \"*\" >", - L"[42][_Type]< _Type @ \"::\" NAME >", - L"[43][_Type]< _Type @ \"?\" >", - L"[44][_Type]< _Type @ \"[\" [ _Type ] \"]\" >", - L"[45][_Type]< _Type @ \"^\" >", - L"[46][_Type]< _Type @ \"{\" \"}\" >", - L"[47][_Type]<< \"(\" !_Type \")\" @ >>", - L"[48][_Type]<< \"(\" !_Type @ \")\" >>", - L"[49][_Type]<< \"(\" @ !_Type \")\" >>", - L"[50][_CtorFragment] BEGIN ", - L"[51][_CtorFragment] END [ENDING]", - L"[52][_CtorFragment]< _Expression @ [ \":\" _Expression ] >", - L"[53][_CtorFragment]< _Expression [ \":\" @ _Expression ] >", - L"[54][_CtorFragment]< _Expression [ \":\" _Expression @ ] >", - L"[55][_LetVariable] BEGIN ", - L"[56][_LetVariable] END [ENDING]", - L"[57][_LetVariable]< NAME \"=\" @ _Expression >", - L"[58][_LetVariable]< NAME \"=\" _Expression @ >", - L"[59][_LetVariable]< NAME @ \"=\" _Expression >", - L"[60][_VirtualExpression] BEGIN ", - L"[61][_VirtualExpression] END [ENDING]", - L"[62][_VirtualExpression]< \"$\" \".\" @ NAME >", - L"[63][_VirtualExpression]< \"$\" \".\" NAME @ >", - L"[64][_VirtualExpression]< \"$\" @ \".\" NAME >", - L"[65][_VirtualExpression]< \"$coroutine\" @ [ \"(\" NAME \")\" ] _Block >", - L"[66][_VirtualExpression]< \"$coroutine\" [ \"(\" @ NAME \")\" ] _Block >", - L"[67][_VirtualExpression]< \"$coroutine\" [ \"(\" NAME \")\" @ ] _Block >", - L"[68][_VirtualExpression]< \"$coroutine\" [ \"(\" NAME \")\" ] _Block @ >", - L"[69][_VirtualExpression]< \"$coroutine\" [ \"(\" NAME @ \")\" ] _Block >", - L"[70][_VirtualExpression]< \"bind\" \"(\" @ _Expression \")\" >", - L"[71][_VirtualExpression]< \"bind\" \"(\" _Expression \")\" @ >", - L"[72][_VirtualExpression]< \"bind\" \"(\" _Expression @ \")\" >", - L"[73][_VirtualExpression]< \"bind\" @ \"(\" _Expression \")\" >", - L"[74][_VirtualExpression]< \"new\" @ _Type \"(\" \"using\" _Expression \")\" >", - L"[75][_VirtualExpression]< \"new\" _Type \"(\" \"using\" @ _Expression \")\" >", - L"[76][_VirtualExpression]< \"new\" _Type \"(\" \"using\" _Expression \")\" @ >", - L"[77][_VirtualExpression]< \"new\" _Type \"(\" \"using\" _Expression @ \")\" >", - L"[78][_VirtualExpression]< \"new\" _Type \"(\" @ \"using\" _Expression \")\" >", - L"[79][_VirtualExpression]< \"new\" _Type @ \"(\" \"using\" _Expression \")\" >", - L"[80][_VirtualExpression]< FORMATSTRING @ >", - L"[81][_BeginBoundary] BEGIN ", - L"[82][_BeginBoundary] END [ENDING]", - L"[83][_BeginBoundary]\"(\" @", - L"[84][_BeginBoundary]\"[\" @", - L"[85][_EndBoundary] BEGIN ", - L"[86][_EndBoundary] END [ENDING]", - L"[87][_EndBoundary]\")\" @", - L"[88][_EndBoundary]\"]\" @", - L"[89][_SetTestingOperator] BEGIN ", - L"[90][_SetTestingOperator] END [ENDING]", - L"[91][_SetTestingOperator]\"in\" @", - L"[92][_SetTestingOperator]\"not\" \"in\" @", - L"[93][_SetTestingOperator]\"not\" @ \"in\"", - L"[94][_ExpPrimitive] BEGIN ", - L"[95][_ExpPrimitive] END [ENDING]", - L"[96][_ExpPrimitive]< \"::\" @ NAME >", - L"[97][_ExpPrimitive]< \"::\" NAME @ >", - L"[98][_ExpPrimitive]< \"[\" @ _Expression \"]\" >", - L"[99][_ExpPrimitive]< \"[\" _Expression \"]\" @ >", - L"[100][_ExpPrimitive]< \"[\" _Expression @ \"]\" >", - L"[101][_ExpPrimitive]< \"attach\" \"(\" @ _Expression \",\" _Expression \")\" >", - L"[102][_ExpPrimitive]< \"attach\" \"(\" _Expression \",\" @ _Expression \")\" >", - L"[103][_ExpPrimitive]< \"attach\" \"(\" _Expression \",\" _Expression \")\" @ >", - L"[104][_ExpPrimitive]< \"attach\" \"(\" _Expression \",\" _Expression @ \")\" >", - L"[105][_ExpPrimitive]< \"attach\" \"(\" _Expression @ \",\" _Expression \")\" >", - L"[106][_ExpPrimitive]< \"attach\" @ \"(\" _Expression \",\" _Expression \")\" >", - L"[107][_ExpPrimitive]< \"detach\" \"(\" @ _Expression \",\" _Expression \")\" >", - L"[108][_ExpPrimitive]< \"detach\" \"(\" _Expression \",\" @ _Expression \")\" >", - L"[109][_ExpPrimitive]< \"detach\" \"(\" _Expression \",\" _Expression \")\" @ >", - L"[110][_ExpPrimitive]< \"detach\" \"(\" _Expression \",\" _Expression @ \")\" >", - L"[111][_ExpPrimitive]< \"detach\" \"(\" _Expression @ \",\" _Expression \")\" >", - L"[112][_ExpPrimitive]< \"detach\" @ \"(\" _Expression \",\" _Expression \")\" >", - L"[113][_ExpPrimitive]< \"false\" @ >", - L"[114][_ExpPrimitive]< \"let\" @ _LetVariable { \",\" _LetVariable } \"in\" \"(\" _Expression \")\" >", - L"[115][_ExpPrimitive]< \"let\" _LetVariable @ { \",\" _LetVariable } \"in\" \"(\" _Expression \")\" >", - L"[116][_ExpPrimitive]< \"let\" _LetVariable { \",\" @ _LetVariable } \"in\" \"(\" _Expression \")\" >", - L"[117][_ExpPrimitive]< \"let\" _LetVariable { \",\" _LetVariable @ } \"in\" \"(\" _Expression \")\" >", - L"[118][_ExpPrimitive]< \"let\" _LetVariable { \",\" _LetVariable } \"in\" \"(\" @ _Expression \")\" >", - L"[119][_ExpPrimitive]< \"let\" _LetVariable { \",\" _LetVariable } \"in\" \"(\" _Expression \")\" @ >", - L"[120][_ExpPrimitive]< \"let\" _LetVariable { \",\" _LetVariable } \"in\" \"(\" _Expression @ \")\" >", - L"[121][_ExpPrimitive]< \"let\" _LetVariable { \",\" _LetVariable } \"in\" @ \"(\" _Expression \")\" >", - L"[122][_ExpPrimitive]< \"new\" @ _Type \"(\" { _Expression ; \",\" } \")\" >", - L"[123][_ExpPrimitive]< \"new\" @ _Type \"{\" { _Declaration } \"}\" >", - L"[124][_ExpPrimitive]< \"new\" _Type \"(\" @ { _Expression ; \",\" } \")\" >", - L"[125][_ExpPrimitive]< \"new\" _Type \"(\" { _Expression ; \",\" @ } \")\" >", - L"[126][_ExpPrimitive]< \"new\" _Type \"(\" { _Expression ; \",\" } \")\" @ >", - L"[127][_ExpPrimitive]< \"new\" _Type \"(\" { _Expression @ ; \",\" } \")\" >", - L"[128][_ExpPrimitive]< \"new\" _Type \"{\" @ { _Declaration } \"}\" >", - L"[129][_ExpPrimitive]< \"new\" _Type \"{\" { _Declaration @ } \"}\" >", - L"[130][_ExpPrimitive]< \"new\" _Type \"{\" { _Declaration } \"}\" @ >", - L"[131][_ExpPrimitive]< \"new\" _Type @ \"(\" { _Expression ; \",\" } \")\" >", - L"[132][_ExpPrimitive]< \"new\" _Type @ \"{\" { _Declaration } \"}\" >", - L"[133][_ExpPrimitive]< \"null\" @ >", - L"[134][_ExpPrimitive]< \"range\" @ _BeginBoundary _Expression \",\" _Expression _EndBoundary >", - L"[135][_ExpPrimitive]< \"range\" _BeginBoundary @ _Expression \",\" _Expression _EndBoundary >", - L"[136][_ExpPrimitive]< \"range\" _BeginBoundary _Expression \",\" @ _Expression _EndBoundary >", - L"[137][_ExpPrimitive]< \"range\" _BeginBoundary _Expression \",\" _Expression @ _EndBoundary >", - L"[138][_ExpPrimitive]< \"range\" _BeginBoundary _Expression \",\" _Expression _EndBoundary @ >", - L"[139][_ExpPrimitive]< \"range\" _BeginBoundary _Expression @ \",\" _Expression _EndBoundary >", - L"[140][_ExpPrimitive]< \"this\" @ >", - L"[141][_ExpPrimitive]< \"true\" @ >", - L"[142][_ExpPrimitive]< \"type\" \"(\" @ _Expression \")\" >", - L"[143][_ExpPrimitive]< \"type\" \"(\" _Expression \")\" @ >", - L"[144][_ExpPrimitive]< \"type\" \"(\" _Expression @ \")\" >", - L"[145][_ExpPrimitive]< \"type\" @ \"(\" _Expression \")\" >", - L"[146][_ExpPrimitive]< \"typeof\" \"(\" @ _Type \")\" >", - L"[147][_ExpPrimitive]< \"typeof\" \"(\" _Type \")\" @ >", - L"[148][_ExpPrimitive]< \"typeof\" \"(\" _Type @ \")\" >", - L"[149][_ExpPrimitive]< \"typeof\" @ \"(\" _Type \")\" >", - L"[150][_ExpPrimitive]< \"{\" @ [ _CtorFragment ( { _CtorFragment } | { \";\" _CtorFragment } \";\" ) ] \"}\" >", - L"[151][_ExpPrimitive]< \"{\" [ _CtorFragment ( { _CtorFragment @ } | { \";\" _CtorFragment } \";\" ) ] \"}\" >", - L"[152][_ExpPrimitive]< \"{\" [ _CtorFragment ( { _CtorFragment } | { \";\" @ _CtorFragment } \";\" ) ] \"}\" >", - L"[153][_ExpPrimitive]< \"{\" [ _CtorFragment ( { _CtorFragment } | { \";\" _CtorFragment @ } \";\" ) ] \"}\" >", - L"[154][_ExpPrimitive]< \"{\" [ _CtorFragment ( { _CtorFragment } | { \";\" _CtorFragment } \";\" ) ] \"}\" @ >", - L"[155][_ExpPrimitive]< \"{\" [ _CtorFragment ( { _CtorFragment } | { \";\" _CtorFragment } \";\" @ ) ] \"}\" >", - L"[156][_ExpPrimitive]< \"{\" [ _CtorFragment @ ( { _CtorFragment } | { \";\" _CtorFragment } \";\" ) ] \"}\" >", - L"[157][_ExpPrimitive]< FLOAT @ >", - L"[158][_ExpPrimitive]< INTEGER @ >", - L"[159][_ExpPrimitive]< NAME @ >", - L"[160][_ExpPrimitive]< ORDERED_NAME @ >", - L"[161][_ExpPrimitive]< STRING @ >", - L"[162][_ExpPrimitive]< _ExpPrimitive \"(\" @ [ _Expression { \",\" _Expression } ] \")\" >", - L"[163][_ExpPrimitive]< _ExpPrimitive \"(\" [ _Expression @ { \",\" _Expression } ] \")\" >", - L"[164][_ExpPrimitive]< _ExpPrimitive \"(\" [ _Expression { \",\" @ _Expression } ] \")\" >", - L"[165][_ExpPrimitive]< _ExpPrimitive \"(\" [ _Expression { \",\" _Expression @ } ] \")\" >", - L"[166][_ExpPrimitive]< _ExpPrimitive \"(\" [ _Expression { \",\" _Expression } ] \")\" @ >", - L"[167][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" @ _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[168][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression @ [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[169][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression [ \"on\" @ _Expression { \",\" _Expression } ] \")\" >", - L"[170][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression [ \"on\" _Expression @ { \",\" _Expression } ] \")\" >", - L"[171][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression [ \"on\" _Expression { \",\" @ _Expression } ] \")\" >", - L"[172][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression [ \"on\" _Expression { \",\" _Expression @ } ] \")\" >", - L"[173][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" @ >", - L"[174][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" @ NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[175][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" @ _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[176][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression @ [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[177][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" @ _Expression { \",\" _Expression } ] \")\" >", - L"[178][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression @ { \",\" _Expression } ] \")\" >", - L"[179][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" @ _Expression } ] \")\" >", - L"[180][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression @ } ] \")\" >", - L"[181][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" @ >", - L"[182][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME @ \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[183][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" @ \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[184][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" @ \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[185][_ExpPrimitive]< _ExpPrimitive \".\" @ \"observe\" \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[186][_ExpPrimitive]< _ExpPrimitive \".\" @ \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[187][_ExpPrimitive]< _ExpPrimitive \".\" @ NAME >", - L"[188][_ExpPrimitive]< _ExpPrimitive \".\" NAME @ >", - L"[189][_ExpPrimitive]< _ExpPrimitive \"::\" @ NAME >", - L"[190][_ExpPrimitive]< _ExpPrimitive \"::\" NAME @ >", - L"[191][_ExpPrimitive]< _ExpPrimitive \"[\" @ _Expression \"]\" >", - L"[192][_ExpPrimitive]< _ExpPrimitive \"[\" _Expression \"]\" @ >", - L"[193][_ExpPrimitive]< _ExpPrimitive \"[\" _Expression @ \"]\" >", - L"[194][_ExpPrimitive]< _ExpPrimitive \"as\" \"*\" @ >", - L"[195][_ExpPrimitive]< _ExpPrimitive \"as\" @ \"*\" >", - L"[196][_ExpPrimitive]< _ExpPrimitive \"as\" @ _Type >", - L"[197][_ExpPrimitive]< _ExpPrimitive \"as\" _Type @ >", - L"[198][_ExpPrimitive]< _ExpPrimitive \"is\" \"not\" \"null\" @ >", - L"[199][_ExpPrimitive]< _ExpPrimitive \"is\" \"not\" @ \"null\" >", - L"[200][_ExpPrimitive]< _ExpPrimitive \"is\" \"not\" @ _Type >", - L"[201][_ExpPrimitive]< _ExpPrimitive \"is\" \"not\" _Type @ >", - L"[202][_ExpPrimitive]< _ExpPrimitive \"is\" \"null\" @ >", - L"[203][_ExpPrimitive]< _ExpPrimitive \"is\" @ \"not\" \"null\" >", - L"[204][_ExpPrimitive]< _ExpPrimitive \"is\" @ \"not\" _Type >", - L"[205][_ExpPrimitive]< _ExpPrimitive \"is\" @ \"null\" >", - L"[206][_ExpPrimitive]< _ExpPrimitive \"is\" @ _Type >", - L"[207][_ExpPrimitive]< _ExpPrimitive \"is\" _Type @ >", - L"[208][_ExpPrimitive]< _ExpPrimitive \"of\" @ _Type >", - L"[209][_ExpPrimitive]< _ExpPrimitive \"of\" _Type @ >", - L"[210][_ExpPrimitive]< _ExpPrimitive @ \"(\" [ _Expression { \",\" _Expression } ] \")\" >", - L"[211][_ExpPrimitive]< _ExpPrimitive @ \".\" \"observe\" \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[212][_ExpPrimitive]< _ExpPrimitive @ \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", - L"[213][_ExpPrimitive]< _ExpPrimitive @ \".\" NAME >", - L"[214][_ExpPrimitive]< _ExpPrimitive @ \"::\" NAME >", - L"[215][_ExpPrimitive]< _ExpPrimitive @ \"[\" _Expression \"]\" >", - L"[216][_ExpPrimitive]< _ExpPrimitive @ \"as\" \"*\" >", - L"[217][_ExpPrimitive]< _ExpPrimitive @ \"as\" _Type >", - L"[218][_ExpPrimitive]< _ExpPrimitive @ \"is\" \"not\" \"null\" >", - L"[219][_ExpPrimitive]< _ExpPrimitive @ \"is\" \"not\" _Type >", - L"[220][_ExpPrimitive]< _ExpPrimitive @ \"is\" \"null\" >", - L"[221][_ExpPrimitive]< _ExpPrimitive @ \"is\" _Type >", - L"[222][_ExpPrimitive]< _ExpPrimitive @ \"of\" _Type >", - L"[223][_ExpPrimitive]< _ExpPrimitive @ _SetTestingOperator _Expression >", - L"[224][_ExpPrimitive]< _ExpPrimitive _SetTestingOperator @ _Expression >", - L"[225][_ExpPrimitive]< _ExpPrimitive _SetTestingOperator _Expression @ >", - L"[226][_ExpPrimitive]< _Function @ >", - L"[227][_ExpPrimitive]<< !_VirtualExpression @ >>", - L"[228][_ExpPrimitive]<< \"(\" !_Expression \")\" @ >>", - L"[229][_ExpPrimitive]<< \"(\" !_Expression @ \")\" >>", - L"[230][_ExpPrimitive]<< \"(\" @ !_Expression \")\" >>", - L"[231][_Exp0] BEGIN ", - L"[232][_Exp0] END [ENDING]", - L"[233][_Exp0]< \"+\" @ _Exp0 >", - L"[234][_Exp0]< \"+\" _Exp0 @ >", - L"[235][_Exp0]< \"-\" @ _Exp0 >", - L"[236][_Exp0]< \"-\" _Exp0 @ >", - L"[237][_Exp0]< \"cast\" \"*\" @ _Exp0 >", - L"[238][_Exp0]< \"cast\" \"*\" _Exp0 @ >", - L"[239][_Exp0]< \"cast\" @ \"*\" _Exp0 >", - L"[240][_Exp0]< \"cast\" @ _Type _Exp0 >", - L"[241][_Exp0]< \"cast\" _Type @ _Exp0 >", - L"[242][_Exp0]< \"cast\" _Type _Exp0 @ >", - L"[243][_Exp0]< \"not\" @ _Exp0 >", - L"[244][_Exp0]< \"not\" _Exp0 @ >", - L"[245][_Exp0]<< !_ExpPrimitive @ >>", - L"[246][_Exp1] BEGIN ", - L"[247][_Exp1] END [ENDING]", - L"[248][_Exp1]< _Exp1 \"^\" @ _Exp0 >", - L"[249][_Exp1]< _Exp1 \"^\" _Exp0 @ >", - L"[250][_Exp1]< _Exp1 @ \"^\" _Exp0 >", - L"[251][_Exp1]<< !_Exp0 @ >>", - L"[252][_Exp2] BEGIN ", - L"[253][_Exp2] END [ENDING]", - L"[254][_Exp2]< _Exp2 \"%\" @ _Exp1 >", - L"[255][_Exp2]< _Exp2 \"%\" _Exp1 @ >", - L"[256][_Exp2]< _Exp2 \"*\" @ _Exp1 >", - L"[257][_Exp2]< _Exp2 \"*\" _Exp1 @ >", - L"[258][_Exp2]< _Exp2 \"/\" @ _Exp1 >", - L"[259][_Exp2]< _Exp2 \"/\" _Exp1 @ >", - L"[260][_Exp2]< _Exp2 @ \"%\" _Exp1 >", - L"[261][_Exp2]< _Exp2 @ \"*\" _Exp1 >", - L"[262][_Exp2]< _Exp2 @ \"/\" _Exp1 >", - L"[263][_Exp2]<< !_Exp1 @ >>", - L"[264][_Exp3] BEGIN ", - L"[265][_Exp3] END [ENDING]", - L"[266][_Exp3]< _Exp3 \"&\" @ _Exp2 >", - L"[267][_Exp3]< _Exp3 \"&\" _Exp2 @ >", - L"[268][_Exp3]< _Exp3 \"+\" @ _Exp2 >", - L"[269][_Exp3]< _Exp3 \"+\" _Exp2 @ >", - L"[270][_Exp3]< _Exp3 \"-\" @ _Exp2 >", - L"[271][_Exp3]< _Exp3 \"-\" _Exp2 @ >", - L"[272][_Exp3]< _Exp3 \"|\" @ _Exp2 >", - L"[273][_Exp3]< _Exp3 \"|\" _Exp2 @ >", - L"[274][_Exp3]< _Exp3 @ \"&\" _Exp2 >", - L"[275][_Exp3]< _Exp3 @ \"+\" _Exp2 >", - L"[276][_Exp3]< _Exp3 @ \"-\" _Exp2 >", - L"[277][_Exp3]< _Exp3 @ \"|\" _Exp2 >", - L"[278][_Exp3]<< !_Exp2 @ >>", - L"[279][_Exp4] BEGIN ", - L"[280][_Exp4] END [ENDING]", - L"[281][_Exp4]< _Exp4 \"shl\" @ _Exp3 >", - L"[282][_Exp4]< _Exp4 \"shl\" _Exp3 @ >", - L"[283][_Exp4]< _Exp4 \"shr\" @ _Exp3 >", - L"[284][_Exp4]< _Exp4 \"shr\" _Exp3 @ >", - L"[285][_Exp4]< _Exp4 @ \"shl\" _Exp3 >", - L"[286][_Exp4]< _Exp4 @ \"shr\" _Exp3 >", - L"[287][_Exp4]<< !_Exp3 @ >>", - L"[288][_Exp5] BEGIN ", - L"[289][_Exp5] END [ENDING]", - L"[290][_Exp5]< _Exp5 \"!=\" @ _Exp4 >", - L"[291][_Exp5]< _Exp5 \"!=\" _Exp4 @ >", - L"[292][_Exp5]< _Exp5 \"<\" @ _Exp4 >", - L"[293][_Exp5]< _Exp5 \"<\" _Exp4 @ >", - L"[294][_Exp5]< _Exp5 \"<=\" @ _Exp4 >", - L"[295][_Exp5]< _Exp5 \"<=\" _Exp4 @ >", - L"[296][_Exp5]< _Exp5 \"==\" @ _Exp4 >", - L"[297][_Exp5]< _Exp5 \"==\" _Exp4 @ >", - L"[298][_Exp5]< _Exp5 \">\" @ _Exp4 >", - L"[299][_Exp5]< _Exp5 \">\" _Exp4 @ >", - L"[300][_Exp5]< _Exp5 \">=\" @ _Exp4 >", - L"[301][_Exp5]< _Exp5 \">=\" _Exp4 @ >", - L"[302][_Exp5]< _Exp5 @ \"!=\" _Exp4 >", - L"[303][_Exp5]< _Exp5 @ \"<\" _Exp4 >", - L"[304][_Exp5]< _Exp5 @ \"<=\" _Exp4 >", - L"[305][_Exp5]< _Exp5 @ \"==\" _Exp4 >", - L"[306][_Exp5]< _Exp5 @ \">\" _Exp4 >", - L"[307][_Exp5]< _Exp5 @ \">=\" _Exp4 >", - L"[308][_Exp5]<< !_Exp4 @ >>", - L"[309][_Exp6] BEGIN ", - L"[310][_Exp6] END [ENDING]", - L"[311][_Exp6]< _Exp6 \"xor\" @ _Exp5 >", - L"[312][_Exp6]< _Exp6 \"xor\" _Exp5 @ >", - L"[313][_Exp6]< _Exp6 @ \"xor\" _Exp5 >", - L"[314][_Exp6]<< !_Exp5 @ >>", - L"[315][_Exp7] BEGIN ", - L"[316][_Exp7] END [ENDING]", - L"[317][_Exp7]< _Exp7 \"and\" @ _Exp6 >", - L"[318][_Exp7]< _Exp7 \"and\" _Exp6 @ >", - L"[319][_Exp7]< _Exp7 @ \"and\" _Exp6 >", - L"[320][_Exp7]<< !_Exp6 @ >>", - L"[321][_Exp8] BEGIN ", - L"[322][_Exp8] END [ENDING]", - L"[323][_Exp8]< _Exp8 \"or\" @ _Exp7 >", - L"[324][_Exp8]< _Exp8 \"or\" _Exp7 @ >", - L"[325][_Exp8]< _Exp8 @ \"or\" _Exp7 >", - L"[326][_Exp8]<< !_Exp7 @ >>", - L"[327][_Exp9] BEGIN ", - L"[328][_Exp9] END [ENDING]", - L"[329][_Exp9]< _Exp9 \"??\" @ _Exp8 >", - L"[330][_Exp9]< _Exp9 \"??\" _Exp8 @ >", - L"[331][_Exp9]< _Exp9 @ \"??\" _Exp8 >", - L"[332][_Exp9]<< !_Exp8 @ >>", - L"[333][_Exp10] BEGIN ", - L"[334][_Exp10] END [ENDING]", - L"[335][_Exp10]< _Exp9 \"?\" @ _Exp10 \":\" _Exp10 >", - L"[336][_Exp10]< _Exp9 \"?\" _Exp10 \":\" @ _Exp10 >", - L"[337][_Exp10]< _Exp9 \"?\" _Exp10 \":\" _Exp10 @ >", - L"[338][_Exp10]< _Exp9 \"?\" _Exp10 @ \":\" _Exp10 >", - L"[339][_Exp10]< _Exp9 @ \"?\" _Exp10 \":\" _Exp10 >", - L"[340][_Exp10]<< !_Exp9 @ >>", - L"[341][_Exp11] BEGIN ", - L"[342][_Exp11] END [ENDING]", - L"[343][_Exp11]< _Exp10 \"=\" @ _Exp11 >", - L"[344][_Exp11]< _Exp10 \"=\" _Exp11 @ >", - L"[345][_Exp11]< _Exp10 @ \"=\" _Exp11 >", - L"[346][_Exp11]<< !_Exp10 @ >>", - L"[347][_Expression] BEGIN ", - L"[348][_Expression] END [ENDING]", - L"[349][_Expression]<< !_Exp11 @ >>", - L"[350][_SwitchCase] BEGIN ", - L"[351][_SwitchCase] END [ENDING]", - L"[352][_SwitchCase]< \"case\" @ _Expression \":\" _Block >", - L"[353][_SwitchCase]< \"case\" _Expression \":\" @ _Block >", - L"[354][_SwitchCase]< \"case\" _Expression \":\" _Block @ >", - L"[355][_SwitchCase]< \"case\" _Expression @ \":\" _Block >", - L"[356][_Block] BEGIN ", - L"[357][_Block] END [ENDING]", - L"[358][_Block]< \"{\" @ { _Statement } [ NAME \":\" \";\" ] \"}\" >", - L"[359][_Block]< \"{\" { _Statement @ } [ NAME \":\" \";\" ] \"}\" >", - L"[360][_Block]< \"{\" { _Statement } [ NAME \":\" \";\" @ ] \"}\" >", - L"[361][_Block]< \"{\" { _Statement } [ NAME \":\" \";\" ] \"}\" @ >", - L"[362][_Block]< \"{\" { _Statement } [ NAME \":\" @ \";\" ] \"}\" >", - L"[363][_Block]< \"{\" { _Statement } [ NAME @ \":\" \";\" ] \"}\" >", - L"[364][_ElseStat] BEGIN ", - L"[365][_ElseStat] END [ENDING]", - L"[366][_ElseStat]<< !_Block @ >>", - L"[367][_ElseStat]<< !_If @ >>", - L"[368][_If] BEGIN ", - L"[369][_If] END [ENDING]", - L"[370][_If]< \"if\" \"(\" @ [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", - L"[371][_If]< \"if\" \"(\" [ \"var\" @ NAME \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", - L"[372][_If]< \"if\" \"(\" [ \"var\" NAME \":\" @ _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", - L"[373][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" @ ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", - L"[374][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" @ _Block +[ \"else\" _ElseStat ] >", - L"[375][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" @ _ElseStat ] >", - L"[376][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat @ ] >", - L"[377][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" _Block @ +[ \"else\" _ElseStat ] >", - L"[378][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression @ \")\" _Block +[ \"else\" _ElseStat ] >", - L"[379][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type @ \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", - L"[380][_If]< \"if\" \"(\" [ \"var\" NAME @ \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", - L"[381][_If]< \"if\" @ \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", - L"[382][_ForOperator] BEGIN ", - L"[383][_ForOperator] END [ENDING]", - L"[384][_ForOperator]\"in\" \"reversed\" @", - L"[385][_ForOperator]\"in\" @", - L"[386][_ForOperator]\"in\" @ \"reversed\"", - L"[387][_VirtualStatement] BEGIN ", - L"[388][_VirtualStatement] END [ENDING]", - L"[389][_VirtualStatement]< \"for\" \"(\" @ NAME _ForOperator _Expression \")\" _Block >", - L"[390][_VirtualStatement]< \"for\" \"(\" NAME @ _ForOperator _Expression \")\" _Block >", - L"[391][_VirtualStatement]< \"for\" \"(\" NAME _ForOperator @ _Expression \")\" _Block >", - L"[392][_VirtualStatement]< \"for\" \"(\" NAME _ForOperator _Expression \")\" @ _Block >", - L"[393][_VirtualStatement]< \"for\" \"(\" NAME _ForOperator _Expression \")\" _Block @ >", - L"[394][_VirtualStatement]< \"for\" \"(\" NAME _ForOperator _Expression @ \")\" _Block >", - L"[395][_VirtualStatement]< \"for\" @ \"(\" NAME _ForOperator _Expression \")\" _Block >", - L"[396][_VirtualStatement]< \"switch\" \"(\" @ _Expression \")\" \"{\" { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" >", - L"[397][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" @ { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" >", - L"[398][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" { _SwitchCase @ } [ \"default\" \":\" _Block ] \"}\" >", - L"[399][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" { _SwitchCase } [ \"default\" \":\" @ _Block ] \"}\" >", - L"[400][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" { _SwitchCase } [ \"default\" \":\" _Block @ ] \"}\" >", - L"[401][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" @ >", - L"[402][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" { _SwitchCase } [ \"default\" @ \":\" _Block ] \"}\" >", - L"[403][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" @ \"{\" { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" >", - L"[404][_VirtualStatement]< \"switch\" \"(\" _Expression @ \")\" \"{\" { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" >", - L"[405][_VirtualStatement]< \"switch\" @ \"(\" _Expression \")\" \"{\" { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" >", - L"[406][_CoStatement] BEGIN ", - L"[407][_CoStatement] END [ENDING]", - L"[408][_CoStatement]< \"$pause\" ( \";\" @ | _Block ) >", - L"[409][_CoStatement]< \"$pause\" ( \";\" | _Block @ ) >", - L"[410][_CoStatement]< \"$pause\" @ ( \";\" | _Block ) >", - L"[411][_CoStatement]< [ \"var\" @ NAME \"=\" ] COROUTINE_OPERATOR { _Expression ; \",\" } \";\" >", - L"[412][_CoStatement]< [ \"var\" NAME \"=\" @ ] COROUTINE_OPERATOR { _Expression ; \",\" } \";\" >", - L"[413][_CoStatement]< [ \"var\" NAME \"=\" ] COROUTINE_OPERATOR @ { _Expression ; \",\" } \";\" >", - L"[414][_CoStatement]< [ \"var\" NAME \"=\" ] COROUTINE_OPERATOR { _Expression ; \",\" @ } \";\" >", - L"[415][_CoStatement]< [ \"var\" NAME \"=\" ] COROUTINE_OPERATOR { _Expression ; \",\" } \";\" @ >", - L"[416][_CoStatement]< [ \"var\" NAME \"=\" ] COROUTINE_OPERATOR { _Expression @ ; \",\" } \";\" >", - L"[417][_CoStatement]< [ \"var\" NAME @ \"=\" ] COROUTINE_OPERATOR { _Expression ; \",\" } \";\" >", - L"[418][_CoProvider] BEGIN ", - L"[419][_CoProvider] END [ENDING]", - L"[420][_CoProvider]< ( \"$\" @ | COROUTINE_OPERATOR ) _Block >", - L"[421][_CoProvider]< ( \"$\" | COROUTINE_OPERATOR ) _Block @ >", - L"[422][_CoProvider]< ( \"$\" | COROUTINE_OPERATOR @ ) _Block >", - L"[423][_StateSwitchHead] BEGIN ", - L"[424][_StateSwitchHead] END [ENDING]", - L"[425][_StateSwitchHead]< \"$switch\" \"(\" \")\" @ >", - L"[426][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" \")\" @ >", - L"[427][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" \",\" \"return\" \")\" @ >", - L"[428][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" \",\" \"return\" @ \")\" >", - L"[429][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" \",\" @ \"return\" \")\" >", - L"[430][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" @ \")\" >", - L"[431][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" @ \",\" \"return\" \")\" >", - L"[432][_StateSwitchHead]< \"$switch\" \"(\" \"raise\" \")\" @ >", - L"[433][_StateSwitchHead]< \"$switch\" \"(\" \"raise\" @ \")\" >", - L"[434][_StateSwitchHead]< \"$switch\" \"(\" \"return\" \")\" @ >", - L"[435][_StateSwitchHead]< \"$switch\" \"(\" \"return\" @ \")\" >", - L"[436][_StateSwitchHead]< \"$switch\" \"(\" @ \")\" >", - L"[437][_StateSwitchHead]< \"$switch\" \"(\" @ \"continue\" \")\" >", - L"[438][_StateSwitchHead]< \"$switch\" \"(\" @ \"continue\" \",\" \"return\" \")\" >", - L"[439][_StateSwitchHead]< \"$switch\" \"(\" @ \"raise\" \")\" >", - L"[440][_StateSwitchHead]< \"$switch\" \"(\" @ \"return\" \")\" >", - L"[441][_StateSwitchHead]< \"$switch\" @ \"(\" \")\" >", - L"[442][_StateSwitchHead]< \"$switch\" @ \"(\" \"continue\" \")\" >", - L"[443][_StateSwitchHead]< \"$switch\" @ \"(\" \"continue\" \",\" \"return\" \")\" >", - L"[444][_StateSwitchHead]< \"$switch\" @ \"(\" \"raise\" \")\" >", - L"[445][_StateSwitchHead]< \"$switch\" @ \"(\" \"return\" \")\" >", - L"[446][_StateSwitchArgument] BEGIN ", - L"[447][_StateSwitchArgument] END [ENDING]", - L"[448][_StateSwitchArgument]< NAME @ >", - L"[449][_StateSwitchCase] BEGIN ", - L"[450][_StateSwitchCase] END [ENDING]", - L"[451][_StateSwitchCase]< \"case\" @ NAME \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" \":\" _Block >", - L"[452][_StateSwitchCase]< \"case\" NAME \"(\" @ [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" \":\" _Block >", - L"[453][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument @ { \",\" _StateSwitchArgument } ] \")\" \":\" _Block >", - L"[454][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument { \",\" @ _StateSwitchArgument } ] \")\" \":\" _Block >", - L"[455][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument @ } ] \")\" \":\" _Block >", - L"[456][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" \":\" @ _Block >", - L"[457][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" \":\" _Block @ >", - L"[458][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" @ \":\" _Block >", - L"[459][_StateSwitchCase]< \"case\" NAME @ \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" \":\" _Block >", - L"[460][_StateStatement] BEGIN ", - L"[461][_StateStatement] END [ENDING]", - L"[462][_StateStatement]< \"$goto_state\" @ NAME \"(\" { _Expression ; \",\" } \")\" \";\" >", - L"[463][_StateStatement]< \"$goto_state\" NAME \"(\" @ { _Expression ; \",\" } \")\" \";\" >", - L"[464][_StateStatement]< \"$goto_state\" NAME \"(\" { _Expression ; \",\" @ } \")\" \";\" >", - L"[465][_StateStatement]< \"$goto_state\" NAME \"(\" { _Expression ; \",\" } \")\" \";\" @ >", - L"[466][_StateStatement]< \"$goto_state\" NAME \"(\" { _Expression ; \",\" } \")\" @ \";\" >", - L"[467][_StateStatement]< \"$goto_state\" NAME \"(\" { _Expression @ ; \",\" } \")\" \";\" >", - L"[468][_StateStatement]< \"$goto_state\" NAME @ \"(\" { _Expression ; \",\" } \")\" \";\" >", - L"[469][_StateStatement]< \"$push_state\" @ NAME \"(\" { _Expression ; \",\" } \")\" \";\" >", - L"[470][_StateStatement]< \"$push_state\" NAME \"(\" @ { _Expression ; \",\" } \")\" \";\" >", - L"[471][_StateStatement]< \"$push_state\" NAME \"(\" { _Expression ; \",\" @ } \")\" \";\" >", - L"[472][_StateStatement]< \"$push_state\" NAME \"(\" { _Expression ; \",\" } \")\" \";\" @ >", - L"[473][_StateStatement]< \"$push_state\" NAME \"(\" { _Expression ; \",\" } \")\" @ \";\" >", - L"[474][_StateStatement]< \"$push_state\" NAME \"(\" { _Expression @ ; \",\" } \")\" \";\" >", - L"[475][_StateStatement]< \"$push_state\" NAME @ \"(\" { _Expression ; \",\" } \")\" \";\" >", - L"[476][_StateStatement]<< !_StateSwitchHead \"{\" @ { _StateSwitchCase } \"}\" >>", - L"[477][_StateStatement]<< !_StateSwitchHead \"{\" { _StateSwitchCase @ } \"}\" >>", - L"[478][_StateStatement]<< !_StateSwitchHead \"{\" { _StateSwitchCase } \"}\" @ >>", - L"[479][_StateStatement]<< !_StateSwitchHead @ \"{\" { _StateSwitchCase } \"}\" >>", - L"[480][_Statement] BEGIN ", - L"[481][_Statement] END [ENDING]", - L"[482][_Statement]< \"break\" \";\" @ >", - L"[483][_Statement]< \"break\" @ \";\" >", - L"[484][_Statement]< \"continue\" \";\" @ >", - L"[485][_Statement]< \"continue\" @ \";\" >", - L"[486][_Statement]< \"delete\" @ _Expression \";\" >", - L"[487][_Statement]< \"delete\" _Expression \";\" @ >", - L"[488][_Statement]< \"delete\" _Expression @ \";\" >", - L"[489][_Statement]< \"goto\" @ NAME \";\" >", - L"[490][_Statement]< \"goto\" NAME \";\" @ >", - L"[491][_Statement]< \"goto\" NAME @ \";\" >", - L"[492][_Statement]< \"raise\" @ [ _Expression ] \";\" >", - L"[493][_Statement]< \"raise\" [ _Expression @ ] \";\" >", - L"[494][_Statement]< \"raise\" [ _Expression ] \";\" @ >", - L"[495][_Statement]< \"return\" @ [ _Expression ] \";\" >", - L"[496][_Statement]< \"return\" [ _Expression @ ] \";\" >", - L"[497][_Statement]< \"return\" [ _Expression ] \";\" @ >", - L"[498][_Statement]< \"try\" @ _Block [ \"catch\" \"(\" NAME \")\" _Block ] [ \"finally\" _Block ] >", - L"[499][_Statement]< \"try\" _Block @ [ \"catch\" \"(\" NAME \")\" _Block ] [ \"finally\" _Block ] >", - L"[500][_Statement]< \"try\" _Block [ \"catch\" \"(\" @ NAME \")\" _Block ] [ \"finally\" _Block ] >", - L"[501][_Statement]< \"try\" _Block [ \"catch\" \"(\" NAME \")\" @ _Block ] [ \"finally\" _Block ] >", - L"[502][_Statement]< \"try\" _Block [ \"catch\" \"(\" NAME \")\" _Block @ ] [ \"finally\" _Block ] >", - L"[503][_Statement]< \"try\" _Block [ \"catch\" \"(\" NAME \")\" _Block ] [ \"finally\" @ _Block ] >", - L"[504][_Statement]< \"try\" _Block [ \"catch\" \"(\" NAME \")\" _Block ] [ \"finally\" _Block @ ] >", - L"[505][_Statement]< \"try\" _Block [ \"catch\" \"(\" NAME @ \")\" _Block ] [ \"finally\" _Block ] >", - L"[506][_Statement]< \"try\" _Block [ \"catch\" @ \"(\" NAME \")\" _Block ] [ \"finally\" _Block ] >", - L"[507][_Statement]< \"while\" \"(\" @ _Expression \")\" _Block >", - L"[508][_Statement]< \"while\" \"(\" _Expression \")\" @ _Block >", - L"[509][_Statement]< \"while\" \"(\" _Expression \")\" _Block @ >", - L"[510][_Statement]< \"while\" \"(\" _Expression @ \")\" _Block >", - L"[511][_Statement]< \"while\" @ \"(\" _Expression \")\" _Block >", - L"[512][_Statement]< _Expression \";\" @ >", - L"[513][_Statement]< _Expression @ \";\" >", - L"[514][_Statement]< _Variable @ >", - L"[515][_Statement]<< !_Block @ >>", - L"[516][_Statement]<< !_CoStatement @ >>", - L"[517][_Statement]<< !_If @ >>", - L"[518][_Statement]<< !_StateStatement @ >>", - L"[519][_Statement]<< !_VirtualStatement @ >>", - L"[520][_StateInput] BEGIN ", - L"[521][_StateInput] END [ENDING]", - L"[522][_StateInput]< \"$state_input\" @ NAME \"(\" { _FunctionArgument ; \",\" } \")\" \";\" >", - L"[523][_StateInput]< \"$state_input\" NAME \"(\" @ { _FunctionArgument ; \",\" } \")\" \";\" >", - L"[524][_StateInput]< \"$state_input\" NAME \"(\" { _FunctionArgument ; \",\" @ } \")\" \";\" >", - L"[525][_StateInput]< \"$state_input\" NAME \"(\" { _FunctionArgument ; \",\" } \")\" \";\" @ >", - L"[526][_StateInput]< \"$state_input\" NAME \"(\" { _FunctionArgument ; \",\" } \")\" @ \";\" >", - L"[527][_StateInput]< \"$state_input\" NAME \"(\" { _FunctionArgument @ ; \",\" } \")\" \";\" >", - L"[528][_StateInput]< \"$state_input\" NAME @ \"(\" { _FunctionArgument ; \",\" } \")\" \";\" >", - L"[529][_StateDecl] BEGIN ", - L"[530][_StateDecl] END [ENDING]", - L"[531][_StateDecl]< \"$state\" ( \"default\" @ | NAME ) \"(\" { _FunctionArgument ; \",\" } \")\" _Block >", - L"[532][_StateDecl]< \"$state\" ( \"default\" | NAME ) \"(\" @ { _FunctionArgument ; \",\" } \")\" _Block >", - L"[533][_StateDecl]< \"$state\" ( \"default\" | NAME ) \"(\" { _FunctionArgument ; \",\" @ } \")\" _Block >", - L"[534][_StateDecl]< \"$state\" ( \"default\" | NAME ) \"(\" { _FunctionArgument ; \",\" } \")\" @ _Block >", - L"[535][_StateDecl]< \"$state\" ( \"default\" | NAME ) \"(\" { _FunctionArgument ; \",\" } \")\" _Block @ >", - L"[536][_StateDecl]< \"$state\" ( \"default\" | NAME ) \"(\" { _FunctionArgument @ ; \",\" } \")\" _Block >", - L"[537][_StateDecl]< \"$state\" ( \"default\" | NAME @ ) \"(\" { _FunctionArgument ; \",\" } \")\" _Block >", - L"[538][_StateDecl]< \"$state\" @ ( \"default\" | NAME ) \"(\" { _FunctionArgument ; \",\" } \")\" _Block >", - L"[539][_StateMachine] BEGIN ", - L"[540][_StateMachine] END [ENDING]", - L"[541][_StateMachine]< \"$state_machine\" \"{\" @ { ( _StateInput | _StateDecl ) } \"}\" >", - L"[542][_StateMachine]< \"$state_machine\" \"{\" { ( _StateInput @ | _StateDecl ) } \"}\" >", - L"[543][_StateMachine]< \"$state_machine\" \"{\" { ( _StateInput | _StateDecl ) } \"}\" @ >", - L"[544][_StateMachine]< \"$state_machine\" \"{\" { ( _StateInput | _StateDecl @ ) } \"}\" >", - L"[545][_StateMachine]< \"$state_machine\" @ \"{\" { ( _StateInput | _StateDecl ) } \"}\" >", - L"[546][_Attribute] BEGIN ", - L"[547][_Attribute] END [ENDING]", - L"[548][_Attribute]< \"@\" @ NAME \":\" NAME [ \"(\" _Expression \")\" ] >", - L"[549][_Attribute]< \"@\" NAME \":\" @ NAME [ \"(\" _Expression \")\" ] >", - L"[550][_Attribute]< \"@\" NAME \":\" NAME @ [ \"(\" _Expression \")\" ] >", - L"[551][_Attribute]< \"@\" NAME \":\" NAME [ \"(\" @ _Expression \")\" ] >", - L"[552][_Attribute]< \"@\" NAME \":\" NAME [ \"(\" _Expression \")\" @ ] >", - L"[553][_Attribute]< \"@\" NAME \":\" NAME [ \"(\" _Expression @ \")\" ] >", - L"[554][_Attribute]< \"@\" NAME @ \":\" NAME [ \"(\" _Expression \")\" ] >", - L"[555][_Namespace] BEGIN ", - L"[556][_Namespace] END [ENDING]", - L"[557][_Namespace]< \"namespace\" @ NAME \"{\" { _Declaration } \"}\" >", - L"[558][_Namespace]< \"namespace\" NAME \"{\" @ { _Declaration } \"}\" >", - L"[559][_Namespace]< \"namespace\" NAME \"{\" { _Declaration @ } \"}\" >", - L"[560][_Namespace]< \"namespace\" NAME \"{\" { _Declaration } \"}\" @ >", - L"[561][_Namespace]< \"namespace\" NAME @ \"{\" { _Declaration } \"}\" >", - L"[562][_FunctionArgument] BEGIN ", - L"[563][_FunctionArgument] END [ENDING]", - L"[564][_FunctionArgument]< { _Attribute @ } NAME \":\" _Type >", - L"[565][_FunctionArgument]< { _Attribute } NAME \":\" @ _Type >", - L"[566][_FunctionArgument]< { _Attribute } NAME \":\" _Type @ >", - L"[567][_FunctionArgument]< { _Attribute } NAME @ \":\" _Type >", - L"[568][_FunctionArgumentList] BEGIN ", - L"[569][_FunctionArgumentList] END [ENDING]", - L"[570][_FunctionArgumentList]\"(\" @ { _FunctionArgument ; \",\" } \")\"", - L"[571][_FunctionArgumentList]\"(\" { _FunctionArgument ; \",\" @ } \")\"", - L"[572][_FunctionArgumentList]\"(\" { _FunctionArgument ; \",\" } \")\" @", - L"[573][_FunctionArgumentList]\"(\" { _FunctionArgument @ ; \",\" } \")\"", - L"[574][_FunctionStat] BEGIN ", - L"[575][_FunctionStat] END [ENDING]", - L"[576][_FunctionStat]<< !_Block @ >>", - L"[577][_FunctionStat]<< !_CoProvider @ >>", - L"[578][_FunctionBody] BEGIN ", - L"[579][_FunctionBody] END [ENDING]", - L"[580][_FunctionBody]\"(\" @ { _FunctionArgument ; \",\" } \")\" \":\" _Type ( _FunctionStat | \";\" )", - L"[581][_FunctionBody]\"(\" { _FunctionArgument ; \",\" @ } \")\" \":\" _Type ( _FunctionStat | \";\" )", - L"[582][_FunctionBody]\"(\" { _FunctionArgument ; \",\" } \")\" \":\" @ _Type ( _FunctionStat | \";\" )", - L"[583][_FunctionBody]\"(\" { _FunctionArgument ; \",\" } \")\" \":\" _Type ( _FunctionStat @ | \";\" )", - L"[584][_FunctionBody]\"(\" { _FunctionArgument ; \",\" } \")\" \":\" _Type ( _FunctionStat | \";\" @ )", - L"[585][_FunctionBody]\"(\" { _FunctionArgument ; \",\" } \")\" \":\" _Type @ ( _FunctionStat | \";\" )", - L"[586][_FunctionBody]\"(\" { _FunctionArgument ; \",\" } \")\" @ \":\" _Type ( _FunctionStat | \";\" )", - L"[587][_FunctionBody]\"(\" { _FunctionArgument @ ; \",\" } \")\" \":\" _Type ( _FunctionStat | \";\" )", - L"[588][_FunctionKind] BEGIN ", - L"[589][_FunctionKind] END [ENDING]", - L"[590][_FunctionKind]\"func\" @", - L"[591][_FunctionKind]\"override\" \"func\" @", - L"[592][_FunctionKind]\"override\" @ \"func\"", - L"[593][_FunctionKind]\"static\" \"func\" @", - L"[594][_FunctionKind]\"static\" @ \"func\"", - L"[595][_Function] BEGIN ", - L"[596][_Function] END [ENDING]", - L"[597][_Function]< _FunctionKind @ NAME _FunctionBody >", - L"[598][_Function]< _FunctionKind @ _FunctionBody >", - L"[599][_Function]< _FunctionKind NAME @ _FunctionBody >", - L"[600][_Function]< _FunctionKind NAME _FunctionBody @ >", - L"[601][_Function]< _FunctionKind _FunctionBody @ >", - L"[602][_Variable] BEGIN ", - L"[603][_Variable] END [ENDING]", - L"[604][_Variable]< \"var\" @ NAME [ \":\" _Type ] \"=\" _Expression \";\" >", - L"[605][_Variable]< \"var\" NAME @ [ \":\" _Type ] \"=\" _Expression \";\" >", - L"[606][_Variable]< \"var\" NAME [ \":\" @ _Type ] \"=\" _Expression \";\" >", - L"[607][_Variable]< \"var\" NAME [ \":\" _Type @ ] \"=\" _Expression \";\" >", - L"[608][_Variable]< \"var\" NAME [ \":\" _Type ] \"=\" @ _Expression \";\" >", - L"[609][_Variable]< \"var\" NAME [ \":\" _Type ] \"=\" _Expression \";\" @ >", - L"[610][_Variable]< \"var\" NAME [ \":\" _Type ] \"=\" _Expression @ \";\" >", - L"[611][_Event] BEGIN ", - L"[612][_Event] END [ENDING]", - L"[613][_Event]< \"event\" @ NAME \"(\" { _Type ; \",\" } \")\" \";\" >", - L"[614][_Event]< \"event\" NAME \"(\" @ { _Type ; \",\" } \")\" \";\" >", - L"[615][_Event]< \"event\" NAME \"(\" { _Type ; \",\" @ } \")\" \";\" >", - L"[616][_Event]< \"event\" NAME \"(\" { _Type ; \",\" } \")\" \";\" @ >", - L"[617][_Event]< \"event\" NAME \"(\" { _Type ; \",\" } \")\" @ \";\" >", - L"[618][_Event]< \"event\" NAME \"(\" { _Type @ ; \",\" } \")\" \";\" >", - L"[619][_Event]< \"event\" NAME @ \"(\" { _Type ; \",\" } \")\" \";\" >", - L"[620][_Property] BEGIN ", - L"[621][_Property] END [ENDING]", - L"[622][_Property]< \"prop\" @ NAME \":\" _Type \"{\" NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" >", - L"[623][_Property]< \"prop\" NAME \":\" @ _Type \"{\" NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" >", - L"[624][_Property]< \"prop\" NAME \":\" _Type \"{\" @ NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" >", - L"[625][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME @ [ \",\" NAME ] [ \":\" NAME ] \"}\" >", - L"[626][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME [ \",\" @ NAME ] [ \":\" NAME ] \"}\" >", - L"[627][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME [ \",\" NAME @ ] [ \":\" NAME ] \"}\" >", - L"[628][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME [ \",\" NAME ] [ \":\" @ NAME ] \"}\" >", - L"[629][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME [ \",\" NAME ] [ \":\" NAME @ ] \"}\" >", - L"[630][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" @ >", - L"[631][_Property]< \"prop\" NAME \":\" _Type @ \"{\" NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" >", - L"[632][_Property]< \"prop\" NAME @ \":\" _Type \"{\" NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" >", - L"[633][_BaseConstructorCall] BEGIN ", - L"[634][_BaseConstructorCall] END [ENDING]", - L"[635][_BaseConstructorCall]< _Type \"(\" @ [ _Expression { \",\" _Expression } ] \")\" >", - L"[636][_BaseConstructorCall]< _Type \"(\" [ _Expression @ { \",\" _Expression } ] \")\" >", - L"[637][_BaseConstructorCall]< _Type \"(\" [ _Expression { \",\" @ _Expression } ] \")\" >", - L"[638][_BaseConstructorCall]< _Type \"(\" [ _Expression { \",\" _Expression @ } ] \")\" >", - L"[639][_BaseConstructorCall]< _Type \"(\" [ _Expression { \",\" _Expression } ] \")\" @ >", - L"[640][_BaseConstructorCall]< _Type @ \"(\" [ _Expression { \",\" _Expression } ] \")\" >", - L"[641][_ConstructorType] BEGIN ", - L"[642][_ConstructorType] END [ENDING]", - L"[643][_ConstructorType]\"new\" \"*\" @", - L"[644][_ConstructorType]\"new\" @", - L"[645][_ConstructorType]\"new\" @ \"*\"", - L"[646][_Constructor] BEGIN ", - L"[647][_Constructor] END [ENDING]", - L"[648][_Constructor]< _ConstructorType \"(\" @ { _FunctionArgument ; \",\" } \")\" [ \":\" { _BaseConstructorCall ; \",\" } ] _Block >", - L"[649][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" @ } \")\" [ \":\" { _BaseConstructorCall ; \",\" } ] _Block >", - L"[650][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" } \")\" @ [ \":\" { _BaseConstructorCall ; \",\" } ] _Block >", - L"[651][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" } \")\" [ \":\" @ { _BaseConstructorCall ; \",\" } ] _Block >", - L"[652][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" } \")\" [ \":\" { _BaseConstructorCall ; \",\" @ } ] _Block >", - L"[653][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" } \")\" [ \":\" { _BaseConstructorCall ; \",\" } ] _Block @ >", - L"[654][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" } \")\" [ \":\" { _BaseConstructorCall @ ; \",\" } ] _Block >", - L"[655][_Constructor]< _ConstructorType \"(\" { _FunctionArgument @ ; \",\" } \")\" [ \":\" { _BaseConstructorCall ; \",\" } ] _Block >", - L"[656][_Constructor]< _ConstructorType @ \"(\" { _FunctionArgument ; \",\" } \")\" [ \":\" { _BaseConstructorCall ; \",\" } ] _Block >", - L"[657][_Destructor] BEGIN ", - L"[658][_Destructor] END [ENDING]", - L"[659][_Destructor]< \"delete\" @ _Block >", - L"[660][_Destructor]< \"delete\" _Block @ >", - L"[661][_ClassBody] BEGIN ", - L"[662][_ClassBody] END [ENDING]", - L"[663][_ClassBody][ \":\" @ { _Type ; \",\" } ] \"{\" { _Declaration } [ _StateMachine ] \"}\"", - L"[664][_ClassBody][ \":\" { _Type ; \",\" @ } ] \"{\" { _Declaration } [ _StateMachine ] \"}\"", - L"[665][_ClassBody][ \":\" { _Type ; \",\" } ] \"{\" @ { _Declaration } [ _StateMachine ] \"}\"", - L"[666][_ClassBody][ \":\" { _Type ; \",\" } ] \"{\" { _Declaration @ } [ _StateMachine ] \"}\"", - L"[667][_ClassBody][ \":\" { _Type ; \",\" } ] \"{\" { _Declaration } [ _StateMachine @ ] \"}\"", - L"[668][_ClassBody][ \":\" { _Type ; \",\" } ] \"{\" { _Declaration } [ _StateMachine ] \"}\" @", - L"[669][_ClassBody][ \":\" { _Type @ ; \",\" } ] \"{\" { _Declaration } [ _StateMachine ] \"}\"", - L"[670][_Class] BEGIN ", - L"[671][_Class] END [ENDING]", - L"[672][_Class]< \"class\" @ NAME _ClassBody >", - L"[673][_Class]< \"class\" NAME @ _ClassBody >", - L"[674][_Class]< \"class\" NAME _ClassBody @ >", - L"[675][_Class]< \"interface\" @ NAME \"*\" _ClassBody >", - L"[676][_Class]< \"interface\" @ NAME _ClassBody >", - L"[677][_Class]< \"interface\" NAME \"*\" @ _ClassBody >", - L"[678][_Class]< \"interface\" NAME \"*\" _ClassBody @ >", - L"[679][_Class]< \"interface\" NAME @ \"*\" _ClassBody >", - L"[680][_Class]< \"interface\" NAME @ _ClassBody >", - L"[681][_Class]< \"interface\" NAME _ClassBody @ >", - L"[682][_EnumItemInt] BEGIN ", - L"[683][_EnumItemInt] END [ENDING]", - L"[684][_EnumItemInt]< NAME @ >", - L"[685][_EnumItemA] BEGIN ", - L"[686][_EnumItemA] END [ENDING]", - L"[687][_EnumItemA]< { _Attribute @ } NAME \"=\" INTEGER \",\" >", - L"[688][_EnumItemA]< { _Attribute } NAME \"=\" @ INTEGER \",\" >", - L"[689][_EnumItemA]< { _Attribute } NAME \"=\" INTEGER \",\" @ >", - L"[690][_EnumItemA]< { _Attribute } NAME \"=\" INTEGER @ \",\" >", - L"[691][_EnumItemA]< { _Attribute } NAME @ \"=\" INTEGER \",\" >", - L"[692][_EnumItemB] BEGIN ", - L"[693][_EnumItemB] END [ENDING]", - L"[694][_EnumItemB]< { _Attribute @ } NAME \"=\" _EnumItemInt { \"|\" _EnumItemInt } \",\" >", - L"[695][_EnumItemB]< { _Attribute } NAME \"=\" @ _EnumItemInt { \"|\" _EnumItemInt } \",\" >", - L"[696][_EnumItemB]< { _Attribute } NAME \"=\" _EnumItemInt @ { \"|\" _EnumItemInt } \",\" >", - L"[697][_EnumItemB]< { _Attribute } NAME \"=\" _EnumItemInt { \"|\" @ _EnumItemInt } \",\" >", - L"[698][_EnumItemB]< { _Attribute } NAME \"=\" _EnumItemInt { \"|\" _EnumItemInt @ } \",\" >", - L"[699][_EnumItemB]< { _Attribute } NAME \"=\" _EnumItemInt { \"|\" _EnumItemInt } \",\" @ >", - L"[700][_EnumItemB]< { _Attribute } NAME @ \"=\" _EnumItemInt { \"|\" _EnumItemInt } \",\" >", - L"[701][_Enum] BEGIN ", - L"[702][_Enum] END [ENDING]", - L"[703][_Enum]< \"enum\" @ NAME \"{\" _EnumItemA { _EnumItemA } \"}\" >", - L"[704][_Enum]< \"enum\" NAME \"{\" @ _EnumItemA { _EnumItemA } \"}\" >", - L"[705][_Enum]< \"enum\" NAME \"{\" _EnumItemA @ { _EnumItemA } \"}\" >", - L"[706][_Enum]< \"enum\" NAME \"{\" _EnumItemA { _EnumItemA @ } \"}\" >", - L"[707][_Enum]< \"enum\" NAME \"{\" _EnumItemA { _EnumItemA } \"}\" @ >", - L"[708][_Enum]< \"enum\" NAME @ \"{\" _EnumItemA { _EnumItemA } \"}\" >", - L"[709][_Enum]< \"flagenum\" @ NAME \"{\" _EnumItemA { _EnumItemA } { _EnumItemB } \"}\" >", - L"[710][_Enum]< \"flagenum\" NAME \"{\" @ _EnumItemA { _EnumItemA } { _EnumItemB } \"}\" >", - L"[711][_Enum]< \"flagenum\" NAME \"{\" _EnumItemA @ { _EnumItemA } { _EnumItemB } \"}\" >", - L"[712][_Enum]< \"flagenum\" NAME \"{\" _EnumItemA { _EnumItemA @ } { _EnumItemB } \"}\" >", - L"[713][_Enum]< \"flagenum\" NAME \"{\" _EnumItemA { _EnumItemA } { _EnumItemB @ } \"}\" >", - L"[714][_Enum]< \"flagenum\" NAME \"{\" _EnumItemA { _EnumItemA } { _EnumItemB } \"}\" @ >", - L"[715][_Enum]< \"flagenum\" NAME @ \"{\" _EnumItemA { _EnumItemA } { _EnumItemB } \"}\" >", - L"[716][_StructMember] BEGIN ", - L"[717][_StructMember] END [ENDING]", - L"[718][_StructMember]< { _Attribute @ } NAME \":\" _Type \";\" >", - L"[719][_StructMember]< { _Attribute } NAME \":\" @ _Type \";\" >", - L"[720][_StructMember]< { _Attribute } NAME \":\" _Type \";\" @ >", - L"[721][_StructMember]< { _Attribute } NAME \":\" _Type @ \";\" >", - L"[722][_StructMember]< { _Attribute } NAME @ \":\" _Type \";\" >", - L"[723][_Struct] BEGIN ", - L"[724][_Struct] END [ENDING]", - L"[725][_Struct]< \"struct\" @ NAME \"{\" { _StructMember } \"}\" >", - L"[726][_Struct]< \"struct\" NAME \"{\" @ { _StructMember } \"}\" >", - L"[727][_Struct]< \"struct\" NAME \"{\" { _StructMember @ } \"}\" >", - L"[728][_Struct]< \"struct\" NAME \"{\" { _StructMember } \"}\" @ >", - L"[729][_Struct]< \"struct\" NAME @ \"{\" { _StructMember } \"}\" >", - L"[730][_APConfig] BEGIN ", - L"[731][_APConfig] END [ENDING]", - L"[732][_APConfig]\"{\" \"const\" \",\" \"not\" \"observe\" \"}\" @", - L"[733][_APConfig]\"{\" \"const\" \",\" \"not\" \"observe\" @ \"}\"", - L"[734][_APConfig]\"{\" \"const\" \",\" \"not\" @ \"observe\" \"}\"", - L"[735][_APConfig]\"{\" \"const\" \",\" @ \"not\" \"observe\" \"}\"", - L"[736][_APConfig]\"{\" \"const\" \"}\" @", - L"[737][_APConfig]\"{\" \"const\" @ \",\" \"not\" \"observe\" \"}\"", - L"[738][_APConfig]\"{\" \"const\" @ \"}\"", - L"[739][_APConfig]\"{\" \"not\" \"observe\" \"}\" @", - L"[740][_APConfig]\"{\" \"not\" \"observe\" @ \"}\"", - L"[741][_APConfig]\"{\" \"not\" @ \"observe\" \"}\"", - L"[742][_APConfig]\"{\" \"}\" @", - L"[743][_APConfig]\"{\" @ \"const\" \",\" \"not\" \"observe\" \"}\"", - L"[744][_APConfig]\"{\" @ \"const\" \"}\"", - L"[745][_APConfig]\"{\" @ \"not\" \"observe\" \"}\"", - L"[746][_APConfig]\"{\" @ \"}\"", - L"[747][_AutoPropertyKind] BEGIN ", - L"[748][_AutoPropertyKind] END [ENDING]", - L"[749][_AutoPropertyKind]\"override\" \"prop\" @", - L"[750][_AutoPropertyKind]\"override\" @ \"prop\"", - L"[751][_AutoPropertyKind]\"prop\" @", - L"[752][_AutoPropertyKind]\"static\" \"prop\" @", - L"[753][_AutoPropertyKind]\"static\" @ \"prop\"", - L"[754][_AutoProperty] BEGIN ", - L"[755][_AutoProperty] END [ENDING]", - L"[756][_AutoProperty]< _AutoPropertyKind @ NAME \":\" _Type [ \"=\" _Expression ] _APConfig >", - L"[757][_AutoProperty]< _AutoPropertyKind NAME \":\" @ _Type [ \"=\" _Expression ] _APConfig >", - L"[758][_AutoProperty]< _AutoPropertyKind NAME \":\" _Type @ [ \"=\" _Expression ] _APConfig >", - L"[759][_AutoProperty]< _AutoPropertyKind NAME \":\" _Type [ \"=\" @ _Expression ] _APConfig >", - L"[760][_AutoProperty]< _AutoPropertyKind NAME \":\" _Type [ \"=\" _Expression @ ] _APConfig >", - L"[761][_AutoProperty]< _AutoPropertyKind NAME \":\" _Type [ \"=\" _Expression ] _APConfig @ >", - L"[762][_AutoProperty]< _AutoPropertyKind NAME @ \":\" _Type [ \"=\" _Expression ] _APConfig >", - L"[763][_CastResultInterface] BEGIN ", - L"[764][_CastResultInterface] END [ENDING]", - L"[765][_CastResultInterface]< \"$interface\" @ NAME \":\" _Type \"<\" _Type \">\" \";\" >", - L"[766][_CastResultInterface]< \"$interface\" NAME \":\" @ _Type \"<\" _Type \">\" \";\" >", - L"[767][_CastResultInterface]< \"$interface\" NAME \":\" _Type \"<\" @ _Type \">\" \";\" >", - L"[768][_CastResultInterface]< \"$interface\" NAME \":\" _Type \"<\" _Type \">\" \";\" @ >", - L"[769][_CastResultInterface]< \"$interface\" NAME \":\" _Type \"<\" _Type \">\" @ \";\" >", - L"[770][_CastResultInterface]< \"$interface\" NAME \":\" _Type \"<\" _Type @ \">\" \";\" >", - L"[771][_CastResultInterface]< \"$interface\" NAME \":\" _Type @ \"<\" _Type \">\" \";\" >", - L"[772][_CastResultInterface]< \"$interface\" NAME @ \":\" _Type \"<\" _Type \">\" \";\" >", - L"[773][_DeclarationCandidates] BEGIN ", - L"[774][_DeclarationCandidates] END [ENDING]", - L"[775][_DeclarationCandidates]<< !_AutoProperty @ >>", - L"[776][_DeclarationCandidates]<< !_CastResultInterface @ >>", - L"[777][_DeclarationCandidates]<< !_Class @ >>", - L"[778][_DeclarationCandidates]<< !_Constructor @ >>", - L"[779][_DeclarationCandidates]<< !_Destructor @ >>", - L"[780][_DeclarationCandidates]<< !_Enum @ >>", - L"[781][_DeclarationCandidates]<< !_Event @ >>", - L"[782][_DeclarationCandidates]<< !_Function @ >>", - L"[783][_DeclarationCandidates]<< !_Namespace @ >>", - L"[784][_DeclarationCandidates]<< !_Property @ >>", - L"[785][_DeclarationCandidates]<< !_Struct @ >>", - L"[786][_DeclarationCandidates]<< !_Variable @ >>", - L"[787][_Declaration] BEGIN ", - L"[788][_Declaration] END [ENDING]", - L"[789][_Declaration]<< { _Attribute @ } !_DeclarationCandidates >>", - L"[790][_Declaration]<< { _Attribute } !_DeclarationCandidates @ >>", - L"[791][_UsingFragment] BEGIN ", - L"[792][_UsingFragment] END [ENDING]", - L"[793][_UsingFragment]< \"*\" @ >", - L"[794][_UsingFragment]< NAME @ >", - L"[795][_UsingItem] BEGIN ", - L"[796][_UsingItem] END [ENDING]", - L"[797][_UsingItem]< _UsingFragment @ { _UsingFragment } >", - L"[798][_UsingItem]< _UsingFragment { _UsingFragment @ } >", - L"[799][_UsingPath] BEGIN ", - L"[800][_UsingPath] END [ENDING]", - L"[801][_UsingPath]< \"using\" @ _UsingItem { \"::\" _UsingItem } \";\" >", - L"[802][_UsingPath]< \"using\" _UsingItem @ { \"::\" _UsingItem } \";\" >", - L"[803][_UsingPath]< \"using\" _UsingItem { \"::\" @ _UsingItem } \";\" >", - L"[804][_UsingPath]< \"using\" _UsingItem { \"::\" _UsingItem @ } \";\" >", - L"[805][_UsingPath]< \"using\" _UsingItem { \"::\" _UsingItem } \";\" @ >", - L"[806][_ModuleBody] BEGIN ", - L"[807][_ModuleBody] END [ENDING]", - L"[808][_ModuleBody]NAME \";\" @ { _UsingPath } { _Declaration }", - L"[809][_ModuleBody]NAME \";\" { _UsingPath @ } { _Declaration }", - L"[810][_ModuleBody]NAME \";\" { _UsingPath } { _Declaration @ }", - L"[811][_ModuleBody]NAME @ \";\" { _UsingPath } { _Declaration }", - L"[812][_Module] BEGIN ", - L"[813][_Module] END [ENDING]", - L"[814][_Module]< \"module\" @ _ModuleBody >", - L"[815][_Module]< \"module\" _ModuleBody @ >", - L"[816][_Module]< \"unit\" @ _ModuleBody >", - L"[817][_Module]< \"unit\" _ModuleBody @ >", - }; - return results[index]; - } - - Parser::Parser() - : vl::glr::ParserBase(&WorkflowTokenDeleter, &WorkflowLexerData, &WorkflowParserData) - { + static const vl::vint dataLength = 184886; // 3421018 bytes before compressing + static const vl::vint dataBlock = 256; + static const vl::vint dataRemain = 54; + static const vl::vint dataSolidRows = 722; + static const vl::vint dataRows = 723; + static const char* compressed[] = { + "\x00\x00\x10\x00\x1F\x5D\x00\x00\x73\x00\x01\x82\x80\x07\x23\x82\x81\x82\x06\x89\x82\x92\x1A\x87\x1A\x84\x1E\x0A\xD1\x0A\x95\x2A\x81\x2E\x84\x2F\x0A\xE7\x4A\x96\x7A\x84\x7E\x84\x04\x01\x09\x97\x01\x96\x80\x10\x93\x81\x35\x27\x82\x9B\x1A\x91\x81\x21\x96\x04\xB0\x8D\x30\x95\x28\x9B\x2C\x98\x5E\x30\xA4\x30\x9C\x30\x98\x38\x98\x7E\x30\x83\x50\x96\x48\x9A\x50\x98\xA7\x30\xBE\x50\x91\x60\x98\x66\x98\xE0\x30\x88\x02\x09\x81\x08\xAA\x83\x1B\x57\x83\x82\x1A\xAA\x83\x15\xAE\x01\xB2\x20\xA0\x08\x1B\xB2\x1F\xB1\x42\x63\x8C\x23\xB3\x2B\xB2\x2D\xB1\x63\x63\xAC\x23\xB9\x3B\xB1\x41\xB1\x86\x63\x91\x43\xB5\x4B\xB2\x4F\xB1\xAA\x63\xAD\x43\xB4\x5B\xB1\x5F\xB1\xCC\x63\x93\x63\xBA\x6B\xB3\x75\xB1\xF2\x63\xBB\x63\xB5\x03\x01\x85\x09\x96\x86\x97\x19\xC3\x83\x0C\xCE\x81\x1F\x1F\xC1\x86\x12\xD0\x00\x17\xD2\xDA\x75\x2D\x9F\x7C\xD5\xD4\xD6\x85\x00\x2E\xEE\xD0\xD2\xDD\xD4\xDB\xDA\xFF\x37\xF5\xDA\xD2\xDC\xDF\xD8\x85\xB8\xB9\xC0\xF8\xDE\xDE\xDB\xE1\xDD\xC7\xBD\xC9\xFF\xD9\x81\xE1\xE3\xD7\xCB\xC6\xCD\xE4\xE1\xE8\xEB\xE8\xE4\xB0\x89\xB0\x91", + "\xD4\xEF\xEA\xE4\xEF\xCC\x86\x8E\xF5\xE2\xE0\xF2\xE8\xF1\xDD\xE8\xD8\xE6\x8B\xEB\xEF\xF0\xF3\xD6\x86\xA3\xA0\x0B\xED\xD0\xFA\x85\x04\x0A\x9B\xE5\x0A\xFA\x86\x03\xFE\x09\x47\x00\x82\x41\x08\x03\x83\x41\x02\x06\x82\x4A\x01\x82\x01\x4B\x0C\x80\x00\x0C\x0F\x8F\x7A\x7A\xDF\x54\x81\x7B\x40\x13\x98\x89\x7A\x86\xEB\x5C\x85\x86\x87\x17\x82\x49\x86\x88\x1B\xA4\x8D\x86\x89\x1F\xA8\x81\x89\x40\x23\xAC\x85\x8A\x8B\x27\xB0\x89\x8A\x8C\x2B\x80\x0D\x02\x84\x2F\x9C\x71\x8E\x8E\x33\x80\x0E\x00\x8E\x3B\xAD\x8C\x8D\x8D\x42\x85\x99\x8E\x91\x41\x87\x9A\x91\x92\x4C\xBD\x88\x92\x93\x4B\x90\x9D\x90\x91\x51\x94\x93\x97\x79\x20\x98\x9A\x8A\x96\x34\x9C\x93\x92\x97\x4F\x96\x92\x97\x98\x62\xA5\x90\x99\x95\x67\x97\x91\x7D\x96\x6B\x9B\x9D\x99\x97\x6F\x9F\x91\x9D\x98\x5E\x8F\x00\x90\x99\x69\xB8\x93\x9C\x9A\x7B\xAA\x95\x7A\x85\x79\xA6\x9D\x9E\x9E\x7F\xAC\x95\xA2\x9B\x87\xB0\x99\xA2\x9C\x8B\xB4\x93\xA2\xA0\x8D\xBC\x91\xA6\x9F\xCF\x53\xA4\xA1\xA5\x98\xA4\x79\xA4\x7C\x96\x90\xAB\xA4\xA0\x8F\x81\xA2\xA9\xA8\xA4\x9D\xA3\xAA\xA9\xA5\x9F\xA6\xA2\xAA", + "\x88\xAC\xAA\xA2\xAB\x8C\xB0\xAE\xA0\xAA\xB4\xB2\xA2\xA6\xAD\x94\x9A\xAA\xAC\xA7\xB8\x97\xAB\xAC\xA8\xB5\xBF\xAB\xAA\xB0\xAD\x84\xBF\xAA\xB1\xB1\x88\xB3\xAD\xAF\x9E\x8A\xB7\xAE\xB3\xB9\xBC\xA0\xB6\xAF\xD2\x95\xB0\xB0\xB3\xA7\x98\xB9\xAB\xB4\xCD\x96\xB3\xB2\xB7\xC5\xA0\xB7\xB2\xB8\xC9\xA4\xBB\xB0\xB7\xD9\xA8\xBB\xB6\xB9\xCF\xAC\xB1\xB7\xB5\xEA\x81\xBE\xB8\xB5\xF0\xB3\xBD\xB5\xBD\xF8\x9F\xB9\xBD\xB8\xFB\xA3\xBD\xBD\xB9\xFF\xA7\xB6\xBD\xBA\x03\xEB\xB1\xC1\xBB\x07\xEF\xBA\xBF\xC2\xFC\x8C\xCE\xBE\xC3\x00\xD0\xC2\xC1\xC2\xF4\x92\xC8\xC2\xC5\x0A\xCD\xCA\xC7\xC3\x1B\xD1\xCD\xC7\xC4\x18\xD5\xCF\xC7\xC5\x23\xD9\xCC\xC7\xC9\x1E\xE8\xC0\xC9\xC9\x22\xEA\xC4\xCA\xCB\x26\xE9\xC2\xCF\xCA\x30\xED\xC3\xCF\xCB\x37\xF1\xC2\x90\x04\x77\xB7\xB1\xCA\xCF\x2C\xF5\x81\x07\x83\x12\x3E\x71\xBE\xB6\xF2\x94\xC0\xD1\xCD\x4B\xF9\xC6\xCC\xCD\x4E\xCD\xD0\xD7\xD4\x38\xD4\xDA\xCD\xD5\x58\xD7\xDA\xD7\xD3\x59\xDC\xDB\xD6\xD4\x5D\xE0\xDF\xD4\xC1\x4A\xE4\xDF\xCE\xD9\x41\xE8\xDC\xD2\xDA\x51\xEC\xD6\xD6\xD7\x70\xE2\xD1\xDE\xDB\x61\xF4\xD3\xDA\xC1\x67", + "\xF8\xD9\xDA\xDE\x6B\xFC\xDD\xDA\xDF\x6F\xF2\xD2\xE2\xDD\x73\xC0\xE9\x8C\x06\x0F\x99\x06\xD1\xC1\x49\xF9\xDD\xE3\xDE\x8F\xFD\xD1\xE7\xDF\x93\xC1\xE4\xE3\xE0\x86\xF7\xD5\xE5\xDD\x99\xC5\xEB\xE6\xE6\x48\xE1\xE7\xD3\xE8\x8C\xE2\xE5\xE8\xE9\x65\xDD\xE8\xE7\xE7\x9E\xE6\xE9\xE8\xEB\xAB\xEE\xEE\xE2\xEC\x90\xF4\xE2\xE6\xED\x94\xF8\xE6\xE6\xEA\x97\xFD\xEC\xEF\xEF\xB0\xFE\xE1\xF0\xF0\xBA\xF8\xCF\x07\x83\x20\x0B\xEF\xE9\xF1\xA0\xE8\xE3\xEE\xF3\xB5\xD0\xF7\xEE\xF4\xB9\xD4\xFB\xEF\xF0\xD8\xCC\xFD\xEA\xF5\x9C\xD9\xFC\xF5\xF3\xA7\xE1\xFB\xF3\xF7\xDB\xE2\xFF\xF2\xF9\xD1\xE8\xF3\xF6\xFA\xD5\xEC\xF7\xF6\xF6\xB1\xE4\xF1\xFE\xFB\xDD\xF0\xF2\xF2\xFD\xC4\xF2\xF7\xFE\xFE\xF9\xF4\xF0\xFB\xF8\xFE\x65\x7C\x00\x83\x87\x7C\x83\x26\x05\x67\xFB\x61\x83\xFC\x06\x27\x04\x04\xBE\x68\x05\x0F\x49\x07\x83\x2A\x0F\x41\x15\x0F\x44\x05\x0F\x4D\x07\x83\x2E\x0F\x41\x17\x0F\x40\x06\x0F\x51\x07\x83\x0C\x2A\x3A\xFE\x5E\x7A\x81\x09\x84\x81\xFA\x2A\x8B\x7C\x83\x33\x06\x81\x27\x86\x20\x0D\x30\x88\x7F\x18\x85\x87\x86\x2B\x98\x85\x0B\xBA\x8D\x7C\x16\xBD\x84", + "\x87\xEF\x66\x85\x0D\xC3\x82\x89\x22\x89\x25\x06\x34\x86\x8A\x0F\xC1\x88\x85\xFE\x4B\x8D\x7E\x4A\x80\x88\xCE\x36\x09\x89\x26\x93\x76\x21\x25\x8C\x7C\x0E\x55\x8F\x5F\x1C\x0F\x42\x07\x0F\x5B\x07\x83\x10\x29\x8A\x83\x3D\x07\x41\x3E\x0F\x43\x0F\x0F\x40\x09\x07\x41\x0F\x41\x42\x0F\x43\x10\x5C\x82\x8B\xFF\x75\x8A\x80\x77\x8B\x80\x0F\xC4\x04\x8F\x1C\x82\x25\x08\x7D\x9B\x86\x1F\x82\x94\x91\x1F\x83\x96\x90\x85\x8C\x8B\x13\xF6\x87\x90\x45\xB9\x89\x85\x8F\x8E\x89\x24\x93\x76\x09\x40\x88\x97\x92\x8E\x8D\x90\x14\xD6\x84\x88\x4E\x91\x8A\x93\x8C\x85\x90\x42\x6C\x3F\x93\x44\x9B\x93\x91\x78\x80\x95\x2A\xA6\x91\x94\x4C\xA7\x93\x92\x9D\x88\x96\x1E\xAA\x93\x96\x56\xAB\x96\x95\xAD\x99\x92\x2D\xB5\x98\x97\x5B\xBA\x95\x97\xBC\x9F\x96\x30\xAF\x94\x96\x48\x87\x90\x09\x0F\x49\x0A\xF2\x30\x95\x94\x60\x86\x9B\x97\xCF\x8E\x9A\x24\xC5\x93\x9A\x68\x95\x9A\x9A\x36\x94\x99\x36\xD6\x9B\x9A\x6C\xB1\x94\x99\x9E\x81\x9E\x2C\xD1\x93\x99\x5C\x84\x9C\x9B\xDF\x9A\x99\x3A\xE8\x9D\x99\x72\xBE\x97\x9C\xDE\x8D\x9C\x3C\xEE\x91\x99\x79\xB6\x9E\x9C\xF8\x8F", + "\x9D\x3E\xF5\x9B\x47\x27\x16\x94\x9E\xE4\x97\x9E\x3E\x83\xAC\x9E\x82\x81\xA3\x9F\x07\xA6\xA3\x35\x80\xAB\xA0\x81\x85\xA7\xA1\x09\xB0\xA1\x43\x88\xA3\xA2\x85\x9D\x9C\xA1\x17\xAE\xA1\x44\x9B\xA5\xA3\x1A\x50\x0F\x41\x12\x29\x23\x7F\x62\x90\x9D\x71\x9D\xA4\xA3\x19\xB4\xA1\x4A\x96\xAB\x9D\x78\xA4\xA2\x9D\xF2\x8A\xA5\x4B\x98\xA3\xA6\x8D\xA7\xA7\xA6\x2B\xB2\xA1\x4E\xA8\xA5\xA6\x99\xB1\xA4\xA5\x3F\xBA\xA5\x4F\xC0\xAF\xA4\x76\x85\xA8\x00\x57\x0F\x40\x16\x4B\x90\xA7\xA3\xB4\xA1\xA8\x3C\xB0\xA8\x4E\xC3\xA2\xA8\xA9\xBB\xA3\xAA\x56\xB4\xA9\x54\xCE\xA6\xA7\xAB\x9E\xAA\xAB\x58\xBC\xAA\x4F\xE2\xA4\xA8\x93\x9F\xA9\xAB\x68\xA4\xAD\x55\xEA\xAB\xAA\xB3\xA0\xAF\xAC\x6C\xA1\xAE\x5B\x97\x2F\x9F\xAE\xAD\xA7\x0B\x0F\x40\x0E\x25\xE1\x0F\x40\x31\x0F\x43\x0C\x0F\x44\x0F\x83\x65\x0F\x40\x33\x0F\x47\x0C\x0F\x48\x0F\x83\x69\x0F\x40\x35\x0F\x43\x0D\x75\xA3\xAF\x5C\xF1\xA0\xAF\xC9\x86\x24\x0D\x91\xB6\x65\x1B\x19\xBB\xAC\xCB\xA5\xA7\xB3\x4D\xBE\xB1\x68\xA0\xB6\xA8\xD1\xA5\xB4\xB4\x2E\xA6\xB4\x00\x6E\x0C\xB3\xB6\xA8\xB7\xA9\x94\xAF\xAE\x6C\xD4", + "\x7F\x0D\xD6\xB2\xA8\xB5\x70\x16\xB7\xA2\x71\x0F\x40\x39\x0F\x40\x20\x65\x83\x20\x1D\x0F\x45\x0F\x07\x76\x0F\x41\x77\x0F\x40\x1E\x0F\x49\x0F\x07\x7A\x0F\x41\x7B\x1A\xB7\x6C\xB1\xB9\xAC\xD5\x82\x4C\x0F\xD2\xA8\x59\x1F\x59\xB4\xBB\xEE\x96\xBE\xAE\xD5\xAF\xB4\x78\xDE\xB2\xBC\xC9\xA5\xBE\x66\x7E\x1C\xBB\x77\xE6\xB3\xB5\xF6\xA7\xB6\xBD\xA9\xBC\x87\x1F\x6A\xB7\xBC\x5E\x80\x14\xBE\x02\x21\x13\x83\x02\x1F\x41\x41\x0F\x44\x10\x0F\x45\x13\x83\x06\x1F\x41\x43\x0F\x40\x11\x0F\x49\x13\x83\x0A\x1F\x41\x45\x38\xBF\xBD\x10\xD1\xBC\x7C\xB0\xB6\x20\x46\x0F\xC2\x66\x8D\x17\xC0\x85\xF5\xBE\xB5\x09\xE3\xBB\xBD\x65\xBC\xC3\x6D\x9E\xCC\xBD\x08\xCE\x12\xC3\x1F\xD0\x63\x23\x0F\x40\x12\xA6\x91\xC3\xC3\x24\xC1\xC5\x8C\x9D\xB2\xC5\xCA\xB5\xC3\xBA\x20\xD4\xC7\x8C\x9D\xCF\xC5\x14\xFB\xC3\xC4\x3D\xC5\xC6\x84\xC1\xC2\xC6\x22\xFA\xC6\xC8\x3C\xC3\xCA\x92\xB0\xC8\xC8\x20\xCB\xCE\xC7\x4D\xD6\xC7\x8F\xD2\xC5\x90\x4B\x28\xC2\xC8\x4C\xCF\xC8\x96\xD0\xCA\xCB\x22\xDD\xCF\xC8\x5F\xC9\xC9\x96\xE3\xCC\xCA\x32\xDB\xCF\xCC\x5E\xC6\xCD\x9A\xE5\xCC\xCC\x34", + "\xE0\xCA\xCD\x6F\xCD\xCF\x9A\xEE\xC9\xC9\x4B\x17\xCE\xCB\x98\x17\xCD\x9C\xF4\xCE\xC8\x38\xE2\xCA\xCE\x7B\xD3\xCE\xA0\x81\xD4\xD1\x3F\xFC\xCC\xCA\x61\xDD\xCC\xA0\x86\xD3\xD0\x46\xC5\xD2\xD1\x87\xD8\xC7\x8D\xE1\xB3\xCA\x49\xDD\x61\x13\x7A\xCE\xD2\xA6\x90\xDD\xD0\x4E\xCF\xD0\xD1\x7E\xDE\xD3\xA6\xA0\xDB\xD0\x51\xE6\xD4\xD4\x91\xD4\xD1\x94\x96\xDB\xD4\x55\xF2\x62\x13\x0F\x5B\x12\x8B\x89\xD8\xD5\x4E\xF5\xD7\xD3\xAC\xD4\xD5\xAE\xA1\xD7\xD7\x51\xFB\xD5\xD4\xBD\xC7\xD7\xAF\xA9\xD4\xBD\x4A\xEE\xD4\xD7\xC3\xD6\xD5\xB2\xB8\xD7\xD8\x60\xF0\x31\x14\x0F\x42\x17\xAC\xC8\xDD\xD8\x62\xF9\xC6\xD7\xD5\xCA\xD9\xB6\xCC\xD5\xD9\x56\xDD\xDA\xD7\xDB\xD8\xDB\xB7\xD4\xD3\xDC\x67\xE1\xDA\xD8\xE7\xC1\xDA\xBA\xCB\xD2\xDD\x7F\x68\x17\x41\xA9\x13\xDA\xB9\xE5\xD6\xDB\x49\xF4\xDA\xDB\xF7\xDC\xDB\xB5\xE8\xD9\xDF\x76\xF6\xDB\xDF\xEB\xC9\xDC\xBB\xFC\xD0\xE1\x81\xC1\xE5\xDF\x04\xFF\xDE\xC2\xC6\xD8\xE1\x83\xC5\xE2\xE0\xCD\x8F\x15\xA6\x89\xED\x62\x58\x17\xC1\x16\x0F\x52\x17\x83\x33\x1F\x40\x5A\x0F\x45\x16\x0F\x56\x17\x83\x37\x1F\x40\x5C\x0F\x41\x17", + "\x0F\x5A\x17\x83\x3B\x13\xE2\x87\xCB\xE6\xDB\xAA\xBC\x15\xCB\xB0\x3D\x17\x99\xD0\xE5\xE1\x06\xF9\xE7\xCD\x8F\xE8\xE7\x9D\xFC\x86\x17\x36\xFF\xDB\x2F\x0F\x40\x18\x79\xF5\xDC\xE1\x3C\xE9\xEB\xCB\xE0\xDD\xE7\xA6\xCA\xE8\xE9\x4B\xE4\xDF\xD3\xB0\xE1\xEB\x79\xD3\xEC\xE9\x57\xF2\xE9\xD5\xC7\xE4\xEA\xA8\xDE\xED\xEB\x60\xF8\xEB\xD6\xF8\xD9\xEA\xAB\xE8\xB6\x18\x41\xE5\xEC\xD7\xE2\xEF\xEA\xB6\xE1\xEA\xEB\x6D\xF0\xEF\xDB\xE6\xE1\xEE\xBA\xF3\xEB\xED\x72\xEE\xEE\xDE\xF9\xEC\xEE\xBB\xFB\xEE\xEF\x7D\xE2\xCB\x31\x69\xE3\xEC\x7D\xC5\xF6\xDF\x75\xF8\xEC\xE0\x8B\xFA\xF1\xC6\xE4\xEF\xF0\x14\xF7\xEF\xE3\x89\xF3\xF2\xC9\xC6\xF5\x63\xC8\x0F\x41\x32\x46\xE5\xF3\xBF\xCE\xF7\xF2\x96\xE8\xF1\xE8\x91\xFE\xF3\xCE\xC1\xF6\xF4\x8C\xE8\xF7\xE7\xA2\xF5\xF4\xD0\xED\xF4\xF5\xA7\xEE\xF5\xEC\xB0\xF9\x47\x67\x0F\x40\x1A\x9C\xF2\xF5\xEA\xBA\xFB\xF4\xD2\xF3\xF6\xF7\xBB\xF4\xF5\xEF\xAE\xE4\xF2\xDE\xEA\xF7\xF8\xC6\xE9\xFA\xF0\xC8\xFB\xF8\xE5\xC0\xFB\xF8\xB0\x36\x1B\x83\x57\x19\xF7\xE6\xD6\xFF\xF9\xCC\xF8\xFA\xF3\xC4\xF3\xF4\xEE\xEF\xF2\xFB\xD7\xFE\xFB", + "\xEF\xE2\xF1\xF8\xF0\xE6\xFC\xFC\xD0\xFE\xE5\xF1\xE1\xF0\x57\x6E\x0F\x46\x1B\xD5\xE7\xFE\xCE\xCE\xE0\xF2\xF4\xD9\xFE\xFE\xDB\xF3\xFE\xDA\xF7\xFA\xFF\xFA\xFD\xFB\xFD\xF2\x7A\x7E\xDD\x7F\x7F\x03\x82\x80\xDF\x7E\x7D\xE4\x0F\x20\xE5\x01\x7F\xF8\x7C\x7E\x06\x83\x7E\x04\x87\x80\x11\x80\x81\x0F\x85\x7E\x0D\x81\x80\xF4\x70\x80\x17\x8B\x81\x13\x86\x81\x1D\x89\x7E\x19\x85\x80\x21\x82\x81\x15\x80\x82\xFB\x79\x7F\x25\x8C\x7F\x29\x88\x82\x23\x84\x81\x2D\x8E\x81\x2B\x8E\x80\x2F\x86\x82\xFE\x71\x83\x71\x2B\x0E\x84\x7D\x76\xEC\x0F\x20\xED\x0C\x80\x1F\x8A\x82\x33\x80\x84\x27\x82\x83\x43\x88\x81\x45\x8C\x81\x36\x88\x84\x41\x8C\x82\x47\x8F\x83\x4C\x85\x83\x4B\x84\x84\x50\x8A\x5A\xF3\x0F\x20\xF4\x0E\x83\x49\x8E\x84\x52\x8A\x81\x5A\x86\x84\x53\x8F\x85\x5C\x89\x85\x62\x81\x85\x5E\x81\x86\x64\x8A\x84\x4D\x83\x86\x69\x87\x86\x5D\x88\x86\x60\x82\x82\xAA\x5A\x0F\x39\x85\x48\xFB\x07\x61\x1E\x11\x5C\x87\x4D\x0F\x0F\x2E\x0F\x12\x2F\x20\xF7\x14\x4A\xDA\x10\x13\xDB\x12\x00\x82\x8A\x10\x03\x05\x88\x09\x14\x00\x88\x86\x10\x05\x0B\x88\x03\x16", + "\x00\x8E\x82\x10\x07\x01\x89\x70\x8F\x86\x24\x87\x54\x20\x18\x87\x11\x69\x00\x94\x87\x89\x6B\x8F\x89\x96\x8E\x82\xA0\x86\x86\xA3\x81\x61\x0A\x0D\x89\xA2\x81\x8A\x30\x8C\x86\x6A\x88\x5A\x0B\x08\x8A\xAB\x85\x8A\x9E\x8A\x8A\x34\x84\x8A\xB4\x82\x84\xB7\x8F\x84\xB6\x8B\x8B\x95\x8C\x8B\xB3\x8E\x8B\xA9\x8D\x31\x0C\x0D\x89\x0D\x00\x13\x23\x52\x8B\xC1\x8D\x8B\xCA\x8F\x8B\xCB\x89\x8C\xCC\x8F\x8C\xCE\x81\x8D\xB1\x89\x8B\x5B\x8D\x8C\xD3\x80\x8C\xD7\x86\x8D\xB5\x8A\x8D\x3D\x23\x01\x9D\x84\x01\xC6\x8D\x8A\xD8\x8B\x8D\xD0\x89\x8D\xE5\x84\x8E\xD2\x88\x8E\xE6\x89\x8E\xB8\x83\x8E\xED\x8C\x8D\xBA\x80\x8F\xD5\x87\x8E\xEF\x87\x49\x1A\x0D\x89\x1B\x01\x8E\xAC\x8B\x8F\xC8\x8B\x8E\xFE\x8A\x8E\x00\x95\x8F\xEC\x81\x8F\xF4\x84\x90\x03\x93\x8F\x07\x95\x86\xF2\x8A\x90\x05\x98\x90\xFF\x82\x90\x0F\x96\x90\x38\x31\x02\xB0\x81\x90\x12\x96\x91\x0E\x98\x91\x0C\x99\x90\x6E\x8E\x8E\x17\x90\x91\x1A\x9D\x91\x0B\x92\x92\x0D\x91\x27\x22\x05\x91\x20\x99\x92\x1F\x9B\x92\x19\x9A\x92\x2D\x9C\x92\x1B\x91\x91\x2F\x93\x93\x31\x91\x92\x6D\x87\x93\xE2\x83\x92", + "\x38\x9C\x8F\xD4\x8E\x64\x23\x08\x92\x30\x94\x92\x1C\x9B\x93\xFD\x86\x93\x39\x95\x92\x42\x92\x93\x35\x9E\x92\x4B\x91\x94\x44\x9D\x93\x49\x96\x94\x3C\x92\x10\x24\x00\x94\x34\x91\x95\x4C\x98\x95\x4E\x97\x94\x43\x9C\x95\x4A\x9A\x95\x57\x9F\x94\x1E\x91\x96\x5E\x92\x95\x45\x99\x95\x62\x91\x76\x25\x06\x95\x4D\x94\x96\x53\x9A\x93\x65\x98\x96\x71\x9B\x95\x6F\x98\x94\x69\x96\x97\x73\x9E\x96\x67\x95\x23\x26\x0C\x96\x60\x9D\x96\x80\x9F\x97\x82\x97\x97\x5D\x95\x97\x85\x9B\x97\x7A\x90\x95\x84\x9F\x95\x8B\x96\x96\x8A\x99\x97\x81\x9D\x98\x72\x96\x98\x39\x27\x02\x7E\x92\x99\x74\x98\x98\x91\x90\x99\x83\x9C\x99\x98\x99\x98\x63\x9B\x99\x94\x9E\x98\xA1\x9B\x28\x28\x0D\x89\x29\x0A\x8F\x9A\x9D\x99\xA3\x93\x99\xAB\x9F\x99\xA2\x9F\x9A\x9E\x93\x9B\xAD\x99\x99\x8F\x95\x9B\xA0\x90\x97\xB8\x91\x9B\xB7\x92\x9B\xBB\x9C\x9A\x57\x7F\x02\x97\x94\x9B\xBE\x95\x9C\xBD\x97\x9C\xA5\x90\x9B\xC0\x98\x9C\xBA\x96\x9C\xC9\x94\x9C\xCC\x98\x97\xBF\x91\x81\x30\x03\x9C\xD3\x9A\x10\x31\x06\x9D\xFF\x22\x03\x9D\x83\x03\x9D\x84\x03\x9D\x89\x12\x9A\x80\x00\x36", + "\x0D\x89\x37\x0D\x89\x38\x0D\x89\x39\x0D\x89\x3A\x0D\x89\x2C\x13\x9E\x3C\x0A\x9D\xD1\x97\x98\x4B\x7D\x03\xF2\x97\x48\x3E\x07\x9F\xCD\x93\x9F\x8C\x90\x9D\xCF\x97\x9D\xDF\x6F\x03\xFA\x92\x9D\xAA\x50\x04\x9D\x8F\x12\xE3\x94\x9F\xFF\x9F\x2F\x42\x03\xA0\xBF\x43\x04\x03\xA4\x04\x03\xA5\x04\x0E\xAD\x9F\x00\xAA\x5A\x46\x0D\x89\x47\x0D\x89\x48\x0D\x89\x49\x0D\x89\x4A\x0D\x89\x4B\x03\xA0\x4C\x0D\x89\x33\x19\x10\xF6\x1F\x4B\x50\x00\x13\xF3\x12\x05\x2C\xAA\x10\x54\x0D\x89\x35\x13\x9E\x56\x05\xA1\x3B\x27\x05\x9D\x88\x05\x36\xAE\x9A\xFC\x94\x9A\x11\x69\x05\x2F\xA9\x10\x37\x19\x10\xF3\x1A\xA0\x11\x6D\x05\x3B\xAD\x34\x39\x13\x9E\x5F\x0D\x89\x60\x0D\x89\x61\x0D\x89\x62\x0D\x89\x63\x0D\x89\x3B\x19\xA0\x16\xAE\x9C\xFB\x9B\xA0\x3D\xAC\xA3\x5C\xAF\xA5\x5B\xA1\xA6\x04\xAD\xA5\xB6\x90\xA6\x63\xA6\xA6\x46\xA7\xA6\x62\xA2\x24\x65\x09\xA4\xB9\x9A\xA6\xCF\x86\x06\x6E\xAC\x9B\x68\xA9\xA5\x64\xAF\xA6\x69\xA9\xA7\x76\xA5\xA7\x3E\xA0\xA7\x7A\xAD\xA7\x7F\xAE\x65\x67\x0D\x89\x68\x03\xA7\xCB\x96\xA6\x69\x06\xA8\xB8\x3A\x06\x03\xAB\x06\x03\xAD", + "\x13\x58\xA0\xA8\x7B\xA1\x76\x6D\x0D\x89\x6E\x0D\x89\x6F\x0D\x89\x3F\x13\x9E\x71\x0D\x89\x72\x03\xA0\x73\x0D\x89\x74\x00\x13\x29\xA0\x4F\x77\x01\xA4\x06\x19\x07\xA8\xA3\x10\x7B\x0D\x89\x7C\x0D\x89\x7D\x0A\xA8\x0A\x11\x14\xE3\x9F\x07\xB2\xA7\xA1\x77\xA4\xA7\x85\x40\x08\xAB\xA2\x10\x82\x0D\xAB\x6B\xAC\x65\x84\x07\xAB\xFF\x25\x08\x9D\x86\x08\x9D\x87\x08\x9D\x88\x08\x9D\x89\x08\x9D\x8A\x08\x9D\x8B\x08\xC4\xA3\x10\x8C\x03\xAD\x7C\xAE\xA5\xC1\xA2\xA9\xDA\xA8\xAD\x7E\xA3\xA9\xDD\xAB\xAD\x65\xA9\xAD\xDC\xA1\xA8\xE1\xAF\xAD\xE3\xAE\xAD\xE4\xA8\xA7\xE8\xAB\xAE\xE0\xAA\xAE\xED\xAA\xAB\xE6\xA5\xAE\xE9\xA0\xAF\xF3\xA7\xA8\x62\xAD\x08\xD6\xA2\xAE\xF2\xAC\xAE\xE7\xAF\xAE\xF6\xA1\xAF\xEE\xAD\xAF\x02\xBB\xAF\xFE\xAA\x9C\x06\xBE\x9F\xFA\xA1\xB0\x04\xBD\x23\x8E\x0D\x89\x8F\x09\xAF\x00\xBC\x90\x90\x00\xB1\x50\x31\x09\x03\xA2\x09\x03\xA3\x09\x14\xBC\xAF\x0B\xBD\x34\x94\x0D\x89\x95\x0D\x89\x45\x13\x9E\x97\x0D\x89\x98\x0D\x89\x99\x03\xA0\x9A\x0D\x89\x9B\x04\xAA\xCD\x4E\x09\xC0\xA0\x00\xA0\x01\xB3\x47\x13\x9E\xA3\x0D\x89\xA4\x00\xB1", + "\xA5\x0D\x89\xA6\x0B\xB1\x05\xB8\xB0\x11\xBB\x28\x49\x14\xA4\x0A\x19\x0A\x31\xB5\xAF\xB8\x3B\x0A\x3E\xBD\x23\xAC\x0D\x89\xAD\x0D\x89\xAE\x0D\x89\xAF\x0D\x89\xB0\x0D\x89\xB1\x0D\x89\xB2\x00\xB1\xB3\x0B\xB4\x1D\xBA\xB0\x5E\xB4\xAF\x1C\xBF\xB5\xFF\xA8\xB4\x40\xB4\xB6\xB8\xA7\xAD\x5D\xB0\xB6\x3F\xB7\xB6\x09\xBA\xB6\xB7\x44\x0B\x5C\xB2\xB6\x07\xBC\xB6\x41\xB3\xB7\x5A\xA5\xB7\x65\xB1\xB6\x6E\xB9\xB6\x63\xBA\xB7\x7D\xBB\xB6\x77\xB6\xB6\x81\xBE\xB7\x76\xB9\xAB\x24\x95\x0B\x71\xB4\x7A\xB6\x09\xB8\x7F\xB3\xB0\x72\xB9\xB7\x80\xB0\x31\xB7\x0C\xB8\xB0\x18\x0B\x94\xB4\x3D\xB9\x07\xB9\x74\xB2\xB8\x86\xB5\xB8\x68\xBF\xB8\x9B\xB4\xB8\x90\xBE\xB8\x7B\xB0\xBA\x83\xB1\xB9\x9F\xB5\xBA\xAA\xBD\xB8\x7C\xBE\xB9\x6D\xBC\xBA\xA6\xBD\xB9\xA3\xBD\xBA\xB3\xB1\xBB\xA9\xB0\xBB\xAB\xBD\x52\xBA\x0A\xB9\x57\x7B\x0B\xBC\xB2\xBB\xA1\xB8\xBA\xAF\xBE\xBA\x78\xB1\xBC\xA4\xB8\xBB\xC8\xB4\xBC\x9C\xB7\xBB\xCA\xB2\xBA\xC6\xB4\xBB\xCF\xBC\x7A\xBC\x0F\xBB\xCC\xB5\xBB\xB9\xB6\xBD\xC9\xB8\xBD\xCD\xB2\xBC\xC5\xB7\xBA\xC7\xBB\xBD\xDF\xBA\xBD\xE2\xBF\x6D\xBD", + "\x03\xA0\x4B\x11\xA9\xE1\xB1\xBD\xD7\xBA\xBE\xD9\xBC\xBE\xE0\xB0\xBD\xDE\xB0\xBF\xC0\xB1\xBF\xB6\xB3\xBC\xE3\xB4\xBF\xEB\xB8\xBF\xED\xBA\xBF\xEF\xB5\xBF\xDD\xB3\xBF\x00\xC5\xBD\xEE\xBA\x10\xBF\x04\xBD\xF6\xB3\xC0\x08\xCC\xBF\x0A\x10\x0C\x06\xCF\xBF\x02\xCA\xC0\x09\xC1\xC0\x07\xC0\xC1\x14\xC2\xC1\x0E\xC3\xC1\x16\xC0\x35\x4D\x18\xBE\xF2\xBF\xC0\x19\xCE\xBC\x15\xCE\xC1\x22\xC8\xC1\x23\xC7\xC1\x26\xCB\xBC\x24\xC9\xC2\x27\xC0\xC2\x1F\xCC\xBD\x28\xC0\xA7\xC2\x0D\xC0\x2F\xC3\xC3\x2C\xC5\xC2\x34\xCE\xC2\x35\xCA\xC2\x37\xC9\xBE\x21\xC5\x48\xC3\x0D\x89\xC4\x02\xC3\x39\xCA\x64\xC5\x02\xC4\x3B\x26\x0C\x03\xA7\x0C\x03\xA8\x0C\x46\xCC\xC3\x16\xC9\x0C\x9D\x8A\x0C\x9D\x8B\x0C\x9D\x8F\x14\xE3\x9D\x0C\x9D\x8E\x0C\x03\xAF\x0C\x9D\x80\x0D\x2E\xB7\x54\xD3\x01\xB3\xD5\x01\xB3\xD7\x0D\x89\xD8\x0D\x89\xD9\x00\xB1\xDA\x0D\x89\xDB\x0D\xC4\x1D\xCA\xC3\xE6\x8C\x0D\x31\xBE\x0D\x47\xB3\xC4\x50\x31\x15\x1C\xC1\x4D\xE1\x0D\x89\xE2\x0D\x89\xE3\x0D\x89\xE4\x0D\x89\xE5\x0D\x89\xE6\x0D\x89\xE7\x00\xB1\xE8\x0E\xC6\xFE\xBB\xC3\x6F\xCB\xC2\x38\xCF", + "\xC8\x4E\xC6\xC3\x76\xC3\xC9\x90\xCD\xC8\x8C\xCB\xC8\x94\xC1\xC9\x70\xC5\xC9\x5E\x29\x0E\x8A\xC9\xBF\x2D\xCA\xC9\x8E\xC2\xCA\x97\xC0\xCA\x92\xCC\xC9\xA6\xCB\xC9\xA4\xC9\xC9\x96\xCC\x65\xEA\x0F\xC9\xFB\xB1\xCA\xAD\xC8\xCA\xB1\xC7\xCA\xAB\xC4\xCB\xFD\xB9\xCA\xA3\xC3\xCB\xB7\xC7\x4B\xEB\x00\xCB\xB9\x6C\x0E\x10\xBD\x0E\x9D\x8E\x0E\x9D\x8F\x0E\x9D\x80\x0F\x9D\x81\x0F\x9D\x82\x0F\x9D\x83\x0F\x9D\x84\x0F\x9D\x85\x0F\x9D\x86\x0F\x9D\x87\x0F\xC0\xC7\xBF\xD1\x98\x0F\x0D\xC9\x0F\xD9\xC1\xC1\xB6\xCC\xCB\xE2\xC8\xC9\x3B\x2A\x0F\xDF\xC7\xB7\xFB\x0D\x89\xFC\x07\xCE\xB2\xC1\x4D\xFD\x0C\xCE\x02\x1E\x0F\x0E\xA3\xA0\x00\x03\x16\xEE\x1C\xCA\xE4\xC6\x33\x01\x06\xCF\x0A\x12\x00\xFC\xC8\xA2\xFF\xC6\x10\x04\x01\xD0\x03\x15\x00\x04\xD2\x10\x06\x07\xD0\x28\x37\x00\x0A\xD0\x00\x53\x18\xA2\xCD\x4B\x00\x63\x13\x1F\x0D\x03\xD1\x0A\x1F\x00\x0D\xD0\x01\x0D\xD6\x15\x79\xCE\x37\x12\x0D\xD0\x13\x0D\xD0\xA5\xC5\xCB\xAA\xC5\x23\x14\x06\xD1\x09\x16\x01\x28\xDD\xC3\x4A\x68\x01\x22\xD0\x4F\x19\x0D\xD0\x1A\x0D\xD0\x59\x13\x9E\x1C\x0D\xD0\x1D\x0D\xD0", + "\x1E\x0D\xD0\x1F\x0F\xD2\x31\x30\x02\x3E\xDD\xCB\xE3\xCA\xCB\x23\xD9\xCB\x24\xDB\xCB\xF9\xC3\xD4\x47\xD5\xD4\xDA\xC1\xCE\x49\xDF\xD4\x44\xD8\xCF\x51\xD1\x33\x21\x01\xD4\x4A\xD6\xD4\x58\xDD\xD4\x25\xD0\xD5\x4B\xD2\xD5\x5D\xD8\xCB\x5A\xD8\xD4\x53\xD2\xD4\x5C\xD9\xD5\xE0\xCB\xD5\x63\xD7\xD5\x61\xDC\xD4\x47\x5C\x15\x1D\xDF\xD5\x64\xD9\xD6\x65\xDB\xD6\x5E\xD0\x1B\x23\x06\xD5\x73\xD7\xD6\x62\xD0\xD7\x6A\xDA\xD7\x6C\xDC\xD2\x7F\xDD\xCE\xF0\xA4\x02\x78\xD2\xD7\x86\xDC\xD7\x79\xD0\xD8\x75\xD4\xD7\x60\xDE\xD7\x8B\xDE\xD8\x8D\xDA\xD8\x91\xD2\xD8\x88\xD7\xD8\xB0\x15\x02\x85\xDD\x4D\x26\x09\xD9\x66\xD2\xD9\x71\xD5\xD9\xA0\xDD\xD9\x94\xD2\xDA\x4E\xD6\xD9\x8C\xDF\xD9\xA4\xD8\xD6\xA1\xD7\xDA\x7D\xDE\xD9\xAD\xD3\xDA\xAC\xD9\xD8\xB0\xD0\xD9\xA8\xDA\x10\x27\x0C\xD9\xB1\xD6\xDA\xB4\xDF\xDA\xA5\xDB\xDA\xBB\xD2\xDB\xBD\xD9\xDA\x7B\xD2\xDC\x81\xD5\xC2\x28\x08\xDB\xBF\xDA\xDB\xAE\xD0\xDC\xAA\xD4\xDC\x8F\xDB\xDC\xCA\xD3\xDB\xD0\xDE\xDB\xD3\xDE\xDC\x93\xD1\xDC\xB9\xDB\x28\x29\x08\xDC\x3E\x4A\x02\xDC\xD2\xDD\xE0\xD8\xDD\xC9\xD4\xDD\xE1", + "\xDD\xDC\xD9\xD6\xDD\xB5\xD3\xDE\xE8\xDC\xDB\xE6\xDA\xDE\xE7\xDF\xDE\xEE\xD1\xDF\xD5\xD0\xDF\xF3\xD2\xDF\x16\xCF\x15\x6F\xDB\xDE\xCC\xD3\xDC\xF4\xD5\xDE\xFC\xD6\xDF\xE2\xD5\xDF\x02\xEE\xDF\xC5\xDD\xDE\x2C\xDC\x02\xDF\xD1\xE0\x04\xEF\xDC\x0B\xE7\xDD\x06\xED\xE0\xE9\xD3\xE0\x0A\xE3\xE1\x0F\xE4\xE1\xFF\xD2\xE1\x15\xE9\xE1\x17\xE0\xE1\xE5\xAD\x02\x09\xE1\x76\x2E\x0F\xE1\x1B\xE6\xE1\x05\xE3\xE2\x1A\xE5\xE2\x28\xEC\xE0\x24\xEA\xE2\x27\xEC\xE2\x26\xEF\xE2\x29\xEE\xE0\x30\xEE\xE2\x31\xE1\xE1\xFE\xDF\x02\x22\xE5\xE3\xEC\xD3\xE3\x32\xEA\xE3\xFB\xDE\xE3\xD1\xDB\xE2\x3D\xE4\xE3\x44\xE2\xE3\x30\x09\xE3\x45\xE6\xE3\x42\xEA\xE4\x2D\xE3\xE4\x4E\xEC\xE4\x3C\xE0\xE5\x40\xE4\xDE\x4B\xEB\xE3\x53\xEA\xDF\x41\xED\xE4\x52\xE8\x33\x31\x08\xE4\x4F\xE6\xE5\x49\xE0\xE6\x5F\xEF\xE3\x61\xE4\xE6\x32\xE2\x16\xF9\xDD\x4C\x33\x02\xE2\x34\x02\xE2\x35\x0E\xE5\x5B\xE2\xE3\x36\x0D\xD0\x37\x0D\xD0\x65\x13\x9E\x39\x0D\xD0\x3A\x02\xE2\x3B\x0D\xD0\x3C\x03\x16\xA5\xA2\x64\x3F\x0B\xD2\x03\x11\x04\x0D\xD9\x16\xE3\x93\x04\x70\xE5\x23\x44\x0D\xD0\x45\x0B", + "\xE8\x66\xE1\xE7\x9D\x76\x04\x84\xE2\x10\x48\x05\xE9\x5A\xED\x34\x4A\x00\xE9\x7E\x3B\x04\x0D\xDB\x16\xE3\x9D\x04\x0D\xDE\x04\x0D\xDF\x04\x0D\xD0\x05\x0D\xD1\x05\x9C\xE4\xE5\x99\xE1\xE9\x62\xE2\xE9\xAF\xE1\xEB\xAE\xE3\xEB\x59\xE1\xE5\xB2\xE5\xEB\x57\xED\xDF\x55\xE4\xEB\xAC\xE6\xEB\xBC\xE8\xE5\xBD\xE9\xEB\x00\xED\xEA\xA4\x72\x05\xAB\xE1\x81\x6D\x13\x9E\x54\x03\x16\x3F\x23\xEC\xBE\xE8\xEB\x65\xE0\xED\x63\xE2\xED\xB0\xEF\xEB\xBA\xE4\xEC\xC1\xE1\xED\x93\x32\x06\x0D\xD1\x17\x69\xEE\xEC\x59\x64\x06\xC7\xE4\x3D\x65\x02\xE2\x66\x02\xE2\x67\x03\xEE\xE0\xEE\xAD\x68\x0D\xD0\x69\x0D\xD0\x6A\x0D\xD0\x6B\x0D\xD0\x73\x13\x9E\x6D\x02\xE2\x6E\x0D\xD0\x6F\x00\xE8\xCD\x42\x07\x98\xE0\x00\x74\x0F\xEF\x76\x0D\xD0\x77\x0D\xD0\x78\x0A\xEE\xA9\xAD\xD0\x7A\x08\xF0\x1C\xE6\xED\xDF\x6B\x07\xFF\xED\x07\xFF\xE2\xEC\x06\x1F\x07\x0C\xFD\x31\x80\x0D\xD0\x77\x13\x9E\x82\x0D\xD0\x83\x0D\xD0\x84\x0D\xD0\x85\x0D\xD0\x79\x1F\xED\xFF\x27\x08\x0D\xD8\x08\xCC\xE7\xED\xCF\xE9\xED\xD3\xEE\xF2\xD5\xE4\xED\xB7\xE0\xF3\x33\xF0\xEC\x36\xFC\xF2\x14\xFD\xF0", + "\xA4\x76\x09\x17\xF8\xED\x37\xFB\xEE\x2F\xFF\xF3\x18\xED\xF2\x42\xFA\xF3\x34\xF1\x4D\x97\x0D\xD0\x98\x0D\xF3\x44\xFD\x4C\x99\x0C\xF4\x50\x3A\x09\x22\xEB\x09\x22\xEC\x09\x50\xFA\xED\x77\x9D\x09\x0D\xDF\x17\xE3\x9F\x09\x0D\xD0\x0A\x0D\xD1\x0A\x0D\xD2\x0A\x22\xE3\x0A\x0D\xD4\x0A\xFC\xE7\x54\xA7\x0F\xEF\xA9\x0F\xEF\xAB\x0D\xD0\xAC\x0D\xD0\x83\x16\xF2\x10\x3E\x0A\x0D\xDF\x0A\x57\xF1\xF4\x38\xF0\x4F\xB0\x0F\xEF\xB2\x03\xF1\x58\xFA\x10\x85\x14\xF7\x87\x45\x0B\x0D\xD6\x0B\x0D\xD7\x0B\x0D\xD8\x0B\x0D\xD9\x0B\x0D\xDA\x0B\x0D\xDB\x0B\x79\xF7\x4B\xBC\x0D\xD0\x87\x14\xF8\x3E\xFE\x6A\xBE\x03\xF9\x4D\x3F\x0B\x22\xE0\x0C\x22\xE1\x0C\x9C\xFE\xF0\x77\xB2\x0C\x0D\xD3\x0C\x0D\xD4\x0C\x0D\xD5\x0C\x0D\xD6\x0C\x0D\xD7\x0C\x22\xE8\x0C\x0D\xD9\x0C\x69\xFA\x5A\x89\x14\xB4\x09\x1E\x0C\xFF\xE0\x0D\x0D\xD1\x0D\x0D\xD2\x0D\x4C\xFB\x18\xE3\x94\x0D\xA3\xF2\xF3\xA4\xF8\x5A\xD5\x0F\xEF\xD7\x00\xF8\x7A\xF9\x10\xD9\x05\xFC\x8B\x2D\x18\xE3\x9B\x0D\x0D\xDC\x0D\x0D\xDD\x0D\x0D\xDE\x0D\x0D\xDF\x0D\x0D\xD0\x0E\x4C\xF1\x0E\x0D\xD2\x0E\x2B\xF0\xF4\x31", + "\xF7\xF4\xC6\xF7\xFE\xE6\xF9\xFE\x45\xFB\xEB\xE8\xFB\xFE\x99\xF4\xFE\x35\xFB\xF7\x7D\xA0\x0F\xD0\xFE\xFE\x4D\xF0\xFF\xC7\xFC\xFE\xEA\xF2\xFF\xE5\xF6\xFF\x39\xFA\xFF\xB9\x31\x1E\x35\x7E\xFE\x71\xFF\x78\x7D\xFB\x64\x80\xF9\x7F\xFD\x43\x7B\xFF\x7A\x00\xC6\x7A\xFF\x63\x62\x91\x08\xF3\x77\x7F\x05\x81\xF8\x06\x83\xFE\x76\x80\x0F\x85\xF9\x54\x81\x3E\x53\x0F\x0D\x68\x3D\x03\x80\x18\x80\x59\x35\x06\x10\x8F\x2F\x76\x06\x88\x77\x07\x22\x70\x1F\x24\x80\x07\x87\x94\x79\x05\x43\x7A\x07\x0D\x6B\x32\x23\x4E\x7E\x0D\xD0\x7D\x05\x43\x7E\x07\x39\x75\xA1\x40\x01\xD2\x01\xE8\x37\x27\x00\x05\x0D\xF3\x0D\x32\x38\x7C\x83\x07\x00\x25\x0F\x76\x08\x00\x46\x82\x21\x09\x01\x24\x8C\x3E\x0A\x00\x13\x86\x08\x0B\x07\x09\xAC\x81\x10\x83\x82\x0C\x00\x10\x8A\x08\x0E\x07\x0A\x94\x82\x83\x00\x01\x52\x80\x7C\x31\x00\x5E\x81\x20\x12\x01\x30\x80\x00\x18\x0F\x78\x54\x00\x64\x85\x02\x24\x82\x0B\x04\x06\x9B\x0E\x04\x99\x32\x18\x04\x0C\x99\x00\x32\x8C\x00\xFA\x3A\x06\x14\x83\x5C\x36\x33\x12\x80\x0E\x08\x07\xBB\x11\x07\x1D\x83\xFD\x79\xAC\x5E\x00\x32\x81", + "\x1A\x63\x4C\x08\x04\x83\x21\x04\x0C\xA2\x00\x32\x83\x02\x00\x85\x8D\x04\x01\x64\x85\x04\x3C\x81\x66\x28\x02\x5A\x82\x41\x0A\x01\x96\x83\x20\x27\x0D\xF1\x4D\x02\x64\x82\x0B\x0E\x84\x6C\x1F\x05\x24\x82\x18\x00\x0A\x87\x83\x16\x8B\x3A\x31\x01\x13\x82\x09\x19\x0A\x0A\x8D\x81\xC7\x15\x01\xA5\x85\x9B\x36\x00\x32\x87\x03\x64\x80\x0E\x04\x83\x39\x04\x0C\xBA\x00\x32\x8B\x03\x64\x80\x0F\x11\x85\xB0\x15\x07\x24\x82\x1F\x05\x1A\x4D\x77\x06\x81\x84\xA7\x80\x00\x88\x80\x53\x87\x0C\x85\x81\x33\x89\x80\x13\x83\x0A\x8F\x86\x66\x82\x0D\x96\x60\x13\x00\x86\xCB\x87\x02\x93\x86\x6D\x85\x0D\xCA\x85\x32\x8E\x85\xE0\x81\x1A\x9E\x86\x96\x6D\x04\x58\x87\x37\x82\x87\xE1\x85\x0E\xAA\x87\x0A\x8B\x0D\x99\x80\x32\x8D\x87\xD9\x86\x1D\xA5\x56\x27\x06\x0E\xF0\x87\x39\x8B\x87\x1A\x85\x1B\xA9\x86\x76\x8A\x0F\xE8\x87\x25\x2F\x02\x64\x80\x0A\x05\x87\x78\x84\x10\xF7\x84\x3F\x83\x87\xFD\x80\x1F\xAF\x87\x84\x87\x10\xFB\x85\x3E\x88\x88\x10\x8E\x21\x8B\x89\x88\x8E\x0F\x8A\x8A\x33\x8C\x88\x0F\x8A\x22\xAE\x3C\x2F\x05\x0F\x98\x8B\x44\x81\x87\x5F\x05\x23", + "\x94\x88\x8B\x80\x0D\xE0\x02\x48\x9A\x88\xD0\x84\x24\x94\x87\x91\x8D\x10\x95\x89\x4B\x8A\x89\xDC\x84\x25\x99\x88\x97\x83\x13\xB0\x8A\x3C\x89\x89\xE6\x41\x0C\x27\x88\x9A\x8F\x11\xFE\x86\x18\x1B\x89\x36\x8D\x20\x83\x7B\x31\x00\x14\xAF\x8A\x51\x95\x89\x47\x8D\x27\x81\x8B\x6F\x34\x06\x64\x81\x19\x05\x8A\x48\x8D\x95\x26\x02\xA8\x87\x4B\x67\x03\x4E\x88\x03\x3B\x89\x0D\x14\x8B\x8B\x85\xC2\x6A\x00\x19\x8B\x03\x64\x84\x0D\x24\x83\x36\x04\x06\xEE\x00\x19\x8F\x03\x3B\x88\x0E\x24\x83\x38\x03\x09\xC7\x28\x1D\x0D\x85\x00\x06\x0E\x30\x8A\x3C\x04\x06\xF9\x00\x19\x9A\x03\x5B\x8E\x4B\x3B\x02\x32\x8C\x07\x79\x8B\x4A\x88\x89\x4E\x35\x0F\x30\x8B\x3F\x00\x17\xF5\x81\x20\x1E\x8B\x93\x1A\x10\x24\x83\x41\x04\x06\x84\x04\x19\x85\x04\x64\x86\x10\x24\x83\x43\x04\x06\x88\x04\x62\x90\x0D\x89\x04\x0C\x8A\x05\x81\x86\x10\xD1\x8A\x52\x89\x8A\x5C\x88\x30\xB1\x88\xD1\x87\x13\xFF\x88\x4F\x81\x8D\xA7\x88\x27\x9C\x5E\x4C\x07\x19\xC2\x8A\x47\x88\x8D\x4B\x8E\x1E\xB2\x8D\xD7\x8A\x1A\x9F\x8E\x67\x90\x8D\xE6\x41\x13\x2D\x8D\xCE\x86\x1B\xBD\x8C\x6E\x97", + "\x8D\xB5\x8F\x37\xBE\x8D\xE0\x84\x1C\xA4\x3E\x26\x1B\x8D\x77\x5B\x13\x08\x8F\x81\x0C\x09\x64\x81\x27\x04\x83\x9E\x04\x0C\x9F\x04\x32\x80\x0A\x64\x81\x28\x04\x83\xA2\x04\x0C\xA3\x04\x32\x84\x0A\x64\x81\x29\x04\x83\xA6\x03\x39\xB2\x88\x6E\x57\x0A\x62\x8C\xCA\x08\x05\xE6\x89\x35\xA6\x8D\xD8\x84\x1B\xD7\x25\x2A\x09\x8F\xEC\x8B\x3C\xA0\x32\x55\x00\x1F\xE6\x47\x2A\x09\x8F\xAC\x04\x0C\xAD\x04\x32\x8E\x0A\x64\x83\x2B\x04\x83\xB0\x04\x0C\xB1\x04\x32\x82\x0B\x64\x83\x2C\x04\x83\xB4\x04\x0C\xB5\x04\x32\x86\x0B\x75\x8C\x70\x8C\x48\xB7\x06\x41\xBD\x10\x5C\x02\x21\xC2\x8E\x85\x85\x8E\xA3\x8F\x92\x39\x05\x0A\x9E\xBF\x3A\x04\x19\x9B\x05\x1C\x93\x3D\xB8\x18\x5E\x01\x22\x93\x1D\x2F\x1B\x89\xBE\x03\x27\xBF\x04\x32\x80\x0C\x25\x91\x69\x9E\x3E\xC1\x04\x0C\x82\x06\x32\x83\x0C\x64\x80\x31\x04\x83\xC5\x04\x0C\x86\x07\x9D\x87\x0C\x64\x80\x32\x0D\x8B\xAA\x2B\x19\x30\x8B\x66\x00\x17\xCF\x04\x19\x90\x06\x64\x81\x1A\x29\x8E\x69\x04\x06\xD3\x06\x8B\x8E\x8D\xF2\x8C\x6D\x14\x06\xB8\x86\x0D\x05\x8D\x4B\x98\x06\x4F\x96\xF9\x64\x82\x6D\x04\x06", + "\xDB\x04\x19\x9C\x06\x64\x85\x1B\x24\x82\x6F\x04\x06\xDF\x05\x96\x9E\x21\xE0\x04\x0C\xA1\x07\x33\x9D\x1E\x93\x1E\x38\x0C\x93\x1D\x1B\x1C\x3B\x88\x72\x0B\x13\xE5\x04\x9C\x84\x8D\x06\x46\x1C\x24\x83\x73\x04\x06\xE8\x04\x19\x89\x07\x64\x82\x1D\x24\x83\x75\x0B\x13\xEC\x04\x19\x8D\x07\x40\x90\xB5\x30\x06\xB8\x82\x0F\x70\x88\x3D\x04\x83\xF5\x04\x0C\xB6\x07\xF4\x87\x0F\x64\x80\x3E\x17\x93\xEA\x89\x43\x90\x1B\x7C\x00\x17\xFB\x06\x95\x93\x89\xFD\x00\x53\xBE\x06\x3A\x84\x06\x80\x01\x7E\x00\x44\xEC\x0F\x54\x83\x09\x41\x4A\x2A\x82\x09\x7D\x0D\x95\x01\x0B\x3B\x04\x00\x58\x9F\x87\x3E\x21\x01\x14\x95\xDB\x0E\x00\x34\x94\x63\x8D\x26\xAF\x92\xAF\x90\x92\x78\x94\x37\x97\x90\x11\x9F\x20\x9A\x94\x68\x98\x90\xBF\x95\x2E\x54\x00\x5C\x97\x94\x15\x00\xB3\x82\x96\xC8\x90\x58\x99\x95\x64\x93\x1B\xD1\x90\xB1\x83\x8E\xD7\x93\x58\x9E\x3E\x0B\x0F\x2C\xBE\x23\x05\x1D\x96\x3C\x20\x03\x34\x95\x22\x57\x2C\xD9\x96\x97\x1A\x00\xE3\x96\xD5\x1C\x01\x74\x9A\xD7\x1E\x00\xB8\x90\x2F\x1F\x07\x5D\x81\x96\x1F\x20\x02\x72\x94\x00\x01\x01\xF6\x92\x04\x36", + "\x97\x11\x06\x2F\xA4\x00\xBB\x86\x20\xF6\x97\x04\x34\x94\xFB\x0A\x02\x03\x98\xB2\x0D\x01\xF6\x95\x0E\xAE\x01\x84\x95\x2E\xC6\x95\xB1\x97\x4B\x2F\x04\x61\xB1\x18\x18\x02\x31\xB6\x19\x0C\x1F\x97\xBD\x92\x5A\x82\x13\x19\x08\x31\xED\x39\x0D\x1D\x98\x1A\x77\x06\x15\x98\x5E\x28\x03\x23\x99\xB4\x84\x17\x39\x06\x5E\xBA\x00\x7B\x9B\x03\x76\x94\x0F\x16\x97\x3D\x00\x64\x80\x01\x1F\x06\x2F\xC0\x02\xC1\x89\x08\x43\x07\x66\xBF\x16\x23\x06\x32\xA6\x8F\x11\x1D\x99\x19\x90\x09\x36\x97\x24\x0B\x2B\x9A\x99\xC3\x94\x96\x19\x98\x5A\xA6\x97\xA5\x9E\x30\xD8\x95\xD3\x9A\x96\x48\x9E\x5A\x8F\x9A\xB6\x17\x05\x40\x99\xD4\x93\x97\x49\x9D\x5A\x98\x9A\xA9\x97\x35\xD3\x96\xD1\x8F\x98\x5F\x9F\x96\x18\x02\xAB\x91\x36\xD0\x99\xD9\x87\x99\x5A\x9E\x6B\x8A\x9B\xA9\x9A\xCB\x59\x02\xBD\x9A\x02\x45\x9B\x6D\x9D\x9B\xF8\x8B\x35\xF5\x9A\xDA\x89\x9B\x74\x9F\x6E\x99\x9B\xBD\x9C\x35\xE7\x98\xBC\x48\x03\x64\x9C\x7D\x29\x03\xC0\x98\x37\xC7\x9A\xDF\x8C\x9B\x88\x9B\x6E\x86\x9C\xB9\x90\xB4\x6A\x02\xBD\x8B\x03\x84\x9C\x6F\x91\x30\x36\x01\x39\xF0\x2D\x1B\x15\x9C", + "\x01\x0E\x0D\x18\x9C\x00\x0F\x06\x1B\x9D\xDE\x8E\x46\x70\x06\x5E\xB1\x02\x7B\x92\x07\x76\x97\x1C\x16\x97\x74\x06\x5E\xB5\x03\xCD\x96\x07\x76\x97\x1D\x1A\x99\xA8\x2A\x0F\x32\x98\x3E\x02\x33\xFE\x02\xBD\x9F\x03\xF6\x90\x10\x1E\x9D\x1C\x11\x08\x76\x96\x20\x1B\x9D\x60\x9C\x71\xA4\x17\x41\x02\x33\x85\x06\xCC\x95\x83\x87\x00\x78\xB6\x18\x44\x06\x2F\x89\x06\xBD\x8A\x04\xF6\x93\x11\x36\x96\x46\x06\x2F\x8D\x06\xBD\x8E\x04\xCA\x98\xCC\x0F\x04\x7B\x90\x09\x59\x9C\xDA\x9C\x21\x91\x06\x7B\x97\x26\x49\x0B\x39\x93\x07\xE6\x94\x04\xE2\x99\x71\x87\x4B\x4A\x06\x2F\x96\x06\xBD\x97\x04\xF6\x90\x13\x36\x97\x4C\x06\x2F\x9A\x07\xE6\x9B\x04\xF6\x94\x13\x30\x9C\xF8\x2F\x09\x32\x99\x28\x12\x99\xA3\x06\x5E\xA4\x04\x7B\x95\x0A\x69\x9C\x6C\x06\x05\xF6\x97\x14\x06\xA1\xC3\x9A\x38\xBB\x10\x2A\x12\x99\xAA\x07\x78\xAD\x88\x56\x0B\x40\xE4\x15\x2B\x16\x97\xAE\x06\x5E\xAF\x04\x7B\x90\x0B\x76\x95\x2C\x16\x97\xB2\x06\x5E\xB3\x05\x0A\xA5\x38\xC1\x9E\x2C\x54\x05\x24\xA0\x62\x35\x05\x14\xAD\x37\xC2\x9D\x09\xAE\x9A\x0D\xA0\x86\x8C\xA1\x19\xA4\x2E\x36", + "\x06\xBD\x97\x05\x71\x9F\x85\xA6\x9A\x17\xA2\x39\xFA\x99\x0B\xBA\xA1\xDF\x9F\x87\xBD\xA1\xCF\x9B\x38\xC0\xA0\xE9\x25\x06\x2C\xA6\x6E\x84\xA2\x13\xA3\x44\xC5\xA1\x13\xAC\xA2\x42\xA6\xC2\x46\x06\x7B\x97\x0C\x39\xA3\x13\xB2\xA1\x3C\xA1\x8A\x8A\xA2\x27\xAA\x45\xBE\xA3\x16\xB0\xA2\x5F\xA5\x47\x15\x06\x7B\x96\x0D\x56\xA1\x17\xAB\xA2\x58\xA6\x88\xAA\x9F\x2C\xA1\x46\xBB\xA2\x1A\xB1\xA1\x6E\xA0\xB5\x24\x06\x7B\x95\x0E\x49\xA2\x17\xB7\x24\xE6\x06\x8E\x90\x1B\x73\x0B\x39\xE8\x07\xE6\x89\x07\x7A\xA4\x8B\x8B\x46\x75\x06\x2F\xEB\x06\xBD\x8C\x07\xF6\x95\x1D\x36\x96\x77\x06\x2F\xEF\x07\xE6\x90\x07\xF6\x91\x1E\x3B\x9F\x08\x34\x0F\x32\x9A\x3D\x12\x99\xF8\x06\x5E\xB9\x06\x7B\x9A\x0F\x76\xA3\x3E\x16\x97\xFC\x01\x90\xA0\xA3\x3B\xA2\x24\x7D\x07\xF1\x92\xA0\x33\x89\x00\x3C\x0E\x54\x98\x5A\x02\x03\x2A\xAB\x95\x86\x47\x95\xAE\x94\xFC\x02\x4B\xB1\x96\x42\x05\x00\xB5\xA5\x56\x8F\x45\x5C\xAB\x1D\x07\x00\x2F\xBF\x08\xBF\xA4\x7D\x09\x01\x60\xA6\x10\x0A\x01\x2E\xBC\x95\x67\xA2\x90\xA4\xA4\x65\xA8\x46\xF1\xA1\x32\xA3\xA5\xCD\xA1\x88\xAD\xA2", + "\x69\xAB\x4C\xE4\x44\x06\x04\xA6\x57\xA6\x99\x93\xA6\xA6\x90\x47\xD4\xA5\x34\xBC\xA6\x34\xA7\x8D\xAC\x79\x0C\x08\x4D\xCF\xA5\x1A\xB9\xA6\xDE\xA4\x99\xAA\xA6\x68\xAB\x4E\xE7\xA5\x17\xBA\x00\xE5\xA2\xC3\x5B\x01\x78\xA7\x49\x1C\x00\x3D\xBD\x00\xF4\xA6\x03\x34\xA7\x0F\x04\x4F\xA0\x00\x3D\xA1\x01\xF4\xA2\x04\x34\xA7\x11\x04\x4F\xA4\x00\x3D\xA5\x01\xF4\xA6\x04\x34\xA7\x6F\xAF\xAF\x27\x03\x42\xB0\x27\x28\x07\xA1\xAC\xA7\x89\xAE\x4E\xDB\xA6\x76\x72\xA8\xDC\x52\x05\x34\xA7\x15\x07\x4C\xE1\xA4\x3A\xA0\xA7\x6C\xA5\x9A\x95\xA8\x91\xAA\x4D\xA4\xA9\x3A\xB4\xA8\x25\xAC\xA1\xB9\x35\x1C\x08\x51\xA9\xA9\x3B\xAE\xA9\x28\xAF\xA4\xA3\xA8\x95\xAE\x51\xE6\xA4\x4C\xBD\x3C\x3A\x05\xA5\xB2\xA9\x9B\xAC\x53\xBB\xAA\x4F\xA0\xA9\xE2\xA1\xA4\x99\x33\x1D\x04\x4F\xBC\x02\x4E\xA0\xAA\xA8\x2D\x07\x07\xAA\x44\x3E\x03\x4B\xA8\x6C\x1F\x01\xF4\xA0\x08\x34\xA7\x20\x0E\x54\xB5\xAA\x98\x42\x02\xF4\xA3\x08\x34\xA6\x22\x04\x4F\xC5\x00\x3D\xA6\x02\xF4\xA7\x08\x15\xAB\x84\x08\x04\x74\xA5\x12\x19\xA5\x3D\x84\x97\x0C\x03\x5C\xA3\x1F\x4E\x00\x5B\xAA\x08\x50", + "\x04\x9E\x91\x02\x7A\xA2\x05\x63\xAB\xBF\x13\x02\xF4\xA4\x0A\x36\xAB\x8F\xAB\x46\xBE\x21\x15\x0F\xAB\x09\x0F\x0A\x00\xAD\xA0\xA6\x10\x59\x03\x5E\xA7\x24\x5A\x04\x9E\x9B\x02\x7A\xAC\x05\x74\xA5\x17\x14\xA7\x5E\x04\x9E\x9F\x02\x7A\xA0\x06\x07\xAD\xD8\x21\x03\xF4\xA2\x0C\x16\xAC\x93\xA7\x4D\x63\x03\x66\xBF\x25\x64\x03\xB3\xA5\x02\x7A\xA6\x06\x74\xA7\x19\x1F\xAC\x2F\xAB\x1E\x68\x02\x7A\xA9\x06\x74\xA6\x1A\x14\xA7\x6B\x04\x9E\xAC\x02\x7A\xAD\x06\x1B\xAE\x1B\x14\xA7\x6F\x00\xAD\xBD\x77\xC1\xA2\x5C\x3C\xAE\x40\x16\x03\xF4\xA7\x0E\x34\xA6\x3C\x08\x5A\xBB\x11\x1E\x14\xA7\x7A\x05\xB8\xB3\xA9\xD4\xA1\x27\x7B\x02\x6F\xA1\x08\x7D\x07\xB9\xB7\xA3\x3F\x0A\x5C\xCD\x18\x20\x14\xA7\x81\x04\x9E\x82\x04\x7A\xA3\x08\x74\xA4\x21\x14\xA7\x85\x04\x9E\x86\x05\xEA\xA9\x64\x07\x04\x3D\xA8\x04\xE4\xA8\xA9\x87\x25\x44\x09\x5E\xDD\x26\x22\x1B\xAC\x8B\x03\xB3\x8C\x05\xF6\xAD\x4D\x8C\x49\x23\x14\xA7\x8E\x04\x9E\x8F\x04\x7A\xA0\x09\x74\xA5\x24\x14\xA7\x92\x03\xB3\x93\x04\x7A\xA4\x09\x3A\xAF\x51\x37\x04\xD2\xA9\x13\x12\xAF\x4D\x04\x4F\x9C\x04", + "\x3D\xBD\x04\xF4\xAA\x21\x1E\x04\x7A\xAF\x09\x11\xB2\x50\xAA\xA6\xA0\x02\xBA\xA2\x04\xE9\xA5\x07\xA4\x06\x85\xBF\x17\xA5\x04\x9E\xA6\x04\x7A\xA7\x0A\x74\xA4\x2A\x14\xA7\xA9\x04\x9E\xAA\x04\x7A\xAB\x0A\x1F\xB0\x5F\xBD\x9A\xAC\x04\xC3\x8C\xAF\xBE\xAF\x62\xD6\xA8\x67\xB4\xB1\x36\xAF\xA7\xBD\x74\x57\x04\x4F\xAF\x05\x47\xB7\xB0\x31\xAA\xBD\x96\xA9\xFA\xA8\x63\xC3\xB2\x8D\xB4\xA9\x40\xB3\xB9\x81\xB3\x0C\x9D\x0B\x2E\xB1\x8E\xA2\xB2\x37\xB4\xC8\x92\xB3\x23\xB3\x63\xD3\xB0\xFB\x1E\x05\xF4\xA7\x17\x0E\xB2\x23\xB4\x2E\x40\x07\x66\xA1\x06\x32\xB1\x66\x03\x07\xCD\xA4\x0C\x74\xA5\x31\x14\xA7\xC6\x03\xCB\x91\xB2\x03\x47\x0C\x74\xA4\x32\x14\xA7\xC9\x04\x9E\x8A\x06\x7A\xAB\x0C\x74\xA4\x33\x1B\xAC\xCD\x04\x9E\x8E\x06\x03\xBA\x5A\x51\x06\x74\xB3\x06\xD2\xAD\x1A\x34\xA6\x6B\x04\x4F\xD7\x06\x9A\xB8\x06\xF4\xA1\x1B\x2A\xB2\x24\xB4\x58\x83\x0A\x36\x12\xAE\xDC\x01\xCC\xBD\x88\x6F\x0B\x68\xB9\x13\x37\x14\xA7\xE0\x04\x9E\xA1\x06\x7A\xA2\x0E\x74\xA7\x38\x14\xA7\xE4\x04\x9E\xA5\x06\x35\xB6\x0E\x74\xA7\x39\x1F\xB1\x8D\xB7\xC9\x85\xB3\x35", + "\xB9\x64\xBD\xA8\x94\xAC\xB4\x35\xB5\xD5\xB3\x47\x7A\x04\x4F\xF6\x04\xAA\xB1\xB5\xA9\xB4\xCB\xB9\xB4\x56\xBB\x6B\xB0\xB6\xAA\xB6\xB2\xBD\xB3\x88\x44\x01\x63\x43\x4B\x89\x09\x01\x04\xB6\x01\x08\x99\xBA\xB4\x5C\xBC\x6C\xBF\xB4\x95\xAB\xB2\xC0\xB5\xD9\x8B\xB6\x67\xBF\x6D\x13\x00\xB2\xBA\xA5\x02\x0C\x02\x17\xB6\x65\xBC\x6B\xD2\xB5\xB7\xB4\xB6\xC1\xB0\xDA\x8F\xB6\x25\xB4\x6E\xAE\xB6\xF7\x22\x01\xD7\xB3\x3B\x23\x01\x6D\xB3\x6E\xE6\xB5\xB4\xA0\xB7\xDE\xB6\xD7\x93\xB7\x79\xBF\x6D\xF4\xB6\x33\x51\x01\xE9\xB2\x21\x32\x01\x7C\xB2\x6B\xD7\x27\x0C\x1C\xB7\x57\x3C\x06\x00\xB8\x88\x15\x03\x03\xB9\xC7\x16\x01\x06\xB9\x20\x37\x01\x84\xB5\x6F\xF0\x50\x0E\x0C\xB8\x39\x04\xE1\xBA\x00\x86\xBB\x03\x0C\xB8\x0F\x0C\xB8\x3D\x04\xE1\x82\x12\x1F\x0C\x70\xBF\x03\xB5\xA9\xAB\xD1\x22\x08\x17\xB7\xF9\x04\x04\x23\xBA\x42\x06\x02\x0C\xBF\x08\x0C\xB8\x24\x0A\x71\xB8\x19\x12\x0C\xB8\x4A\x05\xE5\xA2\xB7\x7E\xBB\x28\x4B\x02\xC9\xA9\x08\x4D\x07\xE6\xBB\xB5\x27\x02\x73\xB7\x24\x14\x0C\xB8\x51\x04\xE1\x92\x02\x86\xB3\x05\x0C\xB8\x15\x0C\xB8\x55\x04", + "\xE1\x96\x03\x9E\xBE\x6E\xED\xB6\x97\x17\x02\x4C\xBB\x1E\x58\x03\xA8\xBF\x6A\xD5\xB2\xD3\xB5\xBA\x33\xB9\xDC\xA5\xB6\x1D\xB0\x1B\x59\x00\xC3\xBA\x02\x54\xBB\xD5\xBF\x25\x2D\x01\x76\xAD\x28\x17\x05\xBB\x0A\x0D\x0B\x28\xBB\x84\x0E\x05\x6B\xBA\xD6\xA5\x57\x5F\x04\xE1\xA0\x02\x86\xB1\x06\x0C\xBA\x18\x0C\xB8\x63\x04\xE1\xA4\x02\xB7\xB3\x10\x65\x00\xC3\xA6\x03\x1F\xBD\x99\x29\x02\x9D\xB3\x10\x6B\x00\xE1\xA2\x08\x6D\x04\xE1\xAE\x02\x86\xBF\x06\x7C\xB9\xC7\x10\x03\x0C\xB9\x0E\x0E\xBC\x7B\xB6\x75\x89\x0A\x1C\x07\xBC\x01\x0C\x0E\x18\xBD\x3B\xA6\x07\x13\xBF\x25\x37\x03\x0C\xB8\x0F\x0C\xB9\x3C\x0C\x70\xFA\x00\xC3\xBB\x03\x0C\xBC\x0F\x0C\xB9\x3E\x0E\x79\xF2\xB5\xC3\xBE\x03\xAD\xBE\xEF\x3F\x03\xD8\xB9\x75\xF1\xB5\xE5\xAF\xBB\x5C\xBF\xEA\xA2\xBA\x6F\x50\x08\x0C\xB9\x20\x0C\xB7\x34\xBF\xDD\x94\xBD\xDA\xB0\x6F\xC5\xBF\xF0\xBB\xBA\x58\xB8\xF9\xA4\x49\x47\x0C\x70\x90\x04\xED\xAA\xBE\xB0\x11\x12\x0F\xBE\x5E\x22\x09\x1E\xBF\x24\x1E\xBC\x94\x03\xFA\xB9\xBD\x11\x45\x09\x0C\xBA\x25\x0C\xB8\x97\x04\xE1\x98\x04\x86\xB9\x09\x0C\xBA\x26", + "\x1E\xBC\x9B\x04\xE1\x9C\x05\xC0\xB7\x54\x1F\x07\xE6\xA1\x05\x9B\xBB\x14\x0C\xB8\x52\x0C\x70\xA5\x06\xF6\xB1\x13\xA6\x04\xE1\xA7\x05\xFB\xBB\x7B\xC4\xBD\x40\x08\x05\x9B\xBA\x15\x1B\xBD\x3A\x8C\x0A\x7C\xBC\xAC\x0D\x05\x0C\xBE\x15\x0C\xB9\x57\x0C\x70\xB0\x04\xC3\xB1\x05\x0C\xBA\x16\x0C\xB9\x59\x06\x80\xBA\xBE\xF0\xB0\x53\xB4\x05\x02\xC1\xBE\x0B\xCC\xF2\x35\x06\x06\xD8\xBD\xC9\xBD\xE9\x9B\xC0\xBA\x56\x0B\x0C\xBB\x2D\x1F\xC0\xB6\xBB\x47\x38\x04\x14\xC7\x48\x39\x06\xE7\xBA\x05\x9E\xBB\x17\x2C\xC1\xE3\xBE\x7A\x3C\x04\xC3\xBD\x05\x0C\xBE\x17\x0C\xB9\x5F\x0C\x70\xC0\x04\xC3\xA1\x06\x9E\xBA\x18\x0C\xB9\x61\x0C\x7E\xAA\x2E\x31\x1B\xBC\xC8\x03\xF3\x8A\x06\x86\xBB\x0C\x0C\xB8\x33\x13\xC1\x00\x05\x19\x0C\xB8\x67\x00\x85\xAE\xBD\x1D\x8F\x06\x9B\xB9\x1A\x03\xC1\x96\x83\x0D\x55\xC1\x8E\x14\x06\x0C\xBD\x1A\x0C\xB8\x6B\x0C\x70\xD7\x04\xC3\xB8\x06\x0C\xB9\x1B\x0C\xB8\x6D\x0E\x85\xFE\xBF\x1D\xBB\x06\x6D\xC6\xCB\x1C\x07\x38\xC2\x82\xA0\xC1\xFF\xB0\xBE\x1C\xC3\x04\xF6\xC2\xE1\x6D\x0D\x0C\xBA\x37\x14\xC3\xDB\xBE\x20\x1F\x06\x40\xCE", + "\x37\x60\x06\xE7\xA1\x07\x9E\xBA\x1C\x04\xC5\x3B\xCE\x7A\x63\x04\xC3\xA4\x07\x0C\xBD\x1C\x0C\xB8\x73\x0C\x70\xE7\x04\xC3\xA8\x07\x9E\xB9\x1D\x0C\xB8\x75\x05\x84\xA8\x2D\x3B\x1B\xBC\xEF\x03\xF3\xB1\x06\x86\xB2\x0F\x0C\xBB\x3C\x10\xC2\xF4\x04\xE1\xB5\x07\x45\xC7\x81\xF5\x82\x3D\x1B\xBC\xF8\x03\x0B\xF3\x88\x7D\x0C\x8A\x8A\x0B\x3E\x0C\xB8\xFC\x04\xE1\xBD\x06\x86\xBE\x0F\x1A\xB8\xC3\xA0\x00\x02\x14\x95\xAE\x95\x60\xC0\x4B\xFA\xC1\x0A\xDD\x11\x02\x04\x18\xC5\xB7\xBB\x53\x00\x4A\xC6\x2D\xA6\xC6\xC6\xBD\xE1\x96\xC3\xDB\xB7\x8C\xF5\xC1\x74\x44\x00\xCE\xC0\xDB\x81\x09\x02\x09\x8D\xDC\xB7\x34\xCE\xC3\xDF\xC0\x0F\xD0\xC6\x1A\xC1\x88\xD5\xC5\x39\xD1\xC6\xE1\xC6\x1A\xE8\xC6\x6A\xCB\x8E\xE0\xC4\x3B\xC4\xC7\x21\xC1\x9A\x13\x01\x6C\xC7\xCF\x33\x88\x05\x14\xC7\x0A\x0D\x02\x38\xC7\x71\xC7\x49\x16\x03\x3E\xD7\x3A\x17\x07\x1F\xD0\x18\x0C\x02\x90\x9D\x19\x06\x05\xC8\xF0\xC7\x5F\x5A\x00\x84\xC0\x00\x1B\x00\x43\xDC\x00\x0C\xCD\x03\x0C\xC8\x0F\x0C\x90\x9F\x00\x43\xC2\x12\x20\x04\x21\xE1\x01\x6C\xC0\x72\xD7\x24\x09\x19\xC6\xF3\x0E\x04", + "\x20\xC8\x85\x08\x02\x0C\xC9\x0A\x0C\xC8\x2A\x07\x22\xF8\x19\x15\x0C\x90\xAC\x02\x4A\xCE\xC7\x6E\xC5\x05\x23\xC9\x84\x0F\x02\x33\xCB\xAE\xB1\x01\x2F\xCF\x96\x32\x00\x86\xC3\x03\x0C\xC8\x0D\x0C\xC8\x35\x04\x21\xF6\x00\x86\xC7\x03\x0C\xC8\x0E\x19\xC9\xEA\xC1\x21\xC4\x5F\x1C\x08\x94\xE7\xC6\x52\xD6\xB1\x3A\x05\x29\xF1\xC7\xA9\xCC\x88\xCE\xCA\x3F\x9B\x01\x0C\xCC\x07\x12\xCB\xAA\xC7\x4D\x3D\x03\x56\xCD\x29\x3E\x07\x2B\xCA\x09\x1F\x02\x96\x89\x08\x10\x05\xCB\x7B\xC7\x28\x41\x02\x86\xC2\x04\x0C\xCB\x10\x0C\xC8\x44\x04\x21\xC5\x02\x86\xC6\x04\x68\xCB\x40\x07\x02\x0C\xC8\x09\x1C\xC9\x66\x2B\x04\x36\xCB\x40\x0D\x02\x7E\xCA\x20\x0F\x02\x86\xC0\x05\x0C\xC9\x14\x16\xCB\x1D\x1A\x0A\x0C\xC9\x29\x08\x98\xCF\xC9\x48\xB4\x02\x81\xC9\x20\x16\x03\xC8\xC7\x47\xD8\x01\x63\xD7\x24\x59\x04\x21\xDA\x02\x86\xCB\x05\x0C\xC8\x17\x0C\xC8\x5D\x04\x21\xDE\x02\x86\xCF\x05\x17\xCD\x3A\xD4\xA6\x60\x06\x34\xFE\x3B\x30\x0A\x9A\xB0\xCA\x38\xC9\xCB\xFC\xC7\x34\xD4\xCB\x56\xCE\xAD\x62\x00\x43\xC3\x03\xAD\xCF\x35\xD0\x18\x32\x09\x9B\xBC\x25\x19\x17", + "\xCC\x66\x07\x32\xE7\x03\xDE\xC6\x95\xF9\x38\x1A\x0C\xC8\x69\x04\x21\xEA\x02\x86\xCB\x06\x0C\xC8\x1B\x0C\xC8\x6D\x07\x32\xEE\x02\x86\xCF\x06\x7B\xCB\x51\x32\x03\x94\xCC\x0E\x14\xCC\x3B\x0C\x90\xF7\x00\x43\xD8\x03\xC4\xC9\x4E\x39\x02\x86\xCA\x07\x61\xCC\x57\xC7\xCF\xB0\x0B\x0F\x14\xCD\x3E\x04\x99\xF5\x83\x1F\x06\xCF\xB0\x10\x10\x0C\xC9\x40\x0C\x90\x82\x04\x43\xC3\x04\x0C\xCC\x10\x0C\xC9\x42\x0C\x90\x86\x04\x7C\xD9\xC3\xBB\xB7\x10\x3F\xCF\x6F\x38\x08\x03\xD0\x6C\xC7\xD0\xE6\xC3\x36\xC0\xD1\x04\xD8\x9E\x86\x41\x22\x0C\xC8\x8A\x05\x1B\xCB\xD1\x76\xCA\x9B\x94\xD1\x52\xD2\xC6\xEF\xC0\x43\xEE\xCD\x0B\xD2\x9B\x8D\xD3\x51\x38\x04\x06\xD4\x41\xF4\xCD\x0D\xD5\x9C\x99\xD1\x87\xC3\xD1\x15\xD6\x31\xEC\x69\x4C\x01\xA2\x96\xD1\x89\xC4\xD1\x0A\xD1\x36\xE6\xD1\x19\xD0\xA3\x9E\xD0\x82\xCE\xD1\x31\xD6\x87\x1A\x05\x16\xDA\xA2\xA2\xD3\x84\xDD\xD1\x38\xD6\x46\xFE\xD0\x19\xD5\xA3\xA8\xD1\xD3\x1B\x04\x3C\xD2\x43\xE9\xD0\x25\xDC\xA1\xB4\xD3\x92\xC7\xD1\x3F\xD4\x49\xFE\x5E\x4E\x09\xA4\xD0\xD0\x91\xCF\xD2\x4E\xD5\x49\xC5\xD3\x28\xD6\xA5", + "\xB7\xD0\x90\xDF\xD2\x52\xD1\x47\xFC\x21\x4E\x05\xA5\xFE\x3A\x27\x0C\xC8\x9F\x02\x42\xD7\xD2\x2D\xD8\xA5\xDB\xD3\x9A\xCF\xD1\x6D\xD1\x4E\xEC\xD3\x39\xD0\xA7\xF4\xD2\x98\xC1\xD2\x46\xD5\x4E\xFA\xD3\x3B\xDA\xE1\x2D\x05\x99\xCB\x3B\xAE\x04\x21\xEF\x04\x35\xDE\xA5\xE1\xD2\x90\xD8\xD3\x5C\xD1\x4B\xFB\xD3\x43\xD0\xA6\xAE\xBD\x2F\x0C\xC8\xBE\x07\x4F\xCB\xD3\x5F\x02\xA9\xCD\x18\x30\x17\xCC\xC1\x07\x32\xC2\x07\x4A\xDB\xA8\xAD\x2B\x30\x0C\xC8\xC4\x04\x21\xC5\x06\x86\xC6\x0C\x0C\xCB\x31\x0C\xC8\xC8\x07\x32\xC9\x06\x86\xCA\x0C\x56\xCE\x6A\x2D\x06\x94\xCF\x19\x14\xCD\x68\x0C\x90\xD2\x04\x43\xD3\x06\x49\xD4\x1A\x0C\xC9\x6A\x0C\xA9\xFC\xD3\x1D\xB6\x06\x94\xC8\x1B\x2D\xCF\x96\x8A\x0D\x3D\xD7\xA2\x1B\x06\x0C\xCC\x1B\x0C\xC9\x6E\x0C\x90\xDE\x04\x43\xDF\x06\x0C\xC8\x1C\x0C\xC9\x70\x09\xA4\xE2\x04\x43\xC3\x07\x84\xD3\x48\xC5\xD5\x2E\xDA\xAD\xDD\xD4\xA2\xCF\xD3\xBE\xD4\x5B\xDF\xD7\x6D\xD3\xC4\x71\x06\xB1\xD9\xD3\xE1\xD2\x51\xE9\xD6\x37\xD4\xAE\xEC\xD7\xD2\x32\x07\x0C\xCB\x1E\x19\xD7\x71\xDE\xAD\x8D\xD6\xBA\xCC\xD4\x86\xD0\x5D\xF8", + "\xD6\x71\xD0\xA6\x81\x01\x81\x02\xC6\xF6\xD6\x5D\xF4\xD7\x81\xD1\xB0\xF2\xD1\xA7\xC9\xD4\x02\xDD\x60\xE5\x56\x01\x0F\xAF\xC5\xC7\xD0\x63\x00\x0D\xDB\x19\xFC\x20\x02\x01\xB1\xCF\xC4\x23\x55\xD8\xDA\xC0\x00\x06\x00\x8C\xDD\x4B\x9C\xDB\x47\x1E\xD8\x09\x09\x01\x20\xD9\x62\xA3\xB2\x83\x0B\x02\x05\xD9\x02\x0C\x01\x28\xD9\x80\x0D\x00\x2B\xDA\x8F\x0E\xD9\xFC\xD7\x19\x4F\x00\x98\xD0\x4F\x10\x00\xCD\xC9\xD8\xF9\xD0\x61\xDC\x57\x08\x07\xB3\xDC\x56\x04\x0E\xD9\x13\x00\x63\xDE\xC7\x7B\xDA\xAF\xC5\xDA\xCE\xD6\xD3\xFB\xD4\x68\xC7\xDB\x83\xDF\x6D\x21\x02\xCB\xC2\x01\x42\xDB\x69\xEB\xD6\x83\xD3\xB5\xC8\xDA\xD1\xC0\xD7\x49\xD8\x67\xF1\xD9\xAD\xDA\xB4\xD8\xD8\xAC\x10\x01\x3D\xDE\x6A\xD2\xDB\xAC\xD4\xB5\xE4\xDA\xD8\xDE\xDA\xD8\x49\x6C\xFE\x5E\x19\x0A\xB6\xFE\x1B\x0C\x0E\xD9\x34\x06\x65\xF5\x00\x97\xD6\x03\x2E\xDB\x0D\x0E\xD9\x38\x06\x65\xF9\x00\x97\xDA\x03\x2E\xDB\x0E\x0E\xD9\x3C\x06\x65\xFD\x01\xB6\xD6\xB6\xF3\x46\x0F\x04\xDC\xB8\x1F\x07\x08\xDD\xB1\xD7\xB5\xED\xD4\xB7\x40\x02\x8B\xDD\x2E\x41\x02\x97\xD2\x04\x51\xD8\xDA\xD7\xDC", + "\x8E\xDF\x6C\xD9\xDC\xA6\xDB\xB9\xD5\xD8\xE7\xD6\x44\x50\x06\x65\xD1\x02\xCB\xDD\xB9\x85\xDE\xE7\xC7\xDD\xA6\xD9\x75\xCD\xDD\x7A\xD9\xB3\x98\xDC\xEB\xDC\xDA\x5A\xD8\x9E\x1F\x03\xC8\xD5\xBA\xAB\xDC\xC1\xCD\xDD\xB5\xDC\x71\xFA\xDC\xD7\xD7\xBB\xD9\x30\x18\x14\xDD\xAF\xDD\x6B\xF9\xDC\xDE\xDA\xB0\x9F\xDD\xEF\xC2\xDE\xC1\xDA\xC8\x21\x02\xE0\xD7\xBC\xB1\xDE\xF3\xC5\xDB\xB6\xDD\x78\xD0\xB2\x31\x0C\xBC\xAA\x63\x18\x15\xDE\x32\x1C\x0C\x2E\xD9\x32\x0E\xB2\xE6\x02\xCB\xC7\x03\x2E\xD8\x0D\x2E\xD9\x34\x0E\xB2\xEA\x02\xCB\xCB\x03\x2E\xDC\x0D\x2E\xD9\x36\x0E\xB2\xEE\x00\xF6\xD0\xDD\x5E\x37\x0D\x2F\xDE\x9C\x10\x07\x73\xDF\xF3\xDA\xDC\xC9\xDD\xF3\x31\x02\xFB\xD5\x8F\x72\x02\xCB\xD3\x03\xA4\xD9\x7F\xF8\xDF\xE6\xD0\xBD\xBB\xDF\xF0\xC7\xE0\x02\xE6\x78\xD2\xDF\x0C\x91\x08\x7C\xDD\xB9\x42\x04\x0E\xE6\x4B\x03\x04\x97\xD4\x08\x2E\xD9\x21\x0E\xD9\x86\x06\x65\xC7\x04\x97\xD8\x08\x2E\xD9\x22\x0E\xD9\x8A\x06\x65\xCB\x04\x97\xDC\x08\x2E\xD9\x23\x11\xE0\xA8\xD9\xD7\x0E\x04\x14\xE3\x39\x0F\x04\x0B\xF1\xDE\xB8\xD9\x81\xD2\x59\x17\xE6\x80\x11", + "\x06\xCB\xD2\x04\x01\xE4\x80\xC3\xE1\x05\xE0\xC3\xF0\xDF\x0E\xF1\xE1\x3A\xE2\x81\xC0\xE2\x1E\xE6\x80\x20\x04\x0D\xE4\xDE\x43\xE1\x89\xFE\xE0\x21\xEB\xC4\xA9\xE2\x01\xF6\x60\xA1\x07\x88\xC8\xE1\x20\xEE\xC4\xC8\xE1\x13\xEA\xDD\x4F\xE4\x8A\xD8\xE3\x84\x02\x0A\x52\xE2\x0C\xFB\xE2\x53\xE4\x88\xD6\xE2\xE4\xDA\xC5\xBD\xE0\x19\xE1\x08\xA3\x06\x8B\xE5\xE3\x2C\xE2\xC6\xE1\xE2\x12\xE7\xE3\x6F\xE7\x7E\xFB\x6E\x52\x0A\xC6\xED\xE3\x17\xE6\xE3\x72\xE5\x8A\xEE\xE3\x2B\xE8\xC7\x85\xE3\xB7\x25\x05\x75\xE1\x8E\xFE\xE3\x3D\xE0\xC7\xFC\xE0\x1B\xE2\xE4\x3F\xE6\x90\xE3\xE3\x3C\xEE\x7D\x26\x05\x20\xEA\xE4\x84\xE4\x91\xFD\xE3\x44\xE5\xC8\x95\xE6\x24\xEC\x79\xA7\x07\x91\xD6\xE5\x41\xE7\xC7\x87\xE4\x24\xFD\xE4\x8B\xE4\x93\xDD\xA2\x54\x0A\xC9\x97\xE5\x28\xF4\xE4\xA6\xE1\x92\xE2\xE4\x3B\xEB\xC6\xCE\x75\x2A\x05\xE5\xAB\xE0\x91\xCC\xE3\x4D\xE8\xCA\xB1\xE7\x27\xED\xE5\xBB\xB2\x15\x30\xE5\x5A\xEC\xCB\xB3\xE5\x2A\xE0\xE5\xAA\xE5\x97\xFA\xE3\x1E\xAB\x0A\x3B\xE6\x2F\xF6\xE5\xB4\xE7\x98\xC2\xE6\x30\xE0\xCC\xCD\xE6\x85\x6C\x05\xC6\xE3\x98\xF8\xE4", + "\x67\xEC\xCA\xD5\xE6\x2C\xF2\xE6\xD6\xE0\x6A\x2D\x05\x68\xED\x4D\x2E\x04\x37\xF3\xE4\xCA\xE1\x9C\xD8\xE7\x24\xEF\x0A\x2E\xD8\x2C\x1F\xE6\x36\xB1\x16\x28\xE6\x72\x12\x0B\x58\xDF\x2C\x18\xDE\xB4\x03\x9D\xC1\xE7\x68\x25\x0B\x2E\xDA\x2D\x0E\xD9\xB7\x06\x65\xF8\x04\x97\xD9\x0B\x2E\xDA\x2E\x18\xDE\xBB\x06\x65\xFC\x04\x8C\xDD\x91\xDD\x27\x2F\x18\xD8\xF3\x09\x18\x08\xE8\x85\x03\x0C\x2E\xD8\x31\x0E\xD9\xC5\x01\x90\xC6\x06\x97\xD7\x0C\x72\xE4\x35\xEF\x71\xC8\x03\xA1\xC9\x08\x65\x0A\xD1\xBB\xB4\x33\x16\xE8\x02\x0D\x19\x2E\xD8\x67\x0E\xB2\xCF\x06\xCB\xD0\x06\x2E\xD9\x1A\x2E\xD8\x69\x0E\xB2\xD3\x05\x20\xF4\x06\x2E\xDD\x1A\x39\xE1\x6C\xE9\xCC\xE3\xE7\x2D\xF4\xE9\xBF\xE3\x9A\xFA\xE9\x70\x83\x0E\x2E\xD8\x39\x13\xE9\xD7\xE4\x99\xFB\xE9\xA0\xE0\xCE\xB6\xE9\x4D\xE2\xEA\xD6\xE2\x1E\x2E\xD9\x79\x00\xD4\xB7\xE8\x51\xFE\xE4\x47\xED\xA8\xC8\xEB\xA7\xE7\xCA\xD0\x85\x00\x08\x10\x00\xDD\x9E\x58\xEB\x81\x03\xB4\xB9\xE8\x4E\xE8\xE6\x5E\xEC\xAA\xF3\xE6\xA3\xE1\xD6\xCE\xEA\x59\xED\x89\x10\x03\xAB\xD2\xD9\xA1\xE7\xD6\xE5\xE9\x54\xF0\xEA\x6E", + "\xEC\x7B\x51\x00\xB5\xE6\xB1\x83\x0A\x04\x14\xEB\x19\xDE\xA9\xD3\x00\xBC\xE5\x8F\xDE\x30\x05\x1C\xEB\xC8\x15\x02\x00\xEC\x72\x16\x01\x03\xEF\x58\xE4\x49\x17\x06\xB0\xC3\x08\x0C\x0A\xD8\x82\x09\x06\x0D\xEC\x01\x0A\x03\x10\xED\x86\xC3\xD9\x9C\x03\x64\xE2\x12\x1D\x03\xB2\xDE\x00\xBC\xE5\xD0\xB8\x1D\x08\x18\xEB\xF3\x0B\x04\x20\xEC\x85\x05\x02\x13\xEE\x09\x13\xEC\x27\x07\xB2\xF8\x18\x14\x03\xD9\xA9\x02\x6A\xF1\xEB\x3D\x8A\x05\x23\xED\x84\x0C\x02\x33\xEF\xAE\xAE\x01\xAF\xEF\x96\x2F\x01\xC9\xE0\x03\x13\xED\x0C\x13\xEC\x32\x03\xB2\xF3\x01\xC9\xE4\x03\x13\xED\x0D\x19\xED\xAE\x3E\x06\x13\xED\x1B\x08\xDC\xE2\xE7\xA2\x18\x01\xCD\xEE\xC9\x39\x01\xE8\xEB\x28\x3A\x00\x75\xF0\x0D\x3B\x07\xBA\xF0\xEA\x2F\x3C\x03\x13\xED\x0F\x13\xEC\x3E\x03\xB2\xFF\x01\xC9\xE0\x04\x13\xED\x10\x1A\xEE\x09\x0A\x08\x13\xED\x21\x0C\xD9\xCD\x26\x11\x16\xED\x03\x08\x09\x30\xEE\x81\x0A\x04\x13\xEF\x12\x13\xEC\x4C\x00\xBD\xFF\x17\x26\x03\xD9\xCE\x02\x7E\xF7\xE8\x75\x87\x09\x33\xEF\x80\x01\x05\x03\xF3\x1D\xB3\x02\xFF\xEF\x90\x14\x03\xC9\xE5\x05\x13\xEE", + "\x15\x13\xEC\x57\x03\xB2\xD8\x03\xC9\xE9\x05\x13\xEE\x16\x09\xF0\x5F\xEB\x99\xD2\xEB\x0D\xFB\xDD\x9A\xF1\x87\xEE\xEE\x1C\xF4\x5C\x1B\x03\xC9\xEC\x05\x18\xF2\x58\xE3\x08\x5D\x06\xC4\xFF\x24\x2F\x06\xE2\xDF\x02\x89\xE0\x03\x2A\xF7\xAD\xC7\x2B\x30\x03\xD9\xE2\x03\x64\xE3\x03\x93\xEC\x0C\x13\xED\x32\x03\xD9\xE6\x02\x89\xE7\x03\x93\xE8\x0D\x2D\xEF\xA3\x2B\x06\x06\xF1\x1B\x06\xF0\x6F\x03\xB2\xF0\x03\xC9\xE1\x07\x31\xF3\x8E\x12\x03\x93\xEB\x0E\x0E\xF2\xB0\xED\x13\xF4\x02\x81\xF6\x03\x06\xF5\x0E\xB8\x03\x29\xFD\x34\x79\x03\x64\xFA\x03\x93\xEB\x0F\x13\xEC\x3E\x03\xD9\xFD\x03\x64\xFE\x03\x93\xEF\x0F\x1C\xF2\x2F\x10\x08\x6B\xF0\x59\xF4\xF2\x1E\xF5\xAA\xEF\xF3\x38\xF7\xD8\xA1\xF2\x1B\xE1\x04\x93\xEA\x10\x2E\xF3\xA9\xE3\x08\x7B\xF0\xEE\x04\x04\x26\xF5\x10\x26\xF0\x43\x0E\xE7\x9F\xF3\x35\x27\x04\x93\xE8\x11\x13\xED\x44\x03\xD9\x8A\x07\x64\xEB\x04\x93\xEC\x11\x26\xF1\x46\x03\xD9\x8E\x07\x90\xEA\x2D\x91\x06\xC0\xD3\x04\x03\xF5\x09\x13\xEE\x25\x13\xEC\x97\x05\xD0\xC9\x08\x4C\x03\xD9\x99\x06\xA8\xF5\xF3\x2C\x7A\x13\x06\xF0\x4E", + "\x09\xE5\xAD\x8A\x27\x07\xF5\x10\x1F\x13\x13\xEC\x50\x03\xD9\xA1\x07\x64\xE2\x05\x93\xEB\x14\x13\xEC\x52\x03\xD9\xA5\x04\xAC\xE2\x08\xA6\x07\xD7\xD9\xF0\x10\xF6\xE8\xD3\xE9\x5B\xF0\xF3\xC4\xF2\xCE\xD9\x91\x53\x03\xD9\xA8\x06\xB0\xE9\xE2\xA9\x07\xD9\xD0\x1A\x55\x06\xE2\xAB\x06\x89\xEC\x05\xD2\xF2\xC6\xFE\x21\x56\x03\xD9\xAE\x07\x64\xEF\x05\x93\xE8\x16\x13\xED\x58\x03\xD9\xB2\x06\x89\xF3\x05\x93\xEC\x16\x17\xF4\xD4\x27\x0B\x06\xF1\x2E\x06\xF0\xBB\x03\xB2\xFC\x05\xC9\xED\x0B\x4F\xF6\x2F\x13\xEC\xBF\x01\xDB\xF0\xED\x46\x60\x0C\x06\xF2\x30\x0D\xF5\x33\x8C\x18\x3A\xF7\x1E\x15\x0C\x13\xEE\x31\x13\xEC\xC7\x03\xB2\xC8\x07\xC9\xE9\x0C\x13\xEE\x32\x13\xEC\xCB\x07\xD9\xCC\x07\x81\xF4\xE7\x80\xF2\xB6\xF6\xF8\xFB\xF1\xD9\xE8\xF4\x65\xFD\x35\xCD\x04\xC5\xFA\xF8\x18\xF8\xD9\xF3\xF2\x90\xFC\xD6\x97\xF9\xC9\xF9\xF8\xF0\x56\x19\x1F\xF8\x86\x4F\x0C\x4F\xF4\x34\x13\xEC\xD1\x03\xB2\xD2\x07\xC9\xE3\x0D\x13\xEC\x35\x13\xEC\xD5\x03\xB2\xD6\x07\xC9\xE7\x0D\x13\xEC\x36\x13\xEC\xD9\x03\xB2\xDA\x07\x95\xF6\xEC\xF0\x27\x36\x04\xFA\xB0\x0C", + "\x1B\x08\xFB\x62\xF6\xE7\xA1\xF9\x8D\x1D\x06\x4B\xFC\x6E\x5E\x07\xC9\xEF\x0D\x51\xF9\xA1\xC0\x07\x56\xF8\x62\x21\x06\x13\xF2\x0E\x26\xF3\x38\x19\xFA\x27\xFE\x66\x24\x07\xC9\xE5\x0E\x13\xEE\x39\x13\xEC\xE7\x03\xB2\xE8\x07\xC9\xE9\x0E\x26\xF2\x3A\x13\xEC\xEB\x03\xDD\xF0\x2E\x77\x06\xE0\xF0\x06\x81\xF2\x07\x93\xEB\x1E\x13\xEC\x7A\x0F\xEC\xF5\x07\x64\xF6\x07\x60\xFB\xD8\xFA\x65\x7B\x06\xE0\xF9\x04\xC0\xFD\x89\xFB\x01\xF0\xC0\x00\x7E\x03\xD9\xFD\x07\x64\xFE\x07\x97\xEB\xB2\xC0\x01\x05\x19\xD5\x81\x00\xE5\xEE\xD8\x03\x0A\x00\x17\xFD\xB5\xE5\x48\x03\x03\xE6\xF5\xEB\x61\xFD\xE2\xE1\xFC\x92\xF2\xF8\xC5\xF8\xCA\xE6\xFD\x4B\xD4\x00\x1F\xFD\x8C\xD5\x00\x2B\xFD\x5F\xE2\xFD\x01\x0E\x00\x2E\xFC\x57\x37\x00\x33\xFC\xB9\x08\x00\xB6\xFF\x5F\x09\x01\xDC\xFE\xF4\xAC\x3E\x02\x1C\xFD\x02\x0B\x01\x00\xFF\x80\x0C\x00\x43\xFE\x8D\x06\xFE\x0E\x06\xF8\xCF\x00\xE3\xFB\x33\x46\xFD\x04\x0B\xFD\x9D\xEC\x7A\x14\x01\xD5\xF3\x1F\x16\x00\xF5\xEA\x08\x18\x06\xF8\xD9\x00\xE3\xFA\x01\x4C\xFC\xCE\x1B\x00\xC6\xFC\x03\x1E\xFF\xD3\xF6\xFF\x1D\x03\xF5", + "\xE9\x08\x1F\x07\xFC\xFB\xB5\x10\x03\xFE\xB7\x26\x08\x06\xFE\x23\x06\xF8\xE4\x00\xE3\xF5\x02\x46\xFE\x09\x06\xFE\x27\x06\xF8\xE8\x01\xF6\xFD\x34\x29\x00\xFF\xE4\xFD\x27\x7B\xE8\x73\xF2\x43\x80\xA8\x7C\xEC\x71\x00\xB6\x4D\x2A\x03\xFF\x74\x00\x8D\x7D\x02\x81\x01\x80\x00\x87\x7B\x06\x80\x04\x80\x0D\x6B\x00\xC6\x7C\x0B\x0A\x00\x8E\x80\x71\x09\x0B\x07\x01\xAD\x14\x2E\x03\x06\x8A\x10\x2F\x00\x1E\x81\x42\x00\x03\x21\x80\x1B\x7F\xD5\x11\x03\x06\x7F\x32\x02\xF1\x73\x03\x06\x7F\x34\x02\xF1\x75\x03\x06\x7F\x36\x00\x09\x83\x10\x37\x00\xC6\x7C\x0E\x00\xFD\x4D\x13\x3B\x02\xFA\x73\x10\x3D\x00\x3A\x82\x40\x0F\x03\x06\x7F\x40\x02\xF1\x71\x04\x32\x80\x1D\x0E\x10\x06\xFC\x43\x01\x44\x81\xE9\x76\xFF\x04\x01\x3D\x81\x40\x06\x04\x0D\x81\x77\x50\x12\x09\x04\x97\x12\x49\x02\xF1\x7A\x04\x06\x7F\x4B\x02\xF1\x7C\x04\x06\x7F\x4D\x02\xF1\x7E\x04\x06\x7F\x4F\x03\x14\x82\x01\x8B\x80\x4C\x7D\x19\x8C\xF1\x66\x81\x25\x81\xEF\x70\x65\x50\x01\xC6\x7D\x14\x02\x06\xB0\x71\x52\x03\x1B\x8D\x4A\x13\x01\x53\x80\x15\x03\x05\x95\x01\x72\x82\xC8\x78\x68", + "\x16\x01\xC6\x7F\x15\x06\xFC\x58\x01\xC6\x7D\x16\x06\xFC\x5A\x01\xC6\x7F\x16\x03\x05\x9C\x01\xC6\x7D\x17\x07\x03\x87\x15\x60\x00\x14\x82\x06\x10\x81\x64\x02\xF1\x75\x06\x06\x7F\x66\x01\x1E\x85\x23\x27\x01\xC6\x7C\x1A\x06\x09\x8F\x80\x2E\x39\x1A\x00\x05\xAB\x01\x50\x81\x1D\x4D\x06\x1B\x82\x7E\x0E\x1B\x06\xFC\x6F\x01\xC6\x7C\x1C\x06\xFC\x71\x01\xC6\x7E\x1C\x06\xFC\x73\x01\xC6\x7C\x1D\x04\x0A\x8B\x0A\x75\x02\xF1\x76\x07\x33\x82\x0C\x82\x12\x88\x06\xAA\x81\x18\x81\x2F\x89\x0B\x87\x80\x2F\x3B\x1D\x08\x0B\xBB\x82\x0D\x83\x2F\x83\x06\xBE\x82\xC4\x82\x2E\x87\x06\xA4\x0B\x78\x02\xF1\x79\x07\x03\x83\xCB\x81\x1A\x85\x0C\x89\x83\xC0\x83\x31\x86\x0C\xA6\x7C\x62\x2A\x1E\x06\xFC\x7B\x01\xD0\x82\x1B\x7C\x07\x1D\x83\x3C\x11\x1F\x03\x05\xBE\x01\x53\x83\x1F\x00\x0E\x93\x83\xEC\x0C\x20\x06\xFC\x41\x02\xC6\x7E\x20\x06\xFC\x43\x02\xC6\x7C\x21\x06\xFC\x45\x02\x53\x82\x21\x06\xFC\x47\x02\x8B\x82\x6A\x1A\x08\x10\x81\x8C\x00\x14\x8E\x08\x06\x7F\x8F\x02\xF1\x70\x09\x27\x83\x01\x05\x24\x06\xFC\x52\x02\x04\x85\x35\x8E\xE2\x13\x02\x50\x81", + "\x25\x01\x0A\xAD\x44\x97\x01\x42\x82\x24\x18\x02\xC6\x7D\x26\x06\xFC\x5A\x02\xC6\x7F\x26\x06\xFC\x5C\x02\xC6\x7D\x27\x06\xFC\x5E\x02\x12\x84\x36\x8A\x10\xA4\x7F\xD4\x82\x35\x85\x12\xA2\x84\x26\x85\x5D\x2F\x09\x06\x7F\xA0\x01\x48\x8E\x86\x61\x02\x2E\x86\xCD\x02\x0A\x13\x81\xA3\x03\x14\x84\x0A\x31\x84\x11\x80\xCE\x05\x0A\x06\x7F\xA6\x02\xF1\x77\x0A\x06\x7F\xA8\x02\xF1\x79\x0A\x06\x7F\xAA\x03\x14\x8B\x0A\x06\x7F\xAC\x01\x3E\x88\x5A\x2F\x02\x50\x81\x2C\x00\x05\xB3\x02\xC6\x7C\x2D\x06\xFC\x75\x02\x09\x86\x2D\x06\xFC\x77\x02\x38\x84\x27\x8C\xBD\x38\x02\x50\x82\x2E\x0F\x10\xB3\x44\xBC\x01\x56\x81\x27\x3D\x02\xC6\x7E\x2F\x06\xFC\x7F\x02\xC6\x7C\x30\x06\xFC\x41\x03\xC6\x7E\x30\x06\xFC\x43\x03\x09\x84\x31\x06\xFC\x45\x03\x4A\x84\x3A\x82\x0D\x8A\x83\x77\x87\x48\x8A\x07\x97\x83\x24\x86\xB3\x38\x0C\x06\x7F\xC9\x02\x58\x88\xAF\x4A\x03\x82\x84\xAC\x0B\x0C\x13\x81\xCC\x03\x14\x8D\x0C\x05\x86\x27\x87\x8E\x0E\x0C\x06\x7F\xCF\x02\xF1\x70\x0D\x06\x7F\xD1\x02\xF1\x72\x0D\x06\x7F\xD3\x03\x14\x84\x0D\x06\x7F\xD5\x01\x5D\x81\x61\x18", + "\x03\x50\x82\x36\x00\x05\x9C\x03\xC6\x7D\x37\x06\xFC\x5E\x03\x09\x87\x37\x06\xFC\x60\x03\x8C\x85\x34\x86\xC1\x21\x03\x50\x83\x38\x0F\x15\xBD\x44\xE5\x01\x6B\x86\x10\x26\x03\xC6\x7F\x39\x06\xFC\x68\x03\xC6\x7D\x3A\x06\xFC\x6A\x03\xC6\x7F\x3A\x06\xFC\x6C\x03\x09\x85\x3B\x06\xFC\x6E\x03\x9E\x86\x5E\x89\x13\xBD\x85\x79\x85\x4A\x8D\x1C\xA8\x84\xD0\x85\x9F\x21\x0F\x06\x7F\xF2\x02\x6D\x8E\x6D\x73\x03\xD6\x85\xC7\x04\x0F\x13\x81\xF5\x03\x14\x86\x0F\x19\x87\x78\x84\xC4\x07\x0F\x06\x7F\xF8\x02\xF1\x79\x0F\x06\x7F\xFA\x02\xF1\x7B\x0F\x06\x7F\xFC\x03\x14\x8D\x0F\x06\x7F\xFE\x01\x72\x8F\x4B\x01\x00\x0E\x0A\x7C\x06\x88\x35\x87\x99\x7F\x2D\x58\x1F\x9C\x7E\x1A\x6F\x7E\x80\xFA\x41\x04\x07\x02\x7F\x89\xD7\x78\x0C\x08\x02\x80\x8B\x1D\x09\x00\x06\x89\x63\x8D\x13\x4A\x00\x02\x8B\x7C\x0C\x00\x0D\x88\xD2\x4A\x03\x09\x20\x87\x15\x0F\x03\x84\x8C\x05\x56\x88\x03\x05\x04\x08\x21\x82\x04\x12\x03\x86\x81\x10\x13\x00\x1E\x88\x00\x04\x01\x21\x88\x15\x01\x88\x80\x35\x16\x00\x21\x8B\x05\x02\x20\x91\x7F\xAE\x86\x5D\x8C\x0B\xBC\x85\x7B\x86\x82", + "\x8B\x1C\xB1\x88\xE7\x42\x06\x06\x22\x91\x87\x34\x8B\x73\x8C\x1C\xAF\x88\x32\x8A\x56\x89\x23\xBC\x10\x1B\x03\x8D\x8B\x23\xAE\x88\x44\x89\x78\x85\x24\x8A\x87\x3E\x8B\x8C\x8E\x7A\x1C\x00\x42\x8B\x8F\x87\x24\x8E\x87\x3C\x89\x8B\x86\x24\x93\x89\x0D\x5D\x07\x01\x22\x9E\x00\x2B\x89\x8F\x84\x06\x92\x89\x48\x8B\x96\x8A\x23\x8E\x89\x54\x8B\x0B\x31\x02\x21\x88\x22\x01\x93\x86\x00\xA3\x00\x66\x89\x92\x14\x02\x29\x89\x71\x09\x09\x0C\x26\x8B\x0A\x26\x03\x9B\x80\x23\xA0\x19\x27\x01\x88\x88\x02\x21\x88\x29\x01\x88\x8A\x02\x21\x88\x2B\x01\x88\x8C\x02\x32\x89\x0A\x05\x0B\x01\x22\xAE\x00\x59\x8B\x51\x11\x03\x10\x88\x09\x07\x0C\x08\x28\x86\x04\x35\x01\x88\x86\x03\x21\x88\x37\x00\xA0\x84\x2E\x38\x00\x21\x89\x0E\x02\x29\x9F\x89\xA8\x46\x0E\x0B\x28\x83\x04\x3C\x03\xA6\x8D\x45\x7E\x00\x97\x88\x0F\x1F\x03\x21\x88\x40\x01\x88\x81\x04\x21\x88\x42\x01\x88\x83\x04\x21\x88\x44\x01\x88\x85\x04\x21\x8A\x4F\x88\x8E\x8A\x24\x89\x89\xB4\x8A\x97\x81\x25\x98\x8A\xD0\x42\x11\x01\x22\x87\x01\xB0\x8A\x35\x78\x04\x3D\x8A\x4A\x19\x12\x00\x2C\x8A\x01", + "\xC0\x8B\x12\x00\x2C\x90\x89\x87\x10\x13\x01\x22\x8D\x01\x21\x8A\x13\x01\x22\x8F\x01\x21\x88\x14\x01\x22\x91\x01\xC0\x8A\x14\x01\x22\x93\x01\x85\x8A\x6A\x16\x05\x1E\x8A\x01\x04\x16\x0C\x2D\x80\x00\x5A\x01\x88\x8B\x05\x21\x88\x5C\x03\xB1\x89\x23\x1D\x01\x21\x8A\x17\x06\x2E\x83\x89\x1A\x3B\x17\x0F\x2D\xA1\x01\xDF\x89\x1D\x43\x06\x2B\x8B\x36\x0C\x19\x01\x22\xA5\x01\x21\x8A\x19\x01\x22\xA7\x01\x21\x88\x1A\x01\x22\xA9\x01\x21\x8A\x1A\x04\x2F\xB5\x08\x6B\x01\x88\x8C\x06\x02\x88\xB4\x49\x97\x88\x0C\x9C\x89\xC8\x89\x98\x82\x2B\xB5\x8A\x0B\x8F\xDD\x20\x07\x21\x88\x71\x03\xC0\x82\xC4\x72\x01\x16\x8F\x35\x13\x07\x00\x8B\x74\x00\xB0\x85\x07\x19\x8C\x11\x8C\x6A\x16\x07\x21\x88\x77\x01\x88\x88\x07\x21\x88\x79\x01\x88\x8A\x07\x21\x88\x7B\x00\xB0\x8C\x07\x21\x88\x7D\x01\xB6\x88\x5A\x00\x02\xDF\x8A\x20\x0F\x2D\x84\x02\x21\x89\x21\x01\x22\x86\x02\x20\x8C\x6C\x07\x08\x21\x88\x88\x01\xCF\x8A\x25\x87\x35\x89\x03\xB7\x8B\x08\x31\x8B\x2D\x45\x23\x02\x34\xA4\x0B\x8E\x01\x88\x8F\x08\x21\x88\x90\x01\x88\x81\x09\x21\x88\x92\x01\x88\x83", + "\x09\x21\x88\x94\x03\xD2\x86\x10\x15\x02\x21\x8A\x25\x08\x30\x83\x8D\x73\x88\xC4\x81\x36\xB6\x8A\xB1\x88\xBB\x8A\x30\x91\x20\x9A\x01\x88\x8B\x09\x1A\x8D\xAC\x6C\x27\x0C\x36\x87\x12\x9D\x00\xB0\x8E\x09\x00\x8B\x9F\x03\xDB\x8E\x30\xB1\x0C\xA0\x01\x88\x81\x0A\x21\x88\xA2\x01\x88\x83\x0A\x21\x88\xA4\x01\x88\x85\x0A\x00\x8B\xA6\x01\x88\x87\x0A\x32\x8C\xF0\x16\x2A\x0F\x2D\xAC\x02\xDF\x8A\x2B\x01\x22\xAF\x02\x21\x88\x2C\x06\x37\x80\x00\xB1\x01\x88\x82\x0B\x13\x8E\x0D\x8E\x09\x33\x0B\x1F\x8B\xB5\x00\xD2\x83\x13\x77\x02\x98\x8D\x8E\x08\x0B\x21\x88\xB9\x01\x88\x8A\x0B\x21\x88\xBB\x01\x88\x8C\x0B\x21\x88\xBD\x01\x88\x8E\x0B\x13\x8E\xBF\x01\x88\x80\x0C\x1F\x8D\x0C\x8F\xC3\x84\x36\xB7\x8D\x60\x8B\xD9\x80\x36\xBB\x8E\xDF\x18\x31\x01\x22\x85\x03\xA1\x8E\x1B\x66\x0C\x01\x8F\x36\x0F\x31\x00\x2C\x88\x03\xC0\x89\x32\x04\x3C\xB3\x8A\x7E\x0E\x32\x01\x22\x8B\x03\x21\x88\x33\x01\x22\x8D\x03\x21\x8A\x33\x01\x22\x8F\x03\xC0\x88\x34\x01\x22\x91\x03\x88\x8D\x84\x14\x0D\x1F\x8B\xD6\x03\xB7\x88\x0D\x21\x88\xD9\x01\x88\x8A\x0D\x13\x8E\xDB", + "\x01\x88\x8C\x0D\x0B\x8F\x62\x8C\xD0\x2D\x0D\x1F\x8B\xDF\x02\xE7\x8D\x13\x61\x03\xEC\x8D\x9C\x02\x0E\x21\x88\xE3\x01\x88\x84\x0E\x21\x88\xE5\x01\x88\x86\x0E\x21\x88\xE7\x01\x88\x88\x0E\x13\x8E\xE9\x01\x88\x8A\x0E\x34\x8E\xB8\x8B\xED\x8A\x3B\xB5\x8E\x66\x8D\xE6\x8E\x40\xB6\x8E\xBD\x3A\x3B\x05\x3F\xA1\x8C\x65\x8D\xEE\x8F\x40\x8D\x90\x10\x93\xD8\x8D\xEB\x2F\x03\x13\x92\x06\x9E\x41\xBC\x8E\x09\x90\x05\x98\x3B\x8C\x8F\x22\x93\x25\x10\x0F\x1D\x90\x20\x93\xAD\x8A\x42\x95\x90\x24\x93\x07\x9C\x40\x96\x90\x5C\x19\x3C\x08\x42\xAF\x90\x2D\x91\x0A\x9C\x42\xAD\x8F\x34\x90\x0E\x9E\x43\x32\x03\x21\x8B\x3C\x08\x40\xAB\x90\x23\x92\x0E\x90\x44\x8B\x90\x21\x92\x0B\x95\x44\x86\x20\xF7\x01\x88\x88\x0F\x33\x90\x85\x69\x3E\x0C\x44\x90\x0C\xFA\x00\xB0\x8B\x0F\x00\x8B\xFC\x03\x13\x97\x43\xB1\x09\xFD\x01\x88\x8E\x0F\x26\x88\x21\x88\x84\x03\x9E\x01\x00\x11\x09\x56\x72\x00\x21\x91\x98\x7D\xC7\x03\x00\x24\x91\xFC\x84\x01\x08\x46\x81\x04\x2C\x8A\x0F\x17\x00\x2B\x91\xF5\x32\x12\x40\x47\xB3\x07\x0B\x00\x1C\x9B\x1D\x0C\x00\x76\x92\x42\x0D\x00", + "\x39\x91\xEC\x0E\x03\x0C\x47\x86\x04\x0F\x03\x1F\x93\x44\xB5\x41\x10\x03\x1C\x9A\x10\x12\x00\x86\x93\x39\x44\x01\x02\x92\xF0\x15\x05\x0C\x48\x81\x04\x16\x03\x23\x90\x00\x17\x00\x92\x90\x06\x02\x49\x99\x00\x92\x92\x06\x02\x49\x9B\x00\x92\x93\x05\x90\x43\x98\x90\xA0\x93\x27\x92\x4A\xB5\x90\x39\x90\x43\x2C\x01\x12\x92\x1D\x01\x27\x92\x12\x9E\x00\xAA\x92\x90\x1F\x01\x2D\x92\x3D\x08\x08\x00\x4B\xB5\x08\x21\x03\x2C\x92\x44\xB0\x17\x22\x02\x24\x93\x02\x12\x92\x24\x02\x24\x95\x02\x12\x92\x26\x02\x24\x97\x02\x36\x92\x71\x08\x0A\x02\x49\xA9\x00\x70\x91\x1B\x9C\x43\x2C\x00\x89\x92\x41\x0E\x02\x0D\x93\x03\x04\x0C\x02\x49\xB1\x00\x92\x92\x0C\x04\x4C\x93\x0E\x33\x02\x24\x94\x03\x17\x93\x46\x91\x3F\x45\x03\x10\x93\x02\x07\x0D\x00\x4E\xB6\x4D\x39\x00\x37\x94\x3D\x3A\x00\x92\x93\x0E\x02\x49\xBC\x00\x92\x91\x0F\x02\x49\xBE\x00\x92\x93\x0F\x02\x49\x80\x01\xE6\x90\xB9\x01\x04\x12\x92\x42\x03\x38\x94\x44\x83\x92\x19\x92\x0D\x91\x44\x8A\x90\x9E\x90\x29\x9E\x43\x04\x01\x92\x91\x11\x05\x4F\xB9\x85\x46\x03\x41\x98\x5A\x07\x01\x0A\x96", + "\xA5\x3D\x50\x81\x04\x49\x03\x43\x9B\x4F\xB0\x17\x4A\x02\x24\x9B\x04\x12\x92\x4C\x02\x24\x9D\x04\x12\x92\x4E\x02\x24\x9F\x04\x12\x94\x50\x02\x24\x91\x05\x09\x93\xCD\x10\x15\x0A\x4F\x96\x01\xFA\x90\x16\x02\x49\x99\x01\x92\x92\x16\x02\x51\x82\x09\x5B\x02\x24\x9C\x05\x2F\x94\xFD\x92\x5E\x3D\x05\x3A\x93\x5F\x02\x3E\x95\x07\x61\x01\x34\x95\xCC\x02\x06\x12\x92\x63\x02\x24\x94\x06\x12\x92\x65\x02\x24\x96\x06\x12\x92\x67\x02\x24\x98\x06\x3D\x94\x3D\x09\x1A\x02\x49\xAA\x01\x3A\x95\x4D\x97\x44\xA5\x92\x25\x91\x40\x97\x4B\xBF\x93\x55\x96\x54\x9C\x4F\xB8\x6C\x6C\x00\x53\x92\x50\x9B\x95\xA3\x93\x55\x93\x51\x98\x95\xDD\x93\x15\x9B\x28\x2D\x01\x5E\x96\x58\x96\x55\x80\x94\x5A\x97\x50\x7E\x06\x12\x92\x6F\x01\x54\x91\x4A\x9F\x95\x66\x95\x59\x94\x56\xBE\x93\x63\x95\x5E\x92\x24\x31\x01\x92\x92\x1C\x09\x56\xA3\x73\x73\x03\x5F\x9D\x4D\x34\x01\x12\x95\x1D\x02\x51\xB6\x01\x82\x96\x5D\x9F\x79\x52\x92\x78\x02\x24\x99\x07\x12\x92\x7A\x02\x24\x9B\x07\x12\x92\x7C\x02\x44\x9D\x07\x12\x92\x7E\x00\x49\x97\x54\x01\x02\xFA\x93\x20\x0A\x4F\x85", + "\x02\x92\x92\x21\x02\x49\x87\x02\x89\x96\x42\x08\x08\x12\x92\x89\x01\x69\x94\x55\x84\x2F\x8A\x02\x3E\x9C\x08\x32\x95\x3D\x46\x23\x0A\x5A\xBF\x0B\x8F\x02\x24\x90\x09\x12\x92\x91\x02\x24\x92\x09\x12\x92\x93\x02\x24\x94\x09\x12\x92\x95\x03\x6C\x90\x56\xB4\x95\x77\x97\x6A\x98\x57\xAB\x95\x59\x97\x5C\x9C\x36\x16\x02\x92\x93\x25\x02\x5C\xB7\x6E\x98\x03\x73\x95\x48\x19\x02\x12\x96\x26\x02\x51\x9B\x02\xD2\x96\x5E\x98\x33\x1C\x02\x92\x91\x27\x02\x49\x9E\x02\x92\x93\x27\x02\x49\xA0\x02\x92\x91\x28\x02\x51\xA2\x02\x92\x93\x28\x0A\x59\xAA\x16\xA6\x02\x3E\x98\x0A\x3A\x93\xAA\x02\x24\x9B\x0A\x12\x92\xAC\x01\x76\x9D\x0A\x12\x92\xAE\x01\x76\x98\x5C\xB7\x25\xAF\x02\x3E\x91\x0B\x30\x96\xA8\x47\x2C\x0A\x5F\xB9\x08\xB4\x02\x24\x95\x0B\x12\x92\xB6\x02\x24\x97\x0B\x12\x92\xB8\x02\x24\x99\x0B\x12\x92\xBA\x01\x76\x9B\x0B\x12\x92\xBC\x00\x1C\x97\x6D\x5A\x97\xCA\x94\x5B\x99\x61\x89\x97\x61\x96\x86\x9D\x61\x88\x1A\xC2\x02\x24\x93\x0C\x03\x98\x6E\x60\x31\x04\x62\xB6\x0C\xC5\x02\x44\x96\x0C\x12\x94\xC7\x03\x89\x94\x5C\xB2\x0C\xC8\x02\x24", + "\x99\x0C\x12\x92\xCA\x02\x24\x9B\x0C\x12\x92\xCC\x02\x24\x9D\x0C\x12\x94\xCE\x02\x24\x9F\x0C\x2B\x97\xA8\x16\x34\x0A\x4F\x94\x03\xFA\x92\x35\x02\x49\x97\x03\x92\x90\x36\x09\x5D\x99\x03\x92\x92\x36\x0E\x62\xAA\x95\xDE\x2B\x36\x0A\x4F\x9D\x03\x00\x98\x34\x4F\x0D\x0F\x99\x71\x08\x38\x02\x49\xA1\x03\x92\x92\x38\x02\x49\xA3\x03\x92\x90\x39\x02\x49\xA5\x03\x92\x92\x39\x09\x5D\xA7\x03\x92\x90\x3A\x06\x61\x87\x97\x6D\x95\x71\x93\x55\xAF\x99\xC3\x94\x94\x9B\x61\xB0\x06\xEE\x02\x24\x9F\x0E\x18\x99\xF8\x68\x3C\x08\x67\xB0\x0A\xF1\x02\x44\x92\x0F\x12\x94\xF3\x03\x9E\x98\x57\xB4\x03\x92\x91\x3D\x02\x49\xB6\x03\x92\x93\x3D\x02\x49\xB8\x03\x92\x91\x3E\x02\x51\xBA\x03\x92\x93\x3E\x00\x64\xB0\x17\xFE\x02\x3E\x96\x23\x03\x41\x99\x7F\x8D\x09\xD5\x43\x00\x9A\x99\x19\x91\x10\x04\x00\x9D\x98\x7F\x80\x35\x05\x00\xA1\x9B\x7F\x8A\xB1\x65\x9A\x03\x8B\x9C\x91\xD6\x07\x00\xA8\x9B\x7C\x09\x00\x2D\x9A\xD2\x4B\x02\x08\x6A\xAF\x7E\xD1\x10\x03\x03\x6B\xBA\x91\xB7\x99\x42\x0E\x00\x39\x9A\x80\x90\xAF\x93\x10\x10\x00\xBE\x9A\x40\x01\x01\x01\x9B", + "\x62\x40\xB1\x97\x49\x13\x00\xC6\x98\x05\x08\x6A\x97\x98\xFB\x94\x9B\x9A\x6A\x86\x97\xD0\x98\x9C\x95\x57\x91\x69\x1A\x02\xB1\x9B\x01\x06\x9B\x4E\x74\x07\x08\x6D\x9C\x19\x1D\x03\xB6\x9B\x23\x1E\x00\xDE\x99\x8F\x0F\x01\x21\x9B\x2F\x9B\x2F\x10\x02\x06\x9B\x21\x02\xB1\x92\x02\x06\x9B\x23\x02\xB1\x94\x02\x06\x9B\x25\x00\xB9\x9E\x25\x26\x00\xC6\x9B\x09\x08\x6A\x8A\x93\x87\x12\x0A\x00\x6B\xB4\x76\xFB\x9A\x33\x96\x6C\xAF\x00\xC6\x98\x0C\x02\x6F\xBE\x0D\x31\x02\xB1\x92\x03\x03\x9C\x1C\x98\x6A\x43\x03\x3D\x9B\x28\x04\xC3\x9D\x45\x77\x00\x08\x9C\xEE\x08\x03\x06\x9B\x39\x02\xB1\x9A\x03\x06\x9B\x3B\x02\xB1\x9C\x03\x06\x9B\x3D\x02\xB1\x9E\x03\x11\x9C\xC8\x0B\x0F\x06\x6C\x80\x01\xCB\x9A\xB3\x9F\x61\x8A\x96\xCD\x99\xB4\x91\x67\x9E\x98\x2F\x9A\x11\x06\x6C\x87\x01\x20\x9C\x12\x78\x04\x31\x9C\xAA\x15\x12\x04\x73\x83\x04\x4A\x03\xCD\x92\x10\x0B\x01\x3A\x9E\x9B\x9C\x43\x0C\x01\xC6\x99\x13\x06\x6C\x8E\x01\xC6\x9B\x13\x06\x6C\x90\x01\xC6\x99\x14\x0D\x73\x80\x00\x52\x02\xB1\x93\x05\x37\x9B\xCD\x12\x15\x0E\x70\x9D\x8B\x53\x9C\xB8\x86", + "\x6C\x9B\x01\xC6\x98\x17\x0B\x74\x82\x09\x5D\x02\xB1\x9E\x05\x1B\x9D\x6D\x9B\x8B\x3F\x05\x15\x9D\x61\x01\xD5\x92\x2F\xA0\x9D\x31\x0C\x19\x06\x6C\xA5\x01\xC6\x9A\x19\x06\x6C\xA7\x01\xC6\x98\x1A\x06\x6C\xA9\x01\xC6\x9A\x1A\x08\x76\xBD\x08\x6B\x02\xB1\x9C\x06\x25\x9C\x2A\x9F\xB4\x9D\x77\xBE\x9C\x7E\x9E\xB4\x90\x78\x94\x89\x72\x02\xB1\x93\x07\x37\x9D\x3F\x70\x1D\x08\x78\x91\x13\x75\x03\xD2\x96\x07\x0B\x9D\x77\x03\xE2\x9C\x72\x91\x13\x78\x02\xB1\x99\x07\x06\x9B\x7A\x02\xB1\x9B\x07\x06\x9B\x7C\x02\xB1\x9D\x07\x0B\x9D\x7E\x02\xB1\x9F\x07\x10\x9D\x47\x16\x20\x05\x75\x84\x02\x55\x9E\x21\x06\x6C\x87\x02\xC6\x98\x22\x02\x79\x8B\x0A\x89\x02\xB1\x9A\x08\x2F\x9E\x28\x9F\x10\x3B\x08\x15\x9D\x8D\x02\xD9\x9D\x12\x4F\x02\xB4\x9C\xB2\x00\x09\x06\x9B\x91\x02\xB1\x92\x09\x06\x9B\x93\x02\xB1\x94\x09\x06\x9B\x95\x02\xB1\x96\x09\x3D\x9E\x09\x07\x25\x06\x6C\x98\x02\x7C\x9E\xE0\x98\x61\xA7\x9C\x26\x9D\xB9\x91\x76\xA9\x9C\xD2\x9E\xEB\x5E\x09\x0C\x9F\xD9\x9F\xF5\x9E\x7D\x8F\x9B\xDD\x9C\xF8\x9B\x72\xBF\x2B\x9F\x00\xF7\x93\x7E\xB5\x9E\xE2", + "\x9D\xE0\x97\x7E\x95\x9F\x72\x98\xB7\x20\x0A\x26\x9F\xEA\x9D\xFC\x93\x78\x93\x9F\xD6\x9D\xFA\x93\x7F\xB1\x6C\xA1\x00\xFC\x97\x7F\x9F\x9F\xD4\x9F\xDF\x94\x7F\xAD\x9F\xF5\x9C\x94\x32\x0A\x3A\x9F\xFF\x9F\xE4\x96\x80\x89\x9C\x00\xA1\x02\xA7\x80\x97\x60\xA3\x00\x01\xA8\x7D\xAB\x9F\xFE\x9F\x03\xA2\x7F\x85\xA0\xF8\x68\x29\x06\x6C\xA5\x02\xD1\x9C\x04\xA1\x7E\xBD\x9F\x1B\xA1\x00\xAE\x81\x8A\xA0\x08\xA1\x9C\x0B\x0A\x06\x9B\xAC\x02\x03\xA9\xA1\x6D\x02\x26\xA1\xCC\x0E\x0A\x0B\x9D\xAF\x03\xD2\x90\x0B\x29\xA0\x1C\xA0\xC4\x01\x0B\x06\x9B\xB2\x02\xB1\x93\x0B\x06\x9B\xB4\x02\xB1\x95\x0B\x06\x9B\xB6\x03\xD2\x97\x0B\x06\x9B\xB8\x00\xE9\x9A\x5A\x3B\x02\x55\x9D\x2F\x05\x75\xBF\x02\xC6\x98\x30\x06\x6C\x81\x03\x04\xA2\x30\x06\x6C\x83\x03\x30\xA3\x07\xA0\xAF\x04\x03\x55\x9E\x31\x0A\x7B\xB3\x44\xC8\x01\x14\xAE\x25\x09\x03\xC6\x9A\x32\x06\x6C\x8B\x03\xC6\x98\x33\x06\x6C\x8D\x03\xC6\x9A\x33\x06\x6C\x8F\x03\x5A\xA3\x02\xAC\x7E\xAA\xA1\x11\xA0\xFF\x92\x85\xA1\xA0\x70\xA0\xAC\x00\x0D\x06\x9B\xD1\x01\x1A\xA8\xAF\x52\x03\x76\xA0\xAC\x03\x0D", + "\x0B\x9D\xD4\x03\xD2\x95\x0D\x39\xA1\x78\x96\x35\x06\x6C\x97\x03\xC6\x98\x36\x06\x6C\x99\x03\xC6\x9A\x36\x06\x6C\x9B\x03\x4B\x9C\x37\x06\x6C\x9D\x03\x42\xA0\x6A\x10\x0E\x15\x9D\xE2\x01\xD5\x94\x0E\x06\x9B\xE5\x02\xB1\x96\x0E\x04\xA0\xE7\x02\xB1\x98\x0E\x00\xA2\x6D\xA0\x39\x29\x0E\x15\x9D\xEB\x03\x15\xAD\x13\x6D\x03\xA0\xA2\x41\x0E\x0E\x06\x9B\xEF\x02\xB1\x90\x0F\x06\x9B\xF1\x02\xB1\x92\x0F\x06\x9B\xF3\x02\xB1\x94\x0F\x04\xA0\xF5\x02\xB1\x96\x0F\x29\xA2\x1A\xA1\x2F\xA3\x81\x92\xA0\xFB\x9E\xFD\x94\x81\xA8\x9F\x31\xA3\x2F\xAE\x77\x37\x03\xBC\xA2\x31\xA2\x8C\x80\xA3\xC3\xA0\xD0\x28\x0F\x06\x9B\xF9\x01\x32\xA1\x8C\x85\xA3\xD3\xA3\x1B\xA4\x8C\x96\xA3\x6B\xA1\xAF\x3A\x0F\x06\x9B\xFB\x02\x34\xAD\x70\x7C\x03\xDE\xA1\x29\x5B\x74\xBE\x03\x5B\x9D\x38\xA1\x76\xBE\x08\x5F\x92\xB2\x53\x88\x2A\xA3\x86\x20\x3B\xA9\x88\x2E\xA3\x8C\x20\x3C\xA0\x31\x06\x00\xF2\xA2\x24\x2A\x6C\x78\x9B\x85\x12\x02\x0A\x6C\x4E\x88\xFB\xA0\x16\x45\x8F\x81\x04\x0F\x03\x3F\xA0\x00\x10\x00\x02\xA4\xD4\x01\x01\x02\xA4\x12\x01\x41\xAE\x86\xBB\x37\x13\x01", + "\x3F\xA9\x10\x15\x00\x0E\xA7\xAE\x57\x01\x0A\xA4\xAD\x10\x06\x02\x90\x99\x00\x02\xA6\x06\x02\x90\x9B\x00\x02\xA4\x07\x02\x90\x9D\x00\x02\xA6\x07\x04\x91\x94\xA3\xCD\xA1\x28\xA4\x92\x8C\xA3\x28\xA7\x42\xAC\x86\x86\x04\x1F\x02\x40\xA0\x02\x23\xA4\x06\x81\x08\x00\x93\x89\x19\x22\x03\x4C\xA1\x27\x23\x00\x36\xA7\xA2\x04\x02\x39\xA4\xD7\xA1\x34\x15\x02\x02\xA4\x26\x02\x40\xA7\x02\x02\xA4\x28\x02\x40\xA9\x02\x02\xA4\x2A\x00\x4F\xAA\x10\x2B\x00\x02\xA4\x0B\x07\x8F\x8D\x13\x2F\x01\x44\xA3\x10\x31\x00\x52\xA7\x2A\x42\x90\xB4\x00\x02\xA5\x0D\x0A\x94\xA4\x0B\x36\x02\x40\xA7\x03\x1B\xA5\x1D\xA3\x7E\x38\x03\x15\xA5\x01\x06\x0E\x04\x96\xB7\x51\x3C\x00\x58\xAC\x43\x3D\x00\x02\xA6\x0F\x02\x90\xBF\x00\x02\xA4\x10\x02\x90\x81\x01\x02\xA6\x10\x02\x90\x83\x01\x6A\xA5\xC7\x04\x04\x02\xA4\x45\x01\x5E\xA5\x8D\xA0\xA0\x3D\xA7\x4A\xAE\x8B\xBF\xA5\x82\xA6\x32\xA7\x92\xAA\xA4\xBD\x3A\x11\x0E\x97\xA5\xA4\x61\xA5\x61\xA4\x98\xAB\x5A\x47\x02\x40\xA8\x04\x0B\xA6\x29\xA7\x32\xA8\x98\x81\xA6\x71\xA1\x36\xA8\x99\xB6\x3F\x49\x02\x40\xAA\x04\x14", + "\xA6\x70\x73\x12\x00\x9A\xAD\x12\x4C\x03\x62\xAD\x04\x0B\xA6\x4E\x03\x68\xA7\x98\xB1\x0C\x4F\x02\x40\xA0\x05\x02\xA4\x51\x02\x40\xA2\x05\x02\xA4\x53\x02\x40\xA4\x05\x0B\xA6\x55\x02\x40\xA6\x05\x0F\xA5\x47\x15\x16\x07\x96\x9B\x01\x67\xA5\x17\x02\x90\x9E\x01\x02\xA7\x17\x0A\x9A\xB5\x08\x60\x02\x40\xA1\x06\x07\xA7\x80\xA4\xD0\x22\x06\x27\xA5\x64\x03\x59\xA5\x07\x66\x01\xCC\xA6\xDF\x07\x06\x02\xA4\x68\x02\x40\xA9\x06\x02\xA4\x6A\x02\x40\xAB\x06\x02\xA4\x6C\x02\x40\xAD\x06\x15\xA7\x99\xA6\x49\xA8\x8D\xA6\xA7\xCD\xA4\x7A\xAE\x98\xB9\x95\x6E\x02\x40\xAF\x06\x24\xA7\x30\x70\x1C\x00\x9F\x94\x0F\x71\x03\x62\xA2\x07\x0B\xA6\x73\x03\x7C\xAA\x9E\x8B\x0A\x74\x02\x40\xA5\x07\x02\xA4\x76\x02\x40\xA7\x07\x02\xA4\x78\x02\x40\xA9\x07\x0B\xA6\x7A\x02\x40\xAB\x07\x3C\xA6\xAA\x16\x1F\x07\x96\x80\x02\x67\xA6\x20\x02\x90\x83\x02\x02\xA4\x21\x0A\x9F\x86\x04\x85\x02\x40\xA6\x08\x17\xA8\x83\xA6\x09\x37\x08\x27\xA5\x89\x02\x74\xAD\x12\x4B\x02\x1C\xA9\xC7\x0C\x08\x02\xA4\x8D\x02\x40\xAE\x08\x02\xA4\x8F\x02\x40\xA0\x09\x02\xA4\x91\x02\x40", + "\xA2\x09\x25\xA8\x01\x07\x24\x02\x90\x94\x02\x34\xA8\x63\xAD\xA1\x95\xA6\xAB\xA5\x8F\xA7\x9E\x8D\xA6\xE5\xA4\x90\xAB\x99\xA1\x35\x95\x01\x8E\xAC\xA3\xBF\xA8\x3B\xAB\x65\xA6\x80\x16\x02\x02\xA7\x25\x06\xA4\x8A\xA9\xFB\xA7\x90\xA1\xA5\x9A\xA6\x54\xAB\x94\xA3\x82\x18\x02\x02\xA5\x26\x0F\xA4\xAE\x61\x9A\x03\x96\xA6\x33\x1B\x02\x8B\xA4\x27\x0B\x98\x9D\x02\x5E\xA8\x92\xA2\x10\x1E\x02\x02\xA7\x27\x02\x90\xA0\x02\x02\xA5\x28\x02\x90\xA2\x02\x02\xA7\x28\x0B\x98\xA4\x02\x02\xA5\x29\x0C\xA0\xA8\x16\xA8\x03\x59\xAA\x0A\x27\xA5\xAC\x02\x40\xAD\x0A\x02\xA4\xAE\x01\x8E\xAF\x0A\x02\xA4\xB0\x01\x99\xA9\x9E\xB7\x2D\xB1\x03\x59\xA3\x0B\x22\xA8\x33\x45\x2D\x06\xA8\xB1\x09\xB6\x02\x40\xA7\x0B\x02\xA4\xB8\x02\x40\xA9\x0B\x02\xA4\xBA\x02\x40\xAB\x0B\x02\xA4\xBC\x03\xA3\xA1\xA4\x89\xA9\x96\xA5\xA8\xAE\xA3\x87\xAA\xA0\xAB\x92\x6D\x0B\x02\xA4\xBE\x02\xA7\xA7\x81\x7F\x02\xAA\xA8\xB2\x00\x0C\x0B\xA6\xC1\x03\x62\xA2\x0C\x2D\xAA\xFE\x9F\x30\x02\x90\x84\x03\x02\xA5\x31\x02\x90\x86\x03\x02\xA7\x31\x02\x90\x88\x03\x8B\xA5\x32\x02\x90\x8A\x03", + "\x77\xA8\x7C\x1D\x0C\x27\xA5\xCF\x03\x59\xA1\x0D\x02\xA4\xD2\x02\x40\xA3\x0D\x39\xA8\xD4\x02\x40\xA5\x0D\x34\xAA\x42\xAB\x51\x26\x0D\x27\xA5\xD8\x00\xA3\xAD\x13\x5A\x03\xD4\xAB\x40\x0B\x0D\x02\xA4\xDC\x02\x40\xAD\x0D\x02\xA4\xDE\x02\x40\xAF\x0D\x02\xA4\xE0\x02\x40\xA1\x0E\x39\xA8\xE2\x02\x40\xA3\x0E\x1D\xAB\x86\xA6\x99\xAF\x98\x92\xA9\xD5\xAA\x95\xA5\xAF\xB7\xAB\xD1\x24\x39\x00\xAF\xB3\xAB\x55\xA8\xBE\xA1\xAF\xA4\xAA\xFF\xAB\x35\x15\x0E\x02\xA4\xE6\x03\xBE\xAA\xA3\x81\xAC\x9F\xA8\xC2\xA4\xAF\xA5\xAA\xF2\xAB\x8B\x37\x0E\x02\xA4\xE8\x02\xC1\xA9\x37\x69\x03\x12\xAD\x8E\x0A\x0E\x0B\xA6\xEB\x03\x62\xAC\x0E\x15\xAC\x66\x8D\x3B\x02\x90\xAE\x03\x02\xA7\x3B\x02\x90\xB0\x03\x02\xA5\x3C\x02\x90\xB2\x03\x8B\xA7\x3C\x02\x90\xB4\x03\xC5\xA9\x84\x17\x0F\x27\xA5\xF9\x03\x59\xAB\x0F\x02\xA4\xFC\x02\x40\xAD\x0F\x39\xA8\xFE\x01\x41\xAC\xB1\xA3\xAA\x0C\x24\x00\x06\x27\x36\x87\x44\x2B\xCF\xA9\x1F\xA7\x43\x04\x02\xD0\xA2\x6A\xB0\x13\x05\x02\xD1\xA6\x6A\x86\x00\x4A\xAD\xC6\x67\x00\x0D\xAD\x47\x40\xD4\xAA\x04\x52\xAD\x09\x06\x02\x04", + "\xB5\x90\x41\x57\xAC\xC3\xA0\xB0\xBC\xAB\xF6\xAA\xD6\xAB\x9E\x87\xA9\x42\x70\x03\x09\xB5\x82\x04\x0D\x03\xD8\xA4\x25\x8E\x00\x66\xAE\xDE\x1F\x00\x29\xAD\x3B\x0C\xDB\xA9\x23\x11\x00\x6E\xAE\xA8\xAD\x34\x12\x00\x69\xAF\x04\x09\xB6\x94\x00\x69\xAD\x05\x09\xB6\x96\x00\x69\xAF\x05\x01\xB7\xBD\x08\x18\x01\xDA\xA9\x01\x0D\xAD\xF8\xA1\x3D\x5D\xB4\xB3\x07\x1E\x03\xE1\xAA\x10\x20\x00\x69\xAD\x08\x09\xB6\xA2\x00\x7F\xAD\xD3\x03\x02\x29\xAD\x24\x01\xE4\xAB\xB5\xAF\x38\x25\x02\xE2\xA9\x10\x27\x00\x9A\xAF\xAE\x59\x02\x16\xAE\xD7\x12\x0A\x09\xB6\xAB\x00\x69\xAC\x0B\x09\xB6\xAD\x00\x69\xAE\x0B\x09\xB6\xAF\x00\x69\xAC\x0C\x00\xBA\x9E\x1F\x31\x01\xDA\xA2\x03\x2F\xAE\xBF\x83\x0C\x04\xBB\x8D\x13\x34\x03\xED\xA7\x44\x3A\xAE\x06\x06\x0D\x0C\xBB\x9E\xAD\x57\x11\xDA\xA8\x03\x29\xAD\x39\x01\xDA\xAA\x03\x29\xAD\x3B\x01\xDA\xAC\x03\x3F\xAE\x02\x05\x0F\x09\xB6\xBE\x00\x84\xAD\x33\x11\x04\x1D\xAE\x03\x07\x10\x04\xBD\xBF\x11\x69\xAE\x11\x09\xB6\x87\x01\xCC\xAC\xCA\x08\x04\x29\xAD\x49\x01\xF7\xA7\xB0\x9A\x38\x4A\x03\xF5\xA1\x10\x0C\x01\xE6", + "\xAF\x1D\x5E\x04\x22\xAF\x50\x0F\x13\x09\xB6\x90\x01\x69\xAD\x14\x09\xB6\x92\x01\x69\xAF\x14\x09\xB6\x94\x01\x69\xAD\x15\x0C\xBE\xB9\x08\x56\x03\xFE\xA2\xB7\x97\xAE\x60\xAF\xD7\xA0\xA5\xBE\xAB\x5C\xAC\x01\xB7\x47\x57\x01\xFE\xAC\xCF\xA9\xB0\x85\xB0\xC0\xAF\xC2\xAA\xB0\xBD\xAB\x4B\x1C\x16\x09\xC0\x8D\xAC\x01\xB3\x02\xB3\xBE\x97\xB0\x15\xB1\x4B\x19\x05\x29\xAD\x5A\x03\x04\xB0\xC0\x83\xB0\x0D\xB0\x04\xBF\xC0\x9D\xAD\x23\xB2\x2C\x2B\x05\x29\xAD\x5C\x02\x07\xB3\xCE\x5D\x01\x2A\xB1\x37\x1E\x05\x22\xAF\x5F\x02\xF8\xA0\x06\x2D\xB0\x0E\xB0\xCA\x01\x06\x29\xAD\x62\x01\xDA\xA3\x06\x29\xAD\x64\x01\xDA\xA5\x06\x29\xAD\x66\x02\xF8\xA7\x06\x29\xAD\x68\x01\xF4\xA4\xE4\x69\xAF\x6D\x01\xFA\xAF\x06\x29\xAD\x70\x01\xDA\xA1\x07\x34\xB0\x0A\x06\x1C\x09\xB6\xB3\x01\x50\xB0\x09\xB2\xA6\x34\x01\xE9\xAE\x1D\x09\xBE\x9A\x79\x55\xB3\xBF\x09\x07\x29\xAD\x7A\x01\xDA\xAB\x07\x29\xAD\x7C\x01\xDA\xAD\x07\x29\xAD\x7E\x01\xDA\xAF\x07\x1D\xB1\x21\xB2\x15\xB8\xC1\xA0\xB0\x25\xB1\x1B\xB6\xC0\xB5\x41\x80\x01\xDA\xA1\x08\x2C\xB1\xB7\x6E\x20\x08\xC7", + "\x85\x12\x83\x02\xF8\xA4\x08\x22\xAF\x85\x03\x1E\xBF\xC6\xBB\x08\x86\x01\xDA\xA7\x08\x29\xAD\x88\x01\xDA\xA9\x08\x29\xAD\x8A\x01\xDA\xAB\x08\x22\xAF\x8C\x01\xDA\xAD\x08\x06\xB1\xAA\x14\x24\x09\xBE\x92\x02\xE9\xAC\x25\x09\xB6\x95\x02\x69\xAE\x25\x02\xC8\x97\x02\x69\xAC\x26\x02\xC8\x99\xB0\x06\x21\x26\x09\xBE\x9B\x02\x5B\xB1\x4B\x4D\x09\x23\xB2\x39\x0A\x27\x09\xB6\x9F\x02\x69\xAC\x28\x09\xB6\xA1\x02\x69\xAE\x28\x09\xB6\xA3\x02\x69\xAC\x29\x02\xC8\xA5\x02\xAC\xB3\xFF\xA2\xC0\xBE\xB2\x16\xB0\x29\xBE\xC6\x82\xB3\x73\xB0\x3C\x16\x0A\x3D\xB2\x0A\xB1\x0D\xB3\xC8\x89\xB3\x22\xB0\x03\xBD\x76\x27\x02\x69\xAC\x2A\x08\xCC\x94\xB0\x70\xB2\x33\xB6\xCD\x8B\xB3\xD4\xB0\x30\xB9\x6B\x29\x02\x69\xAE\x2A\x03\xCD\x96\x65\xAB\x03\x37\xBE\x37\x2C\x02\xE2\xAD\x2B\x02\xBE\xAE\x02\xE2\xB1\x30\xB9\x23\x2F\x02\x69\xAC\x2C\x09\xB6\xB1\x02\x69\xAE\x2C\x09\xB6\xB3\x02\x69\xAC\x2D\x02\xBE\xB5\x02\x69\xAE\x2D\x04\xC9\xA8\x16\xB9\x01\xFA\xAB\x0B\x29\xAF\xBD\x01\xDA\xAE\x0B\x29\xAD\xBF\x02\x20\xB0\x0C\x29\xAD\xC1\x01\x3A\xBA\xCC\x8E\x23\xC2\x01", + "\xFA\xA4\x0C\x29\xB2\x33\x46\x31\x0A\xD0\x8A\x04\xC7\x01\xDA\xA8\x0C\x29\xAD\xC9\x01\xDA\xAA\x0C\x29\xAD\xCB\x01\xDA\xAC\x0C\x29\xAD\xCD\x03\x44\xB3\xCC\x95\xB3\xD8\xB3\x07\xBA\xCD\x8D\xB3\x25\xB4\xE9\x1E\x0C\x22\xB4\xC5\xB3\x49\xB3\xD2\xAE\xB4\x2D\xB4\x33\xBF\xD2\xB2\xB4\x31\xB5\x36\xB4\xD3\xB2\xB1\x03\x07\x33\x0C\xD2\xB8\xB4\x71\xB1\x4F\xB7\xCD\x84\xB3\x3C\xB7\x4F\xB4\xD2\x80\xB5\x14\x44\x34\x09\xB6\x91\x03\x3B\xB5\x34\x62\x0D\x09\xB5\x28\x0F\x34\x02\xBE\x94\x03\xE2\xAD\x35\x0C\xD4\x97\xB0\xD6\x01\xDA\xA7\x0D\x29\xAD\xD8\x01\xDA\xA9\x0D\x29\xAD\xDA\x01\xDA\xAB\x0D\x22\xAF\xDC\x01\xDA\xAD\x0D\x3B\xB3\xF0\x14\x38\x09\xBE\xA2\x03\xE9\xAC\x39\x09\xB6\xA5\x03\x69\xAE\x39\x02\xC8\xA7\x03\x69\xAC\x3A\x03\xD5\x84\xB5\x61\x1D\x3A\x09\xBE\xAB\x03\x10\xB7\x29\xA3\xD5\xAE\x03\x69\xAF\x3B\x09\xB6\xB0\x03\x69\xAD\x3C\x09\xB6\xB2\x03\x69\xAF\x3C\x09\xB6\xB4\x03\x73\xB7\x50\xBE\xE2\x35\x03\x89\xB4\x4C\xB1\xD4\xA9\xB4\xEA\xB2\x63\xB5\xC2\x36\x03\x8D\xB7\x4D\xBE\xD3\x90\xB6\x0B\xB6\x62\xB2\xD9\x82\xB5\x9B\xB6\xDE\x17\x0F\x15", + "\xB6\x36\xB5\x68\xB6\xD2\x96\xB6\x9C\xB4\x69\xB8\xD9\x8E\xA3\xA0\xB7\x68\xB2\xDA\xBF\xB2\xA6\xB4\x5D\xB7\xDA\xB3\xB4\xAB\xB5\x64\xBD\xDA\x9A\xB6\xB3\xB6\x30\xA9\x0F\x29\xAD\xFA\x01\x6A\xB0\x65\x7B\x03\xBA\xB7\xA2\x0C\x0F\x22\xAF\xFD\x03\x16\xB9\xB6\x83\xA4\x6F\x40\x6D\xB5\x23\x01\x00\x3C\x0E\x18\x99\xDC\x9E\x9A\x3B\x43\x72\xB9\x46\x8E\xB7\xA6\x99\x01\x00\xDD\x99\x6C\x06\x03\x74\xB4\x6B\xB1\x09\x07\x02\x75\xBF\x11\x13\xB7\x85\xAC\xD4\x0B\x00\x13\xB7\x14\x34\x78\xB7\xD1\x1A\xB7\x09\x04\x04\x04\xDE\x86\x04\x11\x03\x79\xBC\x43\x12\x00\xEA\xB6\x40\x03\x01\x2D\xB7\x01\x04\x05\x00\xDF\x80\x00\x15\x02\x78\xB2\x12\x33\xB7\x18\x03\x7C\xB9\x01\x33\xB7\x1A\x03\x7C\xBB\x01\x33\xB7\x1C\x03\x7C\xB8\xD9\x42\xB8\x38\x0E\x07\x03\xDF\x9F\x00\x04\xBB\x8E\x00\x02\x09\xB8\xA2\x31\x08\x06\xDF\x86\x04\x23\x03\x83\xB1\x9D\x25\x00\xD3\xB5\x2E\x50\x00\x2A\x00\xF3\xB7\x0A\x0C\xE0\xB5\x08\x2C\x03\x7C\xBD\x02\x1B\xB8\x5E\x0A\x0B\x03\xDF\xAF\x00\xF3\xB4\x0C\x02\xE1\x8B\x04\xF3\xB7\x0C\x03\xDF\xB4\x00\xF3\xB5\x0D\x03\xDF\xB6\x00\x20\xB8\xE9", + "\x17\x03\x33\xB7\x38\x01\x8C\xB5\x42\xB9\x00\x36\xB9\x4B\x1A\x03\x39\xB8\x0A\x07\x0E\x07\xE2\x81\x04\x3D\x03\x7C\xBE\x03\x3C\xB8\xB0\xB6\x97\x0F\x03\x33\xB7\x40\x03\x7C\xB1\x04\x33\xB7\x42\x03\x7C\xB3\x04\x33\xB7\x44\x00\x91\xB6\x10\x05\x01\xF3\xB6\x11\x0C\xDD\x8D\x13\x49\x03\x8F\xB0\x00\x0B\x01\x5A\xB9\x13\x03\xDF\x8E\x01\xF3\xB7\x13\x02\xE5\x90\x0C\x50\x03\x7C\xB1\x05\x33\xB7\x52\x03\x7C\xB3\x05\x1A\xB9\x55\x03\x7C\xB6\x05\x33\xB7\x57\x03\x7C\xB8\x05\x33\xB7\x59\x03\x7C\xBA\x05\x23\xB9\x02\x07\x16\x08\xE7\xA8\x0C\x5C\x03\x7C\xBD\x05\x3B\xB9\x00\x02\x17\x00\xE8\xA9\x29\x5F\x02\x96\xB1\x06\x1A\xB9\xCE\x23\x18\x05\xE1\x8A\x04\x68\x03\x7C\xB9\x06\x00\xBA\x6A\x03\x7C\xBB\x06\x00\xBA\x6C\x03\x7C\xBD\x06\x33\xB7\x6E\x02\x96\xB0\x07\x33\xB7\x71\x03\x7C\xB2\x07\x33\xB7\x73\x03\x7C\xB4\x07\x03\xBA\xC6\xB6\x55\x65\x07\x24\xBA\x9D\xB6\x6B\xBA\xEA\xA5\xBA\xAC\xB4\x41\x26\x07\x28\xBA\xB5\xB5\xAC\xB1\xDB\x99\xB6\xA9\xB8\xAB\xB2\xDB\xB3\xBA\x40\x2F\x1D\x00\xEB\xB8\xBA\x45\xB9\xAB\xBA\xDA\xBF\xBA\xBE\xB9\xB0\xB8\x68\x38\x01", + "\xBB\xB8\xB0\xB7\xEB\x86\xBB\xB4\xBA\xAC\xB8\xEC\xA8\xB4\x25\x39\x1E\x05\xEC\x82\xBB\xC9\xB9\xC3\xAA\x07\x0F\xBB\xC7\xB8\xB4\xBC\xEC\xB6\xBA\xD1\xBB\xB2\xBD\xEB\x95\xBB\xDC\xBA\x62\x9B\x07\x14\xBB\xD9\xBA\xB5\xBB\xED\xA1\xBB\xDD\xBB\xB5\xB5\xEB\xB1\x0C\x7C\x00\xB8\xB6\xEE\x8A\xBB\xE2\xB9\x4D\xBA\xED\xAE\xBB\xED\xBB\x63\xBB\xEA\xA7\xBB\xEC\xB8\xBE\x6D\x07\x2A\xBB\xE3\xBB\xBA\xBC\xEB\xB0\xBB\xE5\xB9\xBE\xBE\xEF\xBC\xBB\xE4\xB8\x0C\x7E\x07\x33\xB7\x7F\x00\xBE\xBE\xC6\x40\x02\x06\xBC\x0F\x11\x08\x00\xBA\x82\x00\xA0\xB3\x08\x09\xBC\x97\xB4\x21\x03\xDF\x85\x02\xF3\xB6\x21\x03\xDF\x87\x02\xF3\xB4\x22\x03\xDF\x89\x02\x80\xBA\x22\x03\xDF\x8B\x02\x57\xBB\x51\x1E\x08\x1A\xB9\x90\x02\x96\xB2\x09\x33\xB7\x93\x03\x7C\xB4\x09\x10\xBC\x01\x05\x25\x03\xDF\x96\x02\x80\xBB\x25\x0C\xF2\xAF\xB6\x57\x1C\x26\x0A\xE5\x9A\x02\x88\xB9\x4B\x4C\x09\x33\xBC\x42\x09\x27\x03\xDF\x9E\x02\xF3\xB7\x27\x03\xDF\xA0\x02\xF3\xB5\x28\x03\xDF\xA2\x02\xF3\xB7\x28\x0C\xF3\x98\xBB\xFA\xBB\xBB\xB2\xEF\x8C\xBD\xFF\xB9\x3F\x44\x0A\x0B\xBD\xF4\xB9\xB9\x25", + "\x0A\x14\xBD\xF5\x22\x29\x03\xF3\xA7\x02\xF3\xB4\x2A\x03\xDF\xA9\x02\xF3\xB6\x2A\x03\xDF\xAB\x02\xF3\xB4\x2B\x03\xDF\xAD\x02\xF3\xB6\x2B\x03\xDF\xAF\x02\xF3\xB4\x2C\x03\xDF\xB1\x02\x58\xBD\xC3\xA2\x0B\x31\xBD\x5E\x0B\x2C\x04\xF7\xB1\xBB\x97\xB5\x1D\x44\x0B\x37\xBD\x47\x35\x2D\x03\xDF\xB6\x02\x7C\xBF\x05\x67\x0B\x01\xBE\xC8\x08\x2E\x00\xE8\xB9\x02\x80\xBA\x2E\x04\xF8\xBE\x9F\xBB\x03\x7C\xBC\x0B\x33\xB7\xBD\x03\x7C\xBE\x0B\x33\xB7\xBF\x03\x7C\xB0\x0C\x00\xBA\xC1\x03\x7C\xB2\x0C\x21\xBC\xAA\x15\x31\x0A\xE5\x87\x03\x5A\xB9\x32\x03\xDF\x8A\x03\xF3\xB7\x32\x03\xF3\x8C\x03\xF3\xB5\x33\x0B\xF8\x80\xBC\x06\x22\x33\x0A\xE5\x90\x03\x39\xBF\x4C\x42\x0D\x2B\xBE\x03\x07\x34\x03\xDF\x94\x03\xF3\xB5\x35\x03\xDF\x96\x03\xF3\xB7\x35\x03\xDF\x98\x03\xF3\xB5\x36\x04\xFB\xB9\xBD\x2E\x3A\x36\x03\xFC\xA5\xB6\xFB\xBB\xD3\xB5\xF5\x8E\xBD\xC4\xBD\x58\x7B\x0D\x07\xBF\x34\xBE\xF2\xB1\xCB\x5C\x03\xD0\xBF\xBC\xB5\xEF\xB9\x1A\xDD\x01\xF5\xB0\xF5\xAC\xBE\x51\xBD\xF3\xB7\xFD\x8D\xBD\x0A\x92\x37\x0A\xFD\x8B\xBF\x78\xBC\xF2\xBC\xFC\xA2\x29\xDF", + "\x03\xF8\xBF\xFD\x9D\xBF\xE6\xBD\xF9\xB0\x00\x20\x03\xEA\xBD\xF2\xBE\xFD\xB2\xBF\xED\xBD\xBF\xBC\xFD\xBE\x10\xE1\x01\xFC\xB7\xFE\x91\xBF\xF3\xBF\xFE\xB6\xFD\xB4\xBF\xFC\xBC\xCA\x02\x0E\x3A\xBF\xEE\xBF\xFF\xBE\xFF\x9B\xBF\xD2\xBC\x00\xC6\x00\xCE\x19\xE3\x00\x01\xC6\xFF\x89\xC0\x07\xC0\xF9\xBF\x00\xFD\xBF\x05\xC0\x02\xC5\xC2\x24\x03\xB1\xBF\xFA\xB7\xFF\x90\xC0\x15\xC2\x04\xC1\xF0\xA0\xBF\x13\xC1\xFD\xBF\x01\xEE\xB1\xE6\x02\x03\xC3\x02\xDB\xC0\x14\xC1\x08\xC1\x00\xEB\xC0\xCC\xA3\x39\x06\x02\xE0\xC0\x27\xC0\x07\xCA\x02\xCB\xC0\x33\xC2\x05\xC2\x02\xF0\xC0\x38\xC0\xFB\xBD\x70\x68\x03\x2F\xC2\x0E\xC4\x03\xF1\xC0\x29\xC0\x10\xC7\x03\xF5\x25\xE9\x00\xF4\xBA\x0E\x3D\xC0\x28\xC3\x10\xC9\x04\xEC\xC0\x36\xC0\x13\xCE\x01\xF9\xC0\x4B\xC3\x0F\xC0\x05\xF2\xC0\x42\xC2\x13\xCA\x01\xD6\x30\xEB\x00\x12\xC4\x05\xD3\xC1\x41\xC2\x01\x2C\x0E\x19\xC0\x0A\xC1\x13\xC2\x05\xDC\x89\xEE\x03\x7C\xBF\x0E\x1A\xC1\x5D\x50\x3C\x08\x06\xC1\x04\xF1\x00\xA0\xB2\x0F\x00\xBA\xF3\x03\x1A\xC9\x57\xB4\x03\xF3\xB5\x3D\x03\xDF\xB6\x03\xF3\xB7\x3D\x03\xDF", + "\xB8\x03\xF3\xB5\x3E\x00\xE8\xBA\x03\xF3\xB7\x3E\x0C\xF9\xA8\x16\xFE\x02\x96\xB0\x00\x03\x0D\x40\xAE\x7C\x08\x08\xCC\xB7\x03\x03\x22\xC9\x46\x8E\xC2\xA6\x9B\xA8\x90\x09\xD4\xB7\x93\xC3\x75\xB5\x03\xDC\x2F\x07\x03\x24\xCE\x6A\x9A\xC2\xB1\x99\x25\xCD\x4C\x0C\x00\x9E\xC1\x42\x0D\x00\x21\xC2\x06\x06\x03\x04\x0A\xC3\x04\x0F\x03\x29\xC2\x10\x10\x00\xAA\xC1\x40\x01\x01\x2D\xC2\x00\x02\x04\x00\x0B\xE3\xC1\xBB\x5B\x04\x03\x0B\xE2\xC1\xB8\xC3\x13\xCE\x03\xF9\xC2\x7E\x77\x2D\xCA\x0B\xD1\xC1\xBC\xC1\x18\xCF\x0B\xDB\xC1\xBB\xC3\x30\xC5\xC2\x15\x00\xBE\xC3\x15\xCD\x05\xC5\xC3\xCA\xC2\x12\xC4\x0C\xF9\x85\x16\x01\x32\xC2\x0C\xCD\xC3\x56\xC3\x34\xC6\x0D\xEF\x29\x17\x00\x2C\xC8\x01\x12\xC3\x00\x81\x06\x0C\x0D\xCE\x19\x1A\x03\x37\xCB\x28\x1B\x00\xE2\xC0\x6C\x0C\x01\x25\xC3\x5C\xC1\x40\x0D\x01\x30\xC2\x1E\x00\x2C\xCF\x01\x30\xC2\x20\x00\x2C\xC1\x02\x30\xC2\x22\x00\x3A\xC9\x10\x23\x00\xB0\xC0\x09\x03\x09\xDD\xB7\x38\x0F\x09\x0C\x09\xC9\x04\x29\x03\x3F\xC6\x10\x2B\x00\xB0\xC0\x0B\x00\x0B\xED\x00\xF6\xC3\xBF\x0E\x02\x30\xC2\x2F\x01", + "\x42\xCF\x0C\xD1\x27\x30\x02\x40\xC3\x10\x32\x00\x12\xC5\x17\x54\x03\x0E\xC4\x87\x11\x0D\x00\x0B\xF6\x00\xB0\xC3\x0D\x00\x0B\xF8\x00\xB0\xC1\x0E\x00\x0B\xFA\x00\xB0\xC3\x0E\x08\x11\xCE\xC3\xD1\x60\x0F\x07\x12\xD5\xC3\x11\xC2\x69\xBD\x03\x30\xC2\x3E\x03\x4A\xC4\x0B\xCF\xC4\xCB\xC1\xA1\x6F\x03\x32\xC4\xC1\xC1\x4B\xCF\x62\x80\x01\xB0\xC1\x10\x08\x13\xC6\xC3\x28\xC5\x50\xC7\x47\x42\x01\x3F\xC4\x35\xC3\x13\xF5\xC4\x34\xC6\x50\xC7\x14\xE0\x69\x43\x01\x51\xC7\x0D\xDD\xC0\x46\xC5\x4E\xC0\x15\xEE\x1E\x44\x02\x53\xCA\x13\xD7\xC5\x53\xC4\x56\xC7\x09\xD1\xC5\x40\xC4\x4B\xC1\x27\x05\x01\x56\xC5\x56\xC2\x16\xDB\xC5\x4F\xC4\x59\xCA\x15\xD5\xC1\xCE\x22\x11\x01\x16\xE6\xC5\x63\xC4\x5A\xC2\x15\xEC\xC5\x70\xC6\x5B\xCD\x4A\x07\x01\x6B\xC6\x5C\xCC\x15\xF7\xC5\x65\xC6\x5D\xC9\x17\xF6\x58\x48\x01\x5D\xC9\x0E\xDE\xC5\x71\xC7\x5F\xCB\x14\xC0\xC6\x7A\xC7\x59\xC2\x18\xEE\x5C\x7E\xC4\x33\xCD\xB0\x8A\x01\x2B\xC7\x12\x09\x18\xC0\xC3\x5D\xC7\x60\xC2\x19\xEF\xC5\x85\xC5\x5B\xCD\x4C\x0C\x01\x8F\xC5\x52\xC4\x18\xC7\xC6\x91\xC4\x65\xCC\x19\xFD", + "\x44\x4D\x01\x66\xC8\x14\xE3\xC6\x4A\xC6\x67\xCA\x18\xC6\xC6\xA7\xC6\x02\x9E\x04\x22\xC6\x85\x13\x13\x0C\x1A\xDB\xC6\xA9\xC5\x60\xC1\x1B\xD5\xC6\xB2\xC4\x64\xC8\x17\xE8\xC6\xB6\xC7\x5E\xC7\x0E\x50\x01\xAF\xC7\x64\xCD\x19\xFF\xC6\xB7\xC6\x65\xC3\x1B\xC7\x25\x51\x01\x6F\xCD\x12\x52\x01\xB0\xC3\x14\x06\x1C\xEE\x61\x54\x03\x4A\xC5\x05\x2F\xC6\x56\x03\x4A\xC7\x05\x2B\xC4\x58\x03\x72\xC6\xDA\x99\x01\xB0\xC2\x16\x00\x0B\xDB\x01\xB0\xC0\x17\x00\x0B\xDD\x01\xB0\xC2\x17\x0B\x12\xDF\x01\xB0\xC0\x18\x0B\x0F\xCD\x13\x63\x01\x45\xC1\x10\x25\x01\xEA\xC4\x00\x07\x06\x30\xC2\x68\x00\x2C\xC9\x06\x2F\xC6\x6A\x00\x2C\xCB\x06\x16\xC7\xBA\xC7\xD5\x1C\x06\x2D\xC7\x6E\x01\x7B\xC5\x07\x70\x01\xF8\xC6\x97\x01\x07\x30\xC2\x72\x00\x2C\xC3\x07\x30\xC2\x74\x00\x2C\xC5\x07\x30\xC2\x76\x00\x2C\xC7\x07\x01\xC8\xD7\x10\x1E\x00\x0B\xF9\x01\x10\xC8\xBE\x6A\x07\x15\xC8\xB0\x0B\x1E\x0B\x12\xFC\x01\x2B\xC5\x1F\x08\x21\xF8\x95\x7E\x00\x2C\xCF\x07\x30\xC2\x80\x00\x2C\xC1\x08\x30\xC2\x82\x00\x2C\xC3\x08\x2B\xC4\x84\x00\x2C\xC5\x08\x27\xC7\x47\x14\x22", + "\x0D\x1E\xCA\x02\xED\xC4\x23\x00\x0B\xCD\x02\xB0\xC2\x23\x0F\x1A\xCF\x02\xB0\xC0\x24\x0F\x21\xC3\xC7\x47\x15\x24\x0D\x1E\xD3\x02\xFE\xC5\x4B\x45\x09\x3F\xC8\x06\x06\x25\x00\x0B\xD7\x02\xB0\xC0\x26\x00\x0B\xD9\x02\xB0\xC2\x26\x00\x0B\xDB\x02\xB0\xC0\x27\x0F\x1A\xDD\x02\x48\xCA\x66\xCE\x1B\xC1\xC7\xB5\xC6\x96\xC6\x1A\xF9\xC6\x00\x82\x27\x00\x0B\xDF\x02\x59\xC8\x69\xC0\x1B\xE0\xC9\xC2\xC4\x9A\xCD\x25\xE5\x30\xA0\x01\x99\xC5\x1A\xC0\xC7\xF9\xC6\x97\xC0\x27\xF8\xC6\x72\xC8\x97\xC4\x1B\xF7\xC9\x9F\xC7\x85\x61\x0A\x30\xC2\xA2\x02\x9B\xC7\x26\xF5\xC9\x71\xCA\x99\xCB\x25\xC1\xCA\x6F\xCA\x9D\xC1\xD6\x23\x02\x7E\xCB\xA0\xC4\x27\xC2\xCA\x5F\xCB\x63\xB4\x0A\x09\xCA\x8D\xC8\xA3\xC3\x27\xE9\xC9\x80\xCB\xA2\xC5\x28\xC0\xC0\xA5\x00\xA4\xC3\x29\xEB\xC9\x97\xCA\xA5\xCF\x27\xD2\xCA\x86\xC8\x90\xCA\x26\xF8\xC9\x48\x72\x29\x03\x09\xD6\xB8\x8A\xC8\xA5\xC0\x2A\xC4\xCA\x9F\xC9\xA7\xCA\x2A\xE0\x69\xAB\x02\xA6\xC1\x2A\xE3\xCA\x79\xCA\xA7\xC9\x2A\xDC\xCA\x2F\x38\x2B\x02\x2B\xEC\xCA\xB7\xC8\xA9\xC4\x2B\xE2\xCA\x95\xC8\xBC\x2D\x0A\x3B\xCA", + "\xB6\xC9\xA4\xCE\x2A\xF8\xCA\xBD\xC9\xAD\xCF\x2A\xED\xCA\x97\x12\x2B\x04\x2C\xCB\xCB\xC9\xC8\xB0\xCB\x2A\xC5\xCB\x9B\xCA\xAF\xC1\x2C\xE5\x90\xAF\x03\xB3\xC8\x2C\xC6\xCB\xCC\xCB\x60\xC0\x0B\x1A\xCB\xD6\xCB\xB4\xC0\x2D\xDC\xCB\xD1\xCB\xAF\xC6\x10\x31\x02\xE0\xCA\xB2\xCB\x2D\xD5\xCB\xEA\xC9\xB8\xC5\x48\x32\x02\xE9\xCA\xB4\xC7\x2C\xEE\xCB\xDD\xC8\xB9\xC6\x2F\xEC\xCB\x6E\xB3\x2C\x01\x2F\xE6\xCB\xD7\xC8\xBD\xC5\x2E\xEC\x6E\xB4\x03\xBE\xCD\x2F\xED\xCB\x04\xCE\xBC\xC5\x2F\xF8\xCB\xFC\xCB\x65\xB5\x0B\x02\xCC\xE2\xCB\xBA\xC3\x2B\xC3\xCC\x06\xCF\xBF\xCE\x8B\x36\x02\x0C\xCF\xBC\xC5\x30\xC9\xCC\x16\xCD\xC4\xC7\x2F\xCF\xCC\x0D\xCE\xE0\xB5\x31\xC7\xCC\x1C\xCD\xC6\xC8\x31\xE0\xCC\xBC\xCA\xB7\x28\x0B\x1F\xCC\x12\xCE\xC8\xC0\x31\xE3\xCC\x29\xCC\xC9\xCF\xA6\x39\x02\x28\xCF\xC6\xC5\x32\xC8\xCC\x2B\xCD\xCD\xCD\x31\xC8\x0B\xBA\x01\xCC\xC4\x33\xF7\xCC\x1A\xCC\xCE\x6B\x0B\x3A\xCC\x21\xCE\xCB\xC3\x2E\xFB\xCC\x2A\xCC\xCF\xC2\x8B\x3C\x02\x40\xCF\xCC\xC1\x34\xED\xCC\x4C\xCE\xCC\xC4\x2D\xF6\x0C\xBD\x01\xD2\xCF\x34\xCA\xCD\x54\xCF\xD4\xC6", + "\x35\xC3\xCD\x9D\x1E\x2F\x02\x35\xD8\xCD\x55\xCC\xD7\xC7\x35\xCE\xCC\x5D\xCF\xBF\x2F\x0B\x1B\xCD\x60\xCF\xD7\xCE\x2F\xCE\xCD\x5E\xCD\xDA\xC5\x36\xEA\xCD\x67\xCC\xD1\xCC\x2C\xC0\x03\x64\xCD\xDB\xCB\x34\xE8\xCD\x6B\xCD\xDD\xC2\x37\xC6\x80\xC1\x01\xDC\xC7\x31\xF6\xCC\x45\xCD\xDF\xC2\x34\xF6\xCD\x7B\xCE\xD1\xCC\x37\xFF\xCD\x5D\x4E\x30\x0A\x37\xFD\xCC\x73\xCE\xDB\xCD\x34\xCA\xCE\x74\xCF\xDD\xC6\x36\xC1\xCE\x7E\xCF\xE2\xC9\x38\xD3\xCE\x61\xCC\xAC\x03\x0C\x07\xCE\x2C\xCE\x48\x84\x0C\x18\xCE\x83\xCE\xE4\xC5\x39\xD0\xCE\x00\x01\x31\x0C\x39\xC2\xCE\x66\x2A\x31\x03\x3A\xE8\x0C\xC7\x03\xE9\xC4\x38\xE0\xCE\x9E\xCF\xE3\xC8\x38\xDF\xCE\xAF\xCE\xEB\xC9\x39\xCC\xCE\x7D\x28\x32\x0A\x3A\xED\xCE\xA4\x1D\x32\x07\x3B\xF9\x08\xCA\x03\xEE\xC4\x3B\xD4\xCE\xB2\xCD\xE7\xCD\x38\xF8\x95\xCB\x02\xEF\xC0\x3C\xEC\xCD\xAC\xCF\xF0\xCC\x8F\x4C\x03\xC6\xCC\xEC\xC3\x3B\xC7\xCF\x80\xCD\xEC\xC8\x3C\xD2\xCF\xDE\x1D\x33\x0D\x3C\xC1\xCF\xA4\xCD\xE4\xCA\x3C\xCF\xCF\xCE\xCD\x3F\x4E\x0C\x17\xCF\xD3\xCC\xF7\xC8\x3D\xDA\xCF\xBF\xCD\xF7\xC9\x3D\xEB\xCE\xD4", + "\xCE\xE3\xC1\x27\x0F\x03\xA7\xCA\x42\x04\x0D\x30\xC2\xD5\x00\xF8\xC1\x3D\xE2\xCF\xE1\xCE\xF0\xC5\x3E\xE3\xCF\xE8\xCC\xFD\xC3\x3F\xF6\xCF\xD0\xCE\xFA\xCB\x3F\xDD\x0C\xD6\x02\xFC\xC9\x6B\x17\x03\xB0\xC0\x36\x02\x40\xE1\x35\xD9\x03\xC7\xCA\x0D\x2B\xC4\xDB\x03\x4A\xCC\x0D\x30\xC2\xDD\x03\x01\xD1\x52\x5E\x03\xB0\xC3\x37\x00\x0B\xE0\x03\xB0\xC1\x38\x00\x0B\xE2\x03\xB0\xC3\x38\x0B\x12\xE4\x03\xB0\xC1\x39\x00\x23\xEA\x16\xE8\x01\x7B\xCA\x0E\x2D\xC7\xEC\x00\x2C\xCD\x0E\x30\xC2\xEE\x03\x6B\xCF\x0E\x30\xC2\xF0\x02\x04\xDA\x3F\xF0\x06\xF1\x01\x7B\xC3\x0F\x05\xC9\x33\x45\x3D\x0E\x27\xF6\x03\xB0\xC3\x3D\x00\x0B\xF8\x03\xB0\xC1\x3E\x00\x0B\xFA\x03\xB0\xC3\x3E\x00\x0B\xFC\x03\xAA\xCD\x3F\x00\x0B\xFE\x03\x32\xD0\x81\x3F\x31\xF1\xC2\x12\x41\x00\x05\x34\x19\x75\x42\x0A\x00\x03\x45\xCC\xB7\x83\xC7\x00\x07\x45\xE9\x91\x5B\xD1\x74\xBD\x45\xD4\xB7\x5F\xD1\x2F\x51\x46\xDF\x04\x63\xD0\xB9\x09\x00\x25\xD1\xC5\x53\x17\xDC\x0F\xF1\x0C\x0D\x03\x17\xD3\x1F\x0F\x00\x6E\xD2\x42\x01\x01\x28\xD1\x76\x74\x1D\xDE\xDE\xB6\xD1\x85\x10\x05\x08\x47", + "\xF4\xB7\x7B\xD0\xEE\xCB\x2D\x71\xD1\x09\x04\x06\x00\x48\xFB\x5A\x1A\x01\x1F\xD0\x4F\x1B\x00\x7B\xD0\x07\x0B\x47\xDD\x00\x7B\xD2\x07\x0B\x47\xDF\x00\x7B\xD0\x08\x0B\x47\xE1\x00\x86\xD1\xCC\x02\x02\x15\xD2\xFD\xCD\xF2\xC7\x3F\xF5\xCF\xE7\xCE\x1F\xDE\x3F\xC4\x2F\x23\x00\x26\xD6\x3E\xE4\xCF\x99\xD1\xFA\xCA\x49\xE5\xD2\xB2\x20\x09\x02\x4A\xF3\x23\x25\x03\x2A\xDC\x49\xE4\xD2\xA3\xD1\xFE\xCC\x3F\xF1\xD2\x79\x1E\x09\x0E\x4A\xFF\xCF\xB0\xD0\xFE\xCE\x49\xE7\xD2\xB4\xD3\xF6\xC3\x4B\xFA\xD2\xBE\xD1\x17\x57\x02\x37\xD2\xF6\x3C\x0A\x0B\x47\xE9\x00\xC4\xD3\x21\x7A\x02\x09\xD3\x47\x17\x0A\x0C\x4C\xC6\x04\x2C\x03\x33\xD3\x10\x2D\x00\x7B\xD2\x0B\x02\x4D\xD7\xB6\x2F\x03\x1E\xD0\x03\x3B\xD1\x31\x03\x1E\xD2\x03\x3B\xD1\x33\x03\x1E\xD4\x03\x17\xD3\x01\x05\x0D\x0B\x47\xF6\x00\x6A\xD1\x33\x19\x03\x03\xD2\x03\x07\x0E\x0C\x4E\xCD\xAF\x7B\xD2\x0F\x0B\x47\xFF\x00\xE4\xD2\xCC\x00\x04\x3B\xD1\x41\x01\x3D\xDB\x4B\xC7\x15\x42\x03\x3B\xD1\x10\x04\x01\xFE\xD3\x1D\x56\x04\x3A\xD3\x38\x0F\x11\x0B\x47\xC8\x01\x7B\xD1\x12\x0B\x47\xCA\x01\x7B\xD3", + "\x12\x0B\x47\xCC\x01\x7B\xD1\x13\x04\x50\xC2\x19\x4E\x03\x1E\xDF\x04\x13\xD4\xB1\x70\x14\x08\x51\xFC\x12\x51\x01\x3D\xD2\x05\x35\xD3\x53\x03\x46\xDB\xFF\x94\x01\x7B\xD1\x15\x0B\x47\xD6\x01\x7B\xD3\x15\x0B\x47\xD8\x01\x7B\xD1\x16\x05\x4F\xDA\x01\x7B\xD3\x16\x09\x4E\xC7\x15\x5E\x01\x40\xD0\x06\x01\xD4\x62\x03\x1E\xD3\x06\x3B\xD1\x64\x02\x48\xD1\x27\x25\x01\x7B\xD2\x19\x0E\x53\xF8\xD2\xCF\x23\x19\x01\x50\xE9\x01\x01\xD5\x1D\x4B\x06\x03\xD5\xB0\x08\x1B\x0B\x47\xED\x01\x7B\xD2\x1B\x0B\x47\xEF\x01\x7B\xD0\x1C\x0B\x47\xF1\x01\x7B\xD2\x1C\x0C\x54\xCA\x04\x73\x03\x56\xD6\x4A\xDF\xD5\x33\xD0\x2F\xD0\x4C\xDB\xD2\x44\xD5\xDE\x14\x07\x1E\xD5\x61\xD4\x58\xDF\x4B\xEF\xD2\xB2\xD1\x27\xD6\x8E\x35\x01\x68\xD7\xD2\x16\x07\x31\xD5\x6E\xD4\x59\xDF\x49\xE2\xD5\x6C\xD7\x3E\xDF\x2F\x37\x01\x74\xD5\x2E\xD9\x57\xC1\xD3\x7E\xD5\x59\xD0\x58\xCA\x19\x78\x01\x5F\xDD\x56\xC1\xD6\x17\x61\x1E\x06\x58\xFA\xD5\x6B\xD6\x60\xDD\xA7\x3A\x01\x8B\xD7\x60\xDC\x58\xD4\x44\x7B\x01\x64\xD6\x57\xE8\xB4\x7C\x02\x65\xD8\x4A\xCD\xD6\x77\xD6\x5A\xD5\x57\xDB", + "\xD6\x9F\xD4\x6A\x4D\x07\x1A\xD6\xBD\xD3\x65\xDE\x59\xC8\xD6\xD4\x82\x1F\x0B\x47\xFF\x01\xA4\xD6\x55\x60\x08\x2D\xD6\x7E\x0D\x20\x05\x4F\xC2\x02\x49\xD5\x8E\x04\x08\x30\xD6\x2A\xC1\x21\x0B\x47\xC6\x02\x7B\xD3\x21\x0B\x47\xC8\x02\x7B\xD1\x22\x0B\x47\xCA\x02\xF5\xD3\x22\x0B\x47\xCC\x02\x33\xD6\x6A\x1F\x08\x01\xD4\x91\x01\x40\xD3\x09\x3B\xD1\x94\x03\x1E\xD5\x09\x06\xD6\x96\x03\x1E\xD7\x09\x3B\xD1\x98\x03\x1E\xD9\x09\x01\xD4\x9B\x03\x1E\xDC\x09\x3B\xD1\x9D\x03\x1E\xDE\x09\x3B\xD1\x9F\x03\x1E\xD0\x0A\x35\xD3\xA1\x02\x61\xD2\x0A\x3B\xD1\xA3\x01\x3D\xD4\x0A\x38\xD6\x11\x21\x29\x01\x50\xE7\x02\xB5\xD4\x39\x29\x0A\x1F\xD1\x16\xBA\x2B\x0B\x47\xEF\x02\xF5\xD0\x2C\x0B\x47\xF1\x02\xF5\xD2\x2C\x0B\x47\xF3\x02\x7B\xD0\x2D\x0B\x47\xF5\x02\x7B\xD2\x2D\x0B\x47\xF7\x02\x7B\xD0\x2E\x0B\x47\xF9\x02\xF0\xD4\x5E\xDE\x58\xE0\xD6\xA8\xD7\x69\xD7\x58\xCF\x23\xBA\x01\x84\xD6\x61\xD3\xD6\x15\xD9\x5A\xDE\x61\xDC\xD6\x12\xD8\xEE\x0B\x0B\x1A\xD8\x1F\xD9\x68\xD3\x56\xD4\xD8\x17\xD8\x2F\x04\x62\xE0\xD8\x1B\xDA\x64\xDE\x62\xE6\xD6\x25\xD9\x87", + "\xD0\x31\x3D\x02\x2B\xDA\x89\xDF\x57\xF0\xD8\x2C\xD9\x8C\xD7\x49\x3E\x02\x7B\xD3\x2F\x05\x63\xF4\x5B\xC0\x03\x8F\xD2\x33\x01\x03\xF5\xD2\x30\x05\x4F\xC3\x03\x42\xD9\xE6\x84\x0C\x3B\xD1\xC5\x03\x1E\xD6\x0C\x3B\xD1\xC7\x03\x1E\xD8\x0C\x3B\xD1\xC9\x01\x3D\xDA\x0C\x3B\xD1\xCB\x01\x72\xD8\x5A\x0E\x03\x01\xD4\x34\x01\x50\xD2\x03\x7B\xD3\x34\x0B\x47\xD4\x03\x86\xD5\x35\x0B\x47\xD6\x03\x49\xDB\x8B\xD6\x33\x17\x03\x01\xD5\x36\x05\x5F\xFD\x44\xDB\x02\x90\xDC\x0D\x3B\xD1\xDD\x03\x1E\xDE\x0D\x3B\xD1\xDF\x03\x1E\xD0\x0E\x3B\xD1\xE1\x03\x1E\xD2\x0E\x06\xD6\xE3\x01\x9A\xD8\x63\xF6\xD8\x13\xD9\x69\xD8\x62\xDC\xD8\x17\xD8\xD4\x04\x0E\x02\xDA\x87\xDA\x9A\xD6\x68\xCF\xDA\x27\xD8\xA4\xD7\x63\xCD\xDA\x83\xDA\x8C\xD1\x8D\x65\x03\x8C\xD8\x98\x16\x0E\x19\xDA\x91\xD9\xA7\xD3\x69\xD2\xDA\x85\xDA\xA7\xD1\x6A\xCE\x19\xE7\x00\xA7\xDF\x69\xE2\xDA\x9D\xD6\x8E\xD8\x68\xC2\x09\xE8\x03\x1E\xD9\x0E\x26\xDA\xAB\x5A\x3A\x05\x4F\xEB\x03\x86\xD4\x3B\x05\x4F\xED\x03\xF5\xD2\x3B\x00\x6B\xCA\x96\xEF\x03\x1E\xD0\x0F\x3B\xD1\xF1\x03\x1E\xD2\x0F\x3B\xD1", + "\xF3\x03\x1E\xD4\x0F\x35\xD3\xF5\x03\x1E\xD6\x0F\x1A\xD9\xF0\x15\x3E\x01\x50\xFB\x03\x01\xD5\x3F\x0B\x47\xFE\x03\x7D\xD2\x61\xD5\x06\x5F\x91\x13\x01\x71\xB5\x69\xCA\x19\x02\x01\xB6\xD9\x08\xC3\x04\x04\x02\xB7\xD3\xB4\xBB\x5A\x06\x02\xB8\xD7\xB4\xAD\x12\x07\x02\xB9\xD6\x6A\x88\x00\xEA\xD9\xC6\x69\x00\x2D\xDB\xDB\x06\x02\x00\x6F\xCA\x04\x0B\x03\xBC\xD9\x10\x0C\x00\xF6\xDA\x41\x0D\x00\x39\xDB\x39\xDB\xD2\x1E\x00\x3C\xDB\x84\xD9\xAA\xDD\x6F\xC1\xDC\x21\xD8\xB2\x0F\x00\x00\xDC\x96\xD9\xC2\xD9\x68\xCE\xDA\xA8\xD9\xC1\xD3\x82\x10\x00\x08\xDF\x21\xC1\x71\xCE\x75\x12\x03\xC4\xD9\x23\x13\x00\x16\xDD\xCC\x04\x01\x19\xDC\x3D\x09\x05\x0C\x71\xF5\x08\x16\x03\xC7\xDE\x29\xD7\x00\x11\xDC\x06\x01\x71\xD9\x00\x11\xDE\x06\x01\x71\xDB\x00\x11\xDC\x07\x02\x72\xF1\x09\x1D\x01\xC4\xDE\x01\x2D\xDB\x6B\xD2\xCD\x01\x02\x2D\xDB\xA1\x74\xCE\xD4\xDA\x51\xDC\x26\x01\xC4\xD7\x02\x2F\xDC\x93\x0C\x0A\x01\x71\xE9\x00\x40\xDE\xC0\xDE\x8B\x2A\x00\x3A\xDC\x6D\x79\x74\xF7\x76\x45\xDC\xF5\x0F\x02\x11\xDC\x30\x01\xC4\xD1\x03\x11\xDC\x32\x01\xC4\xD3", + "\x03\x11\xDC\x34\x01\xC4\xD5\x03\x0D\xDD\x2D\xD9\x2B\x16\x03\x1C\xDD\xAA\xD8\xC3\xD7\x6A\xE3\xDD\xA3\xD9\x37\x17\x03\x20\xDD\x03\xDE\xC2\xDB\x6A\xE2\xDD\x65\xDE\xD1\xDA\x76\xC3\x31\x38\x00\xDA\xD4\x70\xDD\xDD\x94\xD9\xDD\xDF\xC3\x79\x00\x72\xDF\xDB\xDB\x6D\xEB\xDD\x7B\xDC\x3C\x1A\x03\x11\xDC\x3B\x01\xDE\xDB\x70\xFD\xDD\x84\xDE\xDD\xDD\x70\xF4\xDD\xA0\xD9\x4B\x1C\x03\x02\xDE\x7C\xDF\x92\x6D\x03\x0C\xDE\x6C\xDE\xDB\xD3\x78\xC6\xDE\x0A\x92\x0F\x00\x79\xC5\xDE\x89\xDE\xC3\xD1\x76\xE4\x23\x3F\x03\xE5\xD4\x79\xED\xDD\xA0\xCC\x10\x0E\x79\xD9\xDE\x88\xDF\xE1\xDB\x79\xCB\x69\x41\x03\xE8\xD6\x7A\xE9\xDD\x93\xDC\xE9\xD7\x7A\xEE\xDE\xAC\xDD\x1D\x42\x04\x2A\xDE\x64\xDE\xE4\xDD\x78\xF0\xDE\x73\xDE\x8E\xD3\x04\x34\xDE\xA0\xDD\xE9\xD5\x7B\xDA\xDE\x43\x90\x11\x01\x71\xC5\x01\xBC\xDC\x0C\x76\x04\x05\xDF\xD4\x0F\x11\x02\x78\xC8\x01\x82\xDD\x12\x08\x7C\xEE\xB1\x4A\x01\xC4\xDB\x04\x11\xDC\x4C\x01\xC4\xDD\x04\x11\xDC\x4E\x01\xC4\xDF\x04\x02\xDE\x50\x01\xC4\xD1\x05\x34\xDC\x25\x97\xD2\xD3\x10\x16\x01\xE2\xDE\x40\x08\x05\x11\xDC\x59", + "\x01\xC4\xDA\x05\x0F\xDF\x06\x07\x16\x01\x71\xDC\x01\xEC\xDD\xEC\xD0\x4F\x1D\x01\xE5\xDD\x40\x0F\x05\x35\xDF\x77\x51\x18\x01\x7F\xDD\x0C\x62\x01\xC4\xD3\x06\x11\xDC\x64\x01\xC4\xD5\x06\x11\xDC\x66\x01\xC4\xD7\x06\x11\xDC\x68\x03\xFE\xDA\x77\xDC\x2B\x69\x02\x02\xED\x7A\xEB\xDE\xB9\xDE\xFC\xDE\x86\x6A\x01\x0E\xE3\xED\xD0\x81\xCB\xE0\xB8\xDC\x06\xE7\x81\xCF\xE0\xF0\x2B\x1A\x05\x81\xD1\xDE\xC0\xDD\x04\xE2\x82\xDA\xE0\xCB\xC8\x1B\x0F\x81\xD8\xDE\x1B\xE2\x05\xEF\x7B\xF4\x2D\x6D\x03\x09\xEF\x79\xF6\xDE\x20\xE2\xEF\xDD\x7B\xEF\xDE\x29\xE1\x8E\x0E\x06\x2E\xE0\x19\xE0\x07\xE3\x83\xD2\xE0\xD4\xC3\x1B\x08\x83\xF5\xE0\x28\xE3\x0A\xE4\x83\xC2\xE1\x83\xCC\x1C\x0F\x83\xC4\xE1\x23\xE2\x0E\xE0\x83\xC1\xE1\x3B\xE2\x40\x01\x07\x07\xE1\x4D\xE0\x09\xE1\x85\xCA\xE1\x21\xE2\xC2\xD2\x07\x10\xE1\x4B\xE3\x0B\xE5\x85\xD4\xE1\x32\xE0\xBD\xC3\x07\x18\xE1\x5B\xE2\x0A\xE3\x85\xE2\xE1\x59\xE1\xC3\xA4\x07\x20\xE1\x5D\xE1\x18\xE1\x83\xC3\xE1\x63\xE3\x1A\xEC\x83\xF9\xE0\x64\xE2\x1A\xED\xD9\xB5\x01\x68\xE0\x1B\xE5\x86\xC0\xE1\x5A\xE1\x1A\xEA\x87", + "\xF6\xE1\x72\xE1\x1E\xEC\x87\xFB\xE1\x6F\xE3\x9B\x26\x07\x35\xE1\x81\xE2\x02\x97\x07\x11\xDC\x78\x00\x21\xE9\x84\xF1\xE1\x80\xE3\x04\xA9\x07\x0A\xE2\x52\xE2\x62\x9A\x07\x10\xE2\x5C\xE3\x1F\xE6\x89\xC3\xCE\x7B\x00\x25\xE9\x65\x3C\x01\x9A\xE2\x1B\xEB\x88\xDE\xE2\x91\xE1\x1F\xE0\x87\xE4\xB4\x7D\x01\x27\xEC\x84\xF7\xE1\x48\xE1\x28\xED\x88\xD7\xB3\x7E\x02\x29\xE7\x4B\x3F\x01\xAE\xE3\x28\xE7\x8A\xE2\xE2\x78\xE2\x2C\xEB\xA4\x40\x02\xB1\xE1\x2D\xEA\x8B\xE9\xE2\x95\xE1\x21\xED\x86\xF3\xE2\xAB\xE1\x2F\xE7\xBB\x41\x02\xB9\xE0\x2F\xEC\x88\xD7\xE2\x9F\xE0\x30\xE8\x8C\xEA\xE2\x23\xCE\x20\x05\x8C\xFF\xE2\x7E\xE2\x2F\xE8\x8A\xD0\xE3\xAC\xCB\x20\x01\x71\xC4\x02\xCF\xE3\x34\xEA\x8D\xF4\xE2\xCB\xC9\x21\x09\x8D\xDC\xE3\x25\x92\x21\x0F\x8D\xC1\xE3\xC7\xE2\x34\xE7\xC8\x47\x02\xE3\xE3\x32\xE7\x47\x48\x02\xE9\xE2\x39\xE4\x8E\xE0\xE2\xC2\xE2\x0A\x39\x08\x2D\xE3\xC9\xE1\x34\xE5\x8F\xF6\xE2\xF8\xE3\x2E\xEA\x02\xCA\x02\xF4\xE1\x21\x1B\x08\x3D\xE3\xF1\xE1\x40\xE5\x8E\xF7\xE3\xFA\xE0\x0C\x7C\x08\x00\xE4\x03\xE4\x33\xEE\x8E\xEA\xE3\x09\xE6", + "\x40\xE0\x8F\xCD\xE4\x50\x0D\x23\x08\x90\xCF\xE4\x7E\x1E\x23\x03\x91\xCA\xE3\x0B\xE5\x46\xE4\x90\xC6\xE3\x38\x0F\x23\x07\x91\xF6\xE3\x0A\xE7\x46\xE4\x8D\xC5\xE4\xE0\xE3\x36\xE1\x8C\xD0\x02\x1F\xE5\x3E\xEC\x91\xD8\xE4\x25\x31\x24\x04\x89\xD2\x02\x29\xE4\x49\xEE\x7F\x93\x02\x31\xE7\x4A\xE0\x92\xCE\xE4\x32\x38\x25\x04\x89\xD5\x02\x35\xE5\xAF\x36\x09\x3D\xE4\x26\xE4\x43\xE4\x91\xEC\xE4\x21\xE5\x51\xE1\x90\xD7\x02\x40\xE5\x49\xEA\x94\xEF\xE3\xE4\x20\x26\x04\x89\xD9\x02\x49\xE4\x53\xE9\x3B\x9A\x02\x51\xE6\x50\xE4\x94\xF8\xE4\x37\xE4\x44\xE1\x76\x9B\x02\x55\xE6\x46\xE6\x94\xDA\xE5\x57\xE4\x58\xE9\x95\xC3\xE5\x63\xE5\x58\xE4\x96\xEA\xE4\x23\xE6\x4D\xE8\x96\xC1\xE5\x96\x20\x27\x0D\x95\xE2\xE4\x6C\xE4\x5C\xEB\x94\xD6\xE5\xB1\x71\x27\x0F\x96\xC5\x12\x9E\x03\x5D\xE8\x95\xFC\x12\x9F\x02\x5E\xE2\x96\xEB\xE5\x73\xE6\x57\xEA\x77\x20\x02\x11\xDD\x28\x0E\x97\xEE\x38\xA2\x00\x40\xE3\x0A\x02\xDE\xA4\x02\xE0\xD5\x0A\x07\xE6\x38\x6E\x29\x01\x71\xE7\x02\x11\xDC\x2A\x01\x71\xE9\x02\x11\xDE\x2A\x01\x71\xEB\x02\x82\xDC\x2B\x01\x71\xED", + "\x02\xE0\xDF\x51\x10\x0B\x38\xDF\xB2\x00\xFE\xD4\x0B\x11\xDC\xB5\x01\xC4\xD6\x0B\x0E\xE0\xB7\x01\xC4\xD8\x0B\x10\xE6\x28\xD9\x2E\x08\x7F\xFB\x02\xF8\xDD\x1D\x4D\x0B\x14\xE2\xBE\x01\xC4\xDF\x0B\x11\xDC\xC0\x01\xC4\xD1\x0C\x11\xDC\xC2\x01\xC4\xD3\x0C\x11\xDC\xC4\x02\x03\xE5\x0C\x30\xE6\x80\xE6\x54\xE9\x9C\xF4\xE5\xCB\xE6\x60\xE3\x18\xC6\x03\xC8\xE6\x4C\xEC\x9C\xD2\xE7\xCE\xE7\x59\xEE\x25\x07\x03\xD1\xE6\x5A\xE4\x9D\xF2\xE5\xCA\xE7\x76\xEF\x95\xD6\xE7\xDA\xE5\x78\xEF\xAF\x08\x03\xD9\xE5\x5A\xE6\x9E\xF1\xE5\xDF\xE6\x59\xEA\x9E\xE5\xE5\xEC\xE5\x73\xEC\x9D\xD3\xE7\xE2\xE4\xEE\x09\x0C\x25\xE7\xE8\xE6\x3F\x4A\x0C\x0E\xE0\xCB\x02\x03\xEC\x0C\x35\xE6\xE0\xE7\xA2\x0E\x0C\x3C\xE7\x42\x18\x34\x00\xA0\xE2\x32\xD2\x00\x25\xE3\x0D\x34\xE7\x47\x24\x35\x01\x71\xD5\x03\x11\xDE\x35\x01\x71\xD7\x03\x11\xDC\x36\x08\x7F\xDA\x03\x11\xDF\x36\x01\x9A\xC6\x04\xDE\x03\x85\xEA\xF5\x48\xE8\xDF\x1A\x38\x0C\xA1\xF0\xE7\xF8\x6B\x38\x0E\x80\xE4\x03\x0E\xE1\x39\x03\xA0\xEE\xE7\x01\x07\x39\x07\xA2\xC9\x19\xE9\x03\x8A\xEA\xCB\x2B\x03\x94\xE0\x3B", + "\x0F\xA1\xD1\x27\xED\x01\xC4\xDE\x0E\x11\xDC\xEF\x01\xC4\xD0\x0F\x11\xDC\xF1\x00\xFE\xD3\x0F\x11\xDC\xF4\x02\x86\xE2\x10\x37\x03\x42\xE8\xCA\x0A\x0F\x2D\xDB\x00\x00\x10\x00\x7D\x82\x00\x00\x01\x00\x01\x82\x80\x0F\x7D\x82\x83\x82\x03\x83\x87\x87\x89\x82\x83\x84\x83\x0D\x81\x8F\x88\x81\x8B\x8B\x7F\x88\x04\x93\x98\x96\x8B\x8A\x8D\x8A\x8F\x0D\x9C\x91\x9B\x73\x0D\x84\x81\x90\x20\x89\xA2\x88\x9F\x85\x8D\x97\x8F\x2F\xAC\x8B\x8E\x93\x98\x99\x9A\x99\x0C\xB6\xB9\x8D\x8C\x7D\x91\x85\x93\x2A\xA9\x8A\x82\xAE\x84\xA2\x88\xA3\x19\xB1\x81\xAA\xA3\xA4\xA5\xA2\xA7\x47\xD0\x89\xB7\x9B\xA4\xA9\xA6\xAB\x4F\xD8\x91\xBA\xA3\xAB\x9D\xAA\xAF\x57\xE0\x99\xA2\xBB\xAC\xB1\xAE\x88\x3A\xE8\xB8\x8A\xBF\xAC\xB5\xB0\xB7\x63\xF0\xA5\xB2\xB7\xB4\x8B\xB4\xBB\x6D\xF8\xAF\xBA\xB1\xBC\xBF\xB8\xBF\x75\x97\xA9\xA0\xCB\x91\xBE\xC1\xBB\x87\x86\xF4\x86\xB5\xC3\xBD\xC4\xC7\x8B\xF4\x8D\xDD\xBF\xC4\xC9\xC8\xC2\x48\x93\xFF\xB5\xCB\xCF\xC8\xCF\xC0\x9E\xA1\xC3\xDF\xCA\xC8\xD3\xD0\xD1\x88\xA8\xCA\xC7\xDC\xD1\xD5\xD7\xD5\xAE\xB1\xF0\xD3\xD0\xCF\xD5\xDA\xD9\xB7", + "\xB4\xD6\xD6\xDB\xD8\xDD\xDE\xDD\x9D\xBC\xC1\xFE\xD3\xE0\xE2\xD2\xE2\xC7\xC6\xE5\xCB\xE9\xCD\xE6\xA8\xE6\xCF\xCE\xDC\xB0\xE3\xEA\xE8\xC6\xEB\x92\xD8\xD8\xD1\xEC\xED\xE9\xEF\xEB\xDF\xD9\xE1\xFB\xEE\xED\xF0\xF0\xF3\xE2\xE8\xE4\xE7\xFC\xF1\xF5\xF7\xF5\xEE\xF1\xF0\xF3\xF4\xD2\xED\xFB\xF1\xF7\xDC\xBD\x7E\x93\x80\xA1\xDD\xFF\xBF\x40\x85\x72\x80\xC9\x44\x84\x77\x7B\xF9\x48\x8A\x6A\x81\xF6\x4B\x81\x83\x83\x03\x90\x85\x82\x84\x07\xB2\x79\x82\x85\x0E\x91\x8A\x87\x84\x1B\x95\x84\x7D\x86\x1C\xA1\x8E\x87\x85\x1F\x82\x72\x89\x83\x26\xA3\x80\x8A\x8A\x29\xA8\x88\x70\x8B\x2F\xAE\x8A\x72\x8C\x0C\xB8\x7B\x88\x8D\x14\xB8\x8D\x86\x8E\x27\xB6\x8D\x8A\x8F\x31\x80\x93\x8E\x90\x35\xAA\x74\x8B\x91\x37\x84\x99\x8E\x92\x3B\x8C\x9D\x8E\x91\x49\x90\x9F\x8E\x94\x41\x94\x93\x92\x95\x04\xBE\x3C\x7E\x40\xFE\x4B\x98\x96\x97\x0A\x93\x91\x99\x95\x63\x97\x95\x99\x91\x67\xA0\x98\x86\x98\x6B\xA4\x9D\x9A\x99\x6F\xA8\x91\x9E\x9A\x25\xAE\x95\x9C\x9C\x77\xB2\x99\x9C\x9D\x48\xAC\x9B\x9D\x93\x5F\x80\xA9\x9A\xA0\x73\x84\xAF\x9F\x93\x83\x88\xA5\xA2\xA2\x87", + "\xB0\x88\x9D\x9F\x2F\x9B\x91\x41\x97\x86\x90\xAF\xA1\x94\x89\x8E\xAA\x9E\xA5\x9B\x98\xAB\xA2\xA6\x7C\x9E\xAD\xA0\x8F\xA0\x95\xA2\xA8\xA7\xA1\xBE\x98\xAA\xA9\xAA\xA7\xAE\xA9\xAB\xB0\xB6\x9B\xA8\xA3\xB3\xA5\xA4\xAF\xAB\xB2\xB8\xA7\xA5\xAC\xBB\xB9\xAC\xAD\xA7\xBF\xA9\xAE\xAF\xB0\xBD\x85\xB0\xB0\xB1\xC7\x86\xB2\xB2\xB2\xAC\x88\xBB\xB1\xB2\xD0\x8F\xB2\xB5\xB3\xCC\xB7\xA1\xB0\xB5\xD1\x98\xB3\xB6\xB5\xCE\x9A\xBE\xB4\xB7\xD5\xB6\xA2\xB8\xA9\xE4\x92\x50\x00\x05\x26\x57\xB0\xB9\xB6\xEB\x9B\xB3\xBA\x93\xEF\x81\xAD\xBB\xB7\xF1\x99\xA5\xBA\xBC\xF5\x9F\xA7\xBE\xBD\xF0\xBB\xBA\xBD\xBF\x00\xF8\xBE\xBF\xA8\x01\xFC\xB2\xC1\xC1\xFF\x87\xCA\xC2\xC1\x0C\xC9\xCD\xC3\xA1\x01\x28\xBF\x4E\xBA\xF9\x84\xCB\xC2\xC3\x18\xD6\xCF\xC1\xAD\x03\xDC\xC8\xC3\xA1\x02\x12\xCD\x7C\xC5\x1D\xFA\xA4\x83\x00\x22\xDC\x9A\xB8\x01\x29\xD3\xA1\x45\x01\x2D\xC0\x04\xA4\x00\x06\x31\xC3\xCF\x01\x36\xD1\x48\x01\xCE\x0D\x49\x0C\xCD\x42\x0A\x3F\xC3\x43\x02\x42\xC2\x4C\x01\xD1\x01\x4D\x08\xD0\x00\x0E\x0B\xD5\xC6\xC7\x17\xDA\xC9\xC4\xD4\x1B\xE6\xC2\x87\x03\x4E\xE5", + "\xC1\x44\x04\x59\xDF\xC4\xD7\xD4\x56\xF4\xBA\xD5\xB7\xF3\xA5\xDF\xD1\xD8\x66\xE3\xD1\xBA\xDA\xEC\xA7\xD4\xCA\x93\x11\x1D\xD1\xD7\xD7\x52\xC0\x62\x06\xDC\x55\xEF\xD3\xDC\xDA\x6E\xE4\xDD\xDF\xDA\x5E\xFC\xDC\xDA\xBB\x83\xE2\xD1\xE2\xDE\x79\xFE\xD5\xE1\xDA\x87\xCA\xED\xE0\xE0\x7B\xC8\xE0\xDA\xE4\x75\xF4\xD6\xE6\xE0\x8F\xED\xDB\xE3\xDF\x9A\xD9\xE4\xE2\xE7\x86\xD1\xEE\xE2\xE8\x90\xC9\xE5\xEB\xE4\xA3\xE6\xED\xE4\xE9\xAB\xEA\xE2\x87\x04\x78\xE8\xE7\xE9\xE5\x98\xEC\xEF\xE6\xED\xA1\xEE\xE9\xEE\xEC\xAD\xFC\xE7\xEE\xEE\x8C\xF8\xE1\xF0\xF0\x9C\xFF\xEE\xEF\xEE\xB4\xD4\xE7\xE6\xF2\xB5\xC4\xFB\xE7\xF3\xA0\xC3\xF7\xF2\xF4\xC9\xE9\xE3\xF5\xF1\xC8\xCB\xF6\xF5\xF5\xB3\xDA\xFD\xF5\xF3\xD3\xD4\x01\xEC\xF7\xBD\xE4\xF6\xF2\xF9\xD9\xE0\xF8\xF8\xF5\xDE\xE5\xFD\xFB\xF9\xEF\xE9\xFC\xF3\xFC\xDB\xF1\xFC\xFA\xFA\xF6\xD8\xF7\xFC\xFD\xDF\xFC\xFE\xF8\xFE\x00\x9E\x7C\xFC\x01\x85\x7E\x02\xBD\x7D\x80\x02\x92\x7C\x02\x8B\x87\x81\x06\xBF\x79\x81\xFB\x6C\x83\x03\x92\x83\x80\x08\xBA\x7F\x82\xD0\x62\x78\x06\xD1\x7B\x82\x0D\x99\x86\x79\x1C\x9F\x83\xF5", + "\x22\x8B\x7D\x0E\xA0\x86\x83\x21\x89\x84\x0A\xAB\x87\x85\x16\xA3\x82\x85\x2E\x85\x84\x09\xB3\x55\x03\xA5\x56\x03\x7C\xF9\x73\x86\x01\x93\x8E\x81\x0A\x94\x82\x81\x3D\x80\x88\x0F\xC3\x8E\x87\x20\x91\x86\x88\x26\x8F\x84\x0B\xCA\x81\x87\x1C\xB0\x84\x89\x50\x87\x53\x05\x38\x8B\x87\x22\x84\x8A\x88\x56\x99\x88\x16\xDB\x87\x89\x2B\x9D\x8A\x8B\x00\x18\x00\x15\x96\x8A\x86\x32\x8F\x8A\x86\x67\x8E\x8B\x12\xE8\x8B\x8C\x35\x8D\x8D\x8A\x5C\x89\x88\x1B\xEF\x86\x8D\x36\xB0\x8F\x8B\x71\x85\x8F\x0F\x80\x09\x03\x31\xBB\x8A\x7F\x1A\x1E\x8C\x12\xFA\x83\x91\x34\xB7\x8A\x8E\x6E\x91\x89\x22\xF3\x8A\x91\x43\x84\x96\x8B\x88\x8E\x92\x21\xF5\x84\x8F\x3F\x8F\x90\x8C\x91\x94\x91\x23\x9A\x9C\x91\x4E\x8B\x97\x93\x92\x96\x8C\x27\xA0\x93\x95\x50\x95\x95\x90\xA2\x96\x92\x54\x1B\x02\x90\x48\xBC\x44\x03\xAD\x98\x93\x25\xF9\x83\x92\x55\xA9\x90\x95\xA7\x8E\x95\x2D\xB8\x9B\x92\x5B\xB9\x92\x96\xBB\x9A\x97\x2D\xC2\x9F\x96\x5A\x83\x98\x98\xC7\x86\x99\x31\xF8\x8C\x99\x4C\xBE\x95\x97\xBC\x80\x31\x07\x31\x9A\x98\x68\x84\x9E\x9A\xC8\x8B\x9A\x33\xD1\x94\x95", + "\x67\x9E\x96\x94\xD8\x95\x9B\x37\xA5\x94\x9C\x6F\x9D\x9C\x9B\xE0\x83\x9D\x43\x1E\x0B\x69\x0F\x14\x9D\x99\xB3\x90\x9D\x30\xD9\x91\x9C\x79\x89\x9E\x9E\xDA\x91\x9F\x36\xD7\x9A\x9C\x74\xA5\x9E\x9F\xE6\x89\x9F\x39\xFC\x93\xA0\x7A\xBD\x9C\xA0\x02\xA9\xA3\x3F\x88\xAB\xA0\x83\x85\xA2\x9C\xF6\x60\x07\x3B\xFB\x9E\xA0\x85\x81\xA5\xA1\x10\xB6\xA0\x40\x9B\xAC\xA1\x8B\x9E\xA4\xA3\x15\xB8\xA0\x3E\xF5\x94\xA3\x8C\xA2\xA5\xA4\x23\xA7\xA1\x48\x9F\xAD\xA2\x90\xA6\xA4\xA5\x12\x41\x07\x44\xFA\x94\xA7\x79\xAF\xA6\xA5\x29\xAF\xA1\x4E\x9A\xAD\xA5\x9E\xAB\xA0\xA7\x28\xA1\xA9\x4D\xF7\x92\xA8\x9B\xBB\xA7\xA4\x43\xB9\x9E\x51\xC5\xA4\xA9\xA4\xA4\xA6\xA9\x2A\xB7\xA6\x4F\xD2\xAF\xA7\xA9\x87\xAD\x21\x22\x13\xA7\x52\xD0\xAA\xA6\xA6\x8A\xAD\xA9\x5B\xA1\xAC\x58\xE3\xAF\xAB\xB2\x8F\xAA\xAC\x66\xB1\xAB\x55\xC0\xAC\xAA\x9E\x95\xAF\xAD\x54\xB1\xAF\x5A\xD6\xAE\xAB\xB3\xA4\xAE\xAE\x69\xBD\xA9\x5B\xC8\xA8\xAC\xBC\xBE\xAA\xAD\x75\xA0\xB3\x5E\xB0\xA2\xAF\xC0\xBA\xAD\xAF\x82\xA8\xB3\x61\xF7\xA9\xB0\xC6\x8B\xB1\xAF\x6E\xA5\xB3\x60\x89\x23\x05\xA5\x64\x02", + "\xAB\x8E\xB1\xB3\x5C\xF0\xAB\xB2\xC9\x8A\xB2\xB3\x86\xA0\xB7\x64\xF4\xA3\xB4\xCE\xA1\xB4\xAF\x99\xAA\x5D\x09\x18\xB0\xB2\xD4\xAD\xB4\xB0\x9D\xB1\xB7\x69\xB0\xB5\x34\x13\x2C\xB7\xAF\x8F\xB8\xB6\x68\x9F\xBE\xB4\xDD\xBD\xB5\xB1\xAF\xAC\xAC\x6F\xB4\xB5\xB4\xCF\xA9\xB4\xB8\x4E\x47\x07\x6D\xC0\xBE\xB6\xE4\x87\xBA\xB8\xC2\x68\x07\x72\xB9\xBB\x7D\x14\x13\xB8\x23\x2A\x0B\x6B\x0A\x4B\x6C\x05\xA5\x6D\x03\x69\x2E\x0B\x6B\x0B\x4B\x60\x07\xA5\x71\x03\x69\x32\x0B\x6B\x0C\x4B\x64\x07\xEB\xBF\xB4\xBA\xF0\xB7\x8D\x0D\x6E\xB8\x38\x1B\x34\xB8\xBA\xC1\xA4\xB7\x70\xF8\xBD\xB8\xFE\x8C\xBF\xBF\xF6\x77\x07\x7D\xFA\xBC\x2A\x1C\x03\xC6\xB4\xC5\xB2\xB5\x82\xB3\xBE\xBF\xF8\xAF\xBB\xB7\xCF\xA4\xC1\x7E\x88\xCB\xBE\x09\xFD\xBE\xC2\x00\xD0\xC3\x84\xC6\xBB\xC2\x05\xD5\xC4\xC2\x5C\x39\x07\x81\x9C\xC7\xC2\x10\xDD\xC4\xC1\x18\xCE\xC2\x73\xA7\xCB\xC1\x16\xDF\xC4\xC4\x19\xCF\xC2\x8C\xAB\xC5\xC4\x18\xEA\xC5\xC1\x1A\xD5\xC6\x87\x91\xC6\xC4\x1D\xE8\xC5\xC7\x80\x3A\x07\x88\xE5\x6B\x07\x21\xFF\xC6\xC6\x39\xD1\xC4\x8D\xCA\xC8\xC7\x19\xCD\xCB\xC9\x37\xC9", + "\xC5\x92\xD1\xC0\xC8\x2A\xDC\x8C\x07\x4B\x7D\x06\x91\xAE\xCC\xC6\x24\xCE\xCA\xCA\x26\x5E\x07\x96\xAF\xCB\xC6\x16\xE4\xCF\xC8\x65\xDE\xC4\x97\xE6\xCD\xCB\x34\xCC\xC8\xCC\x50\xD3\xCA\x9C\xDF\xC5\xCB\x39\xF1\xCC\xCE\x5E\xD7\xCC\x6C\xBF\x03\xCD\x7B\x80\x0D\xCF\x6C\xC1\xD2\x9A\xE7\xCB\xCD\x41\xED\xC8\xCD\x88\xC5\xD3\x9B\xF5\xC8\xCE\x37\xD6\xCE\xD1\x76\xCF\xCA\xA4\xF0\xC3\xD2\x46\xFA\xCD\xD2\x79\xD8\xD0\xA4\x8D\xD9\xD0\xA9\x01\x08\xD0\x86\xC2\xD3\xA2\x99\xD4\xD2\xAB\x82\x0B\x69\x43\x00\xD7\xA8\x9B\xD7\xD3\x52\xD6\xD2\xD3\x9D\xC7\xD2\xA2\x8F\xD1\xD6\x51\xF4\xD3\xD6\x91\xCE\xD4\xA9\xAF\xDA\xD6\x56\xF0\xD0\xD7\x9C\xC0\xD9\xAB\xBC\xD4\xD9\x80\x04\x0A\xD5\xB7\xC4\xD2\xB2\xB2\xDB\xD8\x5B\xF9\xD5\xD8\xBE\xDD\xD5\xAD\xA1\xD4\xDB\x55\xD3\xDE\xDA\xC2\xDF\xD5\xB3\xD5\xD9\xD8\x66\xF2\x5D\x08\xC8\xCF\xDB\xAE\xE3\xD1\xDA\x68\xD7\xDD\xDB\xCE\xC1\xDB\xB6\xD8\xDB\xDC\x74\xDC\xDA\xDC\xE5\xC4\xDF\xB9\xF0\xD3\xDE\x75\xDE\xD9\xDD\xC3\xD2\xDD\xB6\xD2\xDB\xDE\x73\xFD\xDA\xDF\xED\xDA\xB2\x11\x61\xD6\xDE\x7C\xDA\xDF\xDE\xEF\xC5\xE1\xC2\xF9", + "\xD1\xDF\x86\xC7\x0C\xE0\x0C\xF5\xDD\xC4\xFF\xDD\xE0\x89\xC7\xE6\xE0\xFC\xC1\xE2\xC2\xEC\xD8\xE0\x8E\xD8\xE6\xDF\x1A\xF3\xE1\xC8\x97\xEB\xE0\x92\xDE\xE5\xE4\x19\xFD\xE2\xBB\xA7\xEC\xE5\x95\xEE\xE4\xDE\x3C\x48\x08\xC4\xA6\xEF\xE5\x8D\xF5\xE2\xE4\x2A\xF0\xE7\xC8\xA9\xEF\xE2\x80\xF9\xE6\xE6\x3A\xFF\xE4\xCE\xBD\xE5\xE2\x8A\xD6\xE4\x5D\x49\x11\x66\x00\x40\xEC\xE9\xA1\xE8\xE0\xE4\xC2\x6B\x0A\xD2\x91\x2D\x09\xA9\xCE\xED\xE5\x41\xE4\xEB\xD1\xD0\xEA\xEA\xA3\xDE\xEB\xE7\x5C\xEF\xEA\xCF\xDD\xE0\xED\xB1\xE2\xED\xE8\x65\xE8\xEE\xD0\xB4\xE9\xEB\xB3\xDB\xEE\xEC\x58\xED\xE8\xDB\xF2\xEC\xE6\xB7\xDF\xEB\xED\x75\xF1\xEF\xD5\xB7\xE3\xEF\xBD\xED\xEA\xEF\x7D\xFA\xD3\x13\x33\xE9\xEE\xBE\xC5\xF7\xEF\x86\xFC\xB0\x14\x04\xF1\xEC\xC0\xC7\xF4\xEE\x8D\xE9\xF0\xDC\x92\xFA\xEC\xB2\xF8\xE9\xF2\x88\xF9\xF0\xE4\x93\xFA\xF2\xBF\xDB\xF4\x99\x51\x0C\xF0\xE7\x9F\xFF\xED\xCA\xF6\xE9\xED\xA5\xE9\xF7\xDD\x96\xFC\xF5\xD3\xD7\xF3\xF4\x64\x72\x0A\xE8\xA6\xFE\xF0\xCC\xE4\xF3\xF5\xAE\xED\xF5\xED\xB0\xF1\xF1\xC7\xDE\xF7\xF7\xBD\xF6\xF4\xF0\xBE\xF1\xF8\xDE", + "\xC3\x23\x0A\xB3\xEA\xF4\xEA\xB8\xFB\xF6\xDA\xD4\xF2\xF9\xAF\xEE\xF9\xE7\xC5\xF2\xFB\xDB\xCB\xFF\xFA\xD1\xF0\xFA\xEE\xCF\xFC\xF8\xEE\xD8\xFB\xFB\xD3\xE4\xFA\xF8\xC2\xF4\xFA\xED\xF9\xF3\x51\x54\x09\xF9\xF7\xE1\xF4\xFD\xF1\xC6\xFD\xFD\xF0\xEF\xFE\xFC\xD5\xF3\xF9\xF8\xF4\xFD\xFC\xEB\xF6\xF9\xF6\xF9\xF5\xFF\xF9\xE6\xFD\xF9\xFF\x7E\x7D\xFB\x7F\x7D\xE7\x70\x80\xFC\x78\x7F\x04\x86\x80\x09\x82\x80\xE0\x7A\x7F\x0D\x8D\x7F\xF7\x7E\x7E\x11\x86\x7F\x01\x80\x6F\x55\x0A\x7E\x0B\x8C\x7E\xFE\x78\x14\x56\x03\x7B\x57\x08\x81\x03\x81\x82\x0F\x88\x80\x22\x85\x80\x0C\x86\x82\x1A\x83\x81\x1B\x89\x81\x0E\x88\x82\x2D\x8A\x80\x25\x8D\x7C\x58\x00\x82\x1D\x69\x05\x43\x6A\x05\x4B\x3B\x05\x4B\x3C\x05\x4B\x3D\x05\x4B\x3E\x05\x4B\x3F\x05\x4B\x30\x06\x4B\x31\x06\x4B\x32\x06\x4B\x33\x06\x4B\x34\x06\x34\x8E\x82\x10\x86\x2B\x65\x03\x7B\x66\x0D\x84\x30\x83\x82\x12\x85\x81\x2F\x87\x82\xEB\x37\x06\x54\x8A\x85\x5E\x89\x82\xA5\x18\x06\x5D\x80\x86\x07\x87\x85\x65\x84\x81\x67\x8B\x82\x31\x8F\x85\x59\x84\x86\x2C\x8F\x84\x69\x8A\x82\x65\x39\x06\x4B\x3A", + "\x06\x63\x8D\x86\x10\x4B\x06\x77\x8D\x10\x6C\x0F\x4E\x6D\x0F\x4E\x6E\x0B\x87\x24\x86\x85\x12\x2F\x06\x4B\x30\x07\x4B\x31\x07\x4B\x32\x07\x4B\x33\x07\x4B\x34\x07\xEF\x45\x07\x4B\x36\x07\x31\x33\x00\x10\x49\x07\x56\x79\x10\x7B\x09\x89\x03\x1D\x07\x4B\x3E\x07\x4B\x3F\x07\x43\x60\x08\x4B\x31\x08\x82\x86\x86\x6F\x83\x88\x74\x12\x08\x9C\x82\x10\x84\x0D\x8A\x6A\x8B\x4C\x86\x03\x7B\x87\x0B\x34\x88\x0B\x34\x89\x0B\x34\x8A\x0B\x34\x8B\x0B\x34\x8C\x0B\x34\x8D\x03\x64\x8E\x07\x8A\x68\x89\x8A\xA8\x8B\x86\x6E\x88\x8C\x78\x80\x87\xC6\x85\x8C\xCA\x8C\x8C\xCF\x8A\x8A\x55\x8E\x84\xD2\x8C\x86\xD0\x84\x88\x5C\x4F\x08\xC4\x81\x8B\xD4\x87\x8C\xD8\x82\x87\x58\x87\x8D\xDD\x8E\x8C\xDF\x81\x8E\xD5\x89\x8C\xE5\x81\x87\xE6\x8E\x8D\xE3\x8C\x8D\xD3\x8F\x8E\xD6\x87\x8E\xCB\x82\x8F\xE2\x80\x8F\x9A\x50\x09\xDB\x80\x8E\xEA\x8B\x8F\xCD\x8E\x8E\xF1\x8C\x8E\xF6\x83\x8F\x00\x9F\x8F\xE4\x8D\x8E\xFA\x8D\x8F\x07\x91\x8D\x03\x98\x8E\x06\x9B\x8E\x05\x91\x90\xF5\x84\x90\xFE\x8C\x90\x10\x94\x8F\x16\x9B\x90\x02\x9F\x90\x12\x99\x90\xE9\x88\x90\xA5\x11\x09", + "\xF9\x8E\x90\x13\x99\x91\x1B\x22\x09\x21\x91\x4F\x93\x0B\x34\x94\x0F\x4E\x95\x0B\x34\x96\x0B\x34\x97\x0B\x34\x98\x0B\x34\x99\x0B\x34\x9A\x0B\x34\x9B\x0B\x34\x9C\x0B\x34\x9D\x0B\x34\x9E\x0B\x34\x9F\x07\x92\x1E\x91\x87\xA0\x03\x7B\xA1\x02\x94\x0A\x9A\x91\x14\x9B\x91\x22\x92\x87\xA2\x08\x94\x1D\x99\x94\x23\x98\x1C\xA3\x00\x95\xF5\x44\x0A\x43\x65\x0A\x4B\x36\x0A\x4B\x37\x0A\x4B\x38\x0A\x4B\x39\x0A\x4B\x3A\x0A\x4B\x3B\x0A\x4B\x3C\x0A\x4B\x3D\x0A\x4B\x3E\x0A\x4B\x3F\x0A\x56\x95\x91\x18\x9D\x10\xB0\x03\x7B\xB1\x0F\x96\x4C\x9C\x8F\x52\x9C\x91\x0D\x94\x71\xB2\x06\x97\x68\x33\x0B\x7E\x94\x92\x7A\x90\x97\x4A\x92\x98\x4D\x97\x98\x78\x91\x95\x8A\x9B\x97\x43\x9D\x98\x79\x98\x98\x8E\x9B\x98\x84\x93\x95\x09\x14\x0B\x81\x91\x91\x4B\x99\x99\x86\x99\x98\x8C\x9F\x98\x9C\x93\x99\x83\x97\x97\x91\x9D\x99\x92\x92\x9A\x9E\x92\x15\xB5\x07\x99\xC6\x16\x0B\xAA\x91\x97\x17\x95\x98\x98\x9B\x99\xA3\x90\x9A\x90\x97\x9A\xB6\x95\x9A\x9A\x91\x9B\xBA\x9F\x9A\x72\x57\x0B\xAD\x90\x9B\xBC\x91\x9A\xB9\x91\x9C\xB5\x98\x9B\xB2\x97\x9B\xA4\x99\x9C\xB4", + "\x9F\x99\xA6\x96\x9C\xBB\x9E\x9A\xD0\x90\x9C\xD1\x94\x99\xD3\x92\x9C\xC7\x90\x3C\xB8\x0F\x9B\xD4\x92\x9D\xDC\x9B\x9D\xDE\x96\x9D\xCF\x9D\x9D\xE0\x94\x9C\xCC\x93\x9C\xD5\x95\x9C\xCA\x9D\x9C\xE9\x96\x9E\xE2\x98\x9E\xCB\x93\x9B\xEA\x9F\x9E\xC8\x92\x9F\xCE\x94\x9E\xF0\x9C\x9E\xDF\x9E\x9E\xF1\x9B\x9F\x9A\x59\x0B\xDA\x93\x9E\xE7\x91\x87\xBA\x0F\x9F\xFA\x3B\x0B\x43\x6C\x0B\x4B\x3D\x0B\x4B\x3E\x0B\x4B\x3F\x0B\x4B\x30\x0C\x4B\x31\x0C\x4B\x32\x0C\x4B\x33\x0C\x4B\x34\x0C\x4B\x35\x0C\x4B\x36\x0C\x04\xA5\x9E\x8D\x67\x0C\xB3\x78\x0C\x1D\xA7\x9F\xD7\x9B\x9E\x25\xA4\x9F\x8B\x29\x0C\x23\xA3\x9F\xFC\x97\xA2\x2D\xA1\x9E\xF9\x9E\xA1\x30\xA0\xA0\xED\x92\xA3\xF6\x9C\xA2\xF8\x94\xA3\x1B\x2A\x0C\x2B\xA5\x9F\x01\xA8\x90\xCB\x0F\x4E\xCC\x09\x8F\xCD\x0D\xA3\x26\xA3\xA3\xFA\x99\xA3\x49\xAE\xA2\x4A\xA6\xA3\x3F\xA8\xA3\x4C\xA1\xA5\x48\xAE\xA4\x35\xA4\xA2\x53\xA6\xA5\x37\xAE\xA3\x55\xA0\xA5\x57\xAC\xA5\x59\xA5\x4F\xCE\x06\xA4\x28\xA3\xA6\x2F\xA9\x10\xCF\x02\xA6\x9F\x10\x0D\x68\xAD\xA4\x58\xAF\xA4\x5A\xA1\xA3\x6D\xAB\xA5\x6F\xAA\xA3\x74\xAB", + "\xA4\x5D\xA3\xA7\x76\xAF\xA5\x64\xAC\xA6\x5E\xAE\xA6\x47\xAA\xA7\x65\xAE\xA7\x7B\xA2\xA5\x38\x51\x0D\x6B\xA4\xA8\x82\xA1\xA8\xD0\x62\x0D\x87\xA7\xA7\x7F\xA9\xA8\x7C\xA8\xA7\x54\xA0\xA7\x7D\xA2\xA7\x8F\xA2\x9E\xD3\x0D\xA8\x80\xA1\xA9\x97\xA4\xA9\x92\xA1\xA7\x9E\xAD\xA9\x75\xA3\xA9\xA3\xA0\xAA\xA5\xA5\xA9\xA1\xA3\xA8\x8E\xAA\xAA\x09\x14\x0D\x9A\xA0\xA9\x88\xA6\xA9\xAC\xA0\xAB\xAB\xAA\xA8\xA9\xA6\xAB\xA7\xAF\xA9\xA8\xA9\xAB\x3A\x65\x0D\xAF\xA2\xAB\xB8\xA9\xA7\xB4\xAB\xA9\xB1\xA7\xAB\x9C\xA3\xAB\xC0\xA7\xAC\xC1\xA4\xAA\xC2\xA2\x10\xD6\x0F\xAB\xDF\x27\x0D\x43\x68\x0D\x4B\x39\x0D\x4B\x3A\x0D\x4B\x3B\x0D\x4B\x3C\x0D\x4B\x3D\x0D\x4B\x3E\x0D\x4B\x3F\x0D\x4B\x30\x0E\x4B\x31\x0E\x4B\x32\x0E\xD0\xAC\xAB\xAB\x63\x0E\xB3\x74\x0E\xE9\xAD\xAC\xC6\xA5\xAC\xEA\xAB\x91\xE5\x0F\xAE\xCC\xA7\xAF\xA6\xA0\xAF\xF3\xAA\xAC\xFC\xA2\xAF\xFA\xAF\xAF\xF8\xAB\xAB\x00\xB9\xAF\x01\xB6\x16\xE6\x0B\x34\xE7\x06\xAF\xA6\xA8\x0E\xF9\x89\x0E\xEF\x4A\x0E\xEF\x4B\x0E\x4B\x3C\x0E\x0A\xB2\xB0\x8B\x3D\x0E\x4B\x3E\x0E\x4B\x3F\x0E\x4B\x30\x0F\x4B\x31\x0F", + "\x4B\x32\x0F\xEF\x43\x0F\x4B\x34\x0F\x95\x80\x41\xF7\x00\x8B\x00\x09\x0F\x2A\xBB\x0F\x4B\x3C\x0F\x4B\x3D\x0F\x43\x6E\x0F\x4E\x35\xB1\xBA\xA7\xB3\x8B\x20\x00\x15\x0D\x10\x4B\x7C\xB3\x3B\xB9\x10\x3D\xB4\xAC\x64\x34\x00\x3F\xB3\x32\x7B\x45\x00\x45\xBA\x32\x0D\x16\x00\x49\xBE\x32\x0D\x17\x00\x4D\xB2\x33\x3A\x31\xB5\x33\x39\x00\x54\xB1\x11\x0A\x07\xB5\x0D\x1B\x00\x5A\xB2\xB4\x5E\xB3\xAC\x03\x1C\x00\x5D\xB2\x81\x0D\x03\xB6\xC9\xAE\xAF\x05\xB2\xAA\x03\xB6\xB1\x04\xBD\xB6\x6C\xBF\xB6\x38\xB7\x28\x0E\x06\xB6\x01\x1F\x00\x74\xBB\xAF\x9F\x70\x01\x77\xB8\x52\x11\x0B\xB7\x48\x12\x01\x7E\xB2\x15\x13\x01\xB8\x70\xBA\xB6\x3C\x24\x01\x77\xB5\x01\x77\xB6\x01\x77\xB7\x01\x77\xB8\x01\x77\xB9\x01\x84\xB6\x16\x1A\x07\xB7\x1B\x01\xB5\x96\x8B\x47\x1E\x01\xB5\x41\xB3\x10\x20\x0C\xB9\x11\x12\x02\x77\xB3\x02\x77\xB4\x02\x93\xBB\x28\x25\x07\xB7\x26\x07\xBA\xC8\xA1\xAF\xB5\xA8\x11\x27\x00\xBA\x0D\x19\x02\xB2\xBF\xB5\xDB\x2B\x02\xAC\xB6\x3F\x2C\x07\xB7\x2D\x07\xB7\x2E\x07\xB7\x2F\x07\xB7\x30\x07\xB7\x31\x07\xB7\x32\x09\xBB\xFD\xAF\xBA\x82", + "\x93\x03\xC8\xBD\x68\x34\x0D\xBC\xCA\xB1\xBD\xB6\xBE\xBA\xD3\xB8\xB7\xD2\xB0\xB6\x67\xB7\xBD\xF6\x75\x03\xD0\xB5\xBD\x6B\xB1\xB7\xCB\xAE\xB6\xE0\xB9\xBC\xDE\xB9\xB6\xAD\xB6\xBD\xE5\xB2\xBE\x86\xBA\xBE\xE7\xBF\xBD\x67\x76\x03\xDD\xB8\xBD\xD4\xB2\xBF\xE8\xB4\xBF\xEE\xBD\xBE\xE6\xB1\xBE\x85\xB8\xBF\xEC\xBA\xBF\xE3\xB8\xB6\xFD\xB4\xBE\x56\x57\x03\xB5\xB6\xBF\xF9\xB2\xC0\xD9\xB9\xBE\xFB\xBE\xBF\xEB\xBB\xC0\x08\xC3\xBF\x09\xC6\xC0\x01\xC0\xC0\x0E\xC4\xC1\xFF\xBA\xBD\x10\xC9\xC1\x0D\x79\x03\xF1\xB1\xC1\x1E\xCA\xC1\xF7\xBC\xC0\xFC\xB5\xC1\x18\xC5\xBF\x1F\xC6\xC2\x20\xC7\xC0\x16\xC4\x17\x3A\x0D\xC1\x29\xC3\xC1\x25\xC1\xC2\x0F\xC8\xC2\x34\xC2\xC3\x2B\xC3\xC2\x17\xCA\xC0\x39\xC2\xC1\xC2\x3B\x03\x2E\xC5\xC3\x2A\xC1\xC3\x41\xCA\xC3\x0D\xCB\xC3\x27\xC6\xC3\x42\xC0\xC3\x44\xC8\xC3\x45\xCD\xC4\x4C\xCF\xC4\x22\xC1\xC5\x39\xAC\x03\x05\xC7\xC4\x43\xCC\xC3\x46\xCF\xC2\x24\xCB\xC4\x52\xC7\xC3\x5D\xC9\xC4\x5B\xC8\xC5\x4E\xCF\xC5\x5C\xC3\xC3\x48\xC5\xC6\x5E\xC6\xC6\x57\xC6\xC5\x4A\xCC\x2E\x3E\x07\xB7\x3F\x0F\xC3\x67\xC2\xC6\x50\xCA", + "\xC6\x6D\xCC\xC6\x61\xC8\xC7\x59\xC0\x00\x40\x02\xC7\x6B\xCA\xC5\x7B\xC3\xC7\x12\x21\x04\x7E\xC7\xC7\x80\xC3\xC6\x76\xC9\xC7\x87\xC5\xC7\x69\xC2\xAF\x42\x05\xC8\x8A\xC0\xC4\x86\xC0\x00\x43\x00\xC9\xCB\x44\x04\x96\xC8\xC8\x8D\xC0\xC6\x81\xCF\xC7\x92\xC1\xC9\x82\xCB\xC8\x64\xC4\xC7\xA3\xCC\x59\x45\x09\xC9\xAB\x66\x04\x3F\xC7\x04\xA8\xCF\x19\x48\x07\xB7\x49\x07\xB7\x4A\x07\xB7\x4B\x07\xB7\x4C\x07\xB7\x4D\x07\xB7\x4E\x07\xB7\x4F\x07\xB7\x50\x07\xB7\x51\x07\xB7\x52\x0D\xCA\x89\xC3\xA7\x53\x04\xCC\x26\x24\x05\xC8\xCC\xC9\x9A\xCC\xCC\x8C\xC5\xC2\x55\x0B\xCC\x68\xCE\xCC\x1B\x96\x05\xD2\xC2\x81\x57\x07\xCD\x02\x18\x05\x77\xB9\x05\x77\xBA\x05\x77\xBB\x05\x77\xBC\x05\x77\xBD\x05\x77\xBE\x05\x77\xBF\x05\x77\xB0\x06\x77\xB1\x06\x77\xB2\x06\xDA\xC2\xCA\x39\xA3\x06\xF1\xC1\x22\x64\x05\xCF\xA1\xCF\xC9\x9D\xC3\xC9\x4D\x95\x06\xF8\xC9\x60\x66\x0F\xCF\xFC\xCE\xC9\xF9\xC5\xD0\x04\xD7\xD0\x03\xD9\xD0\xA0\xC8\xD0\x0B\xDA\xD0\xFB\xCD\xD0\x10\xD6\x16\x67\x02\xD0\x5C\x18\x06\x14\xDF\xD0\x18\xDD\xCC\xD3\xCB\xD1\xA4\xC5\xCC\x1A\xDD\xD1", + "\x9B\xCC\xD1\x7A\xC5\x4F\x69\x07\xD1\xF5\x4A\x06\x26\xDF\xCC\x22\xD2\xCF\x21\xD0\xD2\xD4\xCE\xD1\x2A\xDE\xD2\x2B\xDA\xCF\x1F\xD2\x9E\x6B\x09\xD2\xA5\xCC\xD2\x2F\xDD\xD2\x23\xD1\xD3\x3D\xD9\xD3\x34\xDE\xD3\x3A\xD3\xD3\x06\xDE\xD0\x35\xD3\xD4\x32\xD9\xD4\x02\x1C\x06\x38\xD0\xD3\x40\xD5\xD4\x11\xD7\xD4\x41\xDF\xD4\x0C\xD9\xD1\x42\xD3\xD5\x4E\xD9\xD5\x3C\xD8\xD4\x3F\xDA\xD5\x3B\xDF\xD5\x44\xD9\x60\x6D\x0D\xD4\x5B\xD8\xD5\x65\xD0\xD5\x56\xD4\xD5\x46\xD7\xD5\x68\xD7\x76\x6E\x04\xD6\x60\xDA\xD4\x5C\xD3\xD7\x66\xD1\xD7\x5D\xD7\xD6\x55\xD2\xD5\x6D\xDC\xD6\x79\xDC\xD7\x08\x9F\x06\x70\xD5\x2D\x70\x01\xD8\x72\xD5\xD7\x61\xDB\xD6\x6A\xD1\xD5\x7E\xDA\xD8\x89\xD9\xD6\x5E\xD7\xD8\x8C\xDF\xD8\x85\xDB\xD7\x8D\xDA\xD7\x7D\xD5\xD9\x8B\xDE\xD8\x78\xD8\xD8\x77\x41\x07\x84\xD0\x46\x72\x0F\xC3\x73\x05\xCF\x74\x07\xB7\x75\x07\xB7\x76\x07\xB7\x77\x07\xB7\x78\x07\xB7\x79\x07\xB7\x7A\x07\xB7\x7B\x07\xB7\x7C\x07\xB7\x7D\x07\xB7\x7E\x0F\xD9\x74\xD5\x7A\x7F\x0A\xDB\x00\x00\x08\xBE\xD4\xD9\x92\xD7\xD7\x76\xD2\x57\x81\x01\xDC\x97\xD3\xDC\x72", + "\x52\x08\xC8\xD4\x66\x83\x05\xCF\x84\x07\xB7\x85\x07\xB7\x86\x07\xB7\x87\x07\xB7\x88\x07\xB7\x89\x07\xB7\x8A\x07\xB7\x8B\x07\xB7\x8C\x07\xB7\x8D\x07\xB7\x8E\x0D\xDC\x91\xDD\x68\x8F\x0E\xDB\x90\x06\xDE\x9A\xD5\xDC\x86\xD3\xD9\xF1\x41\x09\xEC\xD6\xD9\x9C\xDB\xD9\xC2\x32\x09\xF5\xC3\x09\xF5\xC4\x09\x55\xCB\xDB\xC9\xDA\x2E\x96\x0D\xDF\xB1\x58\x09\x02\xEA\xAF\x9A\x0E\xDB\x9B\x03\xDF\x57\xDC\x09\x77\xBD\x09\x77\xBE\x09\x77\xBF\x09\x77\xB0\x0A\x02\xE2\x0A\x77\xB3\x0A\x98\xB1\x11\xA6\x09\xE1\xC8\x19\x0A\xF5\xCA\x0A\x0A\xEA\x53\xAB\x01\xE2\xCA\xDF\xDE\xC4\xD4\x7D\xAC\x05\xCF\xAD\x05\xCF\xAE\x05\xE0\xFF\xDE\xDE\xB6\x20\x0B\x2E\xE6\x54\xB2\x03\xE3\xBB\xA4\x0B\xBE\xD5\x0B\x24\xE2\xAF\xB6\x07\xB7\xB7\x07\xB7\xB8\x07\xB7\xB9\x07\xB7\xBA\x02\xE0\xBC\x07\xB7\xBD\x0C\xE1\x09\x10\x0C\x4A\xE4\x20\xC3\x05\xCF\xC4\x0B\xE3\x7B\x45\x0C\x52\xE0\xD9\xED\xD6\xE5\x3A\x66\x0C\x55\xE0\xDF\xF5\xD0\xE3\x2F\xE8\xE5\x99\xD4\xDF\xE7\xDE\xE5\x52\x17\x0C\x5B\xE7\xE2\x5C\xE3\xE6\x60\xE8\xD9\x6C\xE5\xE2\xC2\xD6\xDF\x57\xE9\xE6\x71\xE8\xE6\x74\xEC", + "\x45\xC8\x0E\xDB\xC9\x07\xE6\xFE\xDD\xE5\x6B\xEE\xE6\x5F\xE2\xE7\x62\xE3\xE7\x7B\xEA\xE6\x80\xE1\xE6\xCD\x7A\x0C\x36\xE2\xE8\x26\xE3\xE8\x8A\xEF\xE6\xB0\x5C\x0C\x7A\xEB\xE8\x92\xEE\xE8\x7D\xE0\xE7\x81\xE7\xE9\x86\xED\xE6\x96\xE9\xE9\x7E\xEC\xE7\x85\xEA\xE9\x64\xE4\xE8\x75\xE3\xE9\x7F\xE3\xEA\x94\xEF\xE9\x9D\xE2\xEA\x8C\xE6\x90\xCD\x01\xE9\xA7\xE6\xEA\xF1\x4E\x0C\xAE\xE8\x14\xCF\x03\xEB\x9E\xE0\xEB\xB7\xEB\xEA\x9C\xEB\xE9\xA0\xE5\xE9\xEE\xD0\x0D\xB6\xEA\xEA\xA4\xE9\xEB\xC3\xE2\xEC\xAF\xEA\xEB\xBD\xE8\xEA\xBC\xE9\xEA\x8D\xE5\xEA\xC8\xEC\xEC\x98\xE9\xEC\xB8\xE6\xEC\xCE\xE5\xEC\xCD\xE3\xC9\xD1\x01\xEC\xD7\xE4\xED\xC4\xE7\xEC\xD6\xE1\xED\xD0\xEB\xEB\xA1\xEB\xED\xE4\xEA\x63\xD2\x0A\xED\xE0\xEB\xEC\x10\x43\x0D\xE8\xE0\x18\xD4\x0D\xEE\xD2\xEF\xEC\xEA\xE3\xEE\xE9\xE4\xEF\xE2\xEE\xEB\xD5\xB5\x0D\xF0\xE1\xEE\xF1\xEF\xED\xF7\xEA\xEC\xF6\xED\xEF\xDE\xE3\xF0\xD5\xE4\xF0\x93\xC6\x0D\xFB\xE3\xEF\xF8\xE0\xF0\x0B\xF3\xED\xE5\xEF\xEF\x0E\xF5\xEF\x0D\xF2\xEF\x01\xF3\xC3\xD7\x09\xF0\x0D\x18\x0D\x18\xF3\xF1\xFE\xE2\xF0\x05\xFF\xF1", + "\xDD\xE0\xF2\xDC\xE1\x7D\xD9\x0B\xF1\x0C\xF7\xF2\x11\xF0\xF1\x14\xFC\xF1\x06\xF3\xF2\x0F\xFE\xF1\x21\xF1\xF3\x2E\xF2\xF1\x28\xFB\xF2\x35\xFD\xF1\xFC\xE9\xF3\x0A\xF7\xF3\xA5\x1A\x0D\x26\xF9\xF2\x30\xF3\xF3\x2A\xF8\xF3\x3B\xF0\xF4\x3A\xF5\xF1\x45\xF6\xF3\x46\xF1\x11\xDB\x0F\xF3\x4A\xFF\xF4\x44\xF8\xF4\x52\xFC\xF2\x22\xFF\xF2\x47\xF4\xF5\x32\xF6\xF5\x49\xF2\xE9\xDC\x0E\xF4\x51\xF8\xF5\x42\xF1\xF4\x5A\xF3\xF5\x3C\xFC\x23\xDD\x0E\xF5\x2D\xF3\xF6\x60\xFA\xF6\x65\xF9\xF5\x34\xFB\xF4\x64\xF0\xF7\x6B\xFF\xF6\x50\xF9\xF6\x06\x9E\x0D\x68\xF5\xF5\x74\xFF\xF5\x6D\xF1\xF6\x57\xFD\xF7\x89\x2F\x0D\x79\xFE\xF6\x43\xF6\xF7\x85\xFA\xF7\x87\xF4\xF8\x62\xFB\xF7\x86\xFB\xF8\x6A\x50\x0E\x91\xE1\x0E\x83\xFE\xF7\x5B\xFD\xF8\x7F\xF2\xF7\x80\xFC\xF8\x88\xFE\xF8\x9C\xF7\xF9\x75\xF5\xED\xE2\x03\xF9\x6C\xF8\xF9\xA4\xFF\xF9\x8A\xFE\xF9\x7C\xF5\xFA\xA9\xF6\xFA\xC2\x33\x0E\xA2\xFA\xF9\xA7\xF5\xF9\x9B\xF8\xFA\x96\xF2\xFB\xB1\xF1\xF7\xAC\xF3\xFA\x50\xF4\x0E\xAF\xF9\xF8\x94\xF8\xFB\xAB\xF1\xFC\xB5\xF0\xFC\xA5\x15\x0E\xBD\xFD\xF9\xB6\xFF\xFB\x73", + "\xFE\xFB\xBA\xF2\xFC\xB3\xF9\xFC\xCD\xF3\xFC\xCB\xF8\xFC\xC4\xFC\x23\xE6\x07\xFC\xB4\xFF\xFC\xD5\xF7\xFB\xD3\xF9\xFD\x93\xC7\x0E\xD8\xF0\xFD\xB0\xFA\xFC\x99\xFC\xFC\xE3\xF1\xFD\xDA\xFD\xFD\xE2\xFD\x7C\xE8\x01\xFE\xC0\xF9\x0E\xEE\xF4\x7D\xEA\x01\xFF\xE5\xF4\xFD\xEA\xFB\xFD\xE4\xFA\xFA\xD2\xF5\xFF\xDE\xF9\xFF\xB9\xF7\xFE\x00\x86\xFC\x42\x80\xFB\x7C\xFF\x6B\x7C\x50\x6B\x07\xF4\x7A\xF5\x6C\x07\x04\x83\x7F\x6D\x04\x03\x8E\x7E\xDC\x7D\x00\xB8\x7E\xF4\x71\x01\xFA\x7D\xFA\x7E\x22\xEE\x07\x01\xBB\x7E\x0B\x85\x01\xFF\x7F\x00\x9D\x7F\x14\x86\xFF\x50\x80\x11\x8B\x01\xF4\x6B\x3B\x1A\x80\x17\x84\x03\xA4\x81\x14\x8E\x01\x84\x82\x0A\x81\x81\x30\x81\x00\xAE\x81\x16\x80\x02\xB2\x81\x0D\x9F\x80\x06\x80\x23\x30\x07\xBB\x51\x0F\x28\x81\x07\x83\x81\x31\x80\x07\x93\x80\x1B\x89\x03\xC5\x83\x10\x82\x82\xF7\x79\x09\x92\x80\x25\x8F\x02\xC4\x83\x11\x93\x81\x40\x86\x09\x8C\x82\x1A\x86\x04\xC6\x0E\x3C\x1E\x81\x2B\x87\x07\xB9\x67\x79\x08\x05\xC1\x80\x14\x85\x81\x51\x80\x09\x8B\x83\xEA\x44\x0F\x5D\x82\x14\x83\x83\xF6\x3D\x1E\x35\x66\x7B\x06", + "\x06\xE2\x81\x13\x8E\x83\x54\x87\x09\xB7\x80\x5C\x57\x0F\x6D\x83\x17\x8C\x81\x72\x40\x1F\x35\x67\x7C\x06\x07\xF3\x82\x1F\x95\x82\x68\x81\x0E\x93\x83\x86\x3A\x0F\x7D\x83\x48\x06\x84\x72\x80\x10\xAF\x83\x3B\x8A\x05\xF8\x80\x18\x8F\x84\x8E\x81\x12\x8D\x85\x49\x87\x4F\x7C\x04\x22\x83\x84\x90\x84\x12\x9E\x83\x3F\x89\x08\x9D\x84\x26\x92\x84\x59\x81\x14\x9B\x84\x45\x82\x08\x81\x85\x18\x8C\x84\xF7\x25\x1F\x17\x84\x53\x89\x09\xBB\x56\x3F\x0B\x85\x8B\x84\x13\x9F\x84\x4D\x87\x06\xB1\x84\xA7\x30\x85\xA5\x86\x16\x8C\x38\x00\x06\x01\x69\x14\xD9\x01\x00\xBD\x80\x68\x64\x85\x53\x82\x0B\xAC\x84\x28\x83\x85\x9E\x83\x20\x03\x01\x60\x83\x10\x1D\x5E\x2E\x93\x85\xA2\x84\x2E\x05\x00\x66\x8A\xB4\x55\x16\x01\x14\x86\x01\x0E\x19\xB9\x85\x6D\x84\x0C\xC3\x85\x2B\x88\x86\x83\x80\x01\x18\x86\x00\x0A\x0D\xDD\x85\x32\x8F\x86\x04\x12\x01\x23\x87\x99\x16\x2B\x0B\x03\x3A\x9E\x86\xC7\x85\x16\x9C\x87\x6F\x82\x0F\xE6\x86\x71\x0C\x00\xEF\x83\x46\x4D\x01\x7C\x80\x0D\xE0\x86\x31\x94\x85\x70\x86\x1E\xBF\x87\x68\x81\x10\xF4\x85\x41\x91\x87\x57\x6E\x01", + "\x3C\x87\x81\x8E\x0F\xE8\x86\x43\x93\x87\x08\x88\x15\x8D\x88\x88\x80\x10\xB8\x57\x03\x0B\x88\x0F\x8A\x20\x99\x88\x83\x82\x11\xF5\x84\x47\x98\x08\x10\x00\x23\x94\x88\x82\x8D\x11\x87\x89\x45\x85\x86\x1B\x89\x22\xA8\x89\x91\x83\x11\x9A\x88\x4B\x82\x55\x11\x02\x24\xAE\x89\x99\x8F\x11\xF0\x87\x49\x96\x89\xC2\x72\x02\x32\x89\x9A\x87\x0E\xDC\x23\x04\x1B\x89\xA4\x54\x02\x00\x8A\x27\x15\x01\x32\x8A\x05\x12\x89\x17\x02\x26\x98\x00\x99\x89\x01\x32\x8A\x06\x12\x89\x1B\x02\x26\x9C\x00\x99\x8D\x01\x32\x8A\x07\x12\x89\x1F\x03\x28\xA4\x89\x14\x40\x02\x5A\x88\xF0\x01\x01\x5E\x8E\x23\xAA\x88\x9C\x8A\xE8\x22\x01\x58\x80\x4D\x23\x07\x2C\xA5\x89\xB5\x8B\x12\xB4\x8B\x58\x9D\x89\x6E\x8F\x26\xB0\x8A\x9E\x8D\x0F\xE2\x8A\x54\x04\x01\x6A\x8D\x2D\xB4\x8A\x86\x86\x17\xDB\x88\x59\x9D\x8B\x2D\x8B\x2F\x99\x89\x12\x09\x17\xFF\x8A\x49\x9E\x8B\x73\x8F\x2D\xB5\x8B\xC3\x81\x18\x8A\x8C\x5F\x8C\x8C\x80\x89\x32\x90\x8D\xC9\x8C\x16\x90\x22\x09\x05\x8C\x89\x8A\x2E\x8B\x8D\xCA\x89\x19\x88\x8F\x66\x9A\x8B\x8E\x89\x25\x9A\x8D\xC7\x8C\x19\x9F\x8E\x61\x85", + "\x8D\xA4\x88\x34\xA3\x8C\xD1\x8E\x19\x85\x6F\x09\x18\x8C\xA6\x8D\x33\x8A\x74\x14\x00\x1B\x84\x11\x0A\x15\x8D\xAC\x8D\x31\xAB\x8D\x97\x84\x19\xAA\x8F\xAE\x4A\x01\xB8\x8C\x37\xA8\x8C\xD5\x7B\x02\x41\x8D\x88\x0C\x01\xC6\x8A\x30\x82\x8E\xDF\x8A\x1B\xAD\x8D\x6E\x86\x48\x2D\x01\x39\x94\x38\x17\x02\x1D\xBB\x8D\x5C\x8E\x8E\xCB\x8F\x34\x8C\x8E\xC9\x83\x1C\xD9\x8E\x6C\x9C\x8E\xDB\x8F\x50\x2F\x01\xEA\x88\x1D\xD7\x8D\x73\x87\x8F\xE0\x8A\x3B\xAA\x8F\xEF\x8D\x1B\xE5\x68\x0C\x03\x87\x04\x03\x3D\xB1\x8D\xF9\x89\x1A\xF2\x8D\x7D\x8C\x8F\xDD\x8E\x3C\xA9\x8E\xFC\x81\x1E\xF9\x8E\x72\x9A\x8F\xED\x8C\x3F\x82\x4C\x1A\x04\x1E\xE8\x8D\x80\x94\x8F\xCF\x8F\x40\xB7\x8E\x04\x9E\x1D\x8C\x90\x80\x9E\x8F\xA1\x89\x20\x35\x01\x02\x9B\x1F\x8E\x93\x7F\x97\x90\x11\x97\x41\xBD\x8F\x0D\x96\x1F\x89\x90\x84\x96\x8E\xF9\x66\x06\x14\x90\x05\x9E\x21\x9C\x92\x80\x87\x91\x16\x91\x43\x98\x90\x27\x17\x03\x23\x93\x87\x85\x8F\x2B\x90\x46\xAA\x90\x52\x58\x03\x2E\x92\x89\x89\x91\x20\x93\x46\xB9\x91\x1D\x92\x23\xBC\x92\x81\x8F\x91\x3F\x97\x8E\x39\x00\x1B\x9D\x21", + "\x8D\x93\x82\x87\x92\x25\x95\x48\x9A\x90\x25\x91\x23\xCD\x7E\x0E\x04\x92\x28\x90\x49\x86\x93\x24\x91\x25\xD4\x90\x8E\x9D\x61\x50\x97\x4A\x81\x92\x26\x9A\x23\xBD\x92\x97\x9B\x92\x55\x93\x4A\xA2\x93\x25\x93\xA3\x3C\x01\x96\x92\x92\x64\x92\x4B\x95\x90\x34\x9D\x24\xEB\x92\x95\x8C\x93\x5D\x90\x4C\xAA\x93\xE6\x3D\x03\x67\x93\x9B\x97\x93\x63\x95\x4D\x87\x14\x1F\x06\x27\xF9\x91\x9C\x8E\x93\x7E\x96\x47\x80\x95\x34\x90\x27\x82\x94\x89\x81\x94\x5F\x95\x1E\xBF\x01\x3E\x94\x28\xF8\x91\xA3\x88\x94\x72\x95\x50\x89\x95\x43\x9F\x28\x8D\x38\x10\x0C\x94\x7A\x90\x48\x83\x95\x4C\x97\x23\x92\x95\xA4\x8E\x94\x9C\x95\xAC\x41\x02\x4C\x9F\x27\x94\x95\xA8\x81\x93\x95\x97\x54\xB3\x92\x5C\x52\x04\x24\x96\xA1\x9A\x94\xA6\x95\x54\xB0\x95\x59\x9D\x29\xA0\x96\xAC\x95\x95\x90\x93\x53\xB7\x94\x2E\x99\x76\x43\x02\x71\x84\x02\x32\x8D\x08\x2E\x95\x49\x94\x2B\xBC\x94\xB1\x98\x95\xA9\x93\x57\xA8\x94\x55\x9E\x29\xBA\x96\x93\x06\x02\xC3\x97\x53\xB9\x95\x58\x9F\x2A\xC8\x94\xB3\x96\x95\xD5\x96\x58\x92\x97\x64\x99\x2D\xCB\x96\xB2\x8B\x95\xD6\x91\x9E\x07", + "\x03\x68\x9E\x2C\xE5\x8C\x12\x04\x97\xD4\x97\x58\x9A\x97\x72\x9B\x2D\xD7\x97\xB4\x85\x96\xDE\x96\x49\x09\x02\x74\x90\x2F\xE0\x97\xBA\x89\x97\xED\x97\x5B\x8D\x96\x7C\x9C\x2E\xFD\x94\xBF\x9F\x97\xF5\x93\x5F\x81\x98\x6C\x91\x7D\x4A\x00\xBD\x81\x97\xDD\x96\x5E\xB1\x96\x75\x9B\x30\xF9\x95\xC2\x88\x93\x4B\x06\x38\x8C\x02\x99\x8D\x04\x07\x9B\xBD\x83\x98\xEF\x90\x61\x8C\x98\x85\x9C\x31\x82\x9A\xC6\x8E\x98\x1B\x9E\x63\x97\x99\x8F\x9E\x2F\x98\x98\xB7\x81\x99\x04\x9C\xE8\x0E\x02\x8B\x9D\x30\xF5\x87\x13\x0C\x99\x9A\x30\x0A\x0C\x95\x28\x02\x13\xD2\x02\x4C\x93\x02\x32\x8C\x0A\x32\x89\x2A\x02\x13\xD6\x02\x4C\x97\x02\x32\x88\x0B\x32\x89\x2C\x02\x13\xDA\x02\x4C\x9B\x02\x30\x9A\x64\xA4\x1A\x2E\x09\x34\x82\x09\x17\x0D\x9A\x19\x9B\x64\x92\x9A\xB2\x1E\x05\x50\x9B\xC9\x93\x53\x5F\x06\x6A\xA5\x3C\x30\x00\x1F\xD3\x99\xC7\x89\x99\x25\x9C\x64\x80\x98\xB1\x9F\x68\x64\x02\x4C\x85\x03\x5A\x98\x0F\xA6\x03\xB4\x92\x15\x67\x02\x71\x88\x03\xC6\x89\x0D\x2C\x9A\x94\x9F\x2D\x6A\x02\x4C\x8B\x03\x32\x8C\x0D\x32\x89\x36\x02\x13\xEE\x02\x4C\x8F\x03", + "\xC6\x88\x0E\x32\x89\x38\x03\x0E\x99\x5E\x11\x34\x03\xE3\x85\x1C\xB6\x03\xC4\x91\x11\x78\x02\x4C\x99\x03\x32\x8A\x0F\x0C\x95\x3D\x02\x13\xFC\x03\xDC\x80\x99\x73\x55\x0F\x0C\x9D\x86\x0F\x07\x1B\x9C\xC7\x61\x04\x56\x9A\x10\x32\x89\x41\x02\x13\x84\x06\x4C\x85\x04\x32\x8E\x10\x32\x89\x43\x02\x13\x88\x07\xE5\x81\x9B\x4A\x91\x11\x1D\x9B\x96\x93\x36\xDE\x9A\xD2\x9F\x9A\x51\x9C\x76\x9F\x0D\x46\x0F\x3A\xB5\x9E\xEE\x84\x9B\xC0\x9E\x76\xA0\x9A\xDF\x98\x3B\xD7\x98\xEC\x8C\x38\x8E\x05\x77\xA6\x98\x77\x96\x3C\xC4\x9F\xED\x8F\x9E\xC3\x9B\x79\xBA\x97\xE8\x91\x3C\xBF\x9E\xF0\x99\x9D\xC5\x9D\xF4\x0F\x04\xE5\x95\x3D\xD9\x9F\xF4\x98\x9E\xD0\x98\x7C\x94\x9F\xEB\x9D\x3C\xD2\x9F\xC3\x83\x9F\xD6\x99\x7D\x9E\x9F\xF3\x92\x3E\xE3\x90\x24\x1C\x9E\xE4\x99\x9F\x51\x04\xF8\x90\x5B\x12\x04\xA3\x93\x04\x32\x8C\x12\x32\x89\x4A\x02\x13\x96\x06\x4C\x97\x04\x32\x88\x13\x32\x89\x4C\x02\x13\x9A\x06\x4C\x9B\x04\x32\x8C\x13\x32\x89\x4E\x04\x3F\xEB\x9C\x57\x1E\x04\x56\x9F\x13\x0D\xA1\xF0\x95\x3E\xDD\x9C\x81\x00\x05\x13\xA0\x7D\xB3\x69\x50\x09\x41\xF2", + "\x2A\x28\x0C\x94\xA3\x02\x26\xA4\x04\x99\x85\x0A\x32\x8A\x29\x12\x89\xA7\x02\x26\xA8\x04\x99\x89\x0A\x32\x8A\x2A\x12\x89\xAB\x02\x26\xAC\x04\x99\x8D\x0A\x1D\xA1\x05\xA6\x11\xAE\x06\x6A\xAF\x04\x1B\xAC\x3C\xBD\xA3\xF7\x81\x11\xB0\x04\x87\x8B\x1D\x58\x02\x44\xEC\x9F\x0D\xAA\x9F\x14\xA6\x87\x86\xA2\x25\xA4\x37\xC7\xA2\x03\xA0\x1E\xB2\x05\x88\x8D\xA2\x26\xA8\x39\xC7\x9F\x13\xB6\xA2\x49\xA7\x87\xB3\x04\x29\xA5\x45\xCE\x9E\x06\xB9\xA2\x4B\xA7\x87\x94\xA2\x2C\xA2\x9E\x34\x04\x17\xA4\xA3\xED\x9E\x89\xA0\xA3\x29\xA2\x46\xED\xA1\x18\xAF\xA3\xC2\x1D\x16\x27\xA2\x2F\xA9\x46\xE3\xA0\x1D\xAA\xA3\x5F\xA1\x8F\xB5\xA2\x37\xAB\xAB\x36\x06\xE7\x8B\xA3\x73\x50\x17\x3F\xA2\xCE\x2A\x0B\x03\xA6\x06\x7C\x05\x56\x9D\x17\x33\xA2\x5C\x5E\x0B\x32\x8B\x2F\x12\x89\xC0\x02\x26\x81\x06\x99\x82\x0C\x06\xA4\x00\x04\x06\x32\x8D\x18\x05\x9D\x88\x08\x0C\x1B\xA4\x72\x0B\x06\x8B\xA0\xDE\x0C\x07\x50\xA1\x3F\xFC\xA1\x17\xA6\x9F\x6C\xA0\x8E\xA7\xA4\x0B\xAA\x47\xB1\x2D\x33\x04\xA5\x48\xA5\x95\xB6\xA2\x54\xAB\x4A\xA5\xA6\x2A\xA8\xA3\x72\x46\x19\x30\xA5", + "\x2B\xA7\x47\xB3\xA4\x2B\xBB\xA3\xB7\xA5\x97\xA6\xA5\xB3\x3F\x0C\x3B\xA4\x20\xB8\xA5\xBE\xA6\x96\xA9\xA5\x65\xA5\x4B\xB1\xA4\xB9\x30\x06\xC6\xA2\x96\x83\xA6\x61\xA1\x4C\xB4\xA4\x32\xB3\xA6\xD6\xA0\x34\x51\x07\x68\xA0\x4C\xCC\xA7\x35\xB5\xA6\xBF\xA0\x8F\x9D\xA7\x66\xAA\x69\x52\x04\x37\xA2\xA7\xE8\xA1\x99\x8E\xA7\x74\xA8\x4D\xE1\xA6\x3A\xB8\x29\xD3\x07\x9C\xAF\xA7\x63\xA4\x4D\xDE\xA5\x3D\xA4\xA7\xF4\xA1\x9B\x8F\x34\x6A\x02\x4F\xED\xA6\x32\xB8\xA7\xD2\xA0\x9C\xBF\xA7\x6F\xA6\x4F\xBA\x29\x35\x1D\xA7\x02\xAB\x9D\xB3\xA7\x80\xA5\x50\xEE\xA6\x3F\xAA\xA8\x8B\x1E\x1A\x08\xA9\x86\xA3\x50\xF7\xA4\x41\xA0\xA8\xE3\xA7\xA2\x9A\xA9\x55\x37\x0D\x13\xA8\x46\xAC\xA7\x09\xAC\x97\xBA\xA6\x87\xA1\x52\xF9\xA4\xDA\x18\x06\x1E\xAB\xA3\xA3\xA9\x8A\xAB\x52\x90\xA9\x49\xAC\xA8\x1F\xAB\xA1\x99\xA9\xE6\x39\x0D\x0C\x96\x36\x16\xA4\x32\xAC\x4E\x5C\x06\x9C\xA1\x4F\x5E\x04\x4F\xA6\x55\xE0\x06\x6A\xA1\x07\x94\xA0\x9A\x62\x06\x4C\x83\x07\x32\x8C\x1C\x32\x89\x72\x02\x13\xE6\x06\x25\xA8\x07\x32\x89\x1D\x1E\xA5\x84\x0C\x0E\x53\xA8\x81\x0F\x07\x44", + "\xAF\xD1\x30\x07\xAC\xA4\x52\x94\xAA\x4B\xBE\xAA\x22\xAD\xAB\xB1\xA9\x87\xA1\x56\xAC\xAA\x58\xB4\x0B\xF1\x04\x51\xB2\x07\x9F\xA0\x56\xE4\x80\x5B\xAB\x26\xF6\x07\xAD\xA2\x54\x7C\x06\x35\xF9\x04\x57\xBF\x3C\xFA\x02\x26\xBB\x06\x99\x8C\x0F\x32\x89\x3F\x12\x89\xFE\x06\x92\x80\x01\x0B\x0E\x0B\xBF\x08\x61\xA9\x08\x86\x9B\x20\x04\x01\xC3\xAA\x0C\xA6\x13\x01\x0C\xAC\xD5\x87\xE6\x48\x00\xC8\xAE\xB4\x1C\x79\x02\x14\xAC\x52\x5F\xAB\xA3\xAB\x97\xA3\x53\xAD\xA9\x59\xBA\xAC\x2A\xA8\x59\x8A\x00\xCC\xAC\x0E\xE4\xAA\x49\xA6\xAB\xA8\xA8\xB4\x96\xA9\xD5\xA8\xAB\x0B\x00\x69\xA9\xAD\x9F\xA9\xB6\xA7\xAC\xD5\xAE\x59\xB3\xAE\x6C\xAD\xA5\x0C\x07\xB5\xB4\xAD\xB3\xAC\x5A\xBC\xAD\x6D\xB0\xA9\xA1\xA8\xB6\x95\x4F\x06\x0A\x5B\xB7\xAD\x67\xBE\xAD\xC8\xAA\xB8\x80\xAF\xDE\xAA\x5C\xD0\x7A\x03\x05\xAE\xB6\xA9\xBA\x8B\xAF\xDF\xA7\x5C\xCD\xAC\x48\xB9\x4B\x0F\x00\xBA\x93\xAF\xE4\xAB\x5B\xD6\xAD\x4E\xBF\xAE\xA6\xAB\xBB\x8A\x92\x08\x0A\x5D\xF2\x29\x04\x05\xAF\xD7\xAB\xB3\xAD\xAA\xF1\xAD\x5D\xED\xAE\x71\xB2\x43\x12\x00\xBD\x8D\x4B\x09\x02\x5F\xF1\x24", + "\x05\x15\xAF\x9C\xA9\xBD\x81\xAE\xF7\xA2\x5D\xD5\xAC\x7F\xB6\x3F\x15\x00\xBF\xAB\xAE\xFF\xAF\x5E\xE0\xAD\x7E\xA6\xB0\x03\xB4\x99\x16\x00\x01\xBA\x5E\x8D\xB3\x7E\xA5\xB0\xE1\xAC\xC0\xBD\xAE\xFD\xAC\x5C\xFF\xAC\xB9\x37\x00\x0C\xB7\xC1\x93\xB0\x04\xBE\x60\x95\xB0\x84\xA7\xB0\x09\x30\x03\x19\xB0\x0F\xB8\x26\x99\x03\x88\xBF\x0C\x1A\x07\xC4\x9C\xAF\x0F\xB9\x60\x9C\xB2\x86\xAC\xAF\x2C\xB6\x2C\x1B\x00\x15\xBE\x5D\x91\xB0\x85\xB4\xAE\x37\xB3\xC5\x9B\xB1\x04\x3C\x01\x34\xB2\x85\xB3\x89\x1D\x06\xC7\x89\x08\x0F\x02\x64\xBB\xB0\x88\xA7\xB2\x2D\xB6\xC6\xAE\xB1\xA1\x7F\x01\x45\xB0\x8C\xA6\xB2\x49\xB0\xC9\x9D\xB0\x1C\xBB\x64\xD4\xB2\x92\xB7\xB2\x52\xB7\xC5\x92\xB1\x27\xBC\x65\xDB\xB1\x40\x00\x01\x4E\xB6\xCB\xB9\xB1\x1A\xB9\x65\xA4\xB1\x97\xA3\xB3\x3F\xB0\x0C\xA1\x01\x30\xB8\x66\xEF\xAE\x08\x0C\xB3\xA5\x0B\x04\x18\xAD\x72\x85\x65\xA9\x41\x09\x13\xB3\x22\x2F\x04\x38\xB3\x12\x69\x02\x70\xB0\x8F\x0A\x01\x7E\xB7\x07\xAB\x00\xF4\xAC\x02\x68\xAD\x0B\x08\xAF\x2E\x00\xBD\xAF\x01\x3D\xB9\x10\x31\x00\x7A\xB2\x01\x98\xA9\xB1\x82\x09\x1A", + "\x01\x69\x91\x08\x0E\x08\xAF\x39\x01\xD0\x91\x64\x1D\x0A\x69\xFB\x63\x0E\x1D\xB4\x5A\xB5\xCD\x83\x08\x1E\x00\x6A\x80\x0D\x0F\x0C\xB4\x50\xB7\x1B\x7F\x00\x54\xBC\x59\x41\x00\xAB\xBA\x60\x43\x05\xD4\xB3\x14\x22\x02\x6B\xA8\x7D\x11\x08\xAF\x46\x00\xBD\x87\x02\xF4\xA8\x04\x68\xAD\x12\x0F\xB5\x00\x03\x09\x28\xAE\x26\x05\x69\x8D\x0B\x13\x05\xB6\x09\x0A\x0A\x28\xAF\x29\x05\x6B\xF2\x54\x15\x0D\xB6\xD0\x60\xDA\xB1\xB0\x5C\xA6\x05\x52\xB7\x40\x17\x02\xC0\xB5\xCE\x9F\x3D\x2C\x09\x6D\xF1\x27\x16\x1D\xB6\xA6\x55\x0B\x16\xB6\x09\x1E\x05\x63\xB4\xD4\x7F\x02\xE8\xA8\x0C\x28\xAF\x30\x08\x5E\xE2\x00\x7A\xA3\x03\xC0\xB5\x0C\x28\xAE\x33\x08\x6C\x83\x09\x1A\x15\xB7\x12\x14\x0D\x26\xB6\x1A\x6D\x06\x7B\xB6\xB6\xBF\xB1\x6E\x06\xDF\x98\xB3\x28\xB4\x70\xD3\xB2\x8E\xA7\xB3\xFF\xB3\xDA\xA6\xB2\x31\xB9\x70\xA9\xB5\xA8\xA8\x29\x6F\x00\xBD\xB0\x02\x81\xB5\x66\xD6\xB1\xC5\xA7\xB8\x0C\xBB\xE0\x86\xB8\x32\xB5\x70\x8F\xBA\xC6\xBE\xB8\x17\xBC\xE3\x9B\xB9\x34\xBF\x71\x80\x0D\x1C\x14\xB8\x6D\x32\x0E\x28\xB9\x91\xBA\x70\x96\xB9\xC7\xAB\xB8\xA2\xB0", + "\xE1\xA5\xB8\x97\xBC\x72\x8E\xB8\xCC\xAD\xB8\x32\xB9\xE4\xAE\x6F\x39\x0B\x72\xBA\x30\x1D\x1D\xB9\x37\xBB\xE6\x98\xB9\x98\xB9\x71\xBA\xB9\xCB\xA1\xA7\xE6\x04\x14\x3C\x59\x88\x0D\x05\x23\x0E\xA4\xBB\x0C\x16\x0D\x1C\x83\x03\xD1\x02\x75\xD4\xB9\x44\x13\xBA\x88\x0D\xEA\x99\xBB\xAB\xB6\x75\x8D\x08\xD6\xA6\x0C\x5A\xB8\xEC\x9C\xBB\xAD\xBE\x75\xDD\xB9\x42\x1F\xBA\x8E\x0D\x1C\xB1\x00\xB3\xB3\x10\x28\x00\xDB\xA2\x08\x3F\x07\xED\x81\x09\x24\x0A\x2A\x16\x09\x02\x11\x08\x8B\x05\xEE\x93\x09\xBB\xBD\x10\x2C\x07\x68\x05\x00\xA3\x0E\x22\x00\xBC\xC4\x06\x11\x07\x01\xE0\xB3\x08\xE5\x87\x08\x23\x0C\x04\x07\x78\x8F\x08\xDF\xA9\x08\x89\x07\xEF\x8D\xBD\x85\x06\x78\x84\xBC\xE2\xB1\x08\x0B\x03\xF1\x93\xBD\x83\x0F\x78\x83\x09\x06\x12\xBC\x96\xBF\x21\x15\xBC\xC3\x01\x75\x91\x0A\x0F\x1A\xBC\xA1\xBB\x21\x1D\xBC\x81\x06\x07\x20\xBC\xE9\xB3\x08\xA3\xBE\x31\x25\xBD\x86\x0B\x76\x88\x0C\xE3\xA9\xBD\x9C\xB9\x22\x22\x02\xD7\xB2\x7B\xB0\xBF\xE6\xA6\x08\xE5\x84\x09\x28\xBD\xD7\xBE\x78\x91\x08\x24\x1C\xBD\x94\x0D\xF0\xBF\xBD\x82\x05\x0E\x9D\x03\xF0", + "\xBD\xBD\xC5\xBD\x21\x3A\x01\xD1\x05\xB5\x23\x0F\xEA\xA1\x08\x7F\x00\xF9\x90\xBB\x89\x05\x7D\x88\x0F\xF5\xA0\x00\xD9\xB8\x31\x03\xBC\xE2\xB4\x79\xCB\xBF\x3F\x09\xBC\xCF\xB9\xF9\xBB\xBB\x88\x01\x79\x88\x0D\xF7\xA6\x0C\xDF\xB9\xFC\x86\x0D\xF1\xB0\x7D\xE5\xBC\xEE\xA0\xBE\x98\xB9\xFD\x9B\xBF\xE8\xB9\x10\x1F\xBE\xFB\xB1\x08\xDF\xBE\xEE\x91\x08\xF9\xBE\x18\x74\xBE\xFA\xA2\xBD\xE6\xBD\x1C\xA7\xBC\xDB\xB6\x7E\xDF\xBD\xEB\xBF\xBF\x3D\x1E\xFA\x83\xC0\xED\xB1\x18\x4A\xBF\xFD\xAC\xBE\x11\x0D\xF6\x86\x0D\xDB\xB4\x7E\xB9\xBD\x43\x1B\xBD\x10\xC1\x21\x01\xC1\xF5\xBC\x39\x94\xC2\x45\x16\xC0\x1D\xC0\xFF\x8D\x08\xE1\xBC\x80\x97\xC3\x3F\x1F\xBE\xC7\xB9\x04\xC3\x09\x11\xCC\x7F\x83\x08\x01\xD4\x0C\x06\xC3\xFF\xB6\xBF\x14\xC8\x81\x8D\x0A\xF3\xAD\xC1\x3C\xC7\x05\xD1\x09\xE9\xB2\x83\x82\x08\x07\xCE\x0C\xF1\xBE\x04\xE7\xC1\x87\x03\x33\x47\xC0\x65\x09\xC2\xE2\xBE\xFC\xB1\xBD\x03\xCB\x10\x68\xBC\x10\xD5\xBF\x1E\xC0\xF2\x94\xBE\x9D\x12\x81\xA5\xC1\x14\xCE\xC1\x53\xC2\x07\xC7\x09\x72\x89\x79\xD7\xC0\x15\xD9\xC2\x9E\xBB\x0B\xCD\x08\x27\xCB", + "\x19\x50\xC3\xFC\xB2\xC2\x09\xC6\xF4\xBA\xBF\x0A\xC4\x82\x89\x0B\x03\xC6\x0C\x4D\xC5\x0B\xC9\x09\x1B\xCB\x19\x39\xC0\x1D\xC8\xC0\x2E\xC2\xED\xB3\xC3\x25\xC5\x83\x82\x08\x08\xD8\xC3\x5C\xC6\xFB\x93\xC1\x2F\xC1\x84\xE1\xC3\x1F\xD5\xC2\x11\x0C\x05\xDB\xC1\x06\xC6\x7C\xEA\xC1\x42\x0C\xC3\x81\x0E\x0D\xC5\xC0\x38\xC1\x88\x91\x0B\x0F\xD3\xC4\x2E\xC7\xFB\x84\xC2\xB1\xBD\x10\x4D\xB8\x62\x0F\xBA\x8F\xC3\x0C\xE3\xBA\x52\xC7\x76\xF2\xB8\x25\x6E\xC5\x68\xBC\x32\x21\xBB\xB4\xBB\x8A\xB4\xC5\xD9\xA4\xBB\xAD\xC0\x17\xC3\x09\x58\xCB\x19\x33\xC6\x2C\xD9\xC0\xAE\xC6\xED\xBA\xC4\xB8\xBE\x8A\xF4\xBA\xAC\x02\xC0\x0D\x09\xEF\x83\xC7\x80\x06\x8A\x86\x0C\x2A\xC4\xC4\x90\xC7\x16\xEC\xC5\x5D\xC0\x8B\xD5\xC7\x32\xCF\xC5\xD7\xC4\x17\xC1\x0C\x5F\xCD\x8B\xB5\xC7\x2F\xD2\xC6\xB6\xC1\x17\xD3\xC6\x81\x0A\x81\xE1\xC5\xDB\xAE\xC5\x71\xBF\x1A\xC6\xC7\x47\x18\x8C\x89\x0A\x32\xC8\xC4\x18\x0A\x11\xCD\x09\x31\x0A\x84\xD0\xC5\x41\x13\x19\x9E\x0F\xFB\xB4\xC6\x46\xC8\x85\x86\x0A\x23\xD6\xC7\x2A\xC1\x21\x0A\xBC\x33\xC2\x86\x86\x0B\xF7\xAD\xBF\xF0\xC1\x1E", + "\xC8\xC3\x88\x0B\x8F\xEF\xC0\x18\xD1\xC3\x5B\x5B\x10\xC0\xC8\x21\xCD\x10\x7E\xBD\x42\xCA\xC8\x6D\xC4\x21\xF5\xC6\x7B\xCF\x8F\x93\xCA\x02\xD2\xC8\x00\xCE\x01\xD6\xC4\x8C\xC9\x89\x9A\xC8\x3F\xC7\xC3\xFE\xC0\x22\xCD\xB4\x90\xC6\x8F\xDF\xBF\x21\xCE\x0C\xF8\xC2\x0F\xC3\x09\x86\xCB\x89\x8F\xC9\x27\xCB\xC1\x2C\xC8\x1A\xF0\xC1\x91\xC8\x91\xED\xC7\x4C\xDB\xC8\xD0\xC5\x23\xC0\xC9\xE6\xB9\x93\x84\xC6\x28\xDC\xC9\x01\x0E\x00\x32\xC8\x81\x0C\x87\x81\x0E\x1F\xD3\xC8\xFF\x03\x66\x0A\xCA\x79\xCB\x87\xC0\xC8\x21\xC2\xCA\xF6\xC6\x0A\xE0\xC5\x20\xC7\x90\xC8\xC8\xCD\x0B\xCA\xD8\xBE\x2A\xCB\xC2\xAC\xC0\x8D\xE4\xC1\x51\xCB\xC2\xDF\xBE\x22\xF0\xC9\x88\x03\x95\xF0\xBF\x22\xCE\xC8\x8D\xC2\x25\xC3\x09\x05\xCB\x95\xFD\xC5\x41\x02\xC9\x45\xC1\x29\xE0\xCA\xF0\xB2\x96\xA7\xC0\x59\xC4\xC4\x82\xC4\x20\xE9\xC4\x83\xCA\x7B\xDE\xC9\x5B\xCB\xC8\x5E\xC0\x2E\xF6\xCB\x7F\x0F\x97\xCB\xC1\xF0\xA7\xCB\x27\xC3\x27\xF9\xCB\xAF\xC4\x95\xB6\xC1\x5F\xC8\xC1\x8B\xCC\x28\xC2\xCC\xA8\xC7\x94\x93\xCF\x53\xD5\xC3\x96\xCF\x24\xC5\xC9\x7B\xCF\x32\x7B\xC9\x53\xC2", + "\xBC\x9C\xC1\x08\xDA\xCA\xC7\x08\x89\x9C\xCC\xFB\xBE\xCA\x9F\xCD\x10\xE1\xCA\xD1\xC3\x98\x85\x09\x63\xC7\xC1\x66\xCB\x33\xD3\xC9\xB4\xC0\x9B\xA6\xCF\x65\xDE\xBD\x37\xC9\x21\x34\xCA\xD6\xC4\x89\x8D\x0B\x1D\xCB\xCB\x0D\x09\x36\xEA\xBD\xB7\xC5\x93\xF1\xC9\x70\xC3\x08\xE5\xC4\x32\x2D\xCD\xDD\xC5\x98\x9E\xCE\x6F\xD4\xCD\x50\xCF\x36\xF3\xBD\x84\x02\x89\xC4\xCD\x28\xD5\xC4\xD6\xCD\x32\xCC\xCB\xDF\xC0\x88\xAA\xCE\x27\xD0\xCC\x3E\xCA\x20\x23\xC4\x73\xCE\x34\xCE\xBA\x5C\xC2\x08\xDA\xC3\x3B\xD4\xC7\x6C\xC6\x8D\xE3\xC5\x40\x11\xCF\x97\xB8\x1C\xDF\xC6\x71\xCC\x9E\xF7\xCD\x7D\xDD\xCF\xD8\xC6\x3E\xC0\x01\xE8\xCD\x8D\x8D\x0A\x30\xC2\xD0\xE9\xC2\x40\xEB\xC7\x4D\x19\x9E\x81\x0B\x3B\xC0\xD0\xCD\xC6\x31\x0F\xC6\x8F\xCE\x8D\x85\xD0\x7F\xDB\xCF\xF3\xCA\x40\xF8\xCF\x87\x0C\x8D\xDB\xC5\x85\xDE\xD0\xFA\xCE\x42\xD9\xD0\x00\xDB\xA1\xD1\xC7\x85\xC2\xD1\xE4\xC1\x18\xE8\xC7\x62\xCA\x77\xB2\xCC\x00\x0F\xD0\x18\xD5\x3D\xE7\xC5\xF7\xCE\x9F\xF4\xCE\x8D\xDA\xD0\xFF\xC9\x46\xF5\xD0\x1C\xD7\xA3\xA4\xD1\x8E\xC8\xD1\x01\x0C\x40\xE0\xD1\x84\x07\xA0", + "\x80\xD1\x82\xC0\xD0\x0B\xD4\x4F\x0D\xD1\x17\xD4\x9E\x8B\x0A\x72\xC1\xCA\x34\xD0\x00\x03\xC9\xBA\xC8\x92\xF7\xCB\x6B\xD8\xCE\x13\xCA\x3B\xF9\xCF\x84\x05\x86\xD4\xD3\x68\xD4\xC8\xFD\xBD\x49\xC7\x08\x2D\xDC\xA1\xF2\xC2\x6E\xC1\xC9\x11\x0F\x38\xF8\xC1\xD4\xC9\x99\xC0\xC7\x99\xCD\xC9\xD5\xCA\x31\xD5\xD2\xC6\xC1\xA5\xDD\xCE\x74\xC5\xCE\x09\x09\x06\xF2\xD3\x2F\xD4\xA6\xA6\xD3\x40\x1F\xC4\xDE\xCC\x2B\xC3\xC2\xAF\xC3\xA1\xAE\xD3\x69\xD3\x08\x4F\xD4\x10\xF3\x19\x42\xDB\x9C\x89\xCD\x73\xCB\xCC\x7D\xD2\x15\xCD\x09\x29\xD1\xA8\x8B\xCD\x57\xD3\xCC\x8C\xD0\x0D\xE3\xCE\x2C\xD0\x90\x91\xD5\x40\xC3\x1A\xE8\xC8\x34\xC2\x08\xB5\xC4\x19\x0B\xD7\x75\xDB\xD3\xB5\xCC\x4E\xCF\xCE\x81\x03\x9C\xF7\xD3\x77\xC6\xCE\x84\xD7\x54\xCF\xD5\x39\xDE\xA9\xBD\xC3\x4A\xCF\xD3\x3A\xC9\x4E\xC8\xCE\xC4\xA2\xAB\xEB\xD2\x4D\xC6\xCF\x38\xC8\x57\xC6\xCA\xF0\xC7\x91\x82\x09\xA6\xC4\xCC\x8E\xD6\x57\xCE\xCE\x60\xD9\x10\x00\xD6\xAB\xC2\xD4\xD2\xBE\x2B\xF4\xB2\x51\xD3\x9B\xA8\xD4\x54\xD3\x19\xD3\xD6\x50\xE2\xD3\x94\xCB\xAA\x81\x08\xA5\xCF\xD6\x96\xD7\x4A\xC5", + "\xD7\x6C\x8D\xAB\xFD\xC0\x9B\xD3\xD3\xB9\xCE\x4B\xE9\xD4\xDE\xC3\x99\xD9\xD5\xA3\xD5\xCA\x9C\xD4\x23\xD1\xD3\x56\xDB\x19\x53\xCC\x9A\xD0\xD5\xED\xD5\x5C\xCE\xCB\x73\xDF\xA5\x81\xCE\xBA\xCE\xCD\x1F\xC2\x5A\xFA\xD6\xD4\xCF\xAB\xED\xD1\xB0\xDF\xD7\xD4\xCD\x21\x3A\xD3\x5D\xDD\x0C\x83\xD8\xA2\xDC\xD7\xA9\xD2\x33\xC8\xD9\x7B\xD9\x10\x6B\xCD\xA9\xD1\x08\xA5\xAA\x5B\xF1\xD6\x68\xC3\x33\x19\xDB\xBB\xC1\xCD\xD6\xD1\x4B\xD1\xD3\x6F\xD5\xAF\xF8\xD3\x40\x08\xC8\x0C\xD9\xB2\x8F\xC2\xE6\xCA\xAC\x90\xD5\x94\xDD\xD2\x95\xD3\x4E\xEC\xD7\x71\xD9\x59\xEE\xC9\xB2\xC6\xD7\x05\xD8\x5D\xE6\xD3\x89\xD0\xA7\xF8\xD4\xCD\xDE\xD8\x9A\xD5\x5A\xF3\xD4\x3E\xD1\xA5\xC2\xD2\x45\x16\xD7\x3D\xD9\x21\x2F\xC9\x8B\xD5\x58\x88\xCC\xBC\xC1\xD9\x9D\xD5\x4E\xE1\xD4\x17\xDB\xB0\xCC\xDB\xC4\x02\xCF\x42\xDD\x65\xF4\xD5\x28\xDE\xAC\xA5\xDB\xAB\xD5\xD8\xAE\xC1\x42\xD4\x0D\x63\xDE\x98\x9F\xD2\x7C\xD0\xCF\x3F\xD3\x48\xE3\xD0\x1D\xD1\xA0\xBE\xD1\x8F\xCC\xDB\x25\xD2\x52\xE7\xD0\xB5\xD8\xB6\xD7\xC6\xD1\xDB\xD2\xE7\xC7\x1A\xC7\xD2\xB6\xD9\xA4\x95\x17\x92\xD0\xD1", + "\x38\xD9\x08\xC9\xD5\xB1\xC3\xB2\xD3\xDB\xC7\xC2\x08\x28\xDA\x6B\xC4\xDB\x6E\xD0\x00\x30\xD8\xB8\xD2\xD9\x11\x0C\x54\xC1\xDC\x97\xDC\xB8\xF4\xD5\x60\x08\xDA\xB9\xD6\x67\xC3\xDB\x54\xD5\xAB\xE7\xBE\x9B\xDC\xD9\x99\xDA\x69\xDB\xD6\xDB\xC2\xB5\xC2\xD4\x5A\xC4\xD6\x9B\xD9\x3B\xDC\xDA\xC3\xD1\xB4\x80\x02\xC5\xDB\x0C\x37\x1E\x61\xCF\x09\xC1\xD7\x82\xB1\xDC\xD6\xDC\xCB\x1B\xDF\x2A\xC5\xDC\xD3\xD1\x99\xE2\xD5\xCA\xC1\x08\xB7\xCA\x13\xCA\xDC\xCE\xDF\xB2\xAC\xDC\xB2\xC1\xD3\x93\xC9\x78\xEC\xD9\xC9\xDB\xB5\x95\xDE\xF1\xD6\xD2\x9A\xDE\x6A\xC3\x08\xE5\xD7\xB3\xFB\xD5\xCE\xDD\xD7\x9F\xD9\x66\xDF\xD2\x97\xCE\x95\xD4\xDF\xD3\xC9\xDD\x22\xDC\x71\xF6\xD2\xAF\xD0\xAD\xF9\xD1\xF7\xD2\xDD\x4E\xD0\x62\xD0\xCA\x89\xDA\xBD\xEB\xD7\xA0\xD3\xCC\xF1\x8F\x76\xC7\xD5\xD9\xD6\x7E\xB3\x19\xFC\xD6\xD9\xDF\xDB\x78\xEA\xDC\xC6\xD4\xB2\x97\xDE\xC9\xC8\xDC\x5E\xCF\x7E\xCE\xDA\x90\xD0\xBE\xD1\xD8\xE3\xCE\xDC\xE4\xD9\x5C\xD5\xC9\x00\xE8\xBE\x87\x08\xED\xD8\xCC\x3A\xDD\x21\x16\xDD\xA3\xDF\xBF\x81\x0A\x9A\xD0\xDD\x11\x0A\x80\xEB\xD9\xEA\xD4\xB0\xCB", + "\xD6\xC1\xD7\xD5\xA0\xDB\x58\xC1\xD8\xF8\xDD\xC0\x86\x0B\x03\xE0\xCE\xCC\xD3\x20\x23\xDE\xFF\xDF\xB5\x83\x09\xD5\xD8\xE0\x0D\x0A\x83\xD9\xC8\x0E\xEF\xB0\xD7\xDD\xC4\xC7\xCF\xBC\xDB\x49\xEF\xDD\xC0\x01\x93\xF2\xDF\xE8\xD1\xCA\x24\xCB\x83\xF9\xDE\xE6\xDB\xB8\xA9\xE2\x40\x1D\xDF\x14\xE5\x85\xC0\xE1\xC9\xC9\x8F\xCB\xDE\xF5\xDE\xE0\x11\xE4\x4B\xCF\xDE\x30\xD9\x86\xCC\xE1\x09\xE5\x08\x27\xE5\x3C\xDF\xE1\xB9\xC3\xC5\xF8\xC8\xCD\xCD\xE2\x34\xE4\x7E\xF6\xE1\xF5\xD9\xBD\x8F\xDF\xF6\xDA\xD5\xD2\xDD\x27\xD4\xD6\xDC\xD0\xB5\xF2\xD6\xF8\xDD\xE2\xA8\xD9\x8D\xCA\xC9\x25\xD3\xBF\xE9\xDF\x18\xF4\xD0\x3E\xC0\x8E\xD1\xD7\xDC\xDB\x84\xD9\xE3\x0E\xDB\xE2\x47\xE2\x8F\xDA\xC2\x3E\xEE\x97\xC5\xDD\x0E\xEB\xE3\x92\xDF\x89\xD4\xDC\x23\xE1\x10\x13\xE3\x44\x18\xDC\x22\xE6\x0E\xFF\xE1\xCE\xDE\xAF\xED\xDC\xC0\xC2\xDD\x84\xE0\x82\xD8\xDF\x83\xD6\xC9\x89\xDA\xF9\xD9\xE4\x28\xE0\x90\xC1\x09\xAE\xDC\xC2\xE5\xDF\x40\x1B\xE1\x1D\xE3\x31\xFE\xE3\x31\xDB\xBB\xA1\xE3\xE9\xCD\x08\x89\xDC\x88\xC4\xDF\x03\xE2\xC8\xD5\xE1\x1B\xF0\xD2\xCE\xDF\x90\xEE\xD1", + "\x0B\xEA\xC8\xCD\xDC\x23\xE3\xD0\xB5\xE6\x10\xD3\xE5\xD2\xDE\xCA\xBD\xDE\xC2\xC3\xE6\x8C\xDC\x94\xC9\xE2\x53\xEA\x9E\xAD\xD3\xE1\xC1\x08\x18\x07\x87\xEB\xE4\x6E\xDF\xCB\xC8\xE3\x23\xF5\xE0\x00\x01\x96\xFD\xE5\x22\xE2\xCA\x8D\xDD\x30\xE1\x08\x89\xE1\x95\xFE\xE5\x6E\xEE\xC8\x8F\x08\x24\xEF\xE5\x92\xE0\x94\xDA\xE3\x28\xE0\x9D\xDF\xE4\x00\x0B\xDA\xB2\xE3\x7F\xFF\xE5\x15\xEB\xCC\x8A\xE3\x27\xF7\xE5\xBA\xD9\x99\xEE\xE6\x54\xE5\xC3\x82\xDE\xFA\xD8\xE3\x02\xCE\x9D\xDA\xE6\x71\xEC\xCD\xEC\xE6\x40\x08\xE0\xA5\xE6\x9E\xF6\xE5\x02\xEE\xC6\xBF\xE5\x39\xEB\x08\xE7\xE6\x98\xE9\xE6\x7C\xE4\xB8\x8C\xDF\xDD\xC6\xE7\xD8\xE0\x9E\xDB\xE7\x59\xE3\xCF\xEE\xE7\x0B\xFB\xE8\xF2\xE5\x9B\xCA\xE7\x6B\xEA\xC4\x81\x08\x3F\xE5\xD3\xA5\xC6\x3D\xCC\xDD\xB8\xDF\xA9\xF5\xD8\x8F\xCF\xE9\x6E\xD8\xA6\xF0\xDB\xB4\xD7\xB6\xBB\xD1\x4C\xE0\xD0\x17\xEE\x4F\xC2\x09\x22\xDC\xB6\xFB\xD8\x90\xC0\x00\x7D\xDC\x56\x3F\xDA\xAF\xC0\xB4\xC7\xDF\x4F\xCA\xE7\x0B\x0D\x63\xFB\xCA\x9A\xCA\xBF\xE1\xDD\x35\xE2\xE8\x44\xEB\xA9\xC8\xE7\x5F\xE8\xD0\xF5\xE4\xE4\xCB\xE0\x93", + "\xCD\xA8\xD0\xDF\x84\x0C\xD4\xF1\xE6\x53\xE4\xE7\xEE\xE4\x97\xD6\x08\xA5\xE7\xBB\xDD\xE8\x48\xFF\xEA\x06\xE9\x48\xEE\xE6\x8D\xE3\xD6\x98\xDA\x54\xE8\xEA\xAC\xE7\x8D\xFA\xE5\x67\xE0\x00\x1F\xE9\x5B\xED\xDA\x42\xE7\xA8\xD4\xE9\x42\xEA\xCF\xF3\xE9\xEB\xC7\xE9\x76\xE6\x9F\xF7\xE3\xA1\xC1\x11\x56\xE4\x46\xE5\xE9\xD9\xE3\xAA\xDD\xE7\xAA\xE4\xD2\xCC\xE4\x38\xEA\xEC\x69\xE8\x00\x0F\xE9\x83\x01\xD1\xCB\xD2\x58\xFD\xE7\x8B\xE5\x9B\xF9\xE8\xCA\xE9\xD1\x90\xEF\x26\xFC\xCE\x1E\xEE\xB3\xF7\xE1\x3C\xEE\xD7\xC6\xE9\x33\xF0\xEB\x26\xE7\x9F\xC4\xED\x49\xD0\xD5\xA8\xEC\xE9\xD4\xE5\xA5\xEB\xAB\xCB\xE9\xA6\xE6\xC0\x8E\xE9\x58\xE2\xED\x64\xE4\xF6\xAB\xEA\xDC\xE0\xD0\xAA\xE1\x68\xEE\xED\xAA\xD7\x97\xE3\xE9\xC3\xEE\xD8\xAE\xDE\x34\xEA\xED\x59\xCD\xB0\xED\xED\xBD\xEA\xC9\xA3\xEE\x14\xF1\xED\x54\xE3\x54\xFC\xED\xD5\xE2\x9C\xB7\xEC\x70\xF4\xE4\x65\xE1\x81\xD7\xEA\x4C\xEC\xDC\xA1\xE5\x64\xF4\xE7\x8D\xEA\xA1\xC2\x08\xBB\xE8\xD9\xE3\xE5\x64\xE3\xEE\x10\xE8\x9B\xC0\xEC\xB9\xD3\x10\x62\xDB\x66\x04\xDB\xB8\xCE\x6C\xF8\xDA\x97\xE7\xD3\xB3\xEB", + "\xDB\xDF\xE9\x2C\xEE\x56\xEB\xDA\xFC\xE4\xD3\xF3\xEE\x4D\xEC\xDB\x9B\xED\xA5\xC1\x08\x9E\xEF\xD3\xBE\xE8\xDD\xD3\xBB\xCE\xE5\x75\xC0\xDD\x03\xF0\x00\x11\x02\x4A\xE1\xC2\xF0\xEE\x22\x11\xF1\x89\x03\xE1\x8F\x09\x85\xEB\x08\x17\xF7\x20\x19\xF0\x83\x0B\xE1\x85\x09\x87\xFF\x07\x1F\xF5\x1C\xA4\x02\x57\xCE\xE0\xB3\xD2\x0B\xDF\xF0\x28\xF6\xFC\xA9\xF1\x13\xFA\xE2\xAD\xF0\x8B\xEC\xDC\x23\xF7\x1A\xE5\xF0\x67\xCE\xE2\x90\xF1\x8D\xEB\xCC\x2B\xF6\xC6\xEF\xF0\x1D\xFC\xE3\xB8\xF1\x94\xDC\x02\x24\xF7\xC1\xFE\xF1\x1D\xF3\xE4\xBD\xF3\x9C\xD9\xF1\x45\xF1\xC9\xC7\xF3\x1B\xF1\xD9\xC1\x01\x90\xE6\xF1\x46\xF7\x4B\xC8\xF3\x25\xF4\xE4\xD4\xF1\x94\xE9\xD5\x53\xF2\xCA\xD1\xD2\x49\x1F\xD3\xB3\xF2\x84\xCC\xF2\x5A\xF5\xCA\xE1\xF3\x2B\xF0\x95\xD9\xF0\x96\xE0\xF3\x67\xF2\xCC\xCE\xEF\x81\x0E\xE5\xE3\xD8\x9A\xE5\xF3\x6F\xF3\x22\xE6\xF2\x38\xFA\xE6\xF4\xF0\x99\xFD\xED\x02\x09\xC6\xC2\xD1\x36\xFF\xDE\xF1\xF0\x40\xD3\xF3\x72\xF6\xCF\xF6\xC6\x40\xFF\xE7\x82\xF4\x34\xC1\xF1\x11\x08\x06\x0F\xF2\x1A\xF5\xE7\x81\xF5\xA3\xE5\xF4\x8F\xF3\xD0\xC6\xF4\x42", + "\xC4\xE8\x92\xF4\xE3\xDB\x02\x8B\xF7\xCB\xD1\xF5\x43\xF3\xE9\xCB\xC1\xA5\xFC\xF4\x9B\xF4\xD2\xDD\xF5\x13\xC8\xE8\x8D\x0A\xA2\xF2\xF1\x42\xF6\xCA\xCA\xF3\x31\xFB\xEA\xE9\xF3\x9D\xF0\xF4\xAF\xF6\xD2\xF1\xF5\xB2\xC9\xE8\x99\xF6\x9B\xE1\xF5\x9E\xF3\xD4\xD2\xF0\x5D\xF4\xE1\xBC\xF6\x85\xFE\xF5\x18\xF1\x4A\xEE\x00\x5B\xFD\xE7\xB8\xF4\xA9\xE0\xF6\x1A\xF0\xD9\xDC\xF0\x65\xFE\xE1\xCC\xF4\x88\xF1\xD2\x46\x04\xD8\xC1\x0D\x4F\xF2\xEA\xC6\xF7\xAE\xF6\xF6\xBD\xF0\xDB\xFF\xF4\x6D\xF1\xEC\xDC\xF4\x7B\xE2\x08\x33\x02\xDA\xD7\xF7\x59\xF5\xED\xE4\xF5\xAE\xFE\xF6\xCB\xF0\xDD\xCD\xF6\x75\xFF\xEC\x8C\xDF\x0E\x02\xF7\xD9\xF6\xDC\xC7\xF6\x76\xF4\xED\xE7\xF6\xBC\xE3\xF7\xAD\xF6\xCE\xDD\xE7\x1E\x00\xEF\xDB\xF7\xBD\xF1\xF7\xF9\xF6\xD1\xFF\xF6\x7F\xF1\xF0\xB0\xF5\xC1\xE9\xEE\x0D\x0F\x03\x3D\xF7\x6E\xF3\xF0\x8C\xFB\xC1\xE0\xF5\x0D\xF9\xD9\xF4\xF6\x67\xF5\x0E\xE0\x03\xC2\xF2\xF8\x11\xF9\xDD\xD9\xF9\x75\xFB\xF1\xED\xF5\xC7\xF5\xF7\xF3\xF7\x97\xE7\x00\x57\xC6\x02\x17\xFA\xC6\xEF\xF8\xE5\xF0\xE5\xF6\xF6\x95\xF1\xF2\xAC\xF8\xBE\xEA\xF5\x30\xFF", + "\xB3\xC3\x09\x91\xF7\x8D\xA5\xF8\xAA\xF0\xF2\x2E\xF8\xE0\xF1\xF8\x57\xF9\xF3\x84\xFB\xCE\xFA\xF7\x3F\xFA\xE0\xDD\xE6\xB6\xEE\xDF\x8D\xF1\xAA\xEC\xF5\x41\xFE\xE0\xC9\xFA\x59\xFD\xF3\x8E\xFB\xD2\xF0\xF8\x4D\xFF\xDB\xC1\x09\x30\x06\xF2\x9C\xF9\xD4\xE7\xF9\x4F\xF9\xE5\xD9\xFB\x95\xFB\xF5\xAD\xF9\xD7\xEF\xF9\x48\xFA\xE6\xC2\x08\xDA\xD5\x0E\xFC\xF3\xB4\xEE\xF6\x20\xF8\xEC\xFC\xF9\xAF\xFA\xF3\xE1\xFB\xDA\xEE\xFB\xB9\xE9\x88\xF5\xE8\xA3\xF8\xF3\xEC\xFA\xCF\xF0\xFB\x42\xFE\xEE\xCE\xFA\xBC\xFA\xF4\xFC\xF8\xD3\xF1\xEC\xE1\xE5\xE8\xE6\xFA\xB5\xF0\xF4\xFE\xF8\xD4\xFA\xFB\x18\xFF\xEA\xD6\xFA\xC4\xF8\xF5\x86\xFC\x60\xD1\x08\x34\xFA\x40\xF6\xF9\x3D\xF7\xF4\xEF\xFA\xE5\xE5\xFC\x97\xF9\xEF\xCE\xFC\xAE\xFB\xF9\xDE\xF9\xE7\xF3\xFB\x91\xF8\x40\xD3\xFC\x00\xD3\xF8\xED\xF9\xE6\xFD\xFB\xA7\xFF\xEF\xDF\xFC\xD3\xF8\xF9\xAD\xFE\xE6\xE9\xFD\xB4\xF5\x21\x21\xFC\xB6\xD3\xFA\xEC\xD9\xE9\xF7\xFB\xB0\xFA\xEB\xEB\xFC\xDC\xFE\xFA\xA8\xFD\xEF\xEA\xFD\xB9\xFC\xF3\xEB\xF2\x81\x03\xFB\xBF\xE9\xED\xFD\xF2\x95\xFF\xF7\xC7\xFD\xDD\xFB\xF7\xC1\xFE\xE7", + "\xEE\xFE\x84\xFF\xF5\xCA\xFE\xDD\xF3\xFC\x81\x08\x0F\x15\xFA\x1E\xFA\xF1\xD9\xFE\xC6\xFB\xF8\xCC\xFD\xE2\xFC\xFE\xDB\xFE\xFB\xCD\xFC\xE8\xF5\xF4\x8D\x00\xF6\xE9\xFB\xAC\xFA\xFA\xEA\xFE\xDF\xFB\xFE\xC0\xFF\xF4\xE2\xFE\xEF\xF9\xBE\xCD\x08\x24\x09\xE0\xA6\xED\x40\x0A\x04\xE7\xF8\xED\xFA\xFF\x89\xFC\xFF\x9F\xF9\x94\xC2\x02\xF5\x7E\x6C\x72\x10\x3E\x01\xF9\x7D\xFF\x7A\xFD\x68\x7F\xBC\x7D\xFB\x7B\xFC\x64\x7F\x09\x80\x75\x73\x10\x22\x00\x01\x81\x74\x71\x10\x06\x78\x73\x7F\xED\x7D\xFC\x71\x7F\xD1\x7C\xFB\x7A\x01\xAE\x7F\x0A\x80\xF5\x78\x01\xA9\x7F\x1B\x81\xEC\x79\x10\x2D\x00\x11\x83\xF7\x58\xE9\x77\x7C\x8C\x7A\xFF\x76\x00\xA0\x7F\x08\x83\x05\x8D\x01\xB0\x7F\x78\x79\x40\x06\x05\x25\x80\x11\x05\x28\x05\x00\xAA\x80\x38\x83\x01\x8B\xFF\x79\x80\xE0\x7D\x39\x44\x02\x34\x80\x0D\x04\x11\x0F\xC3\x6D\x80\xDF\x7E\xF8\x7D\xFD\x4C\x80\x2E\x81\x08\x8E\x01\xAF\x80\xF2\x7D\x42\x0A\xE7\x5A\x7A\x3C\x82\x11\x81\xFE\x48\x81\x45\x80\x15\x83\xFE\x5F\x80\x28\x76\x13\x89\xFC\x4C\x81\x19\x80\x07\x8A\x04\xB0\x80\x5F\x83\xF3\x78\x05\x89\x81\x5E", + "\x80\xC2\x79\x10\x00\x79\x75\x7E\x14\x84\x04\x97\x81\x5C\x80\x08\x85\x06\x8B\x80\x63\x81\x15\x81\xF7\x43\x04\x4E\x79\x1A\x86\x05\x87\x81\x71\x80\x1B\x81\x06\x9D\x81\x70\x81\x1B\x8D\x00\xAF\x81\x8F\x7D\x43\x0C\xE5\x67\x7D\x2B\x82\x1A\x8B\x03\xBA\x80\x85\x83\x1D\x83\x05\xB9\x81\x78\x82\x1F\x84\x06\xBD\x81\x7B\x82\x1B\x80\x09\x80\x82\x65\x6D\x43\x0F\x04\xB7\x7A\x51\x82\x22\x8B\x06\x8D\x82\x91\x83\x1F\x83\x09\x9F\x82\x81\x81\x42\x07\xEA\x69\x80\x88\x81\x26\x8C\x08\x8B\x82\x8E\x82\x1C\x89\x0A\xBA\x81\x66\x83\x40\x07\x02\xA4\x82\x2C\x83\x21\x81\x0B\x89\x82\xA7\x81\xA9\x72\x0A\x9B\x81\x9D\x83\x23\x8B\x04\xB9\x82\xAA\x80\x2F\x8C\x0A\xA0\x82\x60\x80\x25\x8D\x04\x83\x04\xA3\x80\x14\x85\x0A\x87\x83\xB3\x82\x29\x8B\x0A\x9C\x82\xAD\x82\x40\x03\xEC\x76\x81\xB5\x82\x2C\x86\x08\xB4\x82\xCB\x80\x2A\x8E\x00\x82\x04\xD1\x78\x34\x85\x0D\x9B\x82\xD6\x82\x30\x8C\x07\xBB\x82\xDE\x82\x24\x80\x0E\x80\x83\xC3\x80\xB8\x78\x0B\xA1\x83\x9E\x83\x38\x8A\x0E\x81\x83\xE4\x83\x37\x8C\x0E\xAB\x83\x62\x81\x0C\x80\x00\x2F\x7B\xDA\x82\x2F\x8C\x0C", + "\xAD\x83\xE2\x83\x3B\x8A\x0F\xB1\x83\xF6\x81\x37\x88\x0F\x99\x81\x03\x04\xBF\x75\x0F\xA8\x83\xBA\x83\x3E\x8E\x0E\xBC\x83\x04\x85\x2F\x89\x10\xBF\x82\xA1\x83\x40\x0A\xF0\x43\x84\xFF\x81\x41\x88\x10\x91\x84\x0A\x84\x45\x8C\x10\x86\x84\xF9\x81\x39\x81\x10\x16\x7C\x10\x84\x3C\x87\x10\x9F\x84\x19\x84\x48\x89\x0E\x98\x84\x23\x87\x44\x8E\x11\x85\x7D\xC5\x7C\x83\x77\xFC\x44\x82\xCA\x81\x3F\x8C\x0D\xAF\x84\xD2\x81\xF5\x70\x00\x29\x84\x73\x7F\x4A\x82\x12\x92\x84\x37\x85\x45\x87\x12\xA5\x84\x39\x87\x45\x86\x12\xA4\x84\x38\x85\xD1\x74\xF4\x7C\x84\x21\x85\x51\x84\x14\x87\x85\x41\x84\x52\x8A\x13\x80\x85\x4B\x87\x4F\x8A\x11\x80\x00\x54\x7D\x47\x8C\x14\xBE\x84\x3D\x87\x3D\x8B\x13\x89\x85\x58\x85\x53\x85\x15\xBE\x83\x57\x86\xD4\x70\x00\x34\x6E\x30\x84\x35\x8E\x12\xB1\x84\xD1\x80\xE3\x6E\x19\x21\x85\x2D\x87\x42\x86\x15\x93\x85\x6B\x86\x53\x8B\x15\xA5\x43\x81\x7E\x52\x84\x15\x86\x85\x59\x87\x5C\x82\x17\xAD\x85\x5B\x84\x5A\x8D\xCD\x74\x84\x45\x7E\x4D\x84\x17\x9A\x85\x7F\x86\x5D\x85\x17\xB8\x85\x81\x84\x61\x87\x17\x9C\x85\x6C\x86", + "\xE7\x62\xFB\x64\x7C\xE7\x82\x45\x86\x18\x83\x86\x88\x86\x5B\x85\x18\x91\x86\x79\x84\xC5\x70\xF9\x4C\x86\x52\x86\x64\x87\x18\xBA\x85\xC9\x80\x32\x82\x05\xA5\x43\x7C\x84\x40\x82\x10\x3E\x85\x9B\x84\x59\x8B\x0D\xA6\x86\x63\x86\x58\x8D\x0C\x96\x7F\x8D\x85\x57\x82\x18\x80\x86\xA5\x86\x6A\x8E\x18\x94\x86\x93\x86\x2D\x83\x10\x26\x7F\x99\x85\x65\x82\x1B\xAE\x86\x8F\x84\x6C\x80\x19\x9C\x83\xE5\x40\xFD\x77\x8C\x6B\x71\xF8\x7D\x6E\x85\x1B\xA8\x86\x6A\x84\x6D\x81\x1B\xA9\x85\x22\x83\x40\x00\x00\x83\x87\x2E\x68\x01\x86\x1C\x8B\x87\x9E\x86\x26\x88\x1C\xB3\x86\xB6\x86\x40\x00\x01\x90\x87\x74\x74\x05\x87\x1C\xBB\x86\x89\x84\x67\x83\x0D\x9D\x7C\xE5\x40\x09\x8C\x1D\xAD\x6E\xAF\x82\x31\x8D\x19\xAB\x87\xE3\x85\x75\x85\x16\xBF\x72\x33\x83\x79\x86\xFF\x40\x00\x36\x83\x74\x8F\x1B\x97\x87\xBC\x86\x72\x87\x1F\xA0\x87\x9A\x86\x4E\x71\x10\x3F\x80\xF2\x86\x00\x86\x6C\x3F\x70\xE5\x43\x0B\x00\x04\x89\x04\x5E\x01\x6B\x81\x1E\xB8\x87\x0B\x88\x7F\x8F\x16\x91\x04\x97\x81\xB1\x7C\x1C\xB9\x87\xE2\x86\x75\x8C\xEE\x62\x78\x0A\x89\x7F\x8E\x1B\x9B", + "\x88\xAF\x85\x87\x8D\x1B\x9E\x88\xFA\x84\x87\x8F\x21\xBA\x77\x02\x04\x1A\x80\x0B\xAD\x87\xEC\x86\x85\x83\x21\x8D\x88\xBF\x71\x1D\x87\x22\xAA\x88\xEE\x87\x69\x8E\x20\x9F\x87\xBF\x73\x20\x8A\x1B\xAB\x88\x1A\x88\x88\x85\x21\xAF\x87\x31\x89\x6A\x88\x23\xB7\x88\x3D\x89\x72\x88\x21\xB6\x87\x22\x89\x88\x8A\x23\x8C\x88\x39\x8B\x88\x86\x24\x8A\x89\xE5\x41\x31\x88\x09\x81\x89\xD8\x84\x92\x80\x24\xA9\x88\x73\x82\x40\x09\x1E\x8F\x89\x54\x8A\x8C\x8F\x23\xB4\x88\x50\x89\x43\x82\x10\x0E\x89\x12\x89\x97\x8C\x22\xA2\x89\x49\x8B\x92\x86\x26\x99\x87\x01\x04\x98\x8C\x12\xA4\x89\x53\x88\x8A\x8E\x26\xB0\x88\x91\x77\x33\x8F\x22\xBC\x88\x59\x8A\x8F\x8C\x26\x9C\x89\x91\x75\x36\x83\x27\x9A\x89\x77\x88\x75\x85\x27\x89\x87\xC0\x85\x44\x01\xEE\x44\x89\x47\x8B\x8C\x8E\x27\xAF\x89\x74\x8A\xD8\x71\x10\x34\x83\x7B\x8A\x9D\x8F\x27\x91\x89\x86\x8B\x7E\x8F\xCB\x42\x84\x8D\x88\xA0\x82\x25\xB8\x89\x88\x89\x35\x85\x0E\x4F\x84\x95\x88\xA4\x8B\x25\x87\x8A\x70\x8B\x67\x81\x11\x1C\x84\x9D\x88\x85\x87\x29\xA0\x8A\x89\x89\xA8\x82\x13\xA1\x86\xFE\x84\x00", + "\x04\x1A\x92\x8A\x7D\x88\xAC\x8F\x28\xA6\x8A\x17\x8B\x65\x85\xF3\x59\x88\x6D\x8A\xAA\x89\x2A\xBB\x8A\x7C\x89\x64\x73\x14\xB2\x8A\x99\x8A\xA3\x81\x2C\x96\x8A\xB5\x89\x43\x01\x15\xA5\x8A\x63\x8B\xAC\x89\x2C\x83\x8B\x9E\x8A\xF6\x75\x0E\x60\x85\xA7\x88\xB0\x8A\x2B\xBD\x8A\xCC\x8A\x97\x83\xC7\x58\x8A\xD3\x8A\xB0\x89\x2D\x84\x8B\xE4\x85\xE4\x68\x2B\x98\x8B\xBC\x8A\xB6\x81\x2E\x9C\x8B\x7B\x84\x66\x88\x2C\xA5\x89\x3B\x88\xB5\x8B\x2D\x8D\x8B\x91\x74\xAB\x8E\x15\xAF\x8A\x45\x89\xBA\x82\x2E\xAA\x8B\xE3\x8B\x6C\x80\x1A\xA6\x8B\xEA\x85\xB5\x8B\x2C\xAB\x8B\xB4\x8B\xA7\x8D\x2A\xAE\x8B\x02\x7A\xAB\x8F\x2D\xA8\x8A\xF4\x89\xC1\x83\x2F\x87\x8C\x42\x89\x44\x07\xFD\x44\x8A\x4A\x8A\xBC\x84\x2E\x8A\x8B\xE8\x8A\x65\x8D\x10\x38\x86\xE7\x89\xAE\x85\x2F\xBD\x8B\xB1\x89\xBC\x81\xA5\x42\x87\xEC\x60\x71\x83\x30\x92\x8B\x17\x8F\xBE\x81\x32\x91\x8C\x8C\x6F\x73\x8D\x31\x91\x87\x1F\x8E\xC6\x81\x29\xAA\x8C\xFE\x88\xCB\x8D\xCD\x5B\x87\x27\x8D\x77\x89\x32\x85\x8A\x2D\x8C\xCD\x89\x31\xB6\x8C\x91\x76\x79\x81\x33\xA8\x87\x33\x8D\xC3\x81\x2D\xAE\x8C", + "\x10\x8E\xC5\x82\x0F\xB1\x87\x3B\x8F\x7C\x85\x1F\x95\x8C\xE0\x8A\xC1\x8F\x30\xBA\x8B\x24\x8D\xB7\x8D\x10\x00\x88\x45\x8E\x80\x80\x00\x02\x81\xC0\x75\x39\x43\x28\x82\x68\x64\x7E\xC2\x8E\x8A\x54\x8C\x00\x68\xD4\x8C\xA0\x6B\x71\x54\x8D\xD4\x82\x01\x80\x00\x1E\x00\x81\x8C\x96\x47\x88\x03\x06\x1C\x0E\x8A\x47\x66\xB4\x77\xD2\x8C\x2F\xA2\x8C\x4A\x8C\xBB\x8A\x28\x80\x00\x11\x8B\x9A\x81\x34\x89\x8D\x08\x8E\xDC\x8A\x08\x83\x89\x48\x8C\xC1\x89\x37\x98\x8C\x77\x8E\xDF\x8B\x1A\x80\x00\x26\x89\xBE\x8F\x36\x8D\x8D\x37\x8E\xCF\x8B\x32\x81\x8C\x2E\x8A\xE1\x83\x32\x82\x8D\x7F\x8C\xDC\x81\x39\x8F\x85\x36\x88\xDE\x8E\x36\x8F\x8E\x96\x8E\xDE\x88\x39\x82\x8E\x9A\x8D\xDC\x80\x38\x8C\x8D\x73\x7D\xDD\x80\x39\x97\x8E\x9E\x8E\xE4\x84\x3A\xBD\x83\x4D\x89\xCF\x87\x26\xBF\x8C\x38\x8C\xE8\x89\x39\x96\x8B\x00\x03\x95\x81\x26\x81\x8E\x20\x8D\xE9\x88\x38\xB4\x8E\x5E\x86\x9A\x83\x3A\x9D\x8E\x93\x8F\xEE\x8F\x39\xBB\x8D\xB5\x78\xC3\x8B\x3A\x8B\x8E\x8A\x8D\xCD\x85\x3C\x9D\x73\x72\x8A\xE3\x86\x3B\xBE\x8E\xA6\x8C\xEF\x87\x3A\x83\x8E\x7A\x8A\xF2\x8D", + "\x3B\xAF\x8E\xCD\x8F\xEF\x8B\x39\x90\x86\x56\x8E\xEA\x8E\x30\x8E\x8F\xDC\x8E\xF5\x8A\x29\x91\x04\x8C\x8A\xF4\x8F\x3C\x9D\x8F\xD5\x8D\xF9\x87\x3B\xB3\x8D\x94\x8A\xF8\x84\x3E\xA7\x8F\x87\x8C\xF3\x85\x26\x9B\x8A\xDA\x8C\xEB\x87\x3C\xB8\x8E\xAD\x8E\x4C\x84\x2A\xAA\x8F\xDE\x8F\xF4\x8C\x39\xB9\x8F\xE3\x8C\xEC\x80\x30\xA4\x88\x01\x04\xBC\x85\x3F\x97\x8F\x40\x8E\xEB\x8B\x3F\x89\x86\xF7\x8B\xAD\x82\x3C\x9B\x8F\xFC\x8F\xFA\x8E\x3E\x8F\x88\x23\x71\xDF\x85\x3B\xBA\x8F\x13\x91\xFF\x86\x3E\xB3\x7D\xC7\x88\xFE\x87\x41\x94\x8F\xEC\x8C\x01\x93\x40\x9F\x8F\xC9\x65\xFC\x84\x3C\x83\x8F\xC6\x8C\x09\x9E\x2C\x81\x71\xB3\x8E\x01\x95\x41\x8E\x90\x1C\x93\x03\x95\xF4\x71\x85\x2B\x91\x03\x92\x43\x9B\x90\x07\x93\xFB\x86\x2B\x92\x7E\x22\x91\x09\x9C\x40\xB4\x90\x31\x91\x25\x89\x10\x3F\x8F\x8A\x85\x42\x02\x40\xB3\x8F\x2A\x91\x01\x9D\x3E\xAD\x90\x93\x85\x02\x98\x43\x8B\x90\xF2\x8E\x09\x94\x3F\x84\x91\xC0\x8F\x62\x8A\x40\x92\x90\x46\x92\x07\x90\x45\x96\x91\x4E\x92\xA8\x8D\x10\x0B\x8C\x54\x93\x07\x94\x41\x95\x91\xCB\x8C\x12\x97\x18\xA5\x43\x5C", + "\x8C\x96\x85\x44\x9E\x91\x16\x91\x07\x91\x46\xA2\x86\x01\x04\xC7\x8F\x35\xAE\x68\xC5\x85\x17\x97\x45\xAB\x91\x3D\x92\x1A\x9F\x45\x81\x8C\x26\x8F\x1B\x94\xD7\x52\x87\x72\x91\x16\x97\x44\xB5\x90\x2E\x90\x20\x95\xF4\x70\x8C\x7A\x91\xEB\x6E\x1D\x82\x92\x88\x91\x1D\x91\x48\x8A\x92\x49\x91\x44\x0A\x33\x85\x92\xF3\x86\xEC\x86\x37\xA7\x91\x73\x93\x1D\x95\x49\xA9\x91\x73\x7C\xD1\x80\x49\x92\x8D\x47\x8E\x06\x96\x47\x98\x92\x62\x90\x23\x99\x48\x85\x89\x3E\x80\xDA\x82\x10\x21\x8D\x0C\x75\x73\x82\xA3\x7D\x91\x1D\x6B\xDC\x79\xDF\x41\x91\xFB\x74\x83\x7F\x4A\xAD\x92\x45\x7F\x2C\x92\xDF\x6C\x91\x6D\x6E\x7D\x72\xD3\x7F\x74\x01\x78\x00\x90\x00\x04\x78\x0C\x7B\x21\x9D\x2A\x81\x75\x23\x0B\x50\x7C\x44\xA3\x90\x3B\x93\x27\x96\x2F\x90\x88\x39\x91\xE2\x8E\x47\x98\x91\x81\x8A\x25\x8D\x4C\x8F\x91\xCF\x90\x1D\x90\x46\xA8\x8E\x11\x05\xE1\x86\x46\xBF\x91\xA2\x91\x37\x97\x4D\xA0\x92\xB8\x91\xE3\x8B\x4D\x90\x93\x4D\x91\x32\x9B\x48\x9E\x85\x95\x8F\x28\x98\x46\xAC\x90\xEA\x93\x25\x9C\x4E\x9E\x93\xEB\x93\x0C\x9A\x4C\xB2\x93\xA1\x8F\x34\x94\x49", + "\x95\x93\x96\x90\x3E\x99\x30\xA6\x7A\xF6\x90\x37\x9F\x4D\xAF\x93\xFF\x91\x7E\x85\x0E\x52\x92\xE7\x91\x3C\x9C\x43\x81\x94\x07\x94\x88\x89\x3A\x87\x93\x3A\x91\x39\x9E\x50\x8C\x6E\xBA\x8D\x28\x98\x50\xB3\x93\x09\x96\x3B\x92\x50\x91\x04\xC9\x8F\x38\x96\x4D\x86\x94\x14\x95\x47\x95\x50\xBE\x92\xD1\x8E\x46\x99\x4F\xA6\x93\x12\x94\x47\x9F\x51\xB0\x92\xE6\x80\x43\x9E\x4C\xA4\x94\xED\x92\x3E\x9A\x4A\x8B\x8A\xFD\x90\x39\x98\x4C\x8F\x94\x93\x89\x4C\x9B\x51\x96\x94\x15\x96\x4B\x90\x3B\x9C\x8A\x9E\x93\x49\x9C\x52\xB0\x93\x38\x97\x53\x87\x3F\xA2\x94\xE0\x90\x50\x9A\x53\xB9\x94\xD1\x93\x0F\x98\x2F\x84\x95\x00\x96\x49\x95\x52\x81\x95\x27\x96\x12\x92\xFA\x76\x94\x23\x94\x4D\x9B\x52\x91\x69\xBF\x8B\x44\x9E\x53\x96\x95\xD4\x90\x9A\x80\x15\x94\x95\x45\x96\x56\x9F\x54\x87\x95\x1E\x95\xD1\x70\x2D\xB3\x94\x68\x95\x43\x95\x2C\xB2\x7D\x63\x97\x4F\x92\x56\xAD\x94\x49\x97\x6C\x79\x42\xBE\x93\x4E\x94\x5C\x9C\x55\xB3\x8D\x40\x91\x39\x43\x44\xA4\x95\x5B\x95\x5A\x97\x55\x8C\x6E\x79\x95\x44\x0B\x57\xAE\x95\x75\x96\x51\x94\x58\x8C\x89\x37\x93", + "\x54\x9A\x52\x9D\x95\x77\x94\x5D\x98\x58\x92\x91\x4B\x91\x1F\x97\x58\xBC\x95\x6D\x95\x63\x95\x25\xAC\x86\x8B\x97\x3D\x93\x59\x9B\x96\x12\x8D\x42\x05\x46\xB3\x95\x32\x96\x5A\x92\x5A\xA7\x90\xF3\x7E\x29\x97\xFF\x60\x95\x4D\x94\x54\x95\x59\xA3\x90\xE5\x41\x1E\x9A\xA4\x6B\x71\x7C\x91\x4F\x9B\x5A\xA3\x96\x8C\x97\x5A\x9F\x00\xA6\x96\x00\x02\x30\x9F\x56\x86\x96\x96\x97\x4D\x96\x26\xA5\x87\xB8\x94\x41\x93\x5B\xBF\x95\xB4\x97\x3D\x95\x0E\x5A\x92\xAF\x96\x8B\x6D\x49\x8C\x95\xF4\x93\x70\x95\x5B\x85\x97\x32\x86\xD7\x89\x5C\xB4\x75\xA8\x91\xDB\x80\x8D\x53\x73\xA4\x64\x5E\x73\xC3\x49\x04\x86\x02\x57\x60\xC6\x5C\x97\x51\x77\xED\x68\x08\x1E\x97\x7B\x67\x78\x96\xC5\x77\x6E\x8F\x01\x78\x98\xBF\x43\x04\xE9\x97\x35\x6A\x4D\xBF\x74\xE2\x93\x4F\x79\x4E\x98\x8F\xC1\x8E\x80\x62\x5C\xB8\x92\x11\x94\x7E\x9E\x8A\x59\x94\x3F\x75\x48\x90\x5A\xB2\x83\x57\x8C\x80\x61\x3E\xAC\x6D\xE9\x8C\xDB\x61\x58\x8D\x04\x7B\x96\x54\x94\xFB\x6E\x62\x59\x95\xC0\x89\x41\x8C\x97\x3E\x93\x40\x09\x35\xA8\x90\x73\x7C\x0C\x9E\x15\x87\x98\x42\x92\x2B\x68\x61\x83", + "\x04\x09\x99\x62\x9B\x60\x97\x63\x1B\x9B\x68\x8A\x3A\xA5\x43\x5C\x92\x6C\x98\x4B\x9F\x96\x0C\x7A\x1B\x93\x5D\xAD\x6E\x71\x90\x80\x6E\x5A\xBE\x6D\xB0\x96\x2B\x64\x48\xAB\x98\xF3\x86\x6E\x91\x30\x8F\x92\x34\x9A\xD4\x87\x5F\xAD\x8A\xC8\x94\x8C\x9A\x5C\xA3\x98\x11\x06\x74\x9E\x63\x94\x97\xB8\x97\x2A\x07\xDC\x43\x76\x83\x8D\x44\x75\xD9\x6B\x71\xF3\x96\x03\x78\xDC\x6F\x94\x7C\x32\x3B\x7C\x07\x13\x77\x83\x8C\x10\x02\x65\x94\x99\x50\x9A\x0C\x0E\xCE\x65\x01\x58\x98\xEC\x8A\x00\x2E\x73\x98\x57\x59\x75\xDB\x5D\x73\x32\x71\x42\x7B\xDD\x61\x2D\x5D\x99\x84\x92\x10\x3C\x94\x66\x72\xFB\x6B\x45\xA9\x99\x42\x96\x3B\x71\x0B\x30\x99\x73\x7E\x59\x76\xD5\x67\x71\x0D\x06\x2D\x04\x67\x85\x7D\x76\x99\x78\x77\x66\x82\x04\x7A\x9B\x75\x71\xA5\x7D\x99\xC4\x76\x78\x71\x10\x01\x9A\xDD\x77\x3A\x73\x37\x84\x9A\xE9\x74\x62\x78\x68\xA9\x92\xF9\x73\x2F\x7C\x02\x2E\x73\x59\x03\x9E\x98\x4B\x8B\x01\xEE\x72\x23\x08\x5A\x8D\x97\x76\x96\x5F\x91\xD9\x62\x8E\xCE\x96\x66\x9D\x5B\x98\x93\xD2\x91\x66\x9E\x58\x94\x96\x9D\x99\x09\x95\x0E\x6F\x97\x93\x93\xA9", + "\x9C\x59\x9E\x9A\x5A\x91\x42\x01\x5F\xAD\x9A\xA1\x94\x71\x96\x6B\xBD\x80\x11\x05\x93\x95\x58\xBB\x96\xBC\x9B\xAE\x9E\x6B\xAA\x96\xA9\x9B\xAD\x92\x6A\xB6\x96\x79\x7B\xA6\x98\x54\xA3\x9A\x61\x96\x42\x95\x5F\xA6\x98\xBC\x94\xAC\x9E\x6A\x9D\x96\xAE\x82\xB1\x95\x56\x81\x9B\xCF\x94\x69\x97\x0B\xA6\x9A\xB5\x99\xB5\x9A\x6D\xB3\x8D\xF9\x95\xB3\x90\x5D\x99\x9B\xC6\x94\x46\x92\x6D\xBD\x95\xDF\x9A\x6F\x9E\x55\xBE\x97\xB4\x9A\xB9\x98\x6C\xA9\x96\xA8\x98\x7D\x9D\x10\x01\x98\x10\x9B\xB4\x9E\x6D\x82\x9B\xA7\x99\x39\x43\x60\xBF\x97\x55\x96\xB3\x90\x6E\x91\x91\x09\x05\x81\x98\x6F\x89\x9B\xC0\x9B\xBC\x94\x4D\xB0\x8F\xD8\x9A\xBA\x9A\x6F\xBE\x96\x15\x7F\xB8\x91\x6A\x8F\x9B\x07\x9F\x35\x81\x10\x21\x98\x01\x92\xC2\x94\x6D\x83\x9B\xE5\x9A\xC3\x93\x13\x8B\x95\xFF\x98\xBB\x9F\x6A\x95\x9C\xFB\x90\x77\x7C\x6C\xBD\x9A\x01\x9C\xC8\x9D\x6E\xA2\x9C\xE5\x43\x83\x99\x71\x9C\x9A\x02\x9C\xC5\x94\x6F\x97\x96\x5F\x86\xC4\x99\x72\x8C\x9C\x1C\x9C\x94\x97\x16\xAB\x9B\x28\x9E\xC8\x93\x59\xB0\x85\x2E\x9E\xCD\x94\x73\x87\x9B\x80\x94\xC6\x99\x6E\xB9\x9B", + "\x31\x9D\xCD\x9F\x6B\xA8\x94\x0F\x9E\xCF\x94\x6E\xAB\x9C\x06\x9E\xAA\x9E\x61\x86\x7F\x39\x9F\xD0\x9B\x71\x88\x9D\x16\x9C\xC4\x92\x30\x85\x9C\x40\x9C\xD4\x90\x70\xA3\x9C\x01\x8D\x89\x91\x6F\x87\x9D\xDB\x98\xCC\x9E\x4C\xA4\x91\x4D\x9D\xC8\x9E\x74\xBB\x9C\x36\x91\x69\x91\x20\xA3\x8D\x2D\x9B\xD6\x9B\x70\xBB\x9B\x6C\x9C\x08\x99\x10\x2F\x98\x42\x75\x8C\x94\x75\x97\x9D\x4F\x9D\xD7\x9C\x72\xB3\x98\x43\x9A\x21\x91\x76\x98\x9D\x62\x9D\xDF\x9C\x77\xBF\x96\x8E\x91\x70\x9B\x77\xB5\x9D\x2A\x9F\xC0\x91\x11\x3D\x98\x71\x9F\x8F\x93\x77\x9A\x9C\x64\x9C\xD7\x91\x6B\x83\x04\x42\x99\xE2\x94\x64\x80\x77\xD8\x95\x70\x7D\xCD\x4A\x99\xD8\x72\xAE\x98\xC5\x4F\x99\xB0\x8E\x95\x90\xDD\x5F\x5F\x53\x9A\xA0\x9C\xB8\x5E\x9E\xC5\x73\x92\x61\x7A\x89\x9A\x7F\x71\x64\x7A\x65\x9F\x9E\x11\x04\x97\x92\x7A\xBF\x72\x5F\x98\xEB\x9D\x10\x21\x99\x04\x74\x47\x74\x66\xAE\x73\x0C\x02\xA5\x9D\x2A\xAC\x99\xDA\x74\x9E\x99\x10\x1A\x9D\x5E\x77\x98\x91\xD9\x43\x95\xBD\x9E\x9B\x99\x10\x33\x99\xAF\x9D\x37\x7C\x68\x9C\x76\x8E\x9A\xEE\x9E\x15\x8B\x9F\x06\x07\x92\x9E", + "\xA2\x4F\x9A\xD6\x95\xA4\x9A\x7C\xAE\x73\xD4\x9D\xF0\x9D\xD0\x57\x9F\xB2\x9D\x42\x09\x7D\xA2\x99\xDB\x9D\x64\x73\x69\x9D\x9F\x03\x05\xA5\x99\x7C\x91\x76\x98\x98\xF9\x92\x10\x1A\x9A\x8B\x9E\xD0\x9E\x77\x84\x9E\x32\x84\xA8\x93\x71\x9E\x9D\x76\x9E\xDB\x93\x10\x32\x9F\x2F\x9D\xDB\x95\x75\x86\x9E\x0D\x04\xAB\x9E\x78\xB4\x9F\x85\x9D\xB8\x9D\x10\x33\x9A\xFF\x9E\xFE\x94\x77\x8D\x91\xE5\x42\xE6\x9F\x77\xB0\x9F\x06\xA0\xE3\x9D\x70\x87\xA0\x0F\xA3\x32\x95\x6A\x92\x96\x8D\x9F\xDA\x99\x74\x9D\x73\xDD\x9A\xCE\x91\x81\xAE\x9F\x0B\xA1\x94\x6B\x63\x9A\xA0\x41\x9C\xCF\x9A\x74\xBC\x93\xED\x9E\x08\xA6\x75\x8E\xA0\xBF\x71\x06\xA3\x76\x9B\xA0\x26\xA0\xFF\x99\x10\x3C\x97\x3F\x9C\x04\xA1\x82\xB2\x9B\x24\x9D\x44\x08\x6E\x85\xA0\x17\xA1\xFD\x9B\x7F\xB3\x8D\xF0\x9B\xC9\x9D\x82\x81\xA0\x00\xA0\xBF\x93\x10\x37\x9B\x31\xA0\x0A\xA7\x82\x9C\xA0\x71\x96\x40\x0E\x6F\x85\xA1\x48\xA1\x05\xA3\x7F\xAC\x9C\xBC\x9C\x13\xAF\x83\x81\xA1\x0D\xA0\xEC\x84\x7C\x92\xA1\x34\xA3\x0A\xA3\x83\x91\x95\x4B\x9E\x4A\x83\x78\x8E\xA1\xF9\x9C\xC2\x9D\x85\xB5\x84\x5F", + "\xA0\x0B\xA9\x85\xAF\x9F\x58\x95\x19\xAB\x85\x96\xA0\xF9\x91\xC9\x9A\x86\x87\xA1\x53\xA1\x15\xAA\x66\x81\x04\x67\x97\x1A\xAF\x84\xB9\xA0\x8F\x9E\x1A\x77\x87\xBB\xA0\x54\xA2\x18\xA8\xD5\x54\xA0\x66\xA0\x0E\xAC\x87\xAC\x9C\x52\x9F\x60\x90\x86\xA0\xA0\x70\xA1\xD9\x9A\x54\x93\x91\x1F\x9E\x16\xA9\x88\x82\xA2\x1D\x9F\xCC\x76\x74\xAC\xA1\x32\xA3\x23\xA3\x56\x8A\x98\x4C\x9D\x09\xA7\x86\x9D\xA0\x81\xA3\x25\xAA\x35\x9A\xA2\x90\xA2\x11\xAA\x83\x91\xA2\x02\x04\x8A\x91\x8A\x8D\xA1\x9D\xA1\x4B\x91\x1C\xB8\x96\x69\x9E\x0F\xAB\x89\x8C\xA0\x78\xA2\x10\xA2\x10\x30\x9D\xC5\x92\xDC\x90\x88\xB6\xA1\x61\xA3\x20\xA2\x0F\xB8\x9D\x92\x9E\xDE\x90\x8A\x94\xA2\xA2\xA0\x10\xAC\x72\xB8\x98\x79\x9D\x24\x9F\x86\xA3\xA2\xC1\xA1\xBD\x97\x78\xB8\x96\xCB\x96\x2B\xA7\x8A\xB1\xA1\xB1\xA0\x16\x95\x4A\xA7\x9D\xDF\x5D\x75\x9E\x8C\x80\xA3\xA8\xA0\x2E\xAE\x15\xB8\x9F\x88\xA0\x32\xA9\x8D\x96\x9B\xF7\x9F\x31\xA2\x8C\x91\xA3\x7E\xA3\x19\x82\x8E\xBD\xA1\xBA\xA1\x1B\xA1\x11\x04\xA0\xD8\xA0\x34\xA9\x8E\x97\x9D\x09\xA3\x39\xA2\x87\xAF\xA2\x87\xA2\x23\xAE\x8D", + "\xAE\xA3\xA4\xA1\x40\x0C\x8D\xB6\xA3\xE3\xA3\x3B\xAC\x6E\x8B\x94\xB7\xA2\x25\xAB\x87\x95\xA2\x91\x77\x07\xAC\x8F\xA8\xA3\x04\xA6\x00\xA7\x6D\x81\xA4\xF7\xA0\x3D\xA9\x8A\xAD\x8A\x2A\xA0\x1A\xAF\x90\x9D\xA3\x0A\xA7\x40\x00\x83\x8F\xA3\x0E\xA6\x36\xA3\x74\xA5\x43\x37\xA1\x3B\xA9\x91\x82\xA4\xB9\xA3\xE0\x8D\x83\x98\xA1\x18\xA5\x49\xAE\x91\x90\x90\x09\x04\x11\xA6\x92\x83\xA4\xC9\xA2\x34\xA1\x11\x0B\xA1\x2B\xA5\x48\xAD\x92\xB6\x9F\x6B\x9A\x3C\xA4\x8E\xBE\xA3\x17\x95\x43\x07\x85\xB1\xA4\x14\xA4\x42\xAF\x8F\xA3\xA1\x7D\x86\x4D\xA8\x93\xB8\xA3\x3F\xA4\x64\x9A\x58\x8C\xA4\xFD\xA1\x42\xAE\x93\xB0\x8E\x0D\x9A\x44\xAA\x91\x8E\xA5\x5F\x9D\x44\x06\x72\xA4\xA4\x27\xA5\x55\xAC\x92\x9C\xA0\xCF\x8A\x50\xAA\x94\xB3\xA3\x5C\xA0\x85\x96\x95\xB2\xA4\xDF\xA2\x0B\xA2\x57\x94\xA5\x57\xA4\x51\xA1\x96\xB9\xA1\x45\x9C\x23\xAA\x76\xA5\xA5\x1F\xA5\x43\xA8\x92\x92\xA2\x6A\xA7\x35\xAC\x96\xBC\xA4\x07\xA7\x29\x88\x89\x9E\xA1\xBF\xA3\x5C\xAF\x95\xBD\xA4\x84\xA3\x24\xAA\x97\xBF\xA5\x60\xA6\x59\xA3\x87\x80\x00\xC0\x9C\x59\xA1\x98\xAD\xA5\x49\xA5", + "\x51\xAE\x59\x9A\xA5\x33\xA7\x50\xAB\x89\xAB\xA2\xD4\xA1\x44\x0D\x8A\x86\xA6\x7C\xA7\x4D\xAB\x95\xB4\xA4\x01\x04\x2D\xA6\x1F\x0B\x69\xB1\x97\x5A\xA7\x98\xB4\xA5\x50\xA4\xAE\x98\x55\x38\x96\x36\x99\x68\xA9\x98\xA7\xA5\xCA\xA1\x43\x04\x8C\xBD\xA2\xC6\xA1\x5E\xAF\x99\xBB\xA5\x75\xA7\xD0\x8C\x8C\x8C\xA6\xA8\xA4\x57\xA0\x9B\xBE\x92\x91\x9D\x2D\xAE\xA2\x56\xA3\xE0\x9F\x75\x9C\x79\x83\xA6\x98\x9C\x62\x7A\x80\x95\x9E\xD8\x75\x43\x04\x7A\x9D\x72\x14\x6F\x40\x07\x7A\x90\x9A\x15\x77\x2F\x77\x9C\xAD\x99\x97\x72\x72\xAE\x7C\x81\x8C\xAB\x9D\xE9\x9B\xC6\x6E\x9E\xA8\x9D\x5C\x70\x7B\xA0\x99\xD3\xA6\x2F\x95\x66\xB7\x99\xC6\x9C\x9A\x97\x7E\xB3\x8D\x51\xA0\x78\xA1\x9D\x82\x04\x85\xA5\xED\x91\xD2\x43\x9F\x72\x99\x77\xA4\x74\x80\x00\xD0\x9D\x41\x02\x7D\xB4\x75\xDF\x9E\x7A\xA8\xD6\x4B\x9A\xD8\x9E\x7B\xA5\x0E\x71\xA7\xFF\x03\x7C\xAD\xBA\x75\xA7\xE5\x75\x41\x78\x9F\xAA\x9F\x87\x9A\x7E\xA1\x11\x23\x9F\xD6\xA6\x8B\x66\x7E\x99\xA7\xD4\x71\x37\x79\x7E\x89\xA8\x74\x74\xFB\x98\x94\x8B\xA5\x82\xA7\x63\xAC\x4C\xAE\xA6\x95\xA6\x63\xAD\x95\x9A", + "\x81\x18\xA9\x6C\xAA\xA1\xB7\xA6\xEF\xA6\xFF\x90\xA2\xB0\xA2\x1F\xAB\x18\x9B\x8E\xB4\xA6\x15\xA8\x68\xAF\x77\xB1\xA3\x1D\xAA\x69\xA4\xA1\x88\xA6\x2F\xAA\x8A\xA4\xA2\xB9\xA3\x74\x8C\x8A\xA0\xA3\xB6\xA6\xAA\xA3\xB2\x9E\x99\x99\xA8\x97\xA5\x89\xAE\x6E\x89\x04\x06\xA6\x8B\xA8\xA3\xAF\xA6\x39\xA8\x09\xA3\xA1\x83\xA9\x3C\xA9\x63\xA3\x38\x91\xA4\x9C\xA3\x53\xAD\xA4\x91\xA5\x0D\x07\x45\xA3\xA2\xB5\xA3\x42\xA8\x66\xA0\x00\x1D\xA4\x80\xA5\x92\xA5\x9B\x96\xA6\x50\x9B\x48\xA2\xA3\x94\xA9\x4F\xAA\x68\xA9\x92\xB6\xA8\x5F\xAB\x44\xAA\x6C\x8D\x04\x30\xA7\x94\xA6\xA6\x95\xA9\x16\x9D\x79\xAA\xA6\x8E\xA9\x37\x9F\xA8\x84\xA6\xAF\xA9\x20\xA4\x29\x90\x94\xB8\x92\x86\xA3\x9A\xA1\xA6\xA7\xA6\x08\x93\x9D\xAD\x2A\xB9\xA9\x70\xA8\x98\xA1\xA7\x91\x90\x8D\xA0\x9B\xAD\xA3\x87\xAA\x12\xA1\x42\x03\x95\xA5\xA9\x81\xAA\x9E\xAE\x55\xB5\xA1\x75\xAA\x87\xA8\xA8\xB9\xA4\x6C\x95\x96\xA2\xA9\x8A\xA9\x8A\xA7\x58\xAC\xA8\x91\xAA\x86\xA9\xA2\xA0\x97\x91\x96\x85\xAB\x9E\xA1\xA3\xB4\xA9\xED\x8A\x5F\xA4\xA4\xA7\xAA\x5A\xA9\x4E\x97\x97\xA4\xA1\x2D\xAA\xA8", + "\xA8\xA4\x97\xAA\xFE\x8E\xA9\xA9\xAA\xB7\xA8\x5C\xAB\x96\xA6\x71\xA9\xA7\xA4\xA8\x9F\xA4\xAB\xAA\xA3\x13\x8F\x9C\xA6\xA9\x9D\xAA\x58\xA5\x44\x0A\x62\x85\xA3\x52\x8F\x64\xAB\xA9\xAE\xA5\xB9\xAA\x4C\x8A\x99\xB8\x07\x9C\xA6\xAF\xA8\xAA\xB0\xAA\xAA\xA9\xE8\x24\x9A\x8E\xAB\xB3\xAB\xB1\xA8\x96\x80\x00\xAB\xA6\x6E\xA4\xD7\x41\xA9\xAE\xA9\xAD\xA9\xA2\x9E\xA2\x0D\x04\xE2\x9A\xAD\xAD\x6E\xCD\xA0\x65\xA0\xAD\xBB\xAA\x93\xA9\xB4\xAF\x34\xB8\x96\xBC\xA6\xB5\xA3\xAA\xBF\xAA\xEF\xA7\x3E\xA0\xAC\x9F\xAB\xF0\xAA\x57\x92\xAF\x9D\xAB\x3E\xA9\xB5\xA0\xAE\xA6\xA3\xAD\xAB\x8C\xA8\xA9\x81\xAB\x03\xA0\xB5\xA7\xAE\xAE\xAB\x76\xA5\xAE\x92\xB0\xB3\xAB\xE8\xAB\xBF\xA4\xAF\x8F\xAB\x08\xAF\x5B\xA5\x6C\xBD\xAB\x82\xA9\xC4\xA0\x51\x87\xAC\xF8\xA9\xBA\xA6\xA1\x8D\x04\xDC\xAA\xBF\xA6\xAB\x96\xAC\x0E\xAD\x9A\x84\xB1\x9A\xAC\x0B\xAE\x9D\xA6\xA4\xA1\xAA\x20\xAD\xC2\xAB\xB1\x90\x99\x52\xA9\xBD\xA2\xB1\x8E\xA9\x1C\xA7\xC7\xAB\xB2\x9C\xAA\x80\x9F\xBB\x9E\xB2\x8E\xAA\x60\xAA\xBD\x93\xB3\x8D\xAA\x2C\xAF\x4B\xA7\xB3\xB0\xAC\x83\xA9\x42\x0E\xA6\xAA\xAC", + "\x34\xAC\x6B\x92\xA7\x90\xAC\x41\xAC\xCE\xA5\x2E\xB1\xA5\xE6\xA9\xC3\xA9\xAC\xAF\xAA\xBE\x91\x21\xAB\xB3\x88\xAB\x40\xAF\x2F\x7D\x94\x95\xAC\x0A\xAE\xC9\xAA\xAE\x8A\xAA\x4F\xAE\xAE\xA4\xB0\x96\xA9\x90\xA8\xD4\xAC\xB0\x94\xAD\x94\xA8\x49\x6B\xB5\xB9\xAB\x03\xAD\x23\x9F\x87\xA4\xAC\x2F\xAE\xD7\xA5\x83\x86\xA5\x1F\x9B\x91\xAE\xAD\x96\xAD\x70\xAC\xE8\x72\xAB\xA5\xAD\x51\xAC\xCF\xA1\xA5\x4E\xAD\x44\xAE\xD1\xAA\xB6\xA7\xA9\x8B\xA0\xA8\xAB\xA3\xB4\xAD\x5F\xAD\xC9\xAD\xB1\x84\xA6\x59\xAF\xBB\xA1\xB8\x90\x9B\xA5\xA1\xE1\xAC\xB4\xA0\xAD\x7D\xAA\xD9\x92\x36\x9F\x5F\xC6\xAB\xD2\xAF\xB6\xA3\xAD\x83\x8F\xB2\xA6\x24\x0D\xAB\x79\xAE\xDD\xA5\xB4\xAF\x8C\xD3\xA9\xE6\xAB\xB7\x8A\xAD\x45\xAB\x08\x82\x78\x9E\xAE\x5A\xAE\xE4\xA4\x6A\x89\x04\xE2\xAB\x66\xAB\xC6\x65\xAB\x94\xAD\xD5\xAD\xBA\xA1\xAD\x02\x05\x6E\xAA\xBA\xBB\xA6\x47\x98\x14\x73\x37\x81\xA7\xC5\x77\x70\xAF\x9B\x8F\x85\xCF\xA5\xF1\x97\x9E\x81\x04\xCB\xA5\xF5\x9D\x9C\x9D\x73\xBD\xAE\x99\x9E\x7B\x92\xA7\xE3\xA6\x4C\x85\x9D\x88\xA7\x49\x6F\x40\x08\x9D\x8C\xA7\x7C\x77\x76\xA4", + "\xA0\x83\x56\x06\xA9\x0C\x78\x7B\x95\xAF\x3E\xAE\x3B\x78\xAB\xA2\x71\xB6\xAE\xFD\x8D\x9E\x89\xAF\x2C\x9C\x7F\xAE\x9F\xB3\x87\x00\xA8\xF7\xA9\xD9\x51\x76\xE2\xAC\x36\x75\xBE\x81\x76\xE7\xAF\x80\xA0\xA1\xBF\xA7\xD8\xAE\x5E\x7C\xBC\xA1\x6E\x03\x07\xFA\xAE\x64\x88\x99\x50\x98\x82\xA3\xBF\x91\x72\xE5\x9D\xFC\xA2\x10\x0F\xA8\xFB\xAC\x3A\x73\x10\x12\xA8\xBF\x6C\x39\x4B\x97\x7B\xA4\x01\xA9\xAA\x68\xAD\x47\xB0\xFE\xAD\x40\x08\xBB\x86\x9A\x00\x02\x02\xAB\xC0\xB7\x6E\x08\xB2\xF9\xA6\xDE\x73\x8D\xC5\xAE\x79\xAE\xC9\x48\xAF\x34\x6E\xBB\x6D\xBA\x55\xB0\xEC\xAF\x05\xB2\x13\x99\xB0\x7E\x9B\xF1\xA2\x10\x01\xAF\x30\x72\x30\x44\xC1\x8D\xB0\x00\x03\xF2\xA0\x9D\x9B\xB0\x02\x07\xF3\xA2\xC7\x46\xB0\x2B\xB0\xF8\xA2\x0F\xB1\x9E\xEF\xAF\x7C\x84\x7B\x9C\x5F\x11\x06\x07\xB3\x1F\xA0\xB0\xF7\xAD\xF7\xAC\x72\x9F\xA7\x25\xB1\x78\xA6\x34\x02\x6C\x35\xB0\x83\xAF\xDA\x7F\x72\x3F\xAD\xA3\x95\xDC\x5B\xAF\x49\x75\x0F\xBC\xC0\xB6\xB0\x16\x9C\x10\xB1\x7D\x98\x73\xC8\x9D\x07\xB3\xC5\x8A\xB1\x96\x9C\xFA\xA9\x9F\xB9\x6B\x49\xB0\xF4\xAD\xDC\x61\xAF\x5F", + "\xB2\x16\xB1\xC6\x82\xAF\xD1\xAC\xF7\x99\xC3\x92\x8D\xF6\xAE\x41\x03\xC1\xAB\x97\x02\x06\x15\xBB\x79\xB8\xAF\xB0\x8D\xFA\xAD\x7C\xA0\xB1\x70\xB3\x46\x8C\xC2\xBA\xAF\x2F\xB1\x72\xA2\x10\x0B\xA8\x05\xB2\x0F\xB2\x35\xB2\xB1\xFF\x00\x71\xA1\xA5\x40\xB0\x7D\xB1\xF3\xAB\x7E\xAE\x62\x06\x89\x64\xAD\x10\x09\x88\xD7\x61\x23\xBF\xB8\x91\x04\x90\xB2\xDB\xA4\xB6\xA0\xAE\x46\x94\xDF\x88\xB6\x9B\xAE\x9F\xAD\xCC\xAC\xA1\x96\xB2\x1C\xAE\xE9\xA0\x8F\x99\x93\x8A\xAF\xE4\xA2\xCA\x90\x99\xEC\xA1\xDD\xAD\xC9\x82\xAE\x45\x7E\x02\xAC\xCA\xAA\xB2\xA5\xAC\x2C\xB6\xB8\xBA\xAB\x26\xAB\x04\xAB\xC9\xBA\xAD\xB1\xB1\x26\xBA\xA3\xB2\xA5\x87\xAC\x27\xB5\x91\x96\x89\xA5\xB3\x25\xBC\xB8\x8A\xA2\xC4\x81\x30\xB1\xCA\xB2\xB2\x2C\x9C\x93\xAF\xCA\xBD\xB2\x39\xAD\x94\xA6\xCC\xAE\xAE\xA7\xB0\xEC\x88\xA5\x8C\xB3\x9A\xAC\x2E\xB2\x13\x9E\xA9\xD1\xB1\xC8\xA0\xB8\xA2\xAC\x63\xA8\xE9\xA3\xCB\x9B\xB3\x1B\xA6\xCE\xAE\xCD\x8B\xAE\xCB\xB2\x57\x8D\xC4\xB4\xB2\xD4\xB1\x27\xB9\x70\xA3\xB3\xA6\xB0\x32\xB6\xA5\xB8\xAD\xA0\xB0\x34\xBE\xCE\xBC\xAA\x7D\xAF\x51\xA7\xCB", + "\x95\xB3\xF8\xB2\x98\xA3\x10\x13\xAD\xE5\xB0\x38\xB8\xC9\x9C\xB3\x03\x07\xA2\xA9\xCD\xB1\xAD\x03\xB7\xE0\xAD\xB5\xB9\xB2\xE8\xB1\x42\xBC\xB7\xA2\xAD\x05\xB5\x43\xB0\xAF\xB8\x9C\xEC\xB2\x30\xBD\xCF\x8F\x96\xF5\xB1\xDB\xA7\xCF\xAB\xB2\x69\xAF\xB5\xA0\xCF\x97\xB4\x08\xB6\x3F\xB3\xCC\xB2\xAD\x48\xAF\xEB\xAA\xCD\xBF\xB3\x0B\xB4\xF1\x73\xB7\xA4\xB4\x28\xB7\x47\xB0\xA2\xA4\x98\xCF\xB3\xC9\xAE\xD2\x97\xAD\xB7\x85\x4B\xB3\xD2\xAA\xB4\xB5\xB1\x42\x03\xAC\xAC\xA6\xC5\xAA\x4C\xB4\xD0\xB3\xB3\x95\xAC\x6E\x9D\x99\xBC\xB2\x0A\xB5\x4A\xB3\xD1\xAF\xA7\xBC\xA3\xB8\xA5\x63\xBA\xB4\x22\xB7\x4E\xBD\x2A\x99\xAB\xB3\xAF\xB6\xA8\xD4\x8E\xB4\x5F\xAF\x71\x93\x9B\x91\xB4\xC7\xB1\x3A\xBF\xCB\xBF\x87\xEC\xA9\xED\xAD\xBE\xB2\x84\x0F\xB3\x9F\x91\x10\x3A\xAE\x74\xB3\x60\xA4\xC2\x85\x9A\x5E\xB4\x00\x08\xC2\xBD\xA6\xD6\x9D\x64\x73\xD6\x8E\xB1\x10\xB3\x59\xB6\x9F\x82\x9F\x73\x8E\x0B\xBE\xBB\xB0\xB0\x01\x06\x0C\xBA\x7D\xB8\x72\xD2\xAF\x1A\xB3\x36\xBB\xB0\x16\xB2\x80\xA2\x13\x84\xB1\x64\xB6\x09\xB1\x10\x39\x9E\x54\xB3\xE0\x87\xCE\x97\xB1\x88\x74", + "\x14\xB1\xC4\x9B\xB5\x2C\x9C\x21\xB3\xBE\x92\x8D\x59\xB2\x18\xBE\xDD\x6E\xAF\x01\xB2\x44\x75\xBF\xAC\xB0\x76\xB1\x71\x7D\xC6\xB3\xB1\x42\xB2\x3C\x89\xD9\x90\xB0\x9B\xB5\x21\xBB\xBB\xB5\x99\x65\xB2\x64\xBA\x68\xB2\x84\x7C\xB3\x5C\xBE\xC7\x81\x04\x80\xB0\x1A\xB3\xC6\xB2\x83\x88\xB2\x6A\xBA\xC8\x81\x04\x04\xB0\xDB\x6E\xDE\x49\xAD\xEF\xA6\x2D\x91\xA2\x72\x92\xFD\x74\x2E\x9A\xDB\xB3\x6D\xAE\x91\x6F\xBD\x2A\xBF\xB6\xB1\x93\xDC\x7D\x4B\xAF\xA7\xC0\x93\xDC\x75\x9A\xAF\xA7\xC4\x91\x53\xBA\xE0\x61\x6D\x40\x9B\x6E\xB1\xDC\xB7\x77\xBC\xB4\x75\xB3\xDD\xBB\x92\xD5\xB4\x76\xB7\xDD\xB8\x74\x2A\x6A\xDE\x6C\xA2\x4E\xB2\xEE\x63\x53\xBC\xD3\x99\xAA\x0F\xAD\x3C\xBF\xD2\x8A\xB5\x6B\xAF\x27\xBC\xD1\x9F\xB3\x42\xB4\x02\xA4\xCA\x94\xB5\xF2\xB2\x55\xB2\x8B\x81\x04\xA9\xB2\x7C\xB4\xCE\xB5\xAC\x06\xAC\x7C\xB7\xDE\x89\xB5\xFC\xB4\x54\xB1\xD4\x9E\xB2\xE1\xA2\x7E\xB3\xD3\x83\xB5\x5E\x96\x32\xB9\xD1\xAC\xB7\x34\xB5\xAB\x89\xB1\x87\xB8\xF7\xB6\xD0\xA3\xB2\xBF\xAD\xED\xB6\x2F\xB9\x9A\x8B\xA4\xEB\xB5\x83\xB6\xCD\x85\xAC\xCE\xB2\x80\xB8\xDE\x9E", + "\xB4\x49\xA1\x40\x03\xCD\xBF\xB7\x04\xB8\x83\xB0\x60\xA2\xB7\xF6\xB5\x3B\xBD\x2A\xAA\xA4\xFE\xB4\x87\xB8\xDF\xA8\xA9\x24\xB8\x88\xBE\xDE\x89\x7C\x2D\xBA\x8A\xBE\xE0\x89\x04\x84\xB1\x88\xB2\xE1\xAE\xA4\x6C\xAD\x26\xA6\xDE\x83\xB8\x22\xBB\xE9\xAF\xA9\xB6\xB3\x10\xB9\x82\xBE\xE2\xBA\xA9\xE5\x40\x3F\xBD\xE3\x95\xB5\xFF\xB6\x1B\xAA\xE1\xBD\xB7\xE3\xB4\xEC\xA4\x87\xB1\xB8\x11\xB9\x33\xB5\xA9\xA5\xB8\x12\xB7\x8A\xB8\xBC\x7B\xB8\x1B\xB9\x94\xB0\xA5\x95\xB4\x3A\xB9\x85\xB6\xE2\x83\xB9\x23\xA0\x97\xB8\x97\x98\xB9\x4C\xB8\x95\xB4\xA3\x9B\xB4\x41\xBA\x8D\xB7\xE1\xAF\xB3\x27\xB6\x90\xB2\xE3\xAB\xB9\x3E\xB8\x7A\xA0\xE5\xAE\xB9\x5A\xBA\x3E\xB9\xB8\x8B\xB9\x29\xB9\x9D\xB3\x37\xB7\xB4\x46\xB5\x4E\xB8\xE7\x8D\xB9\x3C\xB9\xC9\x8E\xD3\xB3\xB9\x6A\xBB\x96\xB7\x5B\xA0\xB7\x03\x07\x72\xB5\xE8\x98\xB4\x33\xBB\x40\x0C\xD4\x8C\xAB\x6B\x73\x82\xB7\xE3\x9F\xB9\x1E\xB6\x54\xB8\xE8\x82\x04\xAC\xAD\x9E\xB4\xE7\x9B\xBA\x1D\xB8\x00\x02\xBB\x90\xBA\xB4\xAF\x9F\xB6\xE6\xB1\xB7\xDB\xA0\xA1\xB7\xE4\x9E\xAA\xE5\xB6\x97\xB5\xE5\x93\xBA\x71\xB9\x40", + "\x02\xA2\x80\xBA\x59\xB8\xA7\xB1\xA5\x75\xB7\x60\xB9\x3E\xBD\xD1\xBE\x92\xAE\xB3\xA9\xBB\xDF\x9A\xBA\x8B\xBB\xAD\xBB\xA2\x97\xA8\x64\xB8\xAF\xBA\xEB\x83\xA6\x06\xB8\xAB\xB8\xE4\x95\xBA\x11\x06\xA4\xB0\xE7\x87\xBB\x29\xB4\x40\xAA\xEA\x8C\xBB\xB2\xB9\xA3\xBF\x25\xA6\xBA\xC6\xB8\x79\xB1\x10\x29\xAC\xA3\xBB\xAE\xB0\xEB\xB3\x7D\x1F\xBB\x9B\xB6\xEB\x88\xB8\x5E\x94\x36\xBB\xED\x82\xBB\xD2\xB8\x4C\x92\xEA\xB5\xBA\x8C\xB9\x4D\x97\xEE\x9E\xBB\xEA\xB1\x44\x07\xD8\xBA\xB9\xE0\xBB\x8B\xB4\xE3\x94\xBB\xCB\xBA\xB5\xB7\x71\xA1\xB4\xE4\xB9\xBD\xB0\xB0\xA2\xB9\xAC\xA9\xB0\xB3\xEE\xBF\xBB\x3F\xAB\x3E\xB4\xEF\x9F\xBB\x38\xB8\xD6\xAB\xEE\xB0\xBB\x16\xB8\x38\xA3\xF6\x43\xBC\xE9\xBA\xA1\xBA\x87\x99\xBB\x81\xBA\x94\xBA\xA9\xB9\xBB\x04\xBD\x39\xAF\xE3\x96\xB4\x69\xBB\xB0\xB1\xEB\x9D\xBA\x68\xB8\x50\xBC\xEE\xBE\xBA\x3D\xAF\xC5\xBD\xE5\x99\xBC\xD5\xBA\xB6\xBA\xCB\xB9\xB8\x63\xBB\xB3\xB4\xEA\x9F\xBC\x08\xB8\x4B\xB7\xF0\x91\xBB\xFA\xB9\xE3\xAB\x98\xAF\xBC\xBD\xB9\xCB\xB2\xAC\xAC\xA2\x0C\xBC\xC8\xB2\xEF\x8E\x87\x83\xB8\xCD\xBA\xF1\xAA\xA8", + "\xE5\x41\x51\xBE\xDC\x87\xB5\x3E\xBD\xC9\xB3\xD3\x80\x97\x97\xB9\x40\x0A\xEC\x95\xBC\xAB\xB9\x98\xB3\x10\x29\xAE\xA0\xB8\x5D\x79\xE9\x80\xBC\xE8\xBA\xCE\xBC\xB8\x5F\xBA\x97\xAC\xD8\x8A\xD5\xA2\xB0\x2C\x9D\x57\xB2\xD8\x91\xB0\x2C\xB3\x5A\xBC\x7C\x85\x77\x6E\xB5\x02\xBB\x9E\x98\xB0\x57\x99\x61\xB9\x65\x9B\x99\x2C\xB0\x0E\xB5\xD9\x8B\x69\x7C\xB5\x08\xBE\xD7\x83\xB1\xD7\xAE\xDA\xBB\x53\x9A\xAF\x2C\xB2\x63\xB8\xC5\x98\xB6\xA5\xB6\x6B\xB3\xD9\xB2\x84\x9F\xB5\x59\xB1\xDA\x86\xB2\x8C\x6D\xE0\xBF\xF5\x83\xBE\xA3\xB4\x9F\x9D\xF7\xB7\xB5\x69\xB7\xDC\x89\xDA\x86\xAF\x46\xB0\x6B\xBC\xC2\xB1\xB6\x90\xBF\xEF\xA0\x00\x35\xB6\x1E\xBE\x2F\x9A\xD5\x7F\xBA\x0D\x04\x61\xBE\xEF\xAD\x8A\x9E\xBE\xCA\xB0\x3B\x92\x00\x7B\x9D\x39\x44\xFA\xAD\xAA\x7A\x95\xE9\xB2\x58\xAA\xBE\x0D\x06\x5D\xB8\xDB\x9E\x95\xD1\x70\xEA\xB1\x11\x21\xBE\x24\xBF\x2F\x7A\x01\x2C\xBE\x09\x07\xED\xB2\xFB\x8D\x04\x57\x00\xEE\xB3\x10\x2D\xAB\xFB\xA9\xC3\x6B\xFB\x83\x59\xBE\xBE\x88\x93\xFC\x9C\x98\xC5\xBC\xB9\x67\xFC\x86\xBF\x9F\xBF\xBB\x89\xFC\xB4\xB0\xCD\xBD\xC0\x8B", + "\xDE\x61\xB3\x11\x62\xF0\x85\x0E\x5B\xBE\x9D\xB8\xED\xB9\xF9\x80\xB8\x47\xB3\xF2\xB1\x10\x27\xBE\xD1\xBE\x2F\x90\xFE\xA2\xBE\x83\xA4\xA0\xAA\xF0\x91\x9C\xDE\xBC\x00\x0E\xFA\x9B\xA8\x03\x05\xEC\xB1\xFE\xAF\xA7\xDA\xBF\xEB\xB1\xA5\x7A\xBE\xEF\xBD\x39\x44\xFF\xA4\xBF\x4F\x85\xEF\xB9\xFE\x80\xBF\xA1\xAE\xF0\xB5\xFF\x91\x04\x65\x8D\xFA\xB6\xFE\xB6\xB9\xE8\xBF\xFF\xBB\x74\x42\xC0\xCF\xBF\x00\xC7\xAD\x82\xB2\x9C\xBC\xD8\x69\xFE\xB4\x60\x72\xBD\xAA\x64\xF8\xBF\x72\x5E\xBD\xE4\xB0\xF6\xB6\xBD\x62\xB5\xDA\xBC\xC5\x85\xA7\x09\x06\xD8\xB8\xD8\xA4\xBD\x2C\xB2\x5C\xB5\xF9\xB4\xB5\xEA\xBD\xDB\xBC\x9D\x98\xC0\x4F\x84\x60\xBC\xD6\xA5\xB5\xF1\xBF\x5B\xB1\x7E\xA4\xA7\x78\xBC\x0A\xC3\xF7\x7A\xBD\x88\x75\x64\xBE\xF7\xA7\xB6\x64\xB3\xF4\xA8\xF8\xA1\xB5\x4F\x86\xE1\xB6\x01\xFB\xC0\x9D\xB6\xC5\x9E\x03\xD6\xBE\x40\xC0\x63\xBE\xD9\x8B\xBE\x68\xB7\xF0\xA2\x7E\x94\x9A\x93\xBD\xA6\x94\x5E\xA7\xB1\x8C\xBF\x12\x6D\xC3\x79\xB1\x00\x00\x21\xB3\x01\xD7\x9E\xEE\x72\x04\xB8\x42\xA5\x64\x3A\xA5\xD8\xBA\x01\xC5\xB0\xDF\x97\x40\x06\x05\xC9\xBE\xB8", + "\x92\x07\xC2\x9F\x98\x73\x65\xBC\x13\x6B\x05\xCB\x69\x63\xC0\x0F\xC3\xF7\x62\xC0\x1A\xB3\x6A\xB5\x02\xE7\x97\x54\xC1\x1B\xC1\x04\xC3\x8E\x6E\xBD\x22\xB4\xBF\x82\x04\x71\xBF\x41\x03\x05\xC3\x70\x71\xB0\x0B\xBA\x02\xE3\xBD\x10\xB1\x0B\xCC\xC3\x9E\xA5\x2E\x6A\x1D\xC6\x04\xED\xA9\x31\xC3\x17\x7B\xC5\xA6\xB6\xA9\x9F\xDC\x84\x03\xC5\x77\x36\xC1\x0A\xBC\xD0\x89\xC2\x7C\xBE\x0E\xCF\x04\xF5\xC1\x99\xC2\x5E\xBF\x7D\x61\xB6\x7F\xC1\x5E\x71\x08\xF2\xC0\x8A\xBE\x26\xC4\x07\xC0\xC2\x7A\xB0\x29\xC8\x4B\x83\xC1\x24\xC0\x28\xCB\x06\xEB\x71\x8A\xC0\xD7\xB2\x0F\x8F\xBE\x71\xC3\x6C\xB0\x00\x2D\xB6\x96\xC3\xC3\xBF\xC1\x8D\xC1\xD3\xAC\xE6\xB2\xFF\x86\xBD\x1B\xBD\x94\x67\xAF\xB5\xBC\x09\xBC\x01\xC5\xA3\x85\xBD\x31\xBD\xAC\xBB\x6A\xB9\xBC\xF1\xB9\xB9\xB0\x00\x34\xBA\x2C\xBD\x31\xCE\xEB\xAC\xA8\xEF\xBC\x31\xC4\xE9\x88\xBC\xD7\xC0\xCC\xB7\xFE\x87\xC3\xD5\xC3\xCF\xBA\xE9\x8E\xBB\xB5\xBC\xD3\xB0\xED\x9D\xBA\x4B\xBD\xC3\xB6\x0E\xD7\xB5\x00\x01\xB1\xB9\x0C\xE5\xB9\xE9\xB5\x31\xB8\x0C\xE2\xC3\x2B\xBE\x2F\x98\xED\x95\xBD\xCD\xC2\xC4\xB8\x0D", + "\x8C\xC3\xD2\xC2\xCD\xB2\xB3\xAF\xC3\xE7\xC2\x3E\xCD\xCD\x9D\xC3\xC0\xC0\x3B\xC1\x30\xA9\xA9\x54\xBD\x34\xC6\xF1\xB5\xA4\xFC\xC2\xD5\xBE\xF4\xA3\xC2\x00\xC7\x3A\xCF\x0D\xFE\xA9\xCE\xBD\x42\xC5\x0F\xF0\xAC\xAB\xA9\x50\xA2\x11\xF9\xC3\x8B\xAD\x91\xB8\x0F\xD9\xC3\x21\xBE\x40\x02\xD0\x85\xC4\xD8\xC1\xD3\xBD\xCD\x47\xB4\x13\xC5\x3F\xC5\xF0\x97\xC2\x10\xBD\x30\xC4\xE4\x9E\x8B\x17\xC4\x47\xC6\xE5\xA2\xBC\x29\xBD\x38\xC6\x12\xEE\xC4\xC4\x99\x5A\xAE\xB7\x9B\xBF\xD6\xC2\x48\xC6\x0C\xDD\xBC\xBF\xC2\x43\xC0\x12\xDC\xBF\x36\xC4\x90\xB8\x13\xDE\xC3\x3F\xC5\xA7\xBA\xD8\x86\xC4\x3A\xC6\x42\xCD\xCD\x66\xA2\x14\xBF\x4C\xC4\xCF\x83\x04\x7C\xBB\xD0\xBE\xE7\x8D\xC4\xF0\xC2\xC9\xB0\xD0\xB3\xA2\x3D\xBC\x55\xCE\x14\xE3\xC3\x51\x6A\xD0\xB1\xF5\xBE\xA2\x5A\xC6\x52\xCB\x15\xD0\x99\x8F\xB9\xD6\xBE\xA2\x65\xC3\x62\xC5\x5A\xC3\xE1\x8F\xBD\x53\xB5\x58\xC5\x12\xEA\xC5\x18\xB9\x42\x08\xF5\x88\x08\x4B\x68\xFF\xB9\x12\xC2\xC4\x7E\x9E\x26\xB2\x13\xF0\xC5\x34\xC7\x2F\x73\x0C\xC4\xC5\x77\xC5\xF0\xB5\x22\x9B\xC4\x49\xC7\x5A\xC2\x10\x10\xC3\x21\xC4", + "\x57\xCB\x12\xC2\x82\x84\xC6\x62\xCE\x13\xC1\xC6\x45\xC6\x30\xCD\x18\xF1\xC3\x9B\xB8\x38\xC3\x14\xC1\xC4\x4D\xC7\xDC\x88\x16\xEF\xC5\x9C\xC7\x49\xC3\xED\xAD\xC4\x85\xC5\x46\xCB\xCB\xBD\xC4\x55\xC5\xC4\xBB\x0D\xF3\xC3\x48\xC6\x63\xC4\x11\xF6\xA0\x93\xC6\x55\xC9\x1A\xDD\xA9\xAD\xC6\x69\xC2\x96\x82\x04\x28\xB9\x64\xC8\x19\xFD\xBF\x4A\xA1\x6C\xCA\x12\xCE\x8D\xD9\xAC\x68\xCA\x1A\xF3\xC6\xA9\xC2\x5B\xC8\x11\xFD\xC5\x47\xAF\x4D\xC4\x1A\xE3\xC5\xAE\xC5\x5E\xC0\x11\xC1\x8C\x0A\xC1\x67\xC4\x1C\xC0\xC7\xEF\x72\x6E\xC8\x17\xCD\xC0\x01\xB6\x74\xC9\x19\xC6\xC6\x4F\xBA\x6F\xC4\x19\xC3\xB5\xE5\x43\xCC\x97\x1B\xD0\xC6\x27\xBF\x95\xB8\xFF\x93\xC7\x39\xC7\xE0\x8C\x13\xE4\xC7\x80\xC5\x3B\xC6\xD2\xB8\xBB\xB6\xC7\x63\xCA\x1E\xC1\xC5\x18\xBF\x65\xCE\x1E\xEF\xC6\x4E\xBB\xBD\xB6\x1C\xE8\xC7\xDF\xC5\x92\xBF\x89\x82\xC7\xCF\xC4\x5F\xCD\xEA\x80\x00\x4C\xC5\x7B\xC5\x1A\xD7\xAC\x36\xB4\xCE\xBA\x1D\xC9\xC7\xDA\xC1\x64\x76\xB9\xB4\xC5\xB6\xA3\x78\xC7\x1D\xC3\xC7\x16\x9E\x57\xC6\x16\xF2\x8C\x07\xCA\x6C\xC3\x0D\xC1\x9E\x49\xBD\xEC\x86\x1D\xC2", + "\xC8\xC6\xC0\xD4\xB3\x21\xE4\xAB\x1B\xC8\x78\xCA\x1F\xEB\xAB\x19\xCA\x5D\xCB\xD8\xB3\x69\x57\xC1\x64\x75\x01\xD6\xBE\x60\xB7\x1D\xC0\x65\xA6\xC1\xFD\xA4\x1A\xCE\x05\xD3\xAF\x69\xC1\x04\xC7\xF6\x8A\xAF\x6C\xBE\x2A\xCD\x2A\xB9\xC1\xB2\xB7\x1E\xC1\x10\x3D\xC1\xA9\x76\x1B\xC5\xF4\x43\xC2\x1F\xC1\x21\xCC\xC2\xAF\xBB\x31\xC9\x62\xB9\xF7\x9F\xAF\x1B\xC3\xA0\x98\x04\xEE\xC0\x78\xB6\x1A\xBF\xF6\xAB\x71\x45\xC2\x2C\xC2\x04\xCF\xC9\x66\xBF\x7D\xA0\xF8\x98\xC9\x7D\xB6\xED\x9B\x04\xD3\xAF\xB8\xC1\x12\xC9\xC6\xA8\x9F\x4E\xC0\xE5\x94\x06\xED\x8A\x2B\xC8\x09\xCD\x22\xCB\xC2\x55\x9B\x17\xC7\x03\xD1\xC2\x23\xB2\x9B\xC1\x05\xE3\xC9\x71\xB5\x8E\xCD\x24\xCC\x6E\x3C\xCB\x08\xC2\x07\xC0\xC9\x9C\xB4\x9B\xC0\x65\x84\xC9\x67\xC0\x62\x76\x08\xDD\xC9\x37\xC8\x14\xAD\x08\xD0\xC2\xDA\xA5\x37\x73\x09\xD0\xB0\x95\xC2\x98\xCF\xDA\x97\xC9\xA6\xC3\x9D\xCF\xCB\x6C\xC2\x72\xC1\x95\xC3\xF7\x87\xC1\x91\xC8\xA2\xCD\xA0\x9E\xB1\x99\xCB\x9B\xC9\x28\xDF\xC9\x9E\xC1\x44\x01\x26\xD0\xC9\x8D\xBE\x4C\x84\xF9\xB5\xC2\x3E\xCB\xE5\xBA\x5E\xA8\xC2\x55\xC3\x0F", + "\x74\xD6\x5C\xC2\x3A\xCA\x57\x89\x26\xF2\xC1\x5A\xC2\x76\x9C\x05\xF3\xBB\xB1\xC9\xC0\x80\x23\xCF\xB6\x63\x8D\x8D\xCE\x07\xEE\x75\x50\xC2\xA3\xCF\xF7\xAC\x9C\xBB\xCA\x8C\xC9\xD5\x4F\xC2\x9E\xCB\xA6\xC5\x27\xD3\xAF\xEB\xBF\x21\xC7\xB5\x70\xCA\x92\xC9\x37\x79\x27\xE8\xCA\xFC\xAC\x1F\xCB\x2A\xE2\xC2\xC1\xC6\xA6\xCB\xC4\xB7\x9E\xD3\xAF\xA0\xC1\xC5\xB6\xCA\x6C\xC3\x91\xC7\x28\xF3\xB0\x9B\xBF\xF7\x51\x0B\xD7\xCA\x55\xB0\x93\xC5\xC0\xA5\xCB\x43\xAD\xB4\xCC\x29\xE1\xCA\x79\x9B\xB5\xCB\x5D\xA2\xC1\x9D\xC3\x94\xC3\x7D\xB2\xCB\xB7\xC8\xBD\xC9\x2B\xFE\x92\x94\xCA\x2D\xCE\x0A\xE0\xCB\xB0\xC1\xBD\xCA\x07\xD5\xCB\x05\xAB\xB1\xC1\x2C\xE4\xCA\x4A\xC2\xE3\xBC\x04\xC6\xCC\xD0\xCA\xB6\xCD\xC5\xB3\x8D\xA7\xC9\x11\xB6\xF9\xBE\xC2\xF8\xC7\x7C\xC4\xD1\x81\xB8\xFC\xC5\x68\xC9\x0D\xFA\xC5\xF2\xC7\x80\xC5\x31\xDD\x73\xAF\xBA\x88\xC4\x1F\xC7\xBD\x27\xA9\x85\xCB\x1B\xEB\xC6\x8C\xC6\xC9\xCF\x31\xC8\xC7\x16\xCA\x73\xCF\x1F\xFF\xC5\xF9\xC7\xC8\xC4\x20\xEE\xC3\x19\xCF\x6F\xCE\x1F\xC3\x8E\x9B\xC4\x84\xC6\x33\xD8\xC7\xE9\xC1\x88\xC4\x0F\xDE\xC6", + "\x1E\xAE\xCA\xCF\x20\xC7\xC4\xD7\xBA\xCF\xC2\x33\xEC\xBF\xF7\xC2\xD0\xCC\x21\xD7\xC8\xFB\xC1\xCD\xCB\x1D\xE9\xC7\x01\x8D\x6D\xC2\x32\xC9\xC6\x94\xC5\x39\x44\x10\xD3\xCD\x09\xC8\x3A\xC8\x24\xE5\xC7\x4F\xCD\x4D\xCD\x2A\xCA\xCD\x58\xCD\x47\xC0\x1F\xE3\xBC\x1D\xCC\xCB\xC7\x32\xFB\xC4\x6D\xB8\xD7\xC8\x20\xE2\xCD\xD1\xC4\xD8\xCF\x33\xDB\xCC\x52\xA6\xD1\xC4\x35\xC8\xC8\x59\xA6\xDB\xC7\x34\xEB\xB4\xAF\xC3\xD2\xCE\x32\xE3\xB2\x67\xAF\x5E\xCB\x37\xDD\xCD\xBC\xC4\x4C\xCD\xEF\x8E\xC8\x7A\xCE\xCE\xC0\x65\xA7\xC7\x43\xCE\xC6\xCF\x14\xEB\xC7\xF7\xC5\xE2\xCB\x33\xC0\xCD\xF6\xC6\x50\xC7\x1C\xF7\xCC\x80\xCE\xC3\xB8\x59\x8E\xCD\x6B\xCC\xD4\xC7\x31\xF7\xB9\x98\xCD\xCB\xC6\x38\xF0\x8E\x51\xC7\x57\xC3\x1F\x91\xAE\x85\xCD\x7F\xCC\x33\xCB\xC8\x16\x08\xE6\xAD\x39\xE7\xCD\x94\xCC\xEC\x82\x21\xCC\xC8\x2E\x6A\xA2\xBA\x39\xD9\xCD\x3C\xCD\x59\xC0\x3B\xCE\xB5\x76\xCF\xDC\xC4\x32\xE1\xAB\x6D\xC4\xE1\xC1\x36\xF3\xCE\x5E\x97\x5C\xC9\x3A\xDA\xBD\x66\xCA\x90\xC8\x4B\xB3\xCA\xB6\xC3\x9A\xC6\x25\xED\xC9\x34\xCB\x8C\xC0\x2F\xC9\x04\xBE\xC9\x90\xCE", + "\x22\xF0\x8E\x70\xC2\xC4\xC4\x02\xCD\xCB\x84\xCA\x96\xCC\x72\x93\xCB\xD6\xCF\x9E\xC2\x08\xF5\xBD\xEE\xC8\x0C\xC3\xBD\x87\xC5\x7D\xCB\xF2\xC0\x65\x8B\xCA\x65\xB5\xA3\xC8\x30\xF4\xC9\x5B\xC9\xA7\xC3\x27\xCF\xCA\x83\x8D\xBF\xC9\x2A\xD6\xCA\x5E\xC8\x65\xB3\x30\xC2\xB0\x80\x9A\xC0\xCD\x23\xC4\xCC\x00\x00\xFD\xC5\x28\xF3\xC2\x0B\xCD\xF8\xC6\x2A\xE5\xC9\x02\x6B\x6D\xB3\xB8\x84\xB7\xF4\x76\x2E\x95\xDF\x7C\x77\xD6\xB5\x2D\x92\xDC\x9E\x85\x08\xD3\x7F\x7C\x4B\x9D\xB7\x08\x6B\x77\xB3\xC9\x89\x63\x5B\xBC\xBA\xC9\x64\x99\xC1\xCE\xCE\xBD\xC4\xD7\x51\xCF\xE5\xCE\x06\xDF\x22\xF2\xC9\xC2\xC8\x0E\xC2\x0F\x95\xCF\x81\xB6\x05\xC8\x3D\xF6\xC8\xDA\xCF\x0D\xB7\x02\xC2\xD0\x74\xBD\xB7\xC2\x2E\xE3\xCF\x4B\xCB\xF4\xAA\x3E\xD9\xC9\x70\xB5\xFB\xCF\x3C\xD7\xB6\xFB\xCB\x7B\xA2\x3F\xFC\xCF\xFE\xCD\x0B\xD0\x29\xFB\xD0\xF9\xCD\x0F\xDB\x9F\x9C\xC9\x2C\xD1\x0E\xDC\x72\xB4\xC2\xDD\xCE\x2D\xC3\x2A\xF8\xD0\x2F\xC3\x00\xDD\x0B\xF7\x80\x1E\xCE\xE3\xC0\x65\xB7\xAB\x65\x7E\xDC\xC4\x3B\xF1\xC5\x18\xCC\xE9\x7A\x45\xEA\xCD\x32\xBF\x40\x01\x32\xDE\x85\x16", + "\x83\xDB\xCA\x38\xD0\xBB\xE5\x40\x62\xCF\x9E\xA5\xD1\x77\xCD\xE9\xCB\x38\xDF\xB5\x54\xD2\xD9\xCB\x32\xE8\xC3\x6C\xD2\xEE\xCC\x3A\xFC\xCC\x58\xD1\x44\x05\x47\xDB\xD1\xA6\xCE\x68\xCF\xE0\x88\x7F\xB9\xCC\x1F\xD2\xCC\x83\x94\x71\xD1\xEB\xCE\x39\xC4\xCD\x3D\xCC\x0A\x8E\x3B\xE6\xD1\x8F\xCE\x95\xAC\xA4\x99\xD1\x81\xD0\x18\xD3\x33\xCE\x83\x85\xD3\xDF\xC9\x39\xCE\xC3\xDD\xBA\x2F\x9B\x47\xD2\xD2\x73\xD0\xCF\xC2\xEE\xAD\x8A\x9B\xD0\xF0\xC2\x4A\xEE\x7B\x95\xD3\xE7\xC7\x48\xEF\xD1\x00\x03\xD5\xC4\x46\xDF\xD1\xB3\xCC\xC1\x94\xF9\x51\xD2\xA3\xD3\x2F\x74\xC8\x90\xD2\xAB\xCD\x27\xDE\x47\xFC\xBB\x16\xC7\x2B\xD5\x4B\xD6\xD1\x74\xCF\x72\xCE\x4B\x9D\x98\x0D\x05\x28\xD1\x33\xF6\xD1\x48\xCD\x40\x03\xB5\xB4\xD2\x8B\xD1\x1B\xDF\x3B\xCC\x6E\x1F\xC4\x28\xDC\x4A\xC3\xD3\xD4\xC7\xC2\xBA\x48\xFE\xCD\xA6\xD3\x1D\xDC\x45\xFA\xC2\x01\x8E\x30\xD6\x31\xC2\xD2\x7C\xCE\x78\xC6\xFB\x4F\xD3\xDB\xD2\x57\x98\x38\xF8\x92\xDA\xD1\x15\xDE\x46\xE7\xB9\x6D\xB8\x32\xD4\x4D\xFD\xD1\xEC\xD3\x7F\xC3\x4E\xCE\xD3\xB0\xD0\x34\xDC\xF1\xA9\xD3\x7A\xD0\x38\xD6\x4E", + "\xE1\xC7\xA3\x59\x29\xDD\x4E\xCD\xD2\x83\xD1\x44\x01\x20\xF0\xD3\xBB\xD3\x39\xD5\x35\xF7\xBC\x19\xC8\xE9\xC0\x50\xC9\xD3\xC4\xD0\x2F\xD3\x98\xA8\xCE\xF4\x06\xEA\xCE\x45\xF1\xD3\xE1\xD0\xE2\xA1\x10\x2F\xCE\xC3\xCD\xEC\xCA\x4F\xE7\xD1\x95\xCC\x74\xC6\x3B\xD5\xD4\xB8\xCE\x2E\xD8\x50\xDC\xD3\x19\xD7\xB5\xAE\x21\xF7\xCE\x20\xCB\x34\xD5\x36\xC6\xD2\xD6\xD0\x22\xD2\x3C\xCD\xD4\xC4\xCE\x47\xDB\x4E\xD8\xD4\x97\xD2\x5F\xC7\x51\xFC\xD3\x34\xD4\xAA\xBA\x8F\xB3\xD4\x21\xD6\x25\xD0\xD3\x83\xC6\x26\xD7\xE4\xCA\x53\xE9\xD4\xFF\xC6\x1A\xDA\x4E\xE7\xD4\x3F\xD6\x2D\xD2\x0F\x8A\xA0\x43\xD6\x4F\xD5\x4D\xC6\xD5\xFF\xC5\x39\xD2\x47\xCA\xD4\x4F\x85\x1E\xD1\x4C\xF6\xD3\x4F\xD5\x4D\xB4\x33\xCF\xD4\x01\xD7\x32\xD6\x0F\xCA\xBD\x38\xD5\x4C\xD7\x4F\xEF\xC7\x89\xD2\x4B\xD4\x54\xCB\xD5\x50\xD7\xDC\x7F\x48\xF5\xD3\x10\xD7\x57\xD4\xFD\xAF\xA0\x5D\xD7\x29\xD5\x53\xFB\xBB\x03\x05\x26\xDB\x46\xD4\xD5\x28\xD5\x31\xD0\x00\x1F\xD2\xAB\xD1\x5A\xD5\x55\xF8\xD3\xB4\xC5\x5B\xD0\x54\xEF\xD5\x3B\xD5\x40\x0A\x4A\xD9\xD3\x74\xD5\x51\xD5\xF4\x48\xC9\x49\xD4", + "\x53\xD0\x58\xC4\xB3\x0C\xC4\x56\xDF\x51\xDC\xD2\x0F\xC4\xCA\xB3\x38\xDF\xD3\x7A\xD5\x5D\xD2\x18\xE3\xCD\x31\xC4\x20\xD9\x55\xCC\xD2\x39\xD4\xCB\x97\x4C\xE8\xD5\x9B\xD6\x32\xDC\x59\xF0\x8E\xCD\xD1\x5E\xD1\x5A\xC9\xD4\x02\xD4\xEC\x83\x61\x89\x04\x4E\xD6\x65\xD9\x5A\xE1\xD1\xD8\xD2\x26\xD5\x58\xE4\xD5\x56\xD6\x74\x7D\x53\xCA\xD6\x9D\xD4\x22\xDF\x4E\xE6\xD6\x8F\xD5\x2C\xD8\x32\xF8\xD2\x78\xAA\x5F\xD8\x5B\xDE\xD5\x68\xCC\x7B\xC7\x50\xEF\xD4\x8B\xD7\x70\xD3\x98\xBB\xD6\x84\xD5\x65\xD6\x58\xCF\xB4\xFB\xC6\x63\xD8\x5C\xF9\xD6\x30\xD5\x60\xD0\x20\xC2\xD7\x65\xD5\x76\xD8\x4B\xA1\xCE\x1F\xCB\xE8\xC8\x5D\xEF\xD6\x7F\xD6\x4D\xD0\x00\x0C\xD4\x47\x0A\x43\xD4\x59\xE7\xD6\x20\xD4\x71\xD3\x37\x94\xD4\x2C\xD6\x45\xD7\x5B\xDA\xD7\x5A\xD7\x36\xCB\x51\xED\xD7\x1D\xD6\x74\xD3\x56\xFB\xD3\xD4\xD4\x8D\xA3\x52\xDC\xD4\x25\xD6\x58\xDA\x54\xF8\xD7\xEA\xD4\xCF\xCB\x52\xE5\xD7\x2D\xD6\x7D\xDF\x5F\xD5\xD7\xE1\xD4\xEC\x82\x55\xEC\xD6\xB3\xD4\x80\xD3\x98\x8B\xD8\x6C\x79\x83\xD8\x60\xC3\xAE\x63\xD1\x73\xD8\x5E\xD0\xD6\xD0\xD5\xC0\xAF\x5E\xE0", + "\xD7\xCA\xD4\x63\xD0\x47\xDB\xD8\xF1\xD7\x5E\xD3\x22\xCC\xD8\xCE\xD4\x6D\xD1\xF0\xA9\xBA\xE7\xD5\x6F\xD2\x4F\xEF\xC4\x9F\xC6\x7F\xDD\x61\xEF\xD8\x66\xAC\x90\xAF\x5D\xE1\xD8\xAE\xD7\x89\xD1\x34\xEE\xD8\xF0\xD7\x68\xD6\x5D\xE7\xD5\x53\xD5\x89\xDE\x60\xD3\xD2\x45\xCC\x88\xDA\x63\xC9\xD8\xBB\xCD\x42\x02\x57\xC9\xD6\x39\xDA\x68\xD8\xEC\x8D\xCD\x06\xD8\x8C\xDC\x61\xF1\xD8\x43\xA3\x8C\xD3\x64\xCE\xD9\x36\xD9\x2A\xD2\x65\xCA\xD9\xA8\xD5\x95\xD8\x58\xE0\xD6\x2A\xD9\x44\xDE\x0C\xF3\xD2\x5C\xDB\x74\xD1\x60\xE6\xD8\x57\xC4\x66\xD3\x59\xDA\xD6\x5D\xDA\x5A\xD9\x65\xD7\x98\xF4\xD1\x8F\xD7\x61\xFE\xD6\xD0\xC7\x67\xDE\x66\xE9\xD9\x22\xD8\x96\xDF\x9E\xA5\xD6\x16\xD8\x9D\xD5\x63\xD3\xD9\x50\xDA\x34\xD8\x63\xCF\xD9\x80\xD9\x95\xDE\x19\x08\xD9\x81\xD8\x9F\xD8\x1B\xCF\x76\x42\xDA\x9D\xD8\x61\xFC\xD5\x66\xD9\x2E\xDD\x64\xC9\xD9\x6B\xDB\x5A\xD2\x38\xCE\xDA\x29\xDA\x98\xDE\x56\xF9\xD7\xE2\xD4\x73\xD2\x5B\xFE\xD8\x13\xDB\x65\xD1\x39\xF1\xC7\x0C\x79\x6B\xDF\x5C\xF4\xD8\x3C\xCC\xF9\xC3\x57\xDC\xDA\xC9\xD4\xDE\xCD\xAB\x89\xDA\x91\xD9\xAB", + "\xD5\x19\xC4\xD4\x17\xD1\x42\x06\x50\xFC\xD6\x96\xD8\x91\xD6\x6B\xC3\xAE\xE4\xD6\x67\x06\x5E\xE8\xD9\xB5\xD8\x95\xD6\x68\xED\x8A\xEC\xD4\x81\xDE\x5E\xFF\xD9\xA4\xD8\x99\xD2\x69\xC2\x04\xF3\xD6\xB0\xD5\x5F\xD5\xDA\xF7\xD5\xA7\xD5\x68\xC1\x8C\xFB\xD4\x7D\xDD\x5F\xCF\xDA\xCF\xDA\xAB\xDC\x36\xC3\xD8\xBA\xD9\x81\xD9\x2C\xE1\xD0\xF5\xCC\x57\xBC\x41\xC6\xD1\x11\x05\xB1\xC8\xD8\x60\xD0\xA2\xB6\xF1\xCD\x2A\xA2\xDB\x20\xC0\xB8\xDD\x10\x28\xD0\x2B\xC3\xD7\xBB\x42\xE7\xC8\x22\xD2\x97\x9F\x42\xCE\xCC\x1C\xC2\x62\x50\x3E\xF4\xDB\x51\x68\x92\xCC\x2B\xDF\x5F\xA6\xD9\x8A\xC2\x09\xEA\xCB\xDB\xDB\xC3\xCA\x43\xDE\xD0\xF0\xAE\xBA\xDC\xD5\x48\xD1\xF0\xD9\xB7\xD9\x03\xC4\xD1\x05\xCC\x0C\xD8\x29\xCC\xDC\xFD\xCF\x1E\xB1\x40\xF8\xDB\x8C\x6D\xC4\xC9\x42\xD3\xCC\x57\xDA\xB5\xDD\x4A\xC0\xBB\xD4\xD9\xB1\xDF\x63\xC3\xAE\x10\xDA\x40\x02\x6A\xC6\xDB\x1A\xDE\xD7\xC5\x61\xDB\xDA\x6F\xDB\x8A\xDE\x0C\xC2\xD5\x61\xD9\xB3\xD9\x6A\xD5\xDB\xEF\xA4\x52\xDD\x72\xC7\xD8\x2F\xDE\xC7\xDD\x54\xD2\xD8\x35\xDD\xA9\xBC\x6A\xE9\xD7\x97\xD9\x2F\xDF\x47\xE1\xDA", + "\x38\xDC\xA6\xD5\x1F\xDC\xAB\x84\xDA\xCD\xD9\x73\xC7\xDB\x37\xD9\xC7\xDF\x6B\xCB\xDD\x4B\xD8\x85\xBC\x6C\xF4\xDC\x42\xDD\xCF\xD0\x5B\xC1\xD9\xC4\xD8\xD3\xD5\x72\xCB\xC4\x1E\xB9\xC6\xDC\x73\xF7\xDA\xAA\xD9\x42\x08\x57\xF9\xD9\xBD\xD8\xA4\xDB\x75\xF3\x7D\x52\xCC\xAD\xDE\x72\xD1\xDD\x5C\xDD\x6D\xD2\x58\xDA\xDD\x8B\xDA\xD5\xDF\x9E\x9B\xD9\x73\xD9\xD8\xD0\x73\xEC\xCD\x60\xD9\xDC\xD7\x76\xE3\xD9\x1F\xDD\x9F\xDD\x68\xC1\xD7\x3B\xDD\xDB\xDA\x68\xD2\xD4\x9F\xD8\xD9\xC0\x74\xE8\xDA\x68\xDE\x5D\xD2\x67\xE4\xD8\x29\xDE\x97\xD8\x75\xDF\x95\x7D\xDC\x9C\xDB\x67\xC8\xDD\x2D\x9D\xE3\xDA\x72\xCA\xDE\xDD\x73\xA0\xD3\x73\xFE\xDA\x7F\xDE\xD7\xC6\x61\xA0\xDD\x77\xDE\xD4\xD9\x76\xD5\xD9\x9A\xDB\xA9\xD9\x78\xEA\xD9\xAF\xDA\x64\xD4\x69\xFC\xDA\x9D\xDF\xE7\xDE\x76\xE2\xD3\x6D\xD8\xE2\xDA\x67\xE3\xDA\x6E\xDD\x45\xCC\x77\xD5\xDD\x99\xDC\xE5\xD0\x1D\xE6\xDA\x45\xDF\xEA\xDE\x78\xFC\xCC\xFF\xD2\xD9\xD0\x75\xF8\xDD\xCE\xD9\x95\xDC\x5D\xE4\xD4\xDE\xD6\xE4\xD6\x7B\xCF\xDE\x9B\xCD\x66\xA9\x15\xCA\xDD\xB5\xDC\xE9\xDD\xE9\x81\xDB\xD9\xDB\xB0\xDC", + "\x7C\xD7\xDD\xCE\xDC\xE0\xD9\x6C\xD1\xDF\xCB\xD8\xEA\xDF\x7B\xDE\xDE\x98\xDE\x2F\x91\x6D\xCA\xDB\xD3\xDB\xD3\xDD\x7D\xE3\xDD\x5D\xDC\xE4\x99\xD5\x85\xCF\xD3\xCC\x70\xAF\x6D\xCE\xDC\x16\x9C\xBA\xDD\xD6\x9D\xD0\xF7\xCE\x65\xB7\xC2\xA1\xC0\x76\xC8\xC5\xD9\xD7\x84\xDC\x3A\xB3\xF7\xC2\x43\xC6\xDC\x0E\x87\xB8\xCF\x3E\xC3\xCB\xF2\x80\xFA\xCF\xF5\xB7\xD0\xD9\xCE\x12\xDF\x70\xF8\xDF\x6C\xB2\xFE\xCA\x27\xFE\xCB\x0A\xE0\xB5\xC8\x3F\xCD\xDC\xF6\xDE\x94\xC1\x7F\xCB\x69\x41\xD2\x01\xE6\x71\x8C\xD1\x17\xDC\x09\xCF\x44\xC5\xE0\x51\xD0\xCB\x96\x71\xED\xDB\x16\xC0\xC5\xC0\x45\xFE\xA6\xE6\xDA\xAC\xCB\x7E\xD1\xE0\x6A\xB4\x09\xDB\x3E\xF0\xCF\x23\xD1\xF3\xCC\x7F\xC2\x04\xEC\xD8\x21\xC5\xD6\xAF\xDB\xD2\xCE\x9F\xC2\x6F\xD3\xAF\x7C\xC9\xB9\xD9\x7E\xE9\xC0\xF7\xD9\xC0\xD5\x6F\xC8\xC4\x10\xDD\xBF\xD7\x26\xDE\x85\x02\xE2\x05\xC4\x80\xC9\xD1\x1D\xE3\x01\xE3\x81\xD4\xC9\x0D\xE1\x13\xD3\x3F\xCD\xE1\x19\xE1\xA5\xC0\x85\xE0\xE0\x44\xC2\xC4\xD0\x26\xFC\xC2\x10\xDE\x08\xEC\x81\xE4\xE0\x3B\xE3\xDC\x78\x3C\xE9\xCA\xCA\xCD\xBC\xD9\x01\xEE\xE0\xEC", + "\xDC\xF3\xC0\x71\xE4\xDB\xFE\xD8\x8E\xCC\x2C\xE6\xC0\x38\xE2\xFE\xD0\x71\xDE\xCB\x09\xDF\xFF\xCC\x08\xF4\xD0\x2F\xE1\xB6\xCB\x84\xEE\x68\x47\xE1\x1C\xE2\x44\xF1\xCF\x08\xDD\x0D\xE6\x3E\xF5\xB1\x7D\xE0\xB7\xD2\x87\xFC\xE1\xEE\xCD\x09\xD0\x27\xCB\xDC\x08\xE3\xD8\x85\x81\xC9\xE1\x17\xE3\xC4\xDE\x83\xC7\xB2\x04\xD2\xC3\xC9\x86\xDD\xBD\x27\xE3\x23\xE3\x7A\xAA\xE0\x23\xE1\xA9\xC4\x2C\xD8\xE2\x5B\xE2\x26\xE7\x42\xF5\xDF\x96\xE3\xFD\xD7\x87\xF4\x75\x39\xE3\x24\xE2\x0F\x80\xCA\x49\xC9\x71\x70\x87\xFE\xE1\x62\xE3\x53\x8A\x6F\xD8\x73\x42\xE1\x09\xE1\x30\x85\xE1\x96\xBD\x1E\xEC\x8A\xCA\xDC\x4A\xE3\xFE\xCF\x80\xD1\xDC\x75\xE0\x7C\xA1\x88\xFA\xE0\x36\xE3\x60\xAF\x43\xFB\xE2\x8B\xE1\x94\xCF\x2E\xC9\xE2\x9F\xC2\x15\xE0\x71\xDB\xE0\x48\xE2\x31\xE0\x31\xD1\xE2\x01\xDE\x29\xE6\x71\x9F\xE1\xFC\xCD\x18\xE8\x8B\xED\xDF\x9C\xE1\x33\xEE\x89\xD8\xE3\x64\xE0\x0A\xEB\x2C\xD0\xDC\x34\xE2\x20\xEB\x87\xD0\x99\xDC\xCD\x14\xE6\x0B\xE5\xE2\x43\xE1\xC0\x88\x8A\xFB\xDB\xB3\xBF\x0C\xD1\x84\xF5\xD0\x10\xDE\x2D\xE2\x8E\xD6\xE0\x84\xE0\xC4\xD5\x8C", + "\xDB\xE3\xF5\xE0\x32\xE1\x11\x37\xE3\x09\xCF\xC0\xD3\x8A\xC5\xDC\x65\xE0\x94\x93\x8C\xF2\xDF\x10\xE1\x28\xED\xCD\x58\xE0\x54\xE2\x06\xE8\x85\xFA\xE3\x0D\x06\x16\xE6\x74\xC5\xDE\x7A\xDC\x37\xCF\x7A\xE4\xDC\xA5\xDE\x7A\xB2\x77\xCF\xE4\xC0\xDF\xE0\x87\x72\xE4\xDF\x73\xDC\xE0\xDA\x46\xFE\xDD\xD4\xDE\x31\xC9\xEB\x93\xDE\xD5\xDC\x49\xE5\x67\xCA\xC7\xB6\xB3\x45\xEA\x7B\xD0\xD3\x96\xC7\xF6\xDA\x7A\xCD\xDF\x05\xA5\xD0\xD9\x91\xE2\xD7\xEA\xC1\x49\xE7\x7C\xF2\x84\x35\xE7\x49\xEC\x91\xCC\xDA\x00\x00\x6A\xC1\x92\xC8\xDF\xD1\xD1\xD6\xD4\x78\xF3\xE4\x3E\xDE\xD7\xD2\x93\xDC\xDF\x11\xE5\xD9\xD0\x93\xC0\xE5\x9D\xBB\x60\xDF\x93\xF0\xDE\x25\xB5\x40\x0B\x35\xFB\xDE\x14\xE7\x3A\xB3\x7A\xFA\xE4\x6C\xCD\xE8\xD0\x92\xFB\xE4\x60\xD6\x56\xE4\x95\xF9\xDD\x6A\xDD\xDB\xC7\x95\xCC\xE5\x3B\xBE\x47\xC7\x94\xEF\xE4\x28\xE5\x42\x04\x12\xD4\xE4\x5B\xE6\x57\x9E\x1D\xF7\xE4\x6C\xE5\x94\x6B\x79\xCF\xE5\x71\xE6\xD7\xCE\x95\xE6\xE4\x64\xE5\xCF\x96\x5C\xEB\xE4\x70\xE4\x9B\xBB\x97\xCB\xE5\x50\xE5\x5A\xE3\x69\xF3\xDE\x13\xE4\x58\xE8\x91\xC3\xA6\xA6\xD9", + "\x5B\xEF\x95\xFF\xC7\xBD\xDC\x60\xE5\x97\xC1\xCE\x02\x07\xF0\xDC\x5F\xC5\xDF\x63\xE5\x60\xE5\x91\xFC\xBC\x19\xCB\x4F\xBE\x92\xE3\xDF\xDC\xC6\xB4\xA9\x21\xF2\xCE\x78\xE6\x65\xEE\x55\x97\xDF\xD8\x71\xCE\xC6\x98\xFC\xE5\xDB\xC3\xF7\xD8\x7D\xE1\xDF\xA9\xDC\x67\xEB\x71\xE4\xC8\xB1\xDB\xEF\xB7\x96\xD3\xC7\x1C\xCF\x66\xE2\x76\xEC\xCD\x30\xCD\x5F\xE1\x7C\xE5\xD9\x84\x8F\x6C\xE2\x76\xE9\xD1\xBE\xE4\xCC\xD4\x0D\xC5\xE6\xBB\xE6\x63\xE7\x9A\xC6\xE7\x2F\xCD\x70\xE7\x98\xCF\x85\x39\xE5\x5E\xEA\x9B\xF8\xCC\xCA\xE4\x6A\xE1\xD9\x4D\xE7\xA2\xE7\x62\xEB\xA4\x91\xE7\xC8\xE7\xE0\x8E\x93\xDC\xE5\xD9\xE6\xBD\xB2\x57\xCA\xE6\xA1\xE7\x35\xD1\x10\x1F\xDD\x74\xE7\x71\xE2\x98\xFD\xD5\x43\xE4\x52\xE7\x68\xD6\xD9\xE9\xE4\x5A\xE0\x14\xC0\x00\x53\xE5\x78\xE6\x9E\xEF\xA7\x35\xBA\x75\xE0\x91\xE1\xE5\x77\xE7\x73\xE7\x9F\xE0\xDE\x69\xCE\x7D\xE4\x94\xD3\xDD\x62\xE4\x71\xE7\x74\xEE\xDA\x4A\xB9\x65\xEF\x98\xFF\xD6\x12\x98\x76\xE5\x9E\xD6\x9C\x6F\xE6\x4D\xEE\xA0\xC0\x7E\x0A\xE8\x77\xE9\x7C\xC1\xDE\x99\xD6\x6D\xED\x91\xCB\xC6\xC0\xD7\x9F\xA1\xA1\xDB", + "\xE5\xB2\xDE\x86\xED\x9E\xEE\xE6\x7A\xE5\xE3\xC7\xA1\xFA\xE7\xF5\xC5\x62\xEE\x9F\xEA\xE7\x3C\xE5\x63\xEB\xA0\xC3\xE8\x41\xE4\x00\x02\x99\xD2\xDB\x94\xE6\x80\xEB\x9F\xF1\xDE\x11\x05\xAE\xD8\xCD\x5A\xE6\x20\xE8\x89\xE3\x98\x90\xDF\xD8\x70\x68\xEA\xA3\xEE\xE7\xA3\xE7\xE8\xA6\xA0\xF3\xE7\x6C\xCE\x6A\xE8\xCD\x53\xBD\xCB\xE5\x8E\xEB\x0D\xD8\xDB\xD8\x72\x89\xC7\x8B\xD0\x65\xD2\xE3\x06\xD3\xBD\x96\xE3\x83\xE1\x0B\xE7\x86\xF0\xDF\xBA\xE0\x41\xE6\xD6\xB4\xDF\x6B\xE1\x2F\xE5\x8E\xC9\xE4\xDE\xCD\x2F\xEB\x8E\xD8\x73\xAB\xE3\x3C\xEC\x88\xC6\xB6\xFE\xDE\x21\xEF\x29\xFF\xDB\x36\xD3\x14\xE2\x83\xC7\xBE\x6E\xE9\x91\xC2\xF8\xB1\xE9\x81\xCA\x66\xB4\xA7\xE9\xE2\xA0\xB6\x32\xEC\x90\xC9\x04\xCC\xE2\x1E\xE4\x8F\xD0\x99\x1F\xE3\x9B\xE1\x82\xDB\xE8\x2C\xDB\x4D\xDF\xA1\xFF\xE6\x1C\xDE\x4A\xED\x9D\xFF\xE7\x4F\x87\x46\xE0\x9E\xFF\xE8\x73\x7F\x47\xE7\xA2\xC0\xE9\x5B\x78\xA1\xE2\x9F\xC5\xE7\x2B\xEA\x78\xD9\x9B\xCF\xE8\xCE\xE4\x06\xA6\xA9\xDB\xD3\x84\xD3\xA1\xE3\xA2\xDE\xEA\xA2\xE9\x92\xE1\x91\xD4\xE7\x07\xE8\x56\xE2\xEC\x5F\xEA\xA4\xDD\xCB", + "\xA5\xAA\xD2\xE7\xE8\xC0\x79\xE2\xA1\xF3\xEA\x6C\xCE\x52\xE9\xA9\xCC\xEA\x76\xD6\x53\xE4\xAB\xD3\xEA\x73\x7D\x7C\xE0\xA9\xD1\xD6\xB8\xCB\x90\xE8\xA9\xD7\xE6\x8C\xCE\xE4\xCA\xA4\xEA\xEA\x21\xEA\xB1\xE7\x9B\xFC\xEA\x42\x84\xAB\xEA\x93\xC5\xE8\x32\xE8\xAE\xE8\xA8\xE1\x90\xAF\xEB\xA2\xE0\xA0\xCD\xE8\xC8\xEB\xAF\xE8\x4B\xB3\xE5\xBB\xEB\xA5\xE8\x4E\xFF\xE5\xB7\xE8\x8A\xED\x95\xFD\xE7\xDE\xEB\x8C\xE1\x95\xD4\xE8\x67\xDA\x85\xE6\xAA\xFF\xC4\x1D\xE9\x44\xC2\xAC\xEC\xE8\x9D\xE7\x9B\x95\xAD\xE1\xEB\x40\xDB\x75\xD3\xAF\xDD\xEB\x90\xE5\x1B\x96\x20\xEF\xEB\xE6\xE9\xB3\xB5\xA3\xCB\xDF\x8A\xE8\xBD\xE4\x9B\xDE\xE6\xB1\xE4\x31\x67\xAF\xCF\xEA\xDD\x70\x69\xE8\xD8\x66\xE6\xC3\xE8\xC2\xE1\xD9\x46\xE9\x88\x74\x92\xE0\xAB\xD5\xE7\xCE\xC0\x93\xE8\xD8\x4E\xE9\x02\xEF\xB4\xE6\x91\xED\xE6\xCB\xEA\x33\xCB\xA9\xD9\xEB\x9C\xEA\x4C\x8E\xA8\xCC\xEB\xC2\xE5\xC9\xCC\xAF\xD2\xEB\x19\xD9\x42\x03\x92\xDA\xEB\xEB\xE9\xCB\xE3\xB1\xE2\xE7\x12\xE5\xC0\xE8\xAF\xED\xEA\xA3\xC7\xB1\xED\xA9\xF1\xE4\x07\xEC\xC9\xE0\x91\x8E\xEB\x40\xE5\x4B\xE6\xB3\xD4\xEC", + "\xBF\x73\x76\xEE\xB0\xF7\xEC\x73\x8F\x77\xEA\xB3\xEF\xEC\x56\xAA\xAC\xE3\xB4\xC0\xED\xDD\x72\xAD\xE3\xB3\xE0\xEC\xC6\xC2\xAE\xEB\xB4\xD5\xE5\xEE\xB8\xCF\xEE\x0F\xFA\xCB\x27\xEE\xB8\xED\x74\xC3\xE6\x1E\xE9\xD6\xE4\xA9\xCE\xC3\xF9\xE5\xC8\xE9\xAA\xF3\x8D\x46\xB9\xB9\xE8\xB2\xD5\xD9\x78\xD9\xC6\xE3\xAA\xC6\xC3\x6B\xE4\x91\xE7\xB4\xC1\x8C\xD8\xE8\xD1\xEC\xB4\xD0\xE8\x39\xEE\xD9\xEB\x5C\xE4\xEB\x2C\xEC\xD2\xE1\x75\xB8\xED\x62\xEE\xDB\xE9\xAC\xE0\xDA\x3F\xEF\xD8\xEB\x2A\xBC\xED\x50\xEE\xDC\xE0\xB3\xE6\xE8\x76\xEF\xD7\xE9\xAF\xF6\xEB\x5E\xED\xE0\xE6\xA5\xAF\xE8\xE0\xDD\x8C\xE2\xB3\xD3\xED\x70\xCD\x43\x06\xA3\xC8\x76\x38\xE9\xC7\xE9\xB7\xC1\x8C\x3C\xE8\x62\x7E\xA3\xFD\xED\x0D\xED\x94\x6A\xB0\xC5\x77\x0C\xEC\xBC\xEF\xB6\xDE\xDF\xBD\xCF\xE4\xE7\xBA\xF3\xEA\xD3\xA1\xC1\xE3\x20\xB5\xED\xA0\xE9\xA2\xEC\xB1\xEB\xED\xE8\xC3\xC7\xE6\xB8\xFE\xED\xBF\x73\xC8\xE9\xB8\xE3\xDF\xC0\xE4\xEC\xE0\xBA\xC3\x8E\x2B\xEF\xEF\xED\xAF\xCF\xED\xB7\xEC\x2A\xD6\xBB\xF3\xED\xC5\xEF\x75\xEE\xBB\xC5\xEE\x32\x85\xE9\xE3\xBC\xD4\xEE\x16\x9C\xAA\xE8", + "\xBB\xC2\xEF\xB0\x8E\xF4\xE1\xBA\xFB\xEE\x45\x7E\xD0\xEB\xBA\xDC\xE8\xAC\xC7\xF2\xE9\xBC\xE2\xD7\x4A\xEF\xF6\xEF\x9A\xFF\xC3\xD1\xEA\xD6\xE4\xA0\xE2\xB3\x8D\xEE\xE6\xED\xCD\x7E\xEA\xD4\xEE\xF9\xE4\x9F\xD6\xED\x54\xEE\xE9\xD4\x98\xEA\xEE\xD8\xED\xCA\xEC\xB5\xEE\xEB\xE5\xEE\xE2\xE8\xA0\xC2\x73\xDE\xEC\xF2\xE2\x13\xA9\xED\xC4\xEE\xFF\xE0\x39\xED\xED\xD7\xEF\xE6\xEE\x4B\xB1\xED\x02\xF3\xF4\xE4\xB7\xE9\xEF\xB4\xEF\x7C\xB8\xAE\xE7\xDE\xEA\xEA\xDE\xEC\xA2\xED\xEB\xCC\xC4\xFC\xE3\x9F\xD4\xF0\xBF\xD2\x05\xF3\xAC\xD8\xF0\xEF\xA5\x73\xC2\xB8\xDF\xF0\x56\xA8\xE2\xE6\xC0\xC1\xF0\x30\xEE\x8A\xE4\xC2\xCA\xF0\xD7\xA8\xE4\xEB\x9A\xD2\xEE\xB3\xEE\xCB\xE6\x67\xED\x96\x00\xED\x0B\xF2\xC1\xC3\xEF\x41\xBD\xE7\xAC\xC0\xEE\xF0\xE7\xE5\x40\x03\xBA\xD0\xB0\xCE\xEF\xD9\xE3\xC3\xF5\xC7\x10\xED\x71\x72\xB1\xD6\xEB\xFA\xEC\x74\xC6\xB1\xC5\x77\x18\xEC\x10\x78\x08\xF4\x75\x7B\x02\xAB\xC9\x37\xCC\xF1\x2C\xB0\x35\xEB\x8B\xF5\xCA\x53\xB9\xEB\x6D\xC4\xFD\xE2\xEE\xDD\x59\xB4\x6E\xE1\xC2\xF3\xCA\x40\x07\xC5\xC1\xE4\x9D\x9D\x36\xEF\x2B\xCB\xF1\x56", + "\xF0\x97\xE0\x8E\xDB\xC2\xAC\xCB\x17\xFE\x8D\xF2\x84\x5F\xEA\xA0\xE6\xF9\xB9\xE0\x5C\xF1\xBE\xCE\xC5\xEE\xE1\x7B\xEA\x78\xAE\x08\xF7\x6E\x6A\xF2\x41\xE1\xD9\x6F\xE2\x4A\xCB\x29\xC8\x2D\xC0\x00\x79\xF3\xFF\xD6\x42\xE9\xCB\x6D\xEA\x1F\xFD\xC5\xC1\x04\x81\xF2\x9A\xEA\x2C\xFE\xE3\x59\xE8\x05\xE8\xC6\xFF\xF1\x89\xF3\x0A\xE0\x80\xC3\xD1\x75\xF1\x11\xD7\xC7\xD4\xC1\x91\xF1\x26\xED\x8F\xC8\xE2\xFF\xE0\xF9\xAF\xC8\xC7\xF2\x80\xF3\x9D\xEC\x8E\xF1\xCB\x86\xF2\x1C\xF8\xC8\xFA\xE9\x9D\xF2\xD4\x8D\xA7\xEE\xB1\x4F\xF1\x19\xFD\x8B\xC1\xEA\x72\xEB\xD7\xBE\x90\xC4\xDF\x52\x8E\x1E\x0A\xC1\xE8\xD1\xB2\xED\x04\xF4\xC4\xC0\xBD\xB9\xF2\xE3\xE5\xC0\xE0\xCC\xB7\xF0\x0D\xF6\xB2\xF9\xEF\xBE\xF1\x37\xD3\x10\x01\xEF\xCC\xEC\x08\xFF\xCB\xC9\xF3\x56\xAB\xF1\xEA\xCC\xE6\xEE\x13\xAD\xFF\xEF\xCC\xD0\x99\x3D\xF2\xFB\xE0\xBD\xCA\xEF\x37\xF3\x0F\xFB\x63\xC1\xF3\x3E\xF1\xC0\x8A\xBD\xF5\xEF\x38\xF3\x7B\xA6\xB4\xE0\xF3\xDA\xF2\x87\xD7\x57\xDC\xF3\xEE\xEE\xCD\xA2\xCD\xE8\xF0\x32\x86\xD4\xE2\xBE\xD8\xE8\xFD\xDF\x3A\xFB\xC1\xED\xCB\xC4\xF2\xFA\xE0\x1D", + "\xE1\xED\xCC\xF3\x32\xF8\x57\x84\xEE\xDF\xED\x37\xF3\xA1\xE5\xED\x23\xF0\xF7\xE6\x2C\xA8\xF3\x45\xF3\xDC\x84\xC0\xD0\xF3\x23\xF1\x77\xC4\xD0\xC3\xEC\x7D\xCE\x0C\xFB\xCB\xC0\xEB\xF7\xED\x05\xF2\xCF\xC8\xF4\xC5\xC6\xB2\xED\xC0\xD3\xF3\xB1\xA8\xB8\xE7\xC2\xFA\xF3\x0E\xF0\x3E\xFD\xCF\xD6\xF3\x80\xDE\x08\xFD\xBE\xC5\xF4\x0E\xF2\x09\xF7\xCD\xCF\xEF\x1B\x8F\xBE\xE5\xCF\xD7\xF4\x88\xD3\xE5\xE5\xDC\x59\xEE\x2C\xF4\x47\xF7\x77\xB6\xF0\x2B\xF5\x38\xFC\x36\xFB\xF0\x65\xB5\x35\xF4\xD2\xD8\xF4\x83\xA5\x10\xF0\xC1\x83\xF1\x6A\xEE\x4D\xF0\x78\xC7\xF1\x10\xB1\x12\xF7\xD2\xFE\xF3\xF1\xAB\x42\xF5\x7E\xE8\xD8\x0E\xF5\x50\xF4\xA3\xFD\x9F\x4A\xF4\xBB\xE3\xCC\xF4\xEF\x01\xF5\x59\xEF\x61\xD9\xF3\x0F\xF5\x4C\xF4\xD1\xD0\xC7\xCE\xF0\x3B\xFC\xD3\xCC\xE7\x51\xF4\xD6\xC1\xAA\xD8\xF5\x4E\xF4\xE4\xD6\xBD\xDB\xF5\x1F\xF4\x58\xF3\xD1\xE8\xF4\x8C\x6F\x37\xF5\xD5\xEC\xE4\xDD\xEC\x59\xFB\xD1\xF8\xF2\x4C\xD8\x55\xF3\xD2\xFC\xF2\x0D\x06\xD3\xE7\xD4\xE0\xF4\x8C\x6E\x3B\xF4\xCE\xEF\xF0\x55\xEF\x5A\xF8\xD4\xD6\xE5\x35\xF5\x39\xF8\xD7\xD9\xE8\xF8\xEE", + "\x5D\xF9\xCF\xF4\xF5\x88\xF6\x44\xF2\xD7\xFB\xF5\xE6\xF0\x40\xF7\xD7\xDA\xEC\xD5\xC6\x60\xFC\xD7\xCB\xEE\x07\xF4\x5B\xF9\xD0\xED\xF2\x59\xF6\x50\xFC\xB8\x5C\xEB\x90\xF4\xEF\xEE\x4B\xDD\xF0\x61\xF7\x53\xFD\xD8\xD9\xF0\x96\xF7\x4E\xF2\x0F\x9E\xF4\x09\xF2\x4C\xFB\xDA\xFC\xF3\xAD\xF4\x5A\xFE\xC0\xE2\xF4\x8B\xF6\x66\xFB\x0D\xE6\xF4\xEF\xF1\xEC\xEE\xB8\x9B\x92\x68\x9D\x69\xF0\xD8\xD6\xEE\x31\xF2\x2E\xF5\xD6\xE7\xEF\xA3\xA7\x67\xEE\xDB\xC4\xF7\xA2\xAD\x86\xCA\xD3\xC5\xF3\xC2\xF0\xEF\xC9\x21\xC0\xF5\x73\xF6\x6D\xF6\xC4\xE7\xDF\x8F\xF7\xEA\xE5\x9B\xCC\xF7\x83\xF5\x2F\xF6\xCF\xE9\xF5\x73\x7E\xEE\xEF\xD6\xFA\xF6\xB2\x9B\x71\xFC\xBA\xF9\xB7\xD5\xF7\x5F\xF3\xDC\xD1\xF7\x70\xD4\x53\xF2\xDC\xE8\xF7\xE9\xF1\xCD\xEB\xDD\xF1\xF6\xD4\xF2\x78\xF1\xAF\xCE\xDD\x4D\xF4\x7B\xFE\x9E\xFE\xEC\xEF\xF7\x57\xF3\xF7\x6E\xF5\x93\xF5\xC9\xED\x10\x23\xF3\xDF\xF5\x7F\xFD\x2A\xA1\xEF\xE6\xF6\x7D\xF4\x76\xF2\xF7\x85\xE8\x7B\xE5\xDE\xDB\xF6\x30\xB9\x6A\xFC\xD0\xC1\xEB\x85\xF5\x67\xF3\x62\xD1\xF4\xA8\xF7\x82\xF2\xE0\xFC\xE6\xAC\xF6\x7E\xF4\xD9\xFC", + "\xEF\x16\xF9\x6D\xF5\x1F\xC0\xF0\xA1\xF5\x7E\xF2\x0F\x99\xF6\x48\xF5\x88\xF8\x4B\x88\xF0\x1A\xFA\x7F\xFE\x4D\xF5\xF7\x26\xF9\x54\xB3\xDA\xE9\xBE\x0E\xFB\x86\xFB\x77\xDD\xED\x11\xFB\x79\xF9\x95\xF0\xF6\x29\xF9\x38\xFC\xC1\xF0\xF8\x1D\xF8\x77\xFE\x69\xF4\xF6\x3E\xFA\x56\xF0\x65\xB8\xF6\x05\xFA\x40\xF5\x20\xC5\xD4\x08\xF8\x3C\xF8\x15\xD9\xE6\x49\xFB\x56\xD0\x00\x1D\xEE\xC5\x77\xE7\xEE\xE1\xD7\xF6\x09\xEE\x90\xE5\xE3\xC6\xF8\x4B\xF6\x0C\x89\xBA\xEC\xF8\xB9\xF7\xFE\xE8\xD5\xA5\xC8\xF8\xCB\x92\x69\xC9\xDD\xE2\x52\xC0\xB0\xC8\xC9\xD1\xF1\x95\xE1\x2E\xC5\x59\x69\xF1\x58\xEB\x02\xE9\x2A\xDB\xF1\x66\xF8\x9B\xF8\xC5\xE2\xF1\xAC\xF0\xC0\xCE\xA2\x63\xF9\xDA\xE3\x26\xFF\x89\xDD\xE9\x3F\x6F\x5E\x68\xE7\xFE\xE9\x67\xE8\x39\xE3\x6F\xE4\xCB\x7E\xF8\x1D\xF9\xCA\xE3\x8D\x65\xEA\x12\xFF\x2C\xF2\xF9\x60\xF3\x60\xAC\xC7\xCF\xB1\x61\xFB\x1A\x7F\xE7\xCF\xE9\xE3\xE2\x15\xA0\x70\xEA\xF9\x35\x6C\xA3\xFB\xC6\xDC\xF2\x8D\xF0\x13\xEC\x30\xDA\xFA\x7A\xF2\xFD\xCD\xE9\xF7\xCB\x9F\xF8\x24\xF2\xCA\xEA\xAF\x91\xFB\x9D\xF7\xEA\xF7\xB1\x7D\xF8\x1E", + "\xF8\xCA\xE3\xFA\x74\x77\x2A\xF9\x5D\x8B\xFA\xA6\xFB\x2B\xF0\x8D\xC4\xAB\x63\x8F\xBD\xA5\x79\x91\xE9\x50\x9A\x14\xFA\xA5\xD4\xE9\x95\xFB\x18\xE7\xA5\xF3\xF9\xDD\xE1\xA8\xFA\x86\xE7\xF1\x5E\xEB\xA0\xF2\xC8\xC7\xE2\xA7\xE1\x0F\xEB\xEC\xEB\xE9\x32\x87\xA3\xF0\xC1\xB1\xE2\x5D\xE1\xD1\x74\x8B\xE4\xC0\xF2\xE0\x30\xEF\x87\xC2\xE3\xBF\xE0\xAF\xF0\x88\xC5\xE2\x92\xF3\x20\xF9\x8F\xC7\xFA\xC9\xE1\x2F\xE3\x90\xCE\xF2\xBD\xE0\x42\xEE\xC6\xCA\xE4\xB6\xFB\x14\xD9\x21\xE3\x43\x8A\xF2\x99\xEE\x8C\xDE\xDB\x53\xE9\x9B\xFE\x80\xDA\xE9\x68\xE1\x3A\xEE\x4B\x99\xF1\x5F\xBD\xBE\xF2\x8B\xFE\x92\x31\xE1\x2C\xFA\x42\xEC\xE1\x10\xDC\x3A\xEF\xEF\xEF\xA7\x63\xEA\xA0\xCE\x8E\xD5\xF2\x97\xCF\xA6\xF1\x80\xD7\xFA\xF1\xFA\xC0\xDC\xE9\xEE\xF9\x40\xD3\xAA\xF6\xA7\xE6\xFB\xDD\xFA\xBE\xFE\x43\xD9\xFC\x07\xFD\x39\x4A\xEE\xC2\xFC\x96\xBE\xAC\xFA\xED\xED\xE2\x73\x7C\x2C\xF5\xA7\xD0\xB0\xB3\xF2\x84\xFA\xF2\xFE\x92\x5D\xF6\x6B\xF3\xCF\xE9\xE4\x5C\xF9\x91\xF6\xD5\xFD\xE6\x31\xFA\x8A\xF4\x07\x8D\xF9\x5E\xFB\x05\xCD\xE3\xF0\xF7\x25\xF9\x97\xF6\x0C\xED\xFC", + "\xB2\xF5\x8E\xF9\x3B\xB8\xFC\xED\xB8\xC6\xA4\xF4\xCC\xCD\xF4\xF7\x7A\xFD\xE2\xD3\xF8\x2D\xDB\x95\xFB\xF4\xD0\xDE\xFC\xF7\x94\xFA\xDA\xD6\x9C\x00\xFB\x85\xFB\xF2\xEF\xE7\x04\xF9\x80\xFF\xAC\xE0\x8F\x47\xFF\xD5\xE9\x1B\xF5\xFC\x62\xF5\x60\xFB\xF3\xC2\xFD\xB3\xE1\xD7\xF7\x4B\xD4\xF8\xA4\xF4\xD8\xF6\xD8\xE8\x84\x38\xFA\x57\xFE\xF6\xD6\x9C\x92\xF6\xD4\xF2\xDA\xC3\xF4\x6A\xFF\xD5\xFF\xA8\xA6\xFD\x95\xED\x15\xF6\xF7\xD6\xF7\x2C\xC7\xD8\xFF\xF6\xDF\xEB\x22\xEA\x67\xFC\xE0\xE7\xF6\x69\xFE\xDF\xFE\xF2\xC0\xFE\x16\xF6\xE0\xF6\xF5\xCD\xAD\x6D\xFF\xE1\xF2\xDD\xD7\xAB\x40\xF8\xCF\xF4\xE5\xC6\xC3\x44\xFA\xD6\xFD\xB3\xF0\xDA\xBC\xF4\xE4\xA8\xF7\xFD\xD3\xC0\xF4\x93\xF5\xF7\xE7\xF7\x35\xF2\x71\xFF\xF9\xD8\xF9\xB8\x90\x4E\xFF\xF5\x8B\xF7\x22\xFB\xCB\xF8\xBA\x9B\xF9\x4A\xFE\xCF\xF8\xF4\xE6\xDF\x60\xF9\xA9\xF0\xCA\xE6\xF0\x95\x9F\xAB\xCC\x2A\xF4\xFE\x1A\xFD\x39\x4E\xEB\xCB\x69\x54\xF2\xD1\x24\x05\xF8\xFE\x1D\xFD\xB8\xD4\xE7\xF3\xFA\xBE\xFF\xED\xF6\xEF\xCE\xE1\xFC\xCC\x9C\xF6\xE7\xF4\x75\xC0\xFD\xB5\xF8\x4B\x81\xFC\x27\xFF\x0C\xE9", + "\xEA\xCC\xFF\x04\xFC\xC3\xF4\xBD\xB2\xFE\xA6\xF0\xE3\xEE\xF0\xD6\x9C\x09\xFE\x2A\xE3\xFD\xED\x6E\xCD\xFD\x30\xEE\x8A\xE9\xE9\x77\x74\xAD\xF3\xFB\xF0\xE3\xD6\xFD\xB6\xF6\xFB\xFF\xF1\xE1\xFF\xB6\xFD\x03\xFF\xE2\xEB\xFF\xF9\xF8\xF1\xE0\xFB\xCE\xC9\xF1\xFC\xFE\xD6\xFC\x79\xE8\xF6\xFB\xA4\x6D\xFF\x24\xFD\x29\xC6\x8F\xDF\xFF\xF3\x42\xFE\x7F\x35\x73\x70\x4F\xF1\x71\xFE\x5F\xBD\x22\x7E\xF1\x7F\xEC\x7E\x00\x85\x4A\x70\x3B\x46\xF9\x78\xE9\x65\x5A\x29\x7E\xE2\x7E\xCA\x30\x94\x7A\xAB\x75\xFD\x71\xF9\x7F\x78\x15\x81\xDC\x7D\x22\x30\xE2\x6D\xFB\x73\x00\x99\xFF\x19\x80\xC1\x7E\xE3\x53\xF0\x7A\xD1\x76\xFF\x74\x00\x87\xFF\x66\x71\x6F\x7C\x00\x82\xD4\x40\x04\x8E\xFC\x6D\x15\x50\xFF\x0F\x80\xEE\x6C\x15\x83\xD8\x44\x05\x82\xFE\x73\xFB\x2D\xF1\x20\x7E\x24\x60\x38\x7B\x05\x86\x04\x82\xA6\x6E\xF6\x7C\x70\x3B\x80\x1F\x81\x85\x7C\xB9\x79\xBA\x64\xE8\x77\xDD\x34\x00\xEE\x7F\x33\x60\x88\x7D\xF9\x7D\x04\x81\x04\x93\xFF\x7F\xFF\x7A\x7F\x6B\x39\x23\x81\xFF\x7B\x15\x60\xFF\x60\x02\x8B\x69\x52\x80\x03\x80\x81\x71\x15\x83\xF9\x7D\xBA\x38\x02", + "\x8C\x00\xDC\x7D\xF4\x7E\x35\x60\x17\x83\x3E\x4E\x05\x81\xF6\x4F\x85\x05\x80\x30\x80\x0B\x60\x02\x86\x0A\x81\x05\x8B\xC8\x43\x01\x8D\x72\xD0\x5A\xEB\x5F\x2D\x4B\xB8\x5F\x40\x61\x18\x51\xD0\x39\x49\x0C\x68\xED\x5A\x03\x6D\x81\x6E\xDB\x4E\xC5\x07\xB7\x65\x21\xC9\x5B\xA2\x3F\x72\x5D\x1C\x2D\xDC\x42\x9D\x52\x8D\x0B\x3C\x4B\x80\x0F\x83\x92\x32\x16\x0E\xC4\x63\x03\x92\x8D\x0C\x81\xBD\x71\xDD\x7C\x93\x4A\x06\x8F\x7D\x30\x04\x8D\xFA\x3C\x57\x23\x81\x04\x83\x22\x87\x04\x80\xA6\x76\x85\x4A\xFF\x66\x7F\xD9\x7E\x4B\x83\xF6\x7B\x70\x4F\x02\x83\xE5\x49\x04\x61\x71\x24\x80\x45\x83\x1A\x3A\x14\x86\xEC\x7B\x9E\x4A\xFB\x3F\x80\x8E\x81\xB1\x44\x2B\x87\xD9\x7B\xC8\x71\xA1\x6F\xE1\x14\x81\x11\x03\x59\x81\xC4\x7F\x07\x72\x95\x64\xFF\x75\xFF\x2A\x81\x2E\x34\x5D\x81\xB8\x7C\xD9\x74\xC8\x71\xC7\x78\x02\x8D\x02\xC2\x80\x4D\x78\xFB\x63\xE2\x77\xEF\x68\xF7\x6D\xFA\x54\x60\xC9\x80\x32\x7F\x32\x81\x17\x74\xF1\x64\xC6\x47\x03\x89\x02\xD1\x81\x3C\x7F\x34\x84\x92\x7F\x06\x9E\x3E\x57\x03\x83\x02\xD9\x80\x40\x7F\xBC\x7C\x19\x88\xFC\x76\x06\x90", + "\x01\xC1\x81\xAF\x7D\x6A\x82\x96\x73\x0D\x81\x0B\x95\x04\xAE\x01\xB0\x7D\xAD\x37\x08\x81\x2A\x81\x20\x00\xDF\x3F\xBE\x37\x02\x0D\x81\xBC\x35\xDB\x37\x3D\x81\x12\x89\xE6\x70\x05\xB9\x03\xD4\x60\xFB\x81\x4B\x83\xDC\x3C\xDF\x76\x01\x7F\x04\x8D\x56\x7A\x81\x9C\x81\x75\x7E\x1C\x66\x20\x86\xAC\x3B\xCB\x01\x04\xA3\x81\x6B\x5E\x3E\x7D\x01\x5D\x1E\x81\x11\x0F\x08\xAD\x02\xAE\x68\x6D\x70\x4C\x36\x43\x86\xD0\x70\x0F\x93\x0F\x49\xFA\x26\x35\x08\x83\x5E\x72\xB4\x7D\xAC\x56\x6A\x60\x09\x80\x04\xE8\x7F\xDD\x81\x81\x02\xFA\x79\x22\x04\x11\x8D\x08\x16\x04\xB4\x81\xDB\x65\x63\x71\x4A\x86\x92\x73\x11\x9B\x08\x8E\x01\xD6\x7F\xFF\x65\x7F\x80\xAB\x67\x25\x8B\x0B\x8E\x92\x61\x01\xDF\x65\x3A\x83\x3F\x78\x4F\x83\x18\x80\xED\x64\x07\xA8\x00\x95\x7E\x1A\x83\x90\x82\x40\x85\xE8\x38\x06\x86\x05\xBD\xAF\x49\x82\x27\x83\x76\x7D\x16\x71\x0E\x8C\x4A\x53\x03\x90\xD0\x75\x80\xBE\x49\x3B\x82\x56\x80\x2B\x89\xDB\x5C\x0A\xB4\x92\x38\x49\x7F\x81\x88\x01\x20\x80\x97\x43\x08\x91\x08\x05\x02\xDD\x6B\x87\x81\x6F\x82\x40\x03\x28\x8A\x0C\x89\x04\xAB\xF9", + "\x42\x82\x68\x7D\x7A\x7F\x39\x84\xAE\x3C\x16\x92\x06\xAC\xE0\x61\x78\xC5\x7C\x4C\x7C\xBB\x66\x25\x89\x10\x98\x01\x8B\x04\xEA\x82\x01\x03\xBA\x82\x36\x87\x2E\x83\x98\x45\x05\x98\x73\x28\x81\x9A\x81\x35\x3A\x60\x82\x1C\x88\x8F\x62\xF4\x59\x04\xCF\x81\x3B\x82\x8E\x82\x3A\x83\x49\x3F\x11\x8C\x03\xAE\x68\x0B\x83\x94\x7D\x3F\x77\xDD\x5C\x0E\x70\x19\x90\x0B\xBD\xE2\x57\x7D\x72\x61\x95\x81\x3B\x85\x22\x88\xFF\x73\xD3\x73\x05\xAD\x37\x98\x82\x79\x7D\x63\x87\xDB\x7F\x04\x9D\x0C\xA0\xF2\x29\x83\x23\x7F\x2C\x80\x6B\x80\x27\x80\x18\x80\x00\x30\x06\xDE\x7D\x60\x81\xD6\x83\xBA\x66\x26\x8B\x14\x98\x25\x4D\x05\xD8\x39\xEC\x80\x50\x83\x92\x37\x36\x8A\x01\x8D\x08\x0E\x00\xCE\x82\x8B\x58\x3C\x59\x64\x80\xB8\x3F\xC6\x4B\x0E\xBD\x06\xE8\x64\xFD\x80\xB7\x80\xF4\x5E\x39\x80\x11\x98\x0B\x83\xFB\x66\x58\x51\x83\xE7\x82\x57\x44\x20\x86\xF9\x4C\x08\x8A\xBF\x59\x83\xD5\x83\xC2\x80\x28\x70\xD3\x7C\x00\x76\x07\x95\xFF\x33\x82\x3F\x64\x24\x58\x78\x87\x22\x8C\xFD\x7E\x01\x92\x07\xE5\x83\xA4\x82\x91\x82\x2F\x82\x0C\x8A\xC2\x4B\x0F\xB0\x04\x92", + "\x7E\x0F\x7F\x42\x78\x76\x84\x3A\x8C\x1E\x83\xF7\x5D\x04\x89\x70\xCA\x82\xCF\x82\x76\x81\x60\x47\xEE\x7E\xF4\x7B\x07\x82\x84\xE1\x83\xF7\x7F\x4F\x83\x8C\x75\x1F\x9C\x0F\xB7\x07\xBC\x81\xBE\x71\x05\x85\x9D\x7D\x41\x88\x20\x9D\x0F\xB9\xAF\x0E\x71\xE4\x82\xDE\x81\x82\x85\xE4\x77\xEB\x6C\xF0\x06\xD0\x11\x72\x5B\x82\x3E\x80\x1D\x82\x44\x87\x15\x84\x11\xB6\x01\xDE\x82\x56\x83\x80\x45\x58\x86\x40\x3B\xA2\x2A\xC7\x38\x96\x08\x81\xBF\x81\x6B\x47\x65\x80\x1F\x88\x12\x68\x0D\xB1\x05\x9C\x80\x9F\x79\xEC\x7C\x71\x81\x04\x8D\x01\x79\x04\x9C\xF6\x52\x46\x3B\x85\x16\x83\x76\x86\x47\x84\xC6\x73\x0F\x41\x09\xB5\x80\x45\x3E\xC3\x80\x62\x38\x31\x8F\x23\x83\x1B\x47\x09\xC8\x80\x45\x3F\x1B\x82\x01\x86\x02\x6A\x03\x85\x12\x80\x09\x92\x83\xCD\x81\x35\x39\x65\x86\x4A\x8E\x24\x82\x02\xBF\x07\xE3\x46\x25\x83\x26\x86\x79\x87\x33\x8A\x04\x91\x11\xB1\x63\x43\x83\xA5\x82\x38\x75\x29\x78\x4D\x87\x13\x88\x0F\xBC\xE2\x17\x79\x0E\x85\x9E\x81\xE1\x5B\x0B\x8A\xF7\x77\x12\xAD\x09\xDF\x84\xE5\x7C\x38\x85\x85\x87\x41\x81\xA5\x3F\x0D\x88\x76\x41\x83", + "\x35\x84\x23\x87\x3B\x83\x32\x8B\xC6\x32\x07\xA5\x43\x1F\x84\x61\x73\x10\x86\x1E\x85\x0F\x86\x22\x99\x0A\xA8\x08\xD2\x5B\x7B\x81\x45\x85\xAB\x43\x45\x84\xA4\x2D\x11\x8A\x68\x2F\x84\x19\x68\xD9\x82\xFA\x6A\x2E\x83\x20\x9B\xF7\x63\x00\xB8\x83\x98\x81\xBC\x82\x9C\x87\x97\x3A\x24\x85\xEE\x28\x02\xA0\x85\x36\x81\x57\x80\x51\x85\x16\x8D\xEC\x7B\xBF\x5D\x0A\xEF\x6E\xF3\x83\xC1\x83\x24\x7B\x70\x40\x1A\x96\x85\x59\xFB\x28\x85\xFE\x7E\xDA\x83\x9D\x84\x50\x84\xEA\x6F\x15\x87\xD1\x12\x84\xAA\x82\x3D\x7C\x37\x80\x4F\x8B\x8F\x69\x07\x99\x09\x8A\x54\x83\x85\x63\x85\x84\x53\xF3\x76\xCC\x6A\xEF\x58\xF7\x6D\x7B\x30\x7F\xD6\x7E\xCC\x7E\x19\x6E\xDD\x6B\xFC\x64\xFE\x2D\x45\x92\x75\x69\x84\x78\x7F\x98\x7C\x2C\x8F\xFC\x52\xFE\x77\x7B\xDA\x7A\x21\x7D\xCF\x79\x9A\x76\xF8\x61\xFA\x56\xA9\x28\x7F\xE2\x84\x68\x85\xD2\x7F\x59\x83\xF5\x78\xE6\x4E\xFD\x2E\x7F\x0E\x79\xA8\x7D\x90\x7A\xC7\x71\xD7\x6F\x17\x9A\x0B\x96\x67\xE7\x79\xD1\x7E\x91\x79\xCA\x6A\x2F\x83\xDF\x41\x84\x5D\x85\xE9\x7B\x5E\x81\xBF\x82\xC9\x76\x87\x71\xF9\x56\xFE\x3C\x66\x19", + "\x7D\xBF\x7E\xB7\x85\x2F\x5A\xD1\x6F\xFA\x60\xFE\x68\x38\x06\x86\x6B\x84\xDB\x60\xC4\x70\x2F\x84\xFB\x7E\x92\x24\x7C\x93\x7F\x79\x86\x57\x40\xC5\x7A\x30\x83\x17\xBF\x72\x20\x7B\x15\x87\x0B\x7B\x8B\x7B\xF5\x53\x30\x9B\x16\x85\xEB\x00\x77\xA9\x7E\x73\x87\xDE\x75\x61\x81\x32\x8A\xFD\x68\xFD\x3C\x7C\xF6\x85\x83\x84\xE4\x61\xF2\x76\x31\x97\x16\xBC\xE6\x15\x7F\x12\x86\x7F\x85\x64\x72\xA5\x7A\xD8\x7A\x18\x9B\xED\x4B\x7C\xAE\x76\x00\x00\x4C\x7A\xF1\x72\xF7\x63\x24\x74\xF4\x3D\x86\xDF\x85\xC3\x7A\xA3\x5E\xCA\x78\x34\x95\x19\x85\xE9\x2C\x7F\xEC\x85\xA8\x85\xD1\x3C\xA8\x75\xD6\x49\xE2\x7B\xFA\x45\x83\x97\x31\xE8\x81\x5B\x83\x56\x86\xA5\x76\xFE\x7E\xFB\x42\x84\xBA\x65\x4F\x84\xD6\x83\x20\x05\x2A\x90\x60\x67\x0A\xE3\x86\x02\x02\x29\x85\x1A\x87\x8D\x78\x25\x85\x07\x9A\xE9\x09\x7D\xB8\x84\x5C\x4B\x48\x87\xEB\x54\xED\x68\x12\xB8\x92\x35\x85\xA9\x65\x5B\x84\xDA\x81\x20\x05\x20\x9D\x15\x9B\x08\xB9\x85\x6E\x84\x7E\x73\x36\x86\x3F\x8C\x2B\x94\x4F\x69\x09\xBF\x60\xC6\x84\xB7\x87\x92\x32\xE4\x71\x37\x8D\x15\x47\x07\xD8\x39\xF2\x81", + "\xAB\x84\x8F\x83\x20\x02\x09\x8E\xD1\x00\xFB\x1A\x83\xC2\x7C\xAF\x85\x5F\x83\x4A\x8D\x1D\x86\xE3\x56\xFF\x67\x86\x93\x87\xB4\x86\xAA\x83\x6B\x82\xEE\x7F\x93\x6E\x07\xA4\x87\xC4\x80\x34\x74\x67\x87\x6F\x87\x37\x85\x13\xB6\x05\xDC\x86\xB3\x83\xC0\x87\xE1\x85\x0A\x7B\x2B\x8A\x16\x80\xE4\x2C\x87\xAD\x45\xBE\x86\xE1\x81\xDD\x78\x21\x83\x15\x8E\xA8\x1D\x84\xAB\x85\x60\x87\xE0\x85\xD7\x7A\x35\x8F\x1D\xA5\x0E\xD6\x83\x9A\x86\x62\x7F\x75\x80\x77\x8E\x15\x45\x1B\x92\xFF\x49\x7D\x8F\x82\xE6\x86\x3A\x77\x74\x86\x3C\x89\x1D\x90\x99\x73\x86\x16\x61\xBA\x84\x94\x85\x75\x8A\x1F\x92\x1E\xBC\xCB\x1C\x7E\x60\x87\xEF\x84\xB0\x81\x36\x8F\x05\x8A\x10\xBA\x06\x96\x84\xB1\x86\x62\x84\x29\x7E\x57\x87\xA0\x5D\x1D\x81\x0F\xF8\x83\x16\x4F\xC7\x84\x62\x39\x72\x86\x7E\x2D\x1C\xA6\xE0\x1C\x85\xDE\x87\xF7\x50\x77\x84\x04\x6F\x35\x96\x1B\xA7\xDB\x62\x86\xA1\x87\x80\x02\xF3\x81\x06\x80\x3D\x85\xF8\x6D\x0D\xC7\x82\xBB\x70\xB8\x87\xDE\x80\x3E\x71\x2B\x8C\x0C\x82\x0B\xB4\x85\xAE\x86\x59\x87\xF1\x81\x37\x8A\x2B\x8C\x1F\xB3\x63\x60\x87\xFE\x87\xE7", + "\x4C\x06\x8B\x7B\x89\x3B\x9B\x20\x93\x01\xAD\x45\x7E\x85\xE2\x38\xE3\x83\x81\x82\x3F\x85\xEE\x32\x03\x8E\x86\xE3\x7B\x68\x86\xD4\x82\xAA\x7A\x42\x89\x19\x8B\x0C\xF2\x41\xD5\x85\xA2\x86\xCD\x7F\x30\x60\x30\x85\xB2\x5C\x0B\xA5\x86\x39\x87\x7B\x85\xD1\x7B\x63\x72\x2D\x92\x19\x88\xD2\x67\x7A\x2F\x88\xC7\x7C\xEC\x40\x5D\x84\x34\x97\xFC\x7F\xDC\x2B\x88\xF4\x85\x23\x8A\x0B\x8E\x63\x88\x3C\x55\x21\x8A\xC3\x75\x85\x4D\x87\x8E\x86\xBA\x83\x20\x09\xF5\x79\x21\xA6\x0C\xE6\x5D\xE5\x85\x20\x88\x8D\x56\xAF\x7E\x43\x9C\xFC\x7D\xC6\x59\x88\x4C\x88\xF6\x50\x0E\x8B\xEB\x72\xBF\x74\xF1\x51\x11\xC2\x88\x36\x89\x93\x86\xE0\x68\x89\x8B\xF6\x78\x25\x71\xFD\x3E\x86\x0F\x86\xBA\x7C\x18\x89\x63\x8C\x33\x78\x18\xAD\x0B\xDA\x88\x32\x4E\x27\x8A\xD2\x86\xB6\x63\x47\x97\x23\xB5\xC7\x09\x86\x68\x88\x3F\x8B\xDD\x74\x65\x8A\x43\x86\x22\x84\xFE\x30\x86\x67\x88\x95\x84\x63\x7F\x65\x84\x32\x9D\x23\xAC\x11\xE7\x75\x34\x86\x29\x8A\x20\x8E\x9C\x78\x33\x92\x21\x89\x11\xC7\x7C\x41\x87\x59\x6F\xDE\x7D\xC0\x70\xC3\x7E\xFC\x4E\x12\xCB\x88\x3B\x75\xA3\x85", + "\xC4\x86\x92\x8C\xF4\x7A\xE1\x4C\x0D\xA3\x89\x70\x88\x62\x76\x96\x7F\xB9\x7A\x47\x90\xE8\x71\xAE\x54\x7B\x00\x35\x90\x6E\xA1\x75\x2A\x80\xD5\x72\x03\x9A\xD8\x34\x89\x2A\x77\xE7\x5C\xD0\x78\xCA\x40\x44\x83\x22\x91\xB7\x6B\x85\xA7\x75\x5F\x8A\x45\x52\x98\x89\x34\x66\x80\x46\xE5\x36\x89\xE4\x77\x20\x5E\xD5\x66\x15\x30\x77\x70\xF0\x4A\x13\xA3\x86\x08\x4C\x62\x8B\x8C\x79\xB1\x7B\xFD\x5A\x88\x48\x13\x95\x7B\xC6\x89\x04\x77\x35\x89\xB6\x6F\x9E\x60\x19\xBF\xED\x6B\x88\x11\x72\x40\x8A\x79\x65\xF1\x73\x4E\x84\x24\x8B\xEE\x11\x89\x8C\x72\x69\x8A\x8B\x74\x67\x85\x4D\x9F\xD7\x5E\x12\xA1\x55\xA1\x7F\xA0\x86\x94\x7B\x6E\x46\xFA\x76\x80\x44\x11\xDE\x42\x3E\x7B\xB2\x58\x74\x7D\xD3\x54\x35\x9F\x7A\x49\xF1\x57\x7B\x45\x3F\x5D\x88\xEC\x41\x86\x83\x37\x59\x16\xB5\x88\x3A\x89\xEA\x89\x5E\x8B\x60\x57\x9E\x81\x30\x4A\x28\xAA\xF5\x38\x89\xC3\x89\x6D\x8A\x50\x71\x9B\x89\x52\x50\x28\xA8\xE7\x16\x8A\x6B\x6F\x6B\x31\x33\x88\x6B\x70\x4F\x90\x26\x99\x98\x12\x8A\x0F\x79\xF9\x75\x3B\x8C\x50\x5F\x4C\x92\x23\x9F\xD4\x75\x66\x18\x8B\x33\x85\x44", + "\x76\x9B\x82\xF2\x24\x27\x87\xCE\x2E\x8A\x19\x7B\xC0\x7C\x86\x78\xA6\x80\xA0\x68\x27\xB4\xA8\x15\x89\x7B\x5C\x76\x88\x6E\x5D\x93\x81\x34\x83\x1A\xBC\xE6\x50\x7C\x10\x59\x79\x8A\x4C\x45\x9E\x86\xF9\x4C\x28\xA8\xEE\x2C\x89\xE9\x5F\x7E\x8A\x05\x61\x89\x71\xC7\x6B\xD2\x39\x02\x66\x46\x2D\x88\x5C\x4A\x40\x8B\x30\x54\x50\x92\x09\x46\x14\xDD\x39\xC8\x79\x6B\x57\x54\x8F\xA1\x8D\x51\x86\xFA\x60\x14\x8E\x8A\x66\x6A\x75\x8A\xBC\x82\x26\x45\xF5\x66\x86\x55\x11\x91\x3B\x7A\x7B\x28\x36\xAE\x76\x95\x60\xA0\x35\xCF\x5F\x13\x95\x74\x83\x56\x71\x88\x94\x4F\x8D\x8F\xBF\x6F\x7E\x76\x11\xF3\x3E\x1C\x86\x8B\x4C\x4B\x8D\xA2\x78\x32\x98\xCF\x74\x14\xCF\x42\x72\x8B\x98\x89\xE2\x78\xAC\x66\x53\x82\xAF\x78\x14\xB2\x42\x2A\x78\x6C\x3A\x26\x8B\x42\x7E\xD2\x70\x60\x7E\x14\xE7\x75\x40\x8B\xB2\x5A\x50\x8B\x18\x57\x4A\x9B\x29\x8B\xA3\x48\x8A\x14\x8B\x2F\x7D\xD0\x84\xA9\x86\x19\x94\xEB\x0F\x15\xD5\x46\xE1\x85\x56\x47\x56\x8D\xBB\x7A\x4E\x97\x2A\x91\x76\x59\x8A\x0E\x79\xD1\x89\xD1\x38\xAC\x85\xF4\x26\x2A\xAF\xA7\x2C\x8B\xFA\x4A\x90\x8B\x58\x8C", + "\xE5\x45\x56\x97\x56\x67\x15\xF3\x46\x69\x8B\xBE\x78\x33\x8E\x15\x3E\x56\x8D\x29\xA6\x13\xFC\x8A\xE0\x89\xB0\x70\x5D\x8C\xE5\x44\x31\x9E\x9A\x77\x15\xC5\x3E\x79\x8B\xC1\x47\x5E\x8D\x54\x5F\x5B\x8C\x2E\xB2\x14\xE7\x75\x81\x8B\x41\x8B\x73\x89\x87\x74\xB8\x49\x7F\x47\x16\xAC\x4E\x89\x8A\xC4\x3B\x62\x8F\x3D\x7D\x58\x85\x6B\x4F\x16\x93\x74\x91\x8B\xAF\x5F\x64\x8A\x1E\x44\x54\x84\x81\x6E\x16\x96\x5D\x41\x87\x7D\x8B\x50\x78\x96\x83\xC3\x41\x83\x5F\xFD\x5C\x58\x87\x84\x75\x8A\xA2\x83\x81\x69\xDD\x54\x2F\x9B\xB7\x0A\x68\xF8\x8B\x3C\x82\x7D\x8D\xE8\x34\x29\x99\xDB\x15\xD0\x2E\x84\x19\x64\x18\x86\x54\x8E\x15\x3A\x5A\x98\x25\x55\x15\xAC\x4E\xA6\x8B\xB9\x44\x6A\x88\x66\x75\x60\x9B\xD9\x60\x14\xE7\x8B\xEE\x7B\xB0\x70\x6C\x8D\x55\x43\x5B\x92\x07\x75\x16\x8E\x78\xB7\x8A\x99\x41\x6E\x8A\xDD\x52\xA0\x3B\x28\x8D\xD6\x25\x8A\x87\x89\x46\x89\x57\x89\xC4\x81\x4D\x80\x29\x83\x17\xF2\x41\xC5\x8A\xCC\x7A\x3A\x89\xB9\x80\x65\x4B\x2E\xBB\xF3\x4D\x8B\x2F\x8D\xE9\x8B\x7B\x71\xBA\x80\x58\x9F\x2B\x83\xAE\x05\x8B\xF5\x63\xEB\x8A\x3C\x41\xBB", + "\x85\xDC\x3B\x2E\x9E\x95\x5D\x8B\x5F\x5F\xEF\x8B\x7B\x71\xBC\x86\x01\x63\x2F\x96\x9C\x65\x8B\x72\x60\x08\x8E\x73\x79\xBD\x8F\xFC\x4A\x2A\x96\xBE\x1C\x8B\x5C\x84\x77\x80\x68\x89\xAA\x82\x5A\x8A\x27\x87\x18\xF2\x41\x09\x8C\x99\x43\x82\x8D\x99\x79\x50\x8A\x27\x8A\x19\xC0\x89\x12\x8C\xB1\x8A\x3A\x8F\xC2\x80\xB3\x79\x30\xAC\x9C\x1B\x8C\xFB\x3D\xDD\x8B\x35\x35\xB7\x80\x5C\x90\x2B\xA1\x13\xB6\x8C\xCD\x74\x90\x89\x8A\x8B\x1B\x67\x5C\x87\xF1\x6A\x13\xAE\x8C\x83\x76\x18\x8D\x9E\x8A\xC6\x8C\x7A\x7A\x33\x8C\x0C\xFC\x8C\x21\x7B\xE7\x5E\x8E\x8E\xE2\x4C\x63\x90\x60\x7E\x18\xFF\x3F\xC1\x7B\xC1\x54\x91\x8E\xF2\x56\x64\x83\x1C\x48\x19\xB6\x61\x5F\x8C\xB6\x60\x66\x8F\xA4\x81\x64\x4C\x2F\x99\x08\xB7\x37\x9F\x8A\x2E\x58\x2A\x77\x7D\x86\xAF\x4A\x27\x8D\x18\xBC\x73\x57\x8D\xA0\x6B\xF3\x5B\xCB\x8E\x45\x9D\xA2\x72\xEC\x78\x7B\xEB\x72\xD7\x89\x81\x5F\xF9\x53\x61\x9C\xCD\x55\x18\xFF\x63\x64\x8C\x44\x6A\x99\x8E\x4A\x58\x66\x91\xDA\x6A\x13\xEC\x77\x62\x89\xCC\x89\x48\x8E\x8C\x85\xDF\x7B\xF1\x62\x18\xA7\x8D\x10\x87\xF5\x78\xB4\x71\x91\x80", + "\x65\x55\x33\x82\xDA\x4F\x5F\x78\x8C\x98\x74\x8D\x89\xAE\x80\x67\x9E\x2B\xBE\x19\xFE\x72\x80\x8C\x67\x60\x8E\x8E\xBA\x63\x68\x94\x51\x45\x1A\xE5\x5A\x87\x8C\xAF\x64\x90\x8E\x02\x62\x64\x8F\xBE\x62\x12\xC2\x8D\x18\x65\xA0\x86\xAA\x89\x4A\x39\x4F\x9F\x7A\x6A\x17\x95\x76\x96\x8C\x06\x3E\x2C\x89\x66\x73\x52\x9C\x57\x69\x14\xD9\x8C\x2C\x4E\x52\x8C\x8D\x57\xD3\x8D\x50\x9E\x32\x9D\x19\xDF\x8A\x62\x8C\x90\x89\xAC\x8F\x3F\x63\x6B\x96\x38\x75\x1A\xE8\x47\x6A\x8C\x01\x34\x9B\x8E\xB9\x83\x58\x90\x2E\x8D\x1B\xAD\x45\x27\x8C\x8B\x4F\x9C\x8C\x6D\x7B\x62\x97\x33\xAA\x13\xCB\x8D\x6C\x7F\x67\x8F\xCA\x81\xDA\x8E\x5B\x94\x38\x9B\xC3\x53\x8D\x94\x88\x75\x8B\xB5\x8F\xEB\x59\x6D\x9F\xE5\x1B\x1B\x96\x5F\xDD\x8D\xAE\x63\xB7\x8B\x70\x5F\x68\x89\x95\x51\x1A\x82\x02\xE5\x8C\x0B\x63\xB9\x8B\x71\x7E\x64\x84\x81\x50\x19\xEA\x72\x7B\x33\x05\x83\x44\x33\x66\x04\xBB\x3F\xBE\x32\x1C\x98\x87\x3C\x70\x57\x86\x24\x73\x81\x8D\xFD\x66\x92\x69\xBF\x74\x8D\x13\x74\xA0\x8D\x8B\x71\xD4\x8D\x2C\x94\x6F\x54\xAC\x43\x73\xC4\x8D\xA2\x72\xA9\x88\x95\x88\x93", + "\x67\x3A\x89\xBB\x4E\x8E\x4A\x88\xFB\x75\xD3\x79\xE9\x83\x98\x4F\x35\x85\x1D\xD7\x54\x73\x5D\xEC\x47\xCB\x5A\x9D\x78\x5E\x6B\x26\xA9\xBF\x38\x8D\xD7\x55\x81\x8C\x3A\x60\xE2\x8B\x9E\x64\x3B\xBC\xE4\x09\x8E\x57\x8F\x85\x8F\xEB\x7E\xCF\x67\xE5\x6A\xE8\x5B\x1D\xFD\x7E\x6D\x8E\x8F\x88\xF2\x5F\xED\x85\x46\x94\x26\xBD\x10\xED\x8C\xE9\x75\x3D\x8B\x34\x8E\xB1\x71\x33\x9D\xE6\x18\x1C\xFA\x8E\xDA\x7E\xAA\x8F\x53\x43\xE3\x86\x01\x7D\x38\xB8\x0B\x9F\x8E\x24\x61\x90\x8E\x33\x63\xD1\x84\x02\x6D\x34\xB6\xBB\x25\x8E\xFC\x67\x71\x8E\xD7\x61\xE5\x86\xF9\x4B\x39\xB9\xFC\x2D\x8E\x72\x60\xA3\x7A\x64\x60\xA4\x82\x74\x9E\x2A\x44\x1D\xE2\x6B\xF0\x8C\x2B\x56\xBC\x8B\xA0\x64\x65\x80\xAB\x6D\x1A\xE7\x75\x92\x8F\x14\x50\xAB\x8F\xF9\x56\x75\x82\xAF\x7B\x1B\xD7\x8E\xFD\x8C\x1A\x57\xBF\x8E\x81\x7C\x45\x8B\xDF\x6A\x13\xE2\x8E\x1D\x7B\x83\x8F\x4C\x8A\xE2\x84\xA3\x48\x3B\xA2\xD7\x6A\x8E\x75\x89\xE7\x5C\x8B\x8D\x3E\x69\x6C\x90\x36\x85\x1C\xD4\x8B\x66\x8F\xDD\x8E\xC5\x8D\xB8\x6B\x7C\x88\x87\x7F\x1D\x9E\x6D\xD5\x8C\xF1\x68\xE1\x8E\xF2\x56\x78\x86", + "\x86\x48\x1E\xF2\x60\x8A\x8F\xC5\x74\xE3\x8A\x0E\x6E\x78\x95\x8F\x50\x1E\xBB\x71\xA9\x8F\x6E\x38\xE5\x8C\x04\x66\x79\x93\xEE\x71\xFE\x34\x36\x6A\x86\x9B\x8C\x8D\x82\x74\x87\xBB\x37\x39\x81\xFA\x30\x47\x3D\x8E\x16\x62\x57\x31\xFD\x8E\x4F\x67\x20\x9D\x02\xA9\x65\x5B\x84\xA0\x05\xCC\x8E\xFE\x8A\x10\x96\x85\x49\xFA\x1D\x8D\x9C\x8F\xE7\x5F\xE7\x8D\x3E\x61\x7A\x9F\x8F\x63\x1E\xCA\x8E\xCE\x84\x4F\x6F\xE9\x8B\x42\x71\x7E\x93\xCE\x6B\x1E\xE9\x5F\xAD\x8F\xFA\x63\xEB\x8E\xDE\x51\x7B\x82\xAF\x73\x1E\xB0\x76\xB5\x8F\x3D\x7B\xED\x8F\xF9\x59\x7C\x86\x38\xBC\x1E\xE2\x6B\xBE\x8F\x0F\x7C\xD4\x88\xE6\x89\xFE\x43\x3E\x80\xE8\x45\x8F\xEE\x68\xDD\x8E\x07\x95\xF9\x89\x7B\x9F\x40\xBF\x11\xAA\x90\xD4\x8B\xE7\x8F\x7A\x71\xFA\x85\x1F\x73\x3E\xA4\xC0\x55\x8F\xD7\x55\xEB\x8E\x2D\x61\xFB\x8B\x0D\x7B\x3E\xB6\xC2\x5D\x8F\x00\x75\xEF\x8E\x96\x75\x01\x93\x37\x43\x3F\xB2\xC1\x65\x8F\xE8\x60\xCC\x8E\x2D\x67\xE5\x84\x39\x9B\x3F\x8C\x07\x9B\x80\xC6\x7F\x1E\x82\xCE\x8B\x86\x51\xD1\x2A\x3F\x92\x21\xB7\x81\x93\x33\x2A\x91\xFD\x8F\x0A\x96\xFD\x7F\x3F", + "\x9B\x1E\xA9\x8A\x9D\x8F\x1F\x3F\xF3\x5D\x00\x94\xA3\x47\x40\xA9\x11\xB3\x89\x94\x8D\xA8\x8C\x4F\x74\x08\x9D\x74\x89\x7F\x4B\x20\xEF\x73\x11\x90\x00\x77\x04\x91\x60\x89\x2F\x9A\x35\x97\x20\xD6\x54\x19\x90\xF1\x65\x4A\x88\xF7\x8A\x6C\x90\x41\xB3\x18\xFE\x90\x5E\x4B\x10\x90\x80\x70\xF8\x83\xC0\x62\x3E\x88\x1B\x9C\x90\x80\x91\xBB\x55\x22\x97\xAD\x89\x77\x9E\xB4\x5D\x20\xB1\x90\x23\x91\x98\x59\xFA\x5E\x06\x92\x07\x78\x41\x8E\xF0\x3A\x90\xA9\x64\x1E\x92\x31\x66\x07\x99\x2A\x60\x42\xA6\xF3\x42\x90\x4B\x34\x36\x90\xCB\x4E\x08\x96\x0B\x68\x42\x82\xD8\x69\x8D\xD2\x82\x08\x60\xF8\x7B\xFD\x81\x10\x0A\x45\x81\x00\xFC\x8F\x7E\x82\xFF\x8E\x57\x36\x15\x92\x35\x4E\x3F\xA3\x03\xAD\x85\x58\x90\x9A\x34\x2D\x93\x6C\x46\x8B\x8B\x0D\x83\xA6\x71\x8F\x5F\x5E\x05\x8A\x0B\x36\x7E\x83\x3D\x93\x42\xBC\x09\x8C\x37\xC0\x90\x0B\x62\x30\x91\x7C\x88\xF0\x74\x1E\xAE\xF8\x25\x8F\x3F\x86\x34\x92\xE0\x8C\xC2\x69\x75\x93\xEA\x4C\x1D\xB0\x76\x66\x91\x49\x8A\x5D\x69\x0C\x9E\x0C\x6F\x43\xAC\xCD\x22\x91\x3F\x89\x6A\x92\x1A\x96\xB4\x71\x51\x92\xEB\x6E", + "\xEA\x1F\x89\xB8\x49\x0A\x90\x02\x90\x8B\x8D\x77\x91\xEC\x39\x21\xBC\x66\x60\x8E\x9E\x64\x1F\x91\xEF\x7C\x48\x85\x31\xA6\x23\xF2\x8E\xCC\x5F\x76\x90\xD9\x72\x1C\x96\xF0\x48\x47\xAD\x8A\x46\x8D\xA5\x88\x95\x88\x0B\x8B\xC5\x77\x77\x8C\x3E\x87\x1F\xA9\x88\x24\x8D\x8F\x8B\x3D\x95\xEE\x8C\x77\x93\x46\xAF\x19\xAE\x90\x53\x88\x39\x5F\xBD\x70\xEC\x41\x48\x70\x4C\x59\x12\xFC\x91\x98\x73\x9E\x88\x46\x92\x3B\x43\x72\x8E\x25\xA6\x12\xCA\x7B\x1B\x93\x55\x88\x93\x8B\x22\x95\x69\x87\x3F\xA9\x21\xBC\x88\xDB\x91\x48\x90\x4F\x6D\xEB\x86\x8D\x85\x48\x8A\x18\x91\x74\x00\x8A\xA9\x8D\xD2\x6E\x21\x98\x4B\x40\x47\xBF\xC7\x5E\x91\x80\x6E\x9C\x92\xD7\x61\x0E\x95\xAF\x73\x43\xA7\x21\xF5\x90\x71\x8F\xBC\x7A\x4A\x91\xA3\x8A\x6B\x91\x47\xB0\xEC\x73\x91\xA8\x69\x47\x91\x8B\x72\x29\x9D\xE9\x42\x44\xB5\xEB\x04\x91\xF4\x90\xB6\x8C\x4D\x95\x55\x46\x82\x95\xD7\x68\x20\xD7\x8E\x4C\x92\xC0\x6D\x56\x96\x2E\x7B\x88\x8B\xDC\x5B\x25\x8B\x6F\x32\x91\x67\x93\xCC\x5C\x25\x9B\xDB\x79\x31\x7D\xF6\x74\x8E\x6F\x4F\x44\x8D\x96\x7F\xC9\x7D\x91\x92\x49\x98\xAB", + "\x15\x8B\x80\x8E\x52\x91\xAA\x66\x14\x97\xF6\x6F\x25\xA6\x24\xB3\x58\xF0\x83\x55\x6C\x17\x5D\x39\x87\xFF\x7C\x42\xAE\x09\xF9\x8F\xFE\x5F\x28\x92\x05\x89\x21\x09\x8C\x96\x7C\x40\x26\x82\x02\x79\x93\xB1\x91\xFE\x85\x1C\x25\x98\x84\x81\x47\x26\xDF\x83\x82\x93\xC5\x91\x06\x3E\x19\x90\x56\x7C\x46\xB2\xD4\x68\x92\x62\x69\xA1\x93\x33\x62\x33\x99\x8D\x93\xFB\x68\x24\xEB\x92\x3A\x93\xC5\x76\x4D\x94\x46\x51\x9A\x9B\x86\x65\x26\xC6\x61\x3C\x92\xBB\x6A\x4F\x97\x89\x85\xD7\x77\x46\xB2\x83\x77\x90\xA8\x69\x77\x90\xCC\x76\x28\x96\xA5\x48\x4A\x98\x25\xDD\x92\xDB\x61\xAF\x93\x36\x66\x29\x96\x57\x70\x4A\xA5\x1A\xD2\x92\xAE\x92\x06\x76\x66\x97\x2A\x96\xEF\x5A\x4D\x86\x24\xFD\x8A\x62\x93\x7A\x92\x42\x91\x28\x99\x90\x93\x3B\x8B\x24\xBF\x4F\x21\x93\xC0\x8D\x70\x93\x70\x44\x89\x96\x85\x56\x22\x90\x67\x98\x90\xFE\x66\x26\x90\x1D\x6C\x89\x9C\x9F\x5E\x22\xF6\x6A\xA0\x91\x48\x5E\x66\x92\x2E\x9C\x3F\x74\x4B\x91\x25\x9A\x8B\x99\x7F\x88\x00\x13\x92\x20\x0C\x36\x52\xFF\x7B\x25\xE7\x46\xED\x8E\x58\x90\xE7\x86\x31\x96\x98\x2E\x42\x83\x26\xF6", + "\x6D\xC6\x90\x7F\x83\x40\x05\x3D\x9A\x00\x92\x4F\xAB\x0D\xF4\x93\x93\x32\xFE\x93\xFE\x7E\x3F\x98\x1C\x83\x6C\x48\x14\xBF\x8E\x9A\x93\x01\x92\x75\x6C\x0C\x96\xEF\x5D\x4C\xB2\xF8\x6C\x8D\x2E\x93\x36\x90\x59\x92\xC6\x68\x99\x93\x3A\x93\x27\xBC\x89\x9A\x93\xD4\x92\xA7\x6B\x35\x90\x78\x8A\x47\x96\xD7\x30\x93\x57\x8E\xD9\x92\x95\x54\x36\x9F\x1F\x76\x4D\x85\x27\xB8\x93\xC7\x93\xE0\x89\x72\x94\xC3\x7C\x9C\x98\x26\xBA\x23\xB2\x42\x00\x92\xC8\x6D\x55\x96\xAE\x64\x9C\x94\x43\x86\x27\x9A\x5A\x28\x94\x1C\x94\x44\x95\x5E\x77\xA3\x85\xB5\x51\x27\xB4\x90\xD6\x6B\xEA\x91\xAA\x67\x3A\x9D\xD2\x6A\x4B\xAE\x25\xDD\x93\xBB\x71\xEF\x92\xA7\x69\x3C\x97\x16\x63\x4F\x90\x0D\x9E\x92\x9E\x5C\x54\x92\x99\x86\x7B\x32\x89\x8F\x4F\x8F\x2D\x76\x93\x92\x92\xEB\x55\x7E\x92\x3A\x84\xA5\x9C\x9C\x59\x29\x84\x93\x94\x93\x09\x87\xF4\x30\x4B\x98\x3E\x9F\x45\xA1\x29\x92\x80\xC0\x36\x32\x97\x31\x97\x97\x3D\x98\x92\x83\x5E\x21\xDE\x66\x96\x93\x6E\x39\x9C\x96\x18\x6A\xA0\x95\xD7\x4C\x28\xF4\x90\x0E\x95\x19\x8A\x34\x97\x42\x95\xBD\x7A\x4C\xA3\x26\xB4\x72", + "\x9A\x93\xD3\x93\xB5\x52\x43\x9B\x9E\x7C\x50\xAB\x25\x9E\x94\xF5\x74\x10\x96\xBD\x5A\x44\x9F\x1F\x64\x51\xB4\xA8\x26\x94\x36\x95\x1C\x95\x0B\x94\x05\x90\x39\x7C\x4D\x9E\xDA\x3E\x93\x8B\x88\xE0\x91\x84\x94\xE5\x43\xA3\x9E\xB4\x75\x28\xD6\x6B\x3D\x95\x3E\x93\x8E\x96\xAE\x61\xAA\x86\x3E\x88\x27\xE4\x91\x12\x93\xE7\x91\x95\x95\x45\x9B\x33\x88\xF2\x55\x28\xCA\x6F\xEF\x89\xA9\x92\x57\x40\x49\x9A\xA5\x6A\x52\xAB\xE7\x4C\x94\xD9\x6F\x4D\x96\x6C\x53\xD2\x82\xAB\x87\xD7\x4A\x21\xA9\x65\xEB\x92\x7A\x82\x9A\x91\xE2\x76\x12\x91\x4C\xA5\x29\xB9\x8E\xB9\x91\x9A\x81\x7C\x96\x2F\x9A\x3E\x89\x08\x0F\x26\x80\x00\x2D\x82\xC5\x93\xB1\x93\xEE\x3D\xA6\x92\x45\x90\x05\xC6\x95\x6B\x94\x6E\x65\xB2\x91\x1A\x7C\x73\x87\x53\xA4\x0F\xE6\x80\xD4\x94\x6F\x94\x31\x96\x3B\x52\xAE\x9D\x56\x9B\x29\xD0\x94\x73\x95\xDA\x76\x16\x6B\x19\x64\x92\x97\x25\xAF\x28\xD8\x91\xAD\x89\xF5\x71\xBA\x96\xEB\x73\x93\x9C\x53\x96\xD7\x7F\x94\xEB\x91\xB0\x6B\xBB\x96\x91\x6B\xAE\x82\x37\x6D\x2B\xC6\x6C\x30\x92\x41\x45\xBF\x92\x28\x9F\xAF\x9F\x17\x95\x24\xE2\x7E\xFB", + "\x95\x62\x81\xC2\x90\xF1\x77\xAA\x97\xFA\x7E\x1A\xF6\x91\x0B\x96\x10\x93\xC0\x95\x1F\x91\xB1\x94\x43\xB1\x28\xC8\x7B\x81\x85\x38\x88\x41\x96\x33\x9A\x9C\x8E\x4E\x95\x2C\x80\x74\xA5\x95\xDF\x93\xDE\x8D\xC2\x7F\xB1\x86\xE7\x61\x2C\x93\x78\x44\x80\x7B\x94\x6B\x92\x5A\x9A\xB2\x96\xAB\x42\x29\xFC\x67\x44\x94\x97\x84\xD0\x81\x3D\x9D\x10\x1B\x4E\x96\xE6\x71\x89\x34\x97\x84\x02\xAD\x91\xEC\x7A\x9A\x50\x4B\x8F\x28\xE4\x93\xBB\x70\xF3\x91\x20\x8B\xEE\x3F\xAB\x9C\x9F\x5A\x1E\x9E\x76\x9A\x93\x79\x94\xE4\x65\x4E\x90\x78\x97\x53\xBF\x24\xF9\x94\x45\x89\xD4\x89\x74\x92\x50\x9C\x33\x78\x57\x9B\xF3\x07\x96\xE3\x91\xDF\x78\x5B\x68\x6B\x90\xB0\x85\x58\x95\x14\xA5\x96\x07\x7C\xAE\x96\xC1\x93\x42\x91\xCF\x64\x5B\x9F\x18\xAD\x96\x0F\x92\x4A\x97\x79\x93\xD7\x86\x77\x8F\xF0\x42\xBC\x62\x96\x66\x72\xAF\x95\x76\x62\x55\x9C\x4D\x93\xEF\x53\xBC\x03\x92\x1D\x97\x7C\x91\xAF\x93\x42\x77\xB2\x87\x51\xA3\x2A\xEB\x92\x7D\x97\x7C\x95\x58\x90\x55\x99\x34\x11\x4E\xAF\x2C\xBB\x71\x31\x97\x4C\x94\xAC\x92\x23\x90\xB7\x93\xA8\x6D\x25\xBC\x96\xC9\x7A", + "\x71\x8D\x74\x90\x68\x9A\xA5\x62\x5A\xA8\x2C\xB0\x73\x39\x96\xD9\x73\x64\x34\xB1\x3E\xA2\x3D\x45\xA5\xF9\x11\x32\xCB\x95\xFB\x92\x40\x05\x5A\x98\x7F\x9E\xCA\x1C\x2E\xD4\x7F\xCC\x95\xC2\x85\xEB\x37\x4D\x9B\x78\x6A\x5A\x9C\x19\x8D\x97\x34\x7E\xBA\x96\xD1\x88\x76\x90\xB5\x8D\x23\xBC\xE4\x2E\x97\xA8\x68\xAA\x94\xE4\x66\x6A\x95\xAF\x7A\x5D\xA1\x23\xB0\x97\x84\x95\x15\x97\x44\x88\x6C\x91\x91\x68\x54\x80\x1E\x8A\x95\xF9\x94\x46\x97\xD5\x8E\x51\x96\xEF\x50\x54\xBF\x24\x81\x97\xA0\x94\x49\x95\xA5\x91\x3A\x98\xA9\x8D\xEE\x64\x20\xB2\x97\x02\x92\xC8\x97\xDD\x92\x7B\x9A\x46\x8E\x33\xB8\x2D\xDD\x97\x8D\x91\xEF\x97\xC8\x95\xF0\x74\xBC\x98\x25\x50\x2F\xAB\x96\xF9\x68\xB9\x96\x74\x92\x57\x9F\x1F\x67\x5C\x9A\xE9\x09\x97\xA4\x8F\xB4\x91\xAC\x90\x6D\x91\x96\x74\x55\x8B\x69\x3B\x96\x01\x92\x5C\x94\xCF\x40\x76\x94\xB9\x8B\xD2\x16\x2E\xD6\x97\xB0\x7F\xCD\x8A\x57\x31\xD1\x76\x85\x96\x52\x8E\x2B\xC3\x95\xEF\x86\x08\x84\xE9\x94\x7F\x6F\xAC\x84\x60\x9B\x21\xA2\x97\x01\x03\x05\x99\x02\x89\x53\x85\x3E\x81\x57\xA7\x2B\xD5\x87\x45\x82\x5C", + "\x91\x17\x93\x62\x9B\x74\x8C\x5F\x97\x1D\xB8\x97\x97\x96\x77\x8D\xF9\x94\x27\x7E\xB4\x9A\x46\xAD\xB2\x71\x95\xDC\x97\x3D\x96\x07\x99\x7E\x97\x55\x7B\x5B\xAA\x12\x9A\x64\xA3\x7E\x54\x8D\xD4\x91\x99\x51\xB0\x99\x70\x7E\x23\xBC\x73\x86\x95\x74\x87\x53\x46\x78\x9F\xA0\x88\x5E\xB4\x11\xAC\x4E\xCA\x96\x00\x98\x10\x73\x84\x9C\x9B\x6E\x5E\xA6\x30\xE6\x97\xD2\x96\x91\x84\x43\x94\x64\x9E\xC2\x8C\x9B\x56\x2A\xFA\x94\x8C\x6F\x1B\x98\xE4\x6F\x62\x96\x33\x90\xDB\x75\x30\x9B\x96\xA0\x89\x1A\x8F\xDF\x90\x8A\x97\xBE\x8E\x5B\xA0\x2F\x90\x78\x8F\x88\xC6\x7F\x16\x9B\x86\x92\x0F\x43\x5C\x9B\x12\xBF\x39\x40\x95\x23\x99\xAB\x46\x7D\x9B\xA4\x30\x5F\xA1\x11\xF3\x46\xD9\x93\x5D\x72\xCD\x95\x66\x88\xB3\x86\x4B\x9F\x5F\x78\x97\x0E\x97\x70\x8D\xE6\x90\x98\x51\xC3\x97\x2C\xA3\x24\xD2\x98\xD4\x8B\xA2\x97\x2E\x77\x68\x9E\xE4\x60\x61\xB6\xBB\x06\x99\xF9\x94\xA6\x94\x94\x95\x84\x9E\xC5\x97\xEA\x44\x31\xE7\x98\x72\x94\x0E\x9A\x85\x93\x85\x94\x87\x9C\x5D\x80\x1E\xBE\x97\x22\x96\x7D\x95\x13\x98\xF0\x61\xBC\x84\x5C\x98\x1D\xFD\x98\xAD\x92\x4A\x9B", + "\x87\x92\x92\x94\x94\x8F\x64\xBE\x92\x4C\x97\xF9\x94\x23\x99\x23\x9C\x6D\x9D\x90\x94\x5F\xBC\xE4\x5D\x98\x6B\x93\x27\x99\x0A\x99\x8A\x96\xCA\x8D\xD1\x54\x31\xF6\x96\x75\x96\x9D\x84\xA2\x68\x90\x9F\x9E\x50\x65\xAE\x25\xBE\x99\xC2\x96\x56\x98\x13\x9E\x95\x93\xAE\x63\x63\xB6\x2E\xDE\x42\x66\x98\x8D\x97\xAA\x93\x93\x9E\x35\x6C\x63\x9E\x8C\x6A\x97\x71\x98\x2D\x77\x1C\x9A\x89\x99\x10\x16\x5F\xAB\x71\x78\x98\x18\x96\x64\x6E\xCF\x90\x8A\x9D\xBF\x8B\x5D\x57\x31\x81\x98\x7B\x99\xD7\x74\xCD\x33\xFC\x5D\x97\x86\x60\x83\x04\x64\x99\xEE\x93\x2F\x94\x7E\x93\x5B\x98\xE9\x68\x67\xBD\x27\xA9\x97\xB6\x86\x8F\x82\x57\x36\x9D\x93\xA0\x90\x67\x8A\x0E\xDA\x84\xF3\x98\x04\x98\xEA\x81\x83\x9D\x1E\x97\x60\x80\x05\xE7\x99\xFA\x98\x0C\x98\xAB\x85\x9F\x9C\xCE\x9A\x4F\x82\x04\x74\x99\x6B\x38\xCF\x97\xF0\x80\xFE\x8E\xAD\x98\x65\xAA\x30\xAB\x99\x88\x99\x9F\x92\x22\x9A\x7C\x9B\x99\x8A\x5F\xB5\x2E\x90\x99\x3B\x89\x0E\x98\xC7\x93\x92\x9B\xD1\x9C\xAA\x6A\x2F\x98\x99\x8A\x96\x4D\x98\x31\x98\xEA\x74\xCA\x9F\x64\xBC\x32\xE1\x5D\x25\x9A\x1F\x98\xB8", + "\x84\xC5\x50\xBB\x88\x65\xBF\x24\xAA\x99\x50\x94\x60\x99\x40\x92\xA6\x91\x8D\x81\xD0\x4C\x33\x8B\x77\xD5\x97\x37\x98\x8C\x95\xA4\x9D\xA9\x94\x68\x9F\x2A\xAB\x9A\xCD\x92\xBD\x97\x48\x98\xF9\x89\xC4\x99\x64\xB4\x34\xFE\x75\x4B\x98\xF2\x97\x4D\x98\x5F\x89\xCC\x95\x62\xBE\x92\x69\x98\xAB\x98\x67\x98\x1C\x4D\xA4\x91\xCD\x9B\xB5\x62\x32\xF5\x75\xD6\x98\xE9\x6F\x52\x9E\x18\x6A\xBF\x8D\x4D\x7C\x32\xE8\x8B\xE1\x98\xFA\x43\x37\x9E\x2E\x92\xC0\x93\xCC\x26\xF0\x05\x98\x0E\x67\x99\x07\x59\x9F\x81\x9A\xCE\x83\x5D\x9E\x2B\xEA\x9A\x01\x9A\x09\x8A\xF5\x84\xA1\x9E\xCF\x8C\x10\x8B\x33\xE9\x99\xD3\x95\x21\x67\x5B\x9C\xAD\x95\xCE\x8D\x6B\x91\x30\xFB\x9A\x7A\x92\x6C\x96\xEF\x81\xB2\x32\xC1\x8F\x1B\x9E\x65\x6B\x9A\x81\x9B\xBC\x98\x2E\x4D\xB0\x94\x19\x91\x4E\x91\x34\xF5\x75\x8F\x9A\xC0\x8F\x44\x9B\x96\x9C\xC8\x90\x52\x97\x34\xB6\x7C\x09\x7D\xC8\x98\x68\x95\xA4\x96\xC9\x9B\x6C\x9F\x34\xA5\x9A\x9D\x98\xAD\x95\x5C\x6B\xAC\x93\x9E\x69\x69\xA5\x34\xC1\x98\xF9\x94\x97\x98\xFA\x97\x6C\x97\xD5\x84\x55\x85\x35\xA1\x9A\x47\x9B\x17\x9A\x2C\x9E", + "\x93\x99\xD3\x9F\x61\xA3\xF8\x3C\x9A\x25\x9B\x9F\x9B\x2A\x99\xB6\x97\xE3\x66\x66\xA2\x36\xDF\x98\x22\x8B\xD6\x9A\x23\x97\xB5\x92\xC4\x8D\xF8\x5B\x35\xE8\x61\x50\x9A\x28\x96\x54\x9C\xAE\x3E\xC6\x91\x48\x8B\x2E\xE1\x9A\xD3\x98\x99\x96\xE3\x92\xF4\x7F\xD5\x9A\x63\xB6\x31\xCF\x8E\xEA\x97\x6E\x9A\xE2\x4F\xA4\x91\xA5\x22\x64\x9A\xE9\x41\x95\x00\x01\x07\x01\x5C\x9E\x81\x85\xBB\x31\x08\x22\x37\xA1\x97\x7E\x9A\x00\x00\x63\x98\x9F\x93\x99\x27\x6F\xBF\xFE\x04\x94\x64\x74\xAF\x32\x7B\x9A\xB0\x99\xC0\x91\xD2\x2B\x37\xAE\x34\xCF\x95\xF9\x99\x5F\x9A\xB1\x9D\x2A\x57\x6F\xB4\x75\x79\x9B\xE3\x9B\xCC\x83\xFB\x8E\x4C\x95\xD7\x82\x53\x82\x04\x7A\x9B\x78\x9B\x6C\x94\x61\x9D\xA1\x99\xD9\x8E\x6C\xA5\x34\x93\x9B\x9E\x99\xCA\x98\x45\x9F\xB2\x9E\xD4\x88\x48\x9A\x34\x8F\x94\x20\x9A\x16\x98\x1F\x9D\xBA\x99\xB5\x8A\x66\x9C\x34\x8F\x94\xA1\x9B\x6C\x9B\xF0\x97\xB8\x9E\x49\x66\x6D\xAA\x2F\xA8\x9B\x3F\x92\xD5\x98\xE0\x88\xA6\x94\xD1\x9C\x6D\xB3\xFC\x2E\x9C\xCE\x61\xD9\x9B\x6F\x9B\xEA\x34\xDA\x91\xBC\x5C\x38\xF5\x84\x15\x9C\x88\x5B\x8D\x99\x6F", + "\x95\x00\x75\x65\xBD\x19\xEA\x96\xD2\x9A\x61\x9A\x52\x9B\xA8\x9B\x94\x84\x6E\x99\xF7\x72\x75\xDC\x9A\xC6\x35\x72\x9C\xA2\x9B\xDC\x8C\x31\x54\x35\xC6\x94\x97\x89\x43\x5E\x3C\x8D\xA4\x9D\xD5\x9A\x31\x65\x34\xDA\x9B\x52\x5F\x1A\x9E\x77\x9D\x2E\x6E\x95\x3B\xA3\x68\x35\x81\x6E\x33\x06\x2F\x9C\x5F\x9A\xC1\x93\x37\x5E\x6F\xAB\x2E\xDD\x9C\x01\x9C\xE1\x84\x61\x80\x59\x9B\xC1\x93\xCC\x22\x39\x89\x9B\x64\x9D\xBF\x58\x60\x9E\xF5\x6B\xDF\x91\x73\xB6\x02\xED\x9C\x34\x37\x37\x9C\xCB\x93\xB0\x95\xE6\x93\x73\x91\xD8\x68\x9B\xFC\x9A\xAF\x42\x99\x9A\x9E\x90\xBB\x9A\x6C\xB2\x2B\x8F\x9C\x25\x9A\x09\x9F\x2C\x9C\xC2\x98\x42\x98\xCD\x65\x34\x99\x9C\xF9\x95\xCE\x9A\x5B\x90\xD2\x9F\x93\x94\x74\xA5\x89\x00\x00\x00\x10\x00\xB7\x4C\x01\x00\x03\x00\x01\x82\x80\x0F\x7D\x82\x83\x83\x08\xFF\x40\x83\x81\x81\x86\x86\x83\x02\x0C\x81\x8E\x12\x8C\x82\x87\x85\x0C\x8F\x8F\x98\x83\x82\x8F\x8B\x8A\x1E\x89\x9C\x82\x81\x90\x87\x91\x86\x25\x90\x95\x86\x20\x97\x8E\x89\x94\x06\xA7\x96\x90\x92\x98\x99\x83\x9A\x36\xB8\xB4\x8D\x90\x99\x8A\x89\x19\x3C\xA6\x81", + "\xA5\x9A\x99\x95\xA2\xA2\x43\xA1\x87\xA1\x9E\x9C\x87\x1D\xA4\x37\xD0\x9A\x8B\xAE\x8C\xAB\xA8\xA9\x1B\xD8\x8E\x8D\xA3\x85\x1E\xA8\xAB\x59\xAF\xB9\x9A\xA2\x94\xB0\x84\xAE\x02\x9F\x1F\xA6\xB7\x80\xB2\x97\x8C\x63\xE2\xBD\x95\x80\x33\xB6\xB8\xA3\x6C\xB1\xB9\xB1\xA7\xB8\xA5\xBE\xA6\x15\xA7\x12\xA8\xB1\x86\x12\xBA\xB8\x3B\xFF\x95\xBB\xBA\x84\xC6\xB7\x84\x84\x80\x02\xCA\xCF\x79\xCA\xC2\xCA\x8F\xC2\x94\xC1\xB8\xC0\xBF\xCD\xB7\x1D\xB6\x91\xC2\x37\xC1\xD1\xC5\xCE\x7E\xA8\xCA\xAE\xCC\xC1\xC9\x31\xD2\x24\xF1\xAA\xCB\xCF\xCD\xB1\xDA\xCD\xB3\xD7\xB7\xC7\x81\xCD\x00\xD8\x94\xA7\xA6\xDE\xD9\xDC\xCA\xE1\xD4\xE3\x80\x95\xBF\xD3\x93\xE0\xE4\xDA\xE2\xA0\xB1\xC1\xF2\xE9\x91\xC9\x0D\xE5\x36\x8D\xFB\xDA\xBB\xEC\xBC\xE8\xDB\xDF\xE7\x81\xC3\xC5\x8F\xC9\xDD\xCC\x6D\xAC\xDD\xFA\xE1\xF1\xF7\xF5\xC8\x93\xB9\xD6\xD8\xE2\xDE\xE6\xDD\xF6\xDC\xF8\xDE\xF6\xFF\x80\xF8\xF2\x89\xE6\x76\x78\x79\x7E\xFC\x51\x70\x71\x73\xD4\x47\x79\x81\x72\x0C\x71\x76\x7F\x7C\x98\x6A\x7A\x7C\x7B\x05\xA0\x75\x84\x6E\x17\xAE\x73\x85\x64\x3C\x34\x73\x77\x81\x0A\xA0\x8B", + "\x6B\x7A\x03\xBB\x7B\x82\x47\x91\x4D\x0E\x84\x82\x22\x8F\x79\x84\x81\x27\xB7\x7F\x89\x41\x91\x48\x12\x56\x72\xD9\x49\x05\x46\x22\x2B\xA1\x8C\x72\x8F\xD9\x65\x84\x85\x8C\xFD\x55\x42\x13\x8D\x8C\x7A\x82\x46\x1F\x3D\xA3\x83\x86\x90\x50\xAD\x65\x46\x08\x48\xAB\x7A\x90\x43\x3F\x0D\x9E\x88\x91\x06\xBF\x8E\x93\x8C\x43\xAD\x8A\x45\x64\x2D\x15\x93\x87\x95\x03\x5B\x1A\x96\x8C\x5C\x96\x8D\x98\x86\x6F\x9A\x80\x99\x64\x56\x26\x90\x98\x9A\x02\x61\x2B\x99\x71\x71\xB0\x82\x98\x9F\x7F\x9D\x91\x92\x94\x12\x64\x06\x9D\x9F\x05\x78\x91\x40\x11\x52\x41\x05\x46\x03\x52\x4A\xA0\x02\x8A\x94\x7E\x6B\x7A\xA3\x12\x50\xA4\x66\xA4\x94\xB9\x66\xA7\x84\x07\x04\xAC\x40\x01\x52\x48\x09\x91\x45\x0C\x0D\xAF\xA1\xA4\x15\x5D\xA6\x7F\xA7\x60\xA1\xAF\x79\x45\xA4\x94\x66\xAA\x95\xA8\xAA\xA9\xA4\xAB\x12\x6E\xA1\x8C\xAC\x88\xBF\x32\xAF\x86\xB4\xA5\xA7\xAA\x44\xA9\x94\x68\xA4\x43\x9A\xB9\x6C\xA6\x54\xC0\x81\xA9\x43\xB0\x73\x85\xB6\xAF\xB1\x0C\x49\xB9\x6F\xB2\x03\x4D\xB6\x7F\xB3\x95\x8C\x64\xB5\xB0\x91\x75\xA9\x6F\xAD\x67\xB9\xAA\xB3\xAA\x9B\xAD\xA0\xB6", + "\xB8\xA2\x83\x46\xBA\x7D\xE8\xB7\x9A\xBB\x79\x12\xA0\x91\x97\xAC\x12\x64\x1B\x9E\xA0\xF5\x41\xB2\x91\x64\xFE\x91\x84\x89\xBE\x02\xC8\xC2\xB6\x78\x12\x5C\x1F\xBE\x9B\x0B\xF2\x99\xC3\xC1\xFC\x8C\x41\x13\xC3\x70\x91\xCE\x9E\x97\x5B\x9A\xC6\x8A\xC7\x95\x55\x43\x04\xC6\x12\xE0\xCB\xBF\x93\x0A\xDC\xCC\x9A\xC9\x29\xC3\xA5\xC7\x40\x05\xF8\xB4\xC4\xCA\x33\xFA\xB1\xBE\x40\x30\x24\xCB\xC6\xCB\x34\xFD\xC5\xB6\x44\x6A\x86\xCE\xCF\xC4\x43\xEC\xCF\xC8\xCE\x3A\xDF\xCA\xC8\xA0\x4B\xC0\xCF\x85\xD3\x90\x55\x49\xCE\xD0\x36\xF5\xC4\xD1\xD5\xC4\x92\x44\x44\xD5\x57\xDD\xD6\xD1\xD1\x50\xCC\xCC\x40\x4B\x5C\xDF\xD8\xD7\xD9\x5E\xE1\xD5\xCA\xDA\x2A\x7F\x49\xD1\x98\x6C\xCA\xDC\xCC\xDA\x20\xD1\x6F\x51\xD9\x71\xF0\xD3\xDD\xDA\x7B\xF5\xD5\x46\x57\x78\xFD\xD9\xDF\xC9\x3F\xCC\x4A\x59\xE0\x01\xE6\xDC\xDE\x68\x74\x6F\xD4\xE3\xE2\x4F\xD9\x7E\x7C\x65\x10\xB2\xC0\xDA\xE0\x98\xC9\xE9\xDF\xE4\xF2\x65\x7E\xE1\xCB\x9A\xD9\xE3\x5E\x44\xA4\x48\xE1\xE5\xE8\xA8\xE7\xE3\xE8\x43\xAF\x66\xEC\x8B\xE0\xA0\xEA\xEF\xEA\xE4\x15\x51\xBA\xCB\xE3\x8A\xF9\xE0\xEF\xD1", + "\xCA\x62\x98\xEF\xEE\x97\xE9\xE5\x75\x45\xD7\x6E\xE0\x92\xF0\xC7\xF2\xE5\x48\xE7\x0F\x9E\xE6\xF3\x97\x90\xF3\xE8\xF0\x83\x03\x4E\x81\x8D\xE5\x02\xB1\xE2\xF6\xF2\xD0\xFE\xD2\x46\xF5\x62\x98\xF1\x8F\xEF\xA2\xDB\xF6\xFB\xF2\xE3\x54\xEE\xF2\xE5\x74\xC0\xFD\xF9\xF9\xC9\xC3\xF2\x45\x87\xCF\xDD\xCE\xF9\xF4\xF1\xF9\xF4\xF6\x40\xBE\xBE\xEA\xF6\xFE\xF6\x70\x7F\xFE\x01\x26\x46\xCA\x38\x46\x26\x92\x5C\x45\xFD\x2B\x67\x7E\xDD\x42\x80\x45\x46\x47\x50\xC8\x12\x5C\x49\x05\x8C\x6F\x81\x0C\x98\x81\x91\x12\x24\x4A\x03\x98\x5B\x20\x59\x56\x82\xD3\x67\x7D\x7B\x06\x9B\x75\x22\x65\x5E\x80\xAE\x40\x6F\x72\xAB\x4E\x83\x7A\x10\x92\x21\x9D\x2A\x89\x5C\x89\x3A\x4A\x84\x10\x66\x86\x06\xA3\x80\x81\x31\x55\x26\x50\x34\x96\x5E\x44\x0C\x5B\x5C\x89\x10\x04\x57\x0C\x3D\x7E\xCA\x36\x79\x3A\x6E\x42\x27\x88\xED\x5D\x57\xBB\x6B\x33\x5C\xEF\x63\x56\x58\x2B\x99\x5A\xAE\x0C\x20\x8A\x67\x6E\x59\x5C\x54\x97\x65\x40\x73\x51\x47\x7A\x41\x5A\x52\xDA\x56\x3E\x13\x81\x2D\x8B\x6F\x5F\x8E\x53\xF0\x5C\x74\x00\x64\x82\x4C\x33\x93\x87\x5E\x6A\x95\x21\x1B\xB1\x40", + "\x5C\x38\xA1\x8A\x8E\x74\x8A\x66\x1D\xF9\x68\x8D\x2D\x83\x23\x8F\x62\x5D\x8F\xAB\x71\x89\x6B\x2B\x97\x59\x8B\x03\x29\x8D\x8C\x6B\x80\x00\x44\xAA\x62\x91\xBF\x4C\x91\xE1\x72\x58\x8B\x1A\x9A\x88\x8C\x13\x4C\x8A\x4D\x55\x87\x84\x89\x01\x97\x21\x83\x99\x44\x1E\x99\x9F\x8F\x46\x9C\x97\x91\x9E\x91\x93\x14\xA0\x52\x8D\x39\x9D\x92\x88\x9F\x9E\x8C\x2D\x80\x97\x97\x33\xAB\x92\x4C\xA2\x90\x24\x29\xB4\x76\x95\x5E\xB7\x88\x59\xB3\x91\x55\x2D\xA7\x9E\x21\x54\x88\x87\x97\xB7\x7F\x7D\x09\xBB\x89\x86\x6A\xA2\x68\x66\x2D\x81\x78\xF7\x01\x80\x86\x1F\xBD\x59\x9B\xEF\x7D\x9B\x05\xE2\x9C\x87\x01\x80\x06\x61\x38\x99\x62\x0E\xE4\x95\x9A\x76\xAA\x9C\x98\x16\x60\x9C\xFE\x53\x9E\x9D\xB5\x56\x9C\x37\x22\x72\x9F\x0B\xDB\x99\x83\x7A\xBB\x66\x9F\x72\x60\xA2\xDE\x02\xA4\x7C\xC6\x5F\x99\x9D\xF6\x84\xA2\x34\xDC\x9C\x9F\x0D\x8C\x23\x6A\xEC\x73\x9C\x43\xA4\x83\xA3\x1E\xA3\x9B\x75\x69\x5A\x9F\x3A\x8D\xA5\x9D\x8A\xB4\x98\xA3\x48\x68\xA3\x3F\x9C\xAD\x9C\x92\xAF\x9A\xA0\x91\x30\xA1\xF6\x2E\x8B\xA2\x8A\xBD\x9E\xA4\x09\xA0\xA7\x44\x1A\xA7\x9F\x91\xAE", + "\xA7\xA2\x37\xBB\x2B\x4A\x34\xAA\xA0\x96\xB5\xA1\xA0\x30\xAD\x6C\x43\x40\x22\xA4\xA0\xB9\xA5\xA4\x47\xA7\xA5\x50\xB4\x45\x23\xBB\x51\xA3\x9F\x49\xB1\xA5\x54\xB6\xA6\xA2\x9D\x92\x20\x70\x4F\xAD\xA5\x55\xC8\xAB\xAA\xA5\xB2\x7E\x70\x3C\xAB\xAB\x40\xE2\xA3\x61\xC6\x45\xAB\xAC\x53\xA6\xA9\x57\xD2\xAB\xAC\xA1\x95\x7F\x3F\x0C\x21\x43\xF8\x0B\xAF\xA5\xB4\xA8\xAD\xAD\x6A\xA6\x9C\xF8\x2A\x62\x7C\xFF\x7E\xA5\xA7\xDA\x96\xAD\x59\xA4\x71\xAC\xC1\xB4\xA8\xA7\x78\xA1\x66\x44\x2D\x79\xAB\x9F\xB7\xAF\xA3\x86\xBF\xAE\x58\xBD\x35\xB1\xC4\x85\xA4\xAC\xB5\x87\x80\x57\x90\xB6\xB3\xC3\x9D\xA5\xAE\xE8\x72\x21\xF1\x0D\xB0\xB1\x70\x98\xB2\xB2\x5F\xAF\xAE\xFA\x00\x45\xB2\xCE\xAE\xB6\xA3\xB0\xA0\xB6\x5E\xF0\xA3\x20\xB9\xBE\xA9\xB0\x9D\xA8\xB5\x6E\xAE\x92\x21\xBD\x8E\xA5\xB6\xAD\xB1\xB4\x62\xAF\xB2\xB6\xE1\x96\xAD\x41\xB4\xA2\x22\x6D\xD1\x9A\xB6\xE2\x83\xBE\xB8\x9B\xB0\xBA\x57\xA1\xBC\x20\xFA\x64\xB7\xB4\xB8\xAE\xBB\x67\xCF\xB5\xB8\x6F\x89\x89\xB8\xDD\xBC\xBA\x78\xDB\xB4\xBD\xA8\x52\x25\x80\xB9\x3A\xB1\x4A\x09\x80\xBD\xF1\x91\xB9\xBC\xE5", + "\xB3\xBA\x39\xC7\x41\x88\x5F\x8B\x4D\xBD\xF1\xAC\xAE\x76\xEF\xBE\xBD\x6B\x82\x25\x83\xE9\xBF\x82\x40\x21\x87\xBB\xC8\x99\xBA\xBA\xFA\xA8\xC2\x5B\x82\x29\x85\x00\xD0\x92\x20\x41\x65\xC3\x6E\xA6\xB6\xC0\x0A\xD4\xBB\x20\x33\x8E\xC1\x2C\xF9\x48\xBE\xFE\xB9\xBC\xAA\xFB\xB2\xBE\x82\xCC\xA5\x50\x09\x84\x95\x22\x44\x92\xC1\x88\x89\xC0\xBE\x0F\xE6\xBC\x21\x31\x6B\xA7\x81\xAD\xC2\xC4\x1A\xF8\x9F\xA0\x2A\xC3\xC7\x63\xBA\xC7\xB3\xD4\x82\x20\x9D\x39\xD6\xC4\x88\xBC\xCE\xB3\x17\xC3\x27\x62\x67\xBD\xC7\x84\x92\xAE\xBB\x81\x23\x61\xC9\x45\xD5\xC5\x7F\xAC\xC3\xCB\x21\xC2\xC9\xAF\x44\xD2\x8D\x8C\xF3\xAD\xB9\x2C\xF3\xC5\xCA\x24\xCF\xA1\x87\xD2\xCF\xC2\x2C\xD7\xCA\xB1\x0C\x31\xC2\x8C\x96\xCB\xC4\x2B\xE0\xCB\xC7\x4D\xC1\xA5\x90\xEF\xCA\xC9\x36\xE6\xCF\xB7\x72\xCB\xCC\x93\xF4\xC1\xCA\x2A\xC7\xBB\x20\x5B\x73\xCD\x99\xF0\xCC\xCF\x2E\xF1\xC9\x20\x64\x62\xD2\x8B\xE4\xCB\xD0\x3F\xCD\xD6\xCD\x7F\xC2\x20\x51\x8A\xDC\xD1\x4A\xCE\xD6\xD2\x90\xC6\xCA\x40\x4E\xAA\xCE\xA8\x8B\xCE\xD3\x76\xC8\xCD\x57\x63\xC7\xD3\x52\xD9\xD6\xBF\x01\x27\x70\xA5", + "\xA6\xD7\xCF\x41\xC3\xB4\x21\x75\x30\xCA\xA1\x85\xDF\xCB\x48\xC1\x26\xB7\xB6\xC0\x03\x72\xB4\xDC\xCC\x2F\xFD\xD7\xD0\x92\x29\xB9\x61\x24\xD7\xD4\x56\xC4\xD3\xD0\xA3\x24\xD9\xAB\x8F\xDB\xD8\x4C\xE1\xCB\x20\x8C\xBD\xD2\x56\xA1\xD5\xCE\x5F\xE4\x5D\x76\xCA\xC7\xD8\xB3\xDA\xDE\xD8\x51\xFD\x77\xB6\xBF\xDC\xD7\x9E\xC8\xD4\x79\x6C\xD5\xDF\xCC\xAF\xCA\xB5\xE7\x2C\xB2\xD7\x5A\xDB\xDF\xDC\x78\xD7\xD6\xB0\xBA\xD6\xDD\x3E\xC5\xDF\xDE\xCF\xDD\xB7\xBC\xBB\xDE\xD4\x7B\xCD\xDE\xD8\xE9\xDA\xDF\x6A\xF1\xA5\xDF\x59\xFD\xDE\xE0\x9A\xC1\x22\x75\xD2\xDE\xB0\x78\xC7\xE6\xDD\xA8\xD3\x51\xC1\x90\xE0\xE1\x5A\xA8\xBE\x3E\xEA\xA5\x24\x7B\xED\xD1\xDD\x87\xDD\xE1\xE1\x00\x14\xBE\x86\xB8\x93\x21\x0A\xAB\xD0\xDF\xDC\xD5\xE0\xC2\x91\xE0\xC0\x8C\xC2\xC1\x20\x04\xCC\xE1\x69\xE3\xDF\xDD\x5A\x8D\xC6\xE5\x0F\xC1\x22\x9A\xDC\xC4\xE2\x94\xCE\xE3\xDB\x74\x46\xC6\x2A\xB6\x83\xE3\x8F\xDD\xDF\xE7\x11\xE0\x8B\xC8\xF6\xBC\x21\x14\xF9\x8A\x22\x4F\xDE\x8A\x14\xA0\x90\x4C\x4A\x91\xEE\x8D\x53\xFA\x96\x32\xBC\x90\x96\x92\xC2\x22\x92\xC0\x8C\x31\x30\xA9\x23\x98", + "\x83\x8E\x97\x5C\x2F\xE0\x00\xD8\xCC\xBD\xE7\x7F\xFE\xE6\xDF\x29\xEB\xC1\x40\x5B\xC0\xDC\x9A\xC7\xE8\xEE\x48\xF7\xC4\x8C\xC5\xE6\xEE\x95\xED\xE9\xEE\xF9\xC1\x20\x90\xB2\xE8\xBA\xA3\xFE\xEE\xF0\x28\xF1\x30\x92\xA7\xEE\xED\xC6\xC0\xF7\xF1\x79\xE9\xF1\x3E\x9C\xED\xEF\xB7\xEB\xE7\xF0\x95\xEE\xF1\xE4\x9A\xF8\xEF\x5A\xB4\xEC\xED\x88\xFC\xF3\xE5\x96\xFF\xEF\x94\xBC\xE8\xD4\xD6\xC8\xF7\x99\x91\x3B\xE7\xBA\xEA\xF2\xDC\xAF\xFE\xE1\xE6\xDE\xD1\x20\x95\xBC\xE1\xF4\x90\xFD\xF3\xE8\x8E\xF6\xF4\xCA\xF1\xF5\xE6\xBB\xF9\xF6\x1C\x81\xD4\xF1\x0A\xF3\xF3\xF3\xC2\xFC\xB4\xA2\xA7\xF3\xDB\xD4\xCD\xF8\xDD\xB5\x93\xD1\xF1\x9F\xDF\xF8\xD8\xD5\xFC\xDC\x12\x3C\xD3\xED\xC7\xFA\xF7\xBF\xC8\xF9\x32\x58\xB3\xF8\xB5\xDD\xF8\xF7\x80\xE9\xD4\xF9\x0D\xE4\xFF\xB5\x92\x21\xD6\xC6\xC9\xFD\xFC\xEA\xFF\xF5\xC4\xB8\xD0\xE4\x7E\xC0\xFE\xFB\xF1\xF7\xF8\xD0\xE9\x7B\xDC\x82\xFE\xF2\xFF\x77\x71\x7C\xDF\x75\x11\xA5\x3E\x7E\xC8\x77\x80\xF9\x70\x4F\xD0\x68\x7E\x33\x72\x7F\x98\x7E\x80\x72\x70\x00\x63\x7F\x80\x00\x84\x81\xE9\x71\x7C\x91\x19\x71\xA4\x70\x7F\x02", + "\x89\x80\x66\x73\x10\xA3\x52\x7E\xCE\x77\x81\xF8\x78\x81\xFC\x7D\x3C\xEC\x66\x80\x1E\x85\x78\xDC\x72\x47\xF4\x71\x71\xF6\x71\x80\x25\x83\x83\x1C\x8A\x7C\xC1\x63\x70\xC0\x5F\x7F\x24\x85\x83\x3C\x8B\x7E\xC8\x58\x83\xCA\x5C\x80\x2C\x80\x81\xA2\x75\x7A\x15\x1B\x70\xDB\x74\x84\xEF\x7D\x82\x34\x83\x7B\x29\x22\x84\xC6\x7A\x84\x03\x87\x5E\x42\x7F\x4C\x12\x1A\x40\x2A\x8D\x81\x5A\x8D\x84\x56\x43\x10\x22\x78\x73\x1B\x61\x10\x26\x72\x82\xD0\x7B\x85\x3D\x8A\x84\x91\x1D\x72\x31\x2A\x81\x1E\x12\x29\x31\x79\x84\x15\x8B\x81\x4C\x87\x86\xA5\x4C\x10\x37\x7B\x86\x69\x7D\x7A\xA0\x73\x87\x7C\x82\x85\x70\x71\x74\xF5\x57\x4C\x0C\x17\x43\x59\x8C\x85\x71\x85\x84\x74\x8A\x80\x02\x1A\x74\x60\x8E\x75\x8B\x20\x85\xD4\x7E\x58\x04\x30\x89\xE3\x76\x82\x38\x64\x86\xD6\x7B\x83\x7D\x85\x87\x03\x13\x78\x70\x8A\x89\x7E\x86\x86\x3E\x87\x64\x94\x83\x82\x0D\x8C\x89\x02\x17\x75\x9F\x87\x8A\xA0\x87\x88\x4B\x81\x8A\x86\x8D\x8A\x8A\x83\x77\xA5\x85\x86\xB1\x8F\x81\x79\x6B\x8A\x43\x8E\x8A\x08\x82\x47\x7A\x89\x89\xAC\x81\x8C\x93\x52\x35\xB5\x80\x8C\xBB\x83", + "\x8B\x00\x06\x7B\xAE\x7C\x8B\x2B\x81\x85\xA8\x83\x53\x3A\x82\x8C\xCE\x82\x89\x3B\x51\x8D\xC7\x82\x8D\x91\x88\x8B\x01\x12\x7D\xBA\x83\x8D\xD8\x85\x89\x36\x8A\x7D\xCB\x82\x8B\xDF\x86\x8A\x32\x50\x00\xE1\x7D\x8D\xD9\x87\x8D\xC3\x82\x11\xAA\x68\x89\xB2\x70\x8B\xB8\x71\x19\xED\x70\x8F\xF7\x79\x88\xE5\x80\x6C\x2F\x8A\x77\x39\x85\x88\xF8\x8C\x8E\x76\x5C\x3C\xD7\x3B\x3E\xF6\x82\x83\xFF\x8E\x8D\xE7\x85\x80\x05\x96\x81\xF9\x86\x8C\x3E\x61\x10\xD1\x6A\x8E\xE0\x87\x90\xEB\x81\x90\xD8\x66\x8D\x08\x99\x91\x89\x59\x81\xC5\x81\x8F\xCC\x82\x47\x21\x82\x91\xE6\x8A\x91\x13\x93\x8A\x02\x7D\x7F\xFD\x8B\x90\x72\x82\x8F\x9B\x88\x8C\xFB\x81\x81\x31\x8C\x90\x00\x95\x91\x1B\x97\x82\x03\x99\x82\x2A\x98\x88\x2D\x9D\x90\xB9\x6F\x92\x81\x74\x6F\x18\x94\x93\x25\x9C\x92\x5D\x82\x10\x48\x83\x8E\x3C\x97\x8F\x3B\x9D\x8E\xDF\x51\x94\x43\x9F\x91\x46\x84\x85\x81\x87\x62\x57\x8D\x91\x4A\x94\x94\xCF\x81\x72\x55\x80\x13\x14\x46\x95\x06\x9B\x94\x0F\x90\x00\x6A\x82\x26\x6C\x8A\x11\x6E\x8E\x95\x32\x94\x92\x31\x46\x87\x5B\x9B\x5E\x15\x1F\x8B\x1E\x94\x8E", + "\x33\x91\x6A\x80\x8B\x74\x82\x83\x10\x84\x89\x93\xAF\x80\x95\x14\x94\x97\x3F\x4D\x96\x1A\x78\x62\x86\x42\x10\x14\x08\x44\x03\x1A\x44\x0F\x13\x81\x21\x14\x49\x85\x91\x45\x4D\x9A\x75\xC1\x25\x76\xE7\x8C\x4C\x09\x1E\x4C\x5C\x90\x4D\x89\x92\x76\x9A\x46\x92\x63\x46\x4C\x54\x99\x4B\x7A\x9D\x8B\xB7\x83\x97\x6B\x98\x4D\x4E\x93\x92\x42\x98\x9A\xE6\x4F\x79\x0E\x99\x9A\xB6\x8D\x97\x3A\x61\x19\x9E\x88\x94\xA4\x9F\x9A\x60\x9E\x9A\xF1\x60\x00\x8B\x71\x9A\xCD\x88\x9B\x71\x98\x52\x93\x7E\x8F\xB7\x9F\x94\x72\x9A\x96\xB6\x98\x95\xC5\x9E\x9B\x20\x7C\x9A\xBF\x95\x9B\xAD\x94\x9C\xC0\x92\x11\xCA\x8B\x87\xC8\x99\x94\x5F\x95\x9D\xE7\x80\x97\x57\x9C\x97\xC3\x9A\x9A\xB1\x94\x8C\xA7\x97\x9C\xDC\x98\x9D\x16\x92\x9D\x68\x9B\x92\xE3\x99\x9E\xC8\x84\x7C\x22\x92\x9E\xC9\x90\x9D\xCE\x99\x6B\x89\x6C\x9B\xA2\x84\x9E\xCA\x97\x9D\x59\x9C\x8D\xB4\x96\x9C\xCF\x9E\x9D\xEE\x9A\x8D\x00\x02\x8E\xD4\x9A\x9E\xD6\x99\x96\xF7\x9C\x8F\x02\x19\x8E\xFB\x97\xA0\xE8\x9F\x9E\xDF\x9E\x8E\xE7\x9A\x93\xF6\x9E\x97\xEC\x71\xA1\x7B\x9E\xA0\xFF\x97\x8E\x3E\x94\x7B\x40", + "\x92\x9C\x13\xAE\x9F\xFD\x9B\x7A\x36\x91\x3E\x04\x9D\x9E\x21\xA7\xA2\xCD\x9C\x9F\xB9\x6A\x90\x26\xA9\xA2\x0C\xA2\xA1\x04\xA7\x8E\x11\x9B\xA0\xF0\x9A\xA2\xDB\x98\xA1\x6F\x64\x59\xE1\x98\xA2\x37\xA5\xA0\x92\x7F\x6D\xF4\x93\x9A\x36\xA8\x9F\xD4\x82\x5A\x16\xA2\x9A\xB0\x92\xA2\xDF\x3B\x6F\x47\xAD\x9B\x35\xA5\x93\x4B\xA0\x84\xC3\x6B\xA3\x2E\xAF\xA4\x56\xAF\xA0\x3F\x88\x92\x41\x84\xA5\x3D\xA1\x9F\x5D\xA5\x9E\x59\xA8\x82\xFE\x7E\xA1\x31\xA3\xA4\x06\xA7\xA5\xC0\x67\x94\x03\xA8\xA3\x55\xA0\xA2\x6D\xAA\xA4\x8F\x91\xA4\x49\xAC\xA3\x44\xA1\x9D\x0C\x17\x71\x78\x89\x73\x00\x08\x85\x72\xAD\x9D\x19\xA6\xA6\x3F\xAC\x10\x5F\x89\xA7\x61\x80\x00\x63\x8D\xA2\x5F\xAF\xA2\x17\xAE\xA3\x3F\x93\x96\x2A\x35\x96\x0F\x17\x96\x5C\xA5\xA7\x5E\xA4\xA9\x60\xA3\x10\x77\x84\x96\x79\x8D\xA4\xF5\x95\xA6\x50\xAC\x10\x19\x6D\x88\x4C\x78\x97\x9C\xA2\xA4\x8A\xA3\x85\x0C\x1C\x88\x84\xAE\x88\x00\x0E\x74\x88\xA6\xA9\xA7\xAF\x87\x15\x1C\x9C\x89\xA8\xA6\x74\xA6\x6C\x93\x83\xA9\x67\xAE\xA6\xB5\xA5\x9A\x3F\x65\xAA\x73\xAF\xA6\xB9\x9B\x9B\xAF\xAB\xAB\x7F\xA1", + "\xAB\x72\x4A\x8A\x34\xAC\xAB\xB0\xA6\xAB\xC2\xAF\xAC\xBD\xA7\xAC\x14\xAB\x77\xBA\xAD\xA0\x8C\xAB\xA8\xE7\x83\x9D\xB7\xA6\xAD\x95\xA6\xAC\xB9\x9A\x9D\xCD\xAC\xAC\xDE\xA0\xAD\x11\x7A\xAD\xE4\xA3\xAE\xD1\xAB\xAD\x3F\x96\xAE\xE9\xA7\xAE\xDC\xA0\xA8\x3F\x9C\x9E\xCB\xA2\xAD\xE2\xAF\xAE\x9F\xA3\x10\xF3\x95\xAC\xF6\xAE\xAC\xED\xAD\xAF\x11\x7A\x9F\x6B\xA7\xAD\x48\xAE\xA7\xB9\x92\xA0\xEA\xA8\xAD\xF0\xA8\xB0\x17\x69\xA0\xC0\xA4\xB0\xD8\x70\x56\xD5\xA0\xA3\x6C\xAB\x7F\x15\xA1\xB1\x0A\xBC\xAF\xE1\xAA\x8F\x4C\xA6\xB1\x03\xBF\xA1\x70\xAA\x6E\x62\xA9\x92\xFA\xA2\xB1\x02\xBE\xA4\xBE\xA1\x10\x2C\xA3\xAF\x07\xBD\xB1\x9E\xA6\x4E\x33\xA1\xB0\xDD\xAB\xAF\xF5\xA4\xB2\xE7\x8A\x98\x34\xB9\xB0\x2C\xB5\xA4\x40\xAA\xB2\xEE\xA7\xB3\xC8\xA6\x83\x21\x9C\xB3\xFE\xA8\xAE\x19\xB9\xA3\x23\xAC\x57\x25\xA2\xB4\x45\xBD\xB3\x17\xB8\xA5\x20\xB7\x93\x63\xAD\xA7\x1E\xBB\xB2\xB2\xA1\xA5\x5A\xA3\xA5\x64\xA3\xB1\x4B\xB3\xB4\x11\x8B\xA1\x7D\x50\xB3\x38\xB6\xB2\xF4\xAF\xB1\x46\x9D\xB0\x53\xBC\xB4\xE6\x72\x71\x1C\xB2\xB6\x54\xB2\x47\x78\xAA\xA9\x7A\xAC\xA7", + "\x23\xBD\xB4\x63\xBD\xB6\x36\x83\xA8\x70\xB5\xA8\x87\xAA\xB4\x44\xBD\xB7\x32\xB4\xB6\x01\x1E\xA8\x0F\x10\xA9\x0E\x12\xA9\x59\xB5\xB2\x9D\xAA\xB3\x98\xA0\x98\x21\x12\x29\xE0\xAE\xB7\x3E\xB8\xB1\x90\xBC\xA1\xA1\xAB\xAA\xA3\xAC\x61\x6B\xB9\xB8\x88\xB1\x95\xA9\xAC\xB8\x6D\x82\x98\x45\x4C\x10\x15\x06\x98\xFC\x39\x4C\xC1\x24\x49\xA3\xBE\x98\x87\x96\xBA\x20\x32\x99\x61\x94\x99\x08\x16\x99\x6E\x98\x4C\x54\x71\x2C\x36\xBA\x11\xAE\xBB\xB0\x9D\x9D\x75\x97\xB1\x10\x6B\x76\xB7\xC1\xAC\xB5\x91\xB7\xB2\x00\x04\xAB\x5B\xB7\xBC\x93\xB9\xB3\x00\xA6\xBC\xC9\xBC\xB6\x68\xBE\xBC\x20\x73\x9B\x60\xBF\xB3\xC1\xB8\xBC\x7F\xB3\xAC\x66\xBD\xB2\x33\xB4\xB7\xB9\x9A\xAC\xD3\xB2\xB9\xD7\xBF\xBC\x9A\xB1\xB3\xC3\xB5\xB7\xE2\xBC\xB9\xA6\x97\xB8\xE4\xBC\xBD\xE7\xB3\x8F\xE0\x9A\xBE\x61\xB3\xBE\xF1\xB6\x83\x8F\xB1\xBE\xC2\xBC\xBE\xF7\xB8\xAA\x03\x1C\xAE\xD6\xB5\xBE\xC0\xBE\xB0\x14\xB2\x66\x99\xB6\xAA\xE0\xBE\xBF\x0F\xB0\x68\xD9\xBA\xB5\xCD\xB6\x89\x63\x39\xC0\x9B\xB5\xBD\x93\xB1\x19\x00\xBF\xBF\x67\xB9\xBF\xD0\xB1\x71\x06\xBD\xBE\x00\xCD\xBF\xF8", + "\xBD\x6D\xE0\x7E\xC0\xEB\xBA\xBC\xE7\x8F\x8E\x73\xB2\xC2\xF3\xB0\xC1\x11\x85\x8F\x25\xC7\xC1\x0B\xC4\xC0\x4E\xB7\x92\x21\xBB\xA5\xF0\xB4\xBD\x1B\xCD\xC2\x9B\x40\xC3\x50\xB2\xB2\x7C\xB6\xBF\x1C\xC6\xC2\x8A\xA9\x6C\x03\xC8\xC2\x06\xC6\xC1\x72\x4F\xB2\x14\xCA\xBD\xE6\xB4\xC4\xE8\xB2\x10\xB7\xBE\xC3\x05\xCD\xC1\x36\xCC\x99\xBD\x37\xC4\x0A\xCC\xC3\x51\xC5\x94\x01\x11\xB4\xDF\xBB\xBD\x4E\xCC\xC5\x55\xB1\xA6\x39\xC2\xC3\x52\xB8\xC4\x54\xCF\xC0\x52\xCE\xB5\x49\xBB\xC5\x49\xCD\xC3\x2C\xC6\xC5\x5D\xBB\xB1\x33\xCF\xC4\x5D\xCB\xC6\xB8\xA7\xB4\xB9\x91\x93\x6E\xC3\xC4\x6C\xC2\xBF\x3F\xC7\x84\x20\xC7\xC2\x35\xC9\xC7\x1C\xA8\x98\x1A\xC5\xC1\x7B\xCE\xC2\xC0\x6F\xB6\x8F\xA9\x76\x72\xBB\xC3\x7A\xC7\xC5\x64\xCC\xB4\x91\x18\xB7\x8B\xCA\xA7\x7B\xBA\xC6\x65\xC1\xC2\x6D\xCC\x7B\x53\x2E\xB9\x66\x95\x11\x6F\x8E\xC8\x50\xC2\xC8\x73\xC7\xB0\x64\x2E\xC9\x91\xAF\x96\x7F\xC4\xC3\x86\xC5\xC7\x32\x48\xCA\x85\xB5\x11\x79\x9B\xC2\x7C\xC2\xC7\x9B\xC3\xCA\x3F\x9A\xAA\x79\xBC\xAA\xAE\xA2\xCA\xA5\xC5\xC8\xAE\x89\xAB\x71\xCE\xC5\xB5\xCF\xC2\xB4\x81", + "\xC4\x81\xCF\xC8\x82\xC2\x9B\xAB\xC6\xCB\xC5\xC0\x6C\xC4\xAE\xCB\xB7\xCF\xCB\xF7\xB1\x19\xDE\xB9\xC9\x80\xCD\xCA\xA4\xC3\xCD\xDC\xCC\xC0\xE9\xB3\xC6\x55\xCA\xCC\xE2\xCF\x78\xBD\x73\xCC\x74\xCB\xCD\xCF\xCF\xAD\xCD\xC4\xCC\x88\xC9\x9B\xFC\xB0\xC9\xE1\xC8\xCB\xF2\xC5\xCE\xE0\xC6\xC6\xDA\xC3\xCE\x91\x12\xAF\x98\xC0\xCC\xF1\xC4\xCD\x11\x79\xAF\xD2\xC9\xCE\xFC\xC6\xCF\xF9\x9B\xCE\xE7\xC3\xCE\x69\xB9\xC1\x4A\xC2\xC4\xF2\xCA\xBF\x0C\xB8\xCC\xF7\xCD\xD0\xB5\x44\xC2\x01\xDD\xCE\x03\xDC\x94\x03\x1A\xC2\x15\xDC\xD0\xFE\xC1\xC1\x76\xC9\x6B\x78\xC8\xD0\xDD\xC6\xD1\x01\xCF\xB4\x24\xA8\x93\xB4\xC4\xD2\x87\xCC\xD0\x40\xC6\xCE\xD8\xCC\xCA\xC1\xC5\x11\x46\xC7\xD1\xD9\xC1\xC9\xD5\xC7\x91\x2E\xD4\xD3\x30\xDA\xB8\x40\xAF\xD2\xCE\xCA\xD2\xAE\xCC\x10\x5A\xCE\xD3\xEC\xCC\xD1\xB5\x48\xC6\x28\xDB\xD1\xC9\xC2\xD1\x02\xD0\x72\x48\xD1\xB5\x29\xD6\xD4\x4D\xDC\xC1\x02\x97\xD2\x50\xDA\xD4\x11\xDD\xD1\xCB\xCF\xD1\xF5\x76\xD0\x44\xD7\xD0\xE4\xCE\xC7\x10\xD6\xD3\x2B\xDB\xD4\x4F\x83\xD6\xFD\xC3\xD2\x37\xC4\x40\xB0\xC9\x10\x1B\x79\xD3\x0B\xDB\xD4", + "\x0E\xD1\x10\x94\xC3\xB8\x69\x77\xC9\x5F\xD9\xD7\x3A\xD6\x4E\x82\xBE\x10\x84\xBE\xD6\xA0\xCE\xD5\x7B\xDB\xBD\xA7\xC3\x95\x43\x79\x66\x82\xD1\xD7\x11\xD5\x97\xA2\xA7\x97\x98\xB0\xD7\x65\xD9\xD5\xB7\xC1\x19\xBA\xC5\xC9\x85\xAD\xCB\x2A\x34\x49\xB0\xB7\x10\x98\x41\x76\x97\x26\x2D\x52\x71\xA7\xAC\x4B\x4B\x36\x8B\xD9\x06\x12\xBB\x81\x94\xBB\x90\x90\x32\xB7\xBF\x10\xB9\xB6\x4E\xA6\xD5\x10\xA8\xDD\xB8\x98\x93\xD8\x60\xDA\xD5\x9C\xC7\x89\x51\xD2\xD7\x6A\xDE\x84\xB3\xA9\xD8\x91\xD4\xD6\x41\xDD\x89\xC0\xD0\xCF\x04\xD8\x8C\xD1\xCB\xCF\x8A\xD2\xDC\xE8\xCB\xC4\x01\x17\xCD\xB6\xDA\xD7\xCB\xD9\xD6\x53\xD6\xDC\x9A\xCA\x65\xC5\xDD\xDC\x52\xD6\x83\xEF\xCA\xDD\xBC\xD5\xDD\x5B\xDC\x42\x68\xD7\xDC\xE4\xD8\xD1\xB9\x88\xD5\xCC\xD2\xD2\xE0\xD9\xDB\x02\xC0\xD9\xD6\xD5\xD3\xF1\xC9\xCF\xD9\xDA\xDE\x40\xD1\xA8\xF8\xA3\xDF\x4C\xD5\xDF\xF8\xC5\x11\x13\xC1\xDD\xFE\xD3\xDD\x76\xA3\x10\x0A\xD1\xDC\xD4\xDA\xDF\xF3\xCF\x37\xF8\xD8\xDB\x07\xE0\xA1\xE3\xD7\xDD\x06\xE9\xB6\x1A\xDA\xDC\x04\xE5\xDE\xF0\xD0\xA0\x4F\xDA\xC3\x12\xEF\xDE\x3B\xD4\xE1\xBA", + "\xB7\x83\x57\xBD\xA1\xF5\xCE\xE0\xDB\xDC\xD2\x04\x89\xE0\xBD\xDB\xD8\x32\xD6\xE2\xEB\xD9\xDF\xEE\xB2\x11\x4D\xC7\xE2\xE9\xDC\xE2\xBE\xDB\xB3\xE8\xD5\xE0\x23\xE6\xD6\xE5\x6D\xE0\x15\xE2\xE2\x33\xE0\xC6\x56\xD8\xE1\xD2\xD3\xE1\x3C\xE8\x86\x5C\xD0\x83\x2A\xEF\xE0\x93\xD5\xE4\x08\xA8\xB5\x21\xEB\xE3\x4E\xED\xC7\x56\xB1\xC3\x4C\xEB\xDB\x92\xDB\xE2\x0A\xE9\xB6\x6A\xA1\xE4\x1A\xEF\xD3\x24\xE9\x75\x4D\xEB\xE1\x43\xE1\xE3\x35\x2D\xD6\x08\x1F\xD6\x5F\xEC\xE5\xDF\xD6\xE0\x93\xC4\xE6\x9C\xD5\x11\x78\xDF\xDF\x42\xEF\xE4\xD3\xA3\x10\x7D\xD9\x10\x7F\xD5\xE6\x81\xDA\xE3\x60\xE2\xE7\xC6\xC0\x00\x99\xA6\xD9\xAC\xA5\xBF\xF4\xD7\xE3\x55\xEE\xDC\x00\x05\xB9\xBB\xCD\xBB\x00\x03\xCB\x35\xEC\xE1\x68\xE5\xE8\x6B\xD0\x00\x95\xD6\xD7\x7A\xA8\xD9\x5A\xEE\xDD\x90\xE2\xC5\xCC\xB8\xE9\x31\xE7\xE5\x9E\x77\xE4\x84\xE2\xE6\x15\x12\xBD\x97\xE3\xE8\x69\xED\xE2\xF1\x4A\xE7\x8F\xED\xE9\x5F\xCE\x64\xA0\xE7\xEA\xB0\xE9\xE9\xB2\xEC\xEA\xD8\xDA\xEA\x45\xD1\xEB\x31\xD6\x9E\xB6\xE7\xDB\x30\xEC\xD3\x3A\x7F\xEA\xB3\xE1\xDF\xEF\xB7\xE6\xB7\xE1\xEC\xD7\xA4", + "\xCF\x54\xE4\xEB\x48\xEB\xE2\xF2\xDB\xEB\xA5\xE2\xE3\x44\xE2\x11\x00\xD9\xE1\x9C\xE6\xE3\xB8\xEE\xEB\x00\x0D\xDF\x00\xE1\xE6\xD6\xE1\xED\x4E\x10\xEC\xCA\xED\xE5\x0C\x1A\xA0\xD4\xE6\xEA\xC6\xEB\xBE\x91\x14\xD1\xE5\xE0\xED\xE1\xE8\xE3\x15\xBE\xDE\xD5\xEE\xE8\x84\xDA\xE4\x30\x90\xEE\xDD\xE2\xEA\x51\xE1\xC6\x53\xED\xE8\xDC\xE2\xEF\x60\xDD\xD2\xC4\xEC\xEB\x56\xE9\xE4\x8B\x56\xEF\xFE\xEF\xEC\x3A\xA0\xEF\xE6\xED\xEE\x28\xE4\xE3\xEB\xEE\xE9\x03\xFC\xEC\x39\xEA\xF0\xEC\xE7\xEF\xC2\xE9\xEF\x3F\xE2\xC6\xC9\xE6\xF1\x07\xF2\xC9\xF4\xEF\x93\x21\xD5\xF1\x1D\xFB\xED\x97\xA8\xC3\x19\xFB\xEF\x0F\xFD\xEB\x23\xF4\xD5\x1F\xFC\xA1\x21\xF0\xF1\xCB\xE1\xF3\xA8\xE3\x10\x59\xE0\xE7\x5B\xE5\xEC\xF8\xE2\xDA\xFC\xEC\xE7\x02\xFA\xE6\x15\x1A\xC8\x94\xE5\xA8\x8D\xC9\xF2\x11\xF2\xF3\xEE\xE2\xA8\x6C\xE6\x10\x5D\x9E\xEC\x36\xF1\xEF\xE6\xD1\xB8\x49\xF9\x28\x79\xE4\xF1\x30\xF1\xEA\xD8\xEF\xE7\x41\xF1\xE8\x06\xFD\xEF\xE8\xE5\x11\x88\xE0\xE8\x8A\xEC\xE8\x44\xF6\xF4\xE7\xEC\xF3\xB9\x93\xE9\x7E\xD9\x76\x96\xED\xF4\x0B\xFC\xF1\xE7\x8B\xE9\x6D\xFB\xF2", + "\x37\xF0\x6C\x70\xF2\xF2\x5C\xF6\xF6\x07\xCF\xAB\x4C\xF4\xF2\x7B\xE7\xAF\x02\x19\xDC\xCF\xE5\xF5\xD7\xE0\xA0\xD0\xDC\xF7\xAB\xEE\xF6\x78\xF6\xF8\x38\xF7\xF1\xD4\xA4\xF5\x2A\xF7\xF7\x7E\xF5\x7B\x5B\xF9\xF8\x2C\xF2\xDE\x8E\xF5\xF4\x56\xF1\xE0\xE7\xD3\xF6\x99\xF0\xF9\x4F\xC8\xEC\x3B\xFD\xF7\x87\xF7\xEC\x15\x1A\xCF\x81\xFF\xF8\x94\xFB\xE4\x00\x03\xED\xA7\xF8\xF9\x83\xFF\xF4\xD9\xE3\xF9\xA2\xF3\xEF\xD9\x72\xFB\xA3\xFD\xF5\x57\x56\xFB\x8B\xFA\xF9\xE7\x7B\xF7\x71\xE3\xFB\xC0\x61\xE1\xAD\xF4\xF6\x0C\xF9\x95\x17\xEA\xF1\xA1\xF7\xFB\xA9\xF1\xDE\x3E\xE8\xB4\x49\xDC\xF9\xAF\xFB\xFC\xFB\xD4\x58\xBE\xF3\xF7\xC3\xF1\xE9\x33\xDA\xF8\x3D\xFD\xF9\x09\xB9\xF0\x01\xF7\xFD\xD1\xF1\xF9\x53\xCC\xF6\x76\xF2\xFD\x61\xD6\xA4\xD5\xFE\xF4\xE6\xF9\xB6\xC7\xF8\xF2\xE0\xF5\xF6\xC0\xF9\x9B\xED\xF0\xE2\x1B\xF2\xF7\xEA\xF0\xE5\xCD\xF7\xC7\xBA\xFB\xFD\x47\xF6\xD2\xCE\xF7\xD5\xD0\x78\xFE\x4A\x7F\xF8\x79\x6B\x35\x7A\xF6\x6F\x7F\xC5\x78\xDB\x44\x65\x03\x84\xFE\x02\x7C\x16\x60\x00\x40\x79\xED\x71\x5B\xFD\x78\x00\xD8\x75\x5D\x72\x80\x7A\x5C\x02\x8D", + "\x81\x56\x7F\x5F\x51\x7B\x3F\x06\x5C\xDF\x7B\x03\xAE\x7C\x6F\x7B\xB8\x06\x6E\x15\x48\x6C\xE9\x79\xEE\x5E\x7D\x3E\x7F\xF5\x59\x79\xD8\x7A\x80\x0C\x81\x06\x89\x3A\x0F\x82\x29\x6B\x79\x42\x0D\x6D\x0E\x0F\xB5\x7A\x31\xD9\x6E\x11\x31\x6E\x46\x18\x81\xD3\x15\x96\x2A\x00\xCF\x47\xD8\x03\x09\x14\x10\x81\xBF\x7B\xCE\x42\x09\xBA\x7E\x00\x89\x80\xE9\x7A\x6D\xC9\x7B\xF7\x6B\x81\x7F\x73\xEA\x48\x82\xF5\x7E\x78\x12\x08\xF0\x62\x80\xE2\x78\xF8\x1D\x71\xE1\x69\x82\x52\x83\xFD\x68\x7C\x02\x82\x03\xC3\x6F\x12\x96\x82\xF7\x7F\xF3\x43\x77\xFA\x73\x05\x95\x80\xEF\x60\x00\x82\x75\xFC\x64\x82\x30\x80\xB8\x49\x44\x1A\x8A\x81\xDD\x7B\x0D\x91\x82\xFE\x72\x00\xB4\x7C\x43\x06\x7D\x5B\x84\xFB\x73\x82\xD5\x7C\xFA\x01\x85\xF8\x63\x80\x4A\x83\x1B\x77\x82\x39\x8A\x06\xB5\x7D\x0A\x8C\x84\x61\x82\xFC\x64\x76\x37\x8D\x06\xD8\x80\xC4\x57\x7C\x5C\x86\xFE\x7F\x48\xE1\x76\x08\xFD\x80\x1F\x86\x7E\x70\x61\x04\xA5\x83\x34\x8E\x07\xFE\x7E\xFE\x6F\x84\x4D\x85\x0B\xA6\x27\x94\x51\x00\xCE\x81\x25\x97\x69\x05\x78\x15\xA3\x82\x44\x8D\xE7\x2F\x73\x08\x8E\x85", + "\xE6\x7C\x23\x72\x85\x5B\x8A\x0A\xC4\x5F\x50\x7D\x84\xB8\x83\x10\xAF\x62\x29\x54\xFF\x7B\x80\x25\x82\x83\x2E\x41\x14\xAC\x82\x64\x89\x09\xB0\x7F\xFC\x6F\x79\xB3\x81\x12\xB4\x84\x8D\x54\x0C\xD0\x84\x2F\x9A\x84\x90\x85\x0E\x86\x80\x3A\x87\x0C\xC2\x84\x7B\x6B\x5D\xBB\x85\x19\xB9\x85\x9F\x74\x03\xBB\x13\x22\x89\x85\x6F\x87\x02\xB6\x73\xBB\x67\x0E\xD1\x85\x1D\x95\x73\x08\x0F\xCE\x6D\x72\x89\x01\xCA\x2D\x85\x2F\x9F\x84\x8C\x7D\x04\xB6\x4B\xCF\x49\x51\x61\x86\x20\x93\x86\xB9\x4D\x05\x98\x80\x56\x52\xF6\x5D\x84\x40\x80\x86\xC8\x40\xED\x6B\x87\x4A\x7D\x0E\xD7\x87\xDB\x6D\x88\xE2\x85\xC3\x4C\x82\x77\x86\x10\xA5\x86\xDE\x78\x84\xFF\x82\x1A\xBD\x72\x2D\x83\x0A\xF8\x82\x37\x87\x7F\x0C\x0F\x0B\x97\x83\x8E\x89\x0D\x95\x88\x3E\x98\x86\x69\x5B\x22\x8E\x88\x66\x82\xEE\x7B\x5C\x44\x99\x88\x75\x81\x0E\xA8\x87\x57\x8C\x0D\xB9\x35\x77\x7E\x88\x07\x8C\x24\xA9\x5B\x9B\x85\x12\x88\x88\x36\x8D\x76\x18\x8F\x10\x9A\x89\x3A\x85\x08\xBA\x88\x45\x9E\x89\xE7\x42\xDB\x75\x88\xA3\x8B\x12\x9D\x73\x80\x63\x89\x4B\x89\x2A\xA6\x83\x80\x03\x09\xC8", + "\x88\x4B\x9D\x71\x03\x0A\xDD\x66\x89\xAD\x89\xF7\x01\x08\x27\x8C\x8A\x11\x89\x27\xB3\x3E\x65\x86\x0C\xD6\x8B\x47\x8C\x7F\x64\x8E\x1E\xA8\x89\xA3\x85\xD2\x02\x08\x2B\x9C\x8A\x60\x8D\x25\x82\x09\xEC\x72\x15\xA4\x87\x49\x98\x7D\x0C\x0E\x16\xA1\x8B\xA1\x88\xF0\x0E\x7A\x5A\x94\x89\x50\x8E\xA3\x68\x7F\xA0\x8E\x09\xF0\x8B\x58\x95\x86\x2F\x8A\x28\xB5\x83\x67\x89\x18\x85\x8D\x57\x9E\x70\x52\x75\x18\xBF\x8B\xAB\x8E\x18\xED\x8A\xBC\x28\x8C\xFE\x82\x31\x86\x8C\xD5\x7B\x0D\x81\x8E\x5D\x9B\x8C\xF6\x6D\x74\x59\x8D\xCA\x85\x17\xBF\x49\x04\x8B\x88\x42\x7D\x31\x81\x87\x44\x8A\x95\x26\x83\x65\x57\x2F\xA3\x8B\x35\xBC\x8B\x5C\x30\x0F\x87\x0A\x3C\x8A\x7A\x53\x7A\x14\xA5\x8D\x9E\x80\x0B\xEC\x4A\x6B\x93\x5D\x28\x84\x30\xB2\x8D\xBB\x85\xF2\x01\x0A\x40\x88\x8D\x04\x8A\x35\xB7\x86\x53\x6F\x97\x3F\x8D\x6A\x6D\x3A\x83\x4F\xDB\x29\x64\x2F\x73\xDA\x5B\x3B\xDF\x3C\x81\x1A\x0E\x07\x99\x4D\x56\x21\xE9\x3E\x80\x76\x93\x8E\xA0\x4B\x19\xA7\x8A\xB6\x8E\xC1\x3F\x6D\x6C\x8B\x8E\xE4\x7A\x98\x7A\x8C\xCF\x88\x13\xB3\x8D\xF4\x4A\x8E\x6B\x8E\x9B\x7F\x7A", + "\xF8\x80\x18\xCC\x7E\xAB\x67\x8F\xF1\x8B\x2F\x84\x8F\xF1\x8D\x14\xAC\x8E\x4A\x9A\x8F\xA0\x8D\x3D\x80\x36\x9E\x83\x13\x94\x8F\x70\x8A\x67\xF8\x8D\x3E\x82\x90\xA3\x5A\xEB\x42\x8C\x7A\x91\x8B\x58\x8B\xF3\x41\x90\xDE\x8B\x1B\xE9\x58\x20\x90\x90\xA4\x8C\x3D\xA0\x89\xFB\x69\x20\x86\x93\x83\x85\x8F\x6E\x1D\x43\xBC\x8E\x00\x99\x6B\x4F\x8B\x67\x86\x8B\x62\x8B\x2A\xA8\x46\xFA\x8E\x21\x80\x52\x56\x88\x91\xEE\x8B\x37\xB4\x46\x16\x93\x22\xB3\x7A\xC9\x7F\x7F\x40\x70\x46\xBB\x8F\x14\x91\x1A\x97\x8F\x87\x76\x86\x24\x90\x43\x87\x91\x15\x54\x23\xBC\x93\xF4\x6C\x1D\x45\x91\x46\x9A\x90\xEF\x72\x1E\xC6\x90\x85\x8B\x92\x7E\x8B\x42\x85\x91\x8F\x86\x1D\x49\x93\x8E\x96\x88\x3E\x91\x32\x80\x92\x98\x82\x25\x84\x79\xFE\x60\x69\x56\x95\x4B\x89\x86\xCC\x8E\x20\xF9\x8C\x97\x8F\x8C\x8C\x8A\x44\x8E\x93\x29\x9C\x1A\x9D\x8F\x89\x82\x92\x1F\x92\x30\xBA\x79\xC9\x85\x23\x9A\x8E\x25\x83\x08\xA7\x89\x1E\x8C\x65\x30\x9A\x23\x8C\x90\xD2\x6E\x8E\xB4\x68\x36\xA5\x92\x05\x9F\x24\xF6\x8D\x07\x80\x94\x9F\x5C\x1E\xBC\x92\x38\x9F\x06\xD8\x7B\x40\x8A\x74\x32", + "\x8C\x3C\x9A\x90\x36\x94\xBC\x47\x8E\x9E\x9A\x53\x05\x8D\x4F\x9A\x94\x46\x97\x8E\x0A\x8B\xA5\x97\x6C\x52\x0A\x3B\x8E\x08\x20\x81\x71\x59\x03\xA2\x95\x90\x9F\x72\x4D\x8A\x93\x37\x91\x71\x7F\x8F\x99\x9C\x94\xE3\x85\x61\x27\x95\x49\x9C\x01\x81\x08\x47\x88\x95\xFD\x8B\x55\x9F\x87\x54\x43\x2B\xAC\x94\xAD\x99\x95\x57\x91\x58\xB9\x4C\x57\x96\x27\xB0\x94\x95\x9A\x83\x74\x93\x4D\x92\x94\x43\x9F\xEB\x2A\x96\xB0\x9B\x94\xE5\x55\x57\x8B\x91\x3B\x92\x21\xD0\x97\xAF\x81\x92\x11\x3F\x42\xB8\x94\x6C\x97\x2D\x91\x75\x51\x9B\x96\xAF\x90\x5C\x91\x90\x45\x8E\x2C\xE2\x92\xCF\x6E\x84\x83\x95\x45\x84\x95\xB4\x55\x15\xC6\x96\xB2\x92\x78\x0C\x71\x5D\xB5\x93\x0C\x99\xC2\x52\x95\xA1\x87\x92\xA6\x80\x4C\xA5\x96\x6B\x9E\x2B\xC3\x87\x8F\x96\x97\x94\x95\x0E\xAF\x8A\x7E\x93\x2D\xEE\x94\xF1\x54\x8B\xDD\x95\x58\xA2\x96\x12\x8C\xC4\x00\x9B\xB2\x9B\x95\xD2\x8C\x60\xB7\x97\x89\x99\xB6\x3F\x86\xC1\x8F\x96\x17\x9A\xFE\x69\x8A\x73\x91\x2E\xD0\x90\xC6\x78\x91\xC8\x79\x59\xBA\x94\x8A\x9E\x25\xF9\x95\x57\x7B\x97\x19\x99\x3D\xAD\x79\xAF\x5C\x31\x8A\x99", + "\xC2\x8F\x80\x6E\x95\x60\x8B\x99\x21\x9D\x1B\xE0\x86\xBC\x8F\x97\xDC\x95\x47\x90\x81\x72\x85\x95\x28\x9B\xCC\x91\x93\x11\x42\x1D\x9F\x94\x56\x5F\xE6\x29\x9A\xD1\x92\x91\x9D\x60\x51\x9F\x64\x45\x9E\x33\xAF\x98\xCD\x91\x38\x8E\x90\x39\x90\x94\x87\x90\x2C\xFE\x90\x86\x3C\x99\x83\x44\x6A\xB9\x98\x7C\x9B\x88\x58\x9B\x40\x16\x81\x11\x3E\x00\x2C\x5D\xAC\x42\x36\xC4\x85\x08\x1A\x9A\x1D\x99\x02\x75\x7B\xC8\x07\x36\xCD\x99\xBF\x92\x99\xAA\x7B\x6D\x95\x09\xB6\x97\x33\xA3\x99\xC0\x96\x9A\x17\x89\x32\xB4\x9B\xF5\x8F\x36\xA4\x98\xBC\x89\x75\x1F\x73\x6F\x8D\x92\xBB\x9F\x30\x8B\x71\x48\x8F\x1B\x91\x0D\x6C\x81\x9C\xB4\x9E\x32\xCC\x94\x00\x02\x9C\x65\x8F\x68\x8E\x9A\x64\x42\x37\x92\x08\xE4\x82\x99\x18\x9F\x67\x8F\x83\xF6\x6A\x37\x8C\x9C\xBD\x90\x98\x70\x83\xDE\x17\x9D\x96\x9F\x39\x93\x98\xE8\x60\x99\x01\x0B\x74\x92\x99\xBB\x9A\x32\x8D\x91\xE7\x8E\x9B\x70\x9D\x6F\x96\x90\xD1\x9E\x39\xCF\x9A\x8A\x9F\x96\xAA\x7A\x75\x92\x9C\xD9\x95\x38\xE9\x5A\x52\x99\x9D\xB5\x98\x68\xA0\x9C\x13\x9F\x93\x3A\x9E\xE6\x8B\x97\x85\x9F\x83\x66\x9B\xE0", + "\x9F\x13\x95\x0B\x8B\x80\x39\xC6\x9B\x72\xA6\x93\xFE\x72\x10\x5F\x89\xC4\x31\x9E\xBC\x9D\x6A\x92\x99\xAA\x68\x3A\x92\x8D\x6E\x58\x9E\xB1\x99\x7C\xBE\x9A\x43\x79\x26\x8B\x9C\xEC\x83\x9F\x69\x9F\x27\x43\x98\xE8\x9C\x3C\xC8\x9D\x11\x74\x9D\xE7\x9C\x75\xBB\x9D\x9F\x47\xBB\x6C\x99\xFB\x8A\x97\x61\x4D\x2C\x76\x9F\xF8\x9D\x3B\xA5\x9A\x40\x16\x98\x11\x39\x05\x08\x9C\x76\x1F\xE1\x66\x03\xBC\x25\x03\xF3\x32\x07\x9C\x51\xC6\x4F\xE1\x4A\x03\xBC\x37\x00\xF3\x35\x08\x03\xA0\x89\x0B\x02\x13\xA0\x43\x1A\x02\xF3\x34\x0D\x16\xA1\x81\x03\x02\x73\x36\x17\x10\x9F\x75\x99\x73\x92\x9E\x67\x8B\x31\xB9\x34\xF8\x88\x9F\x8D\x9A\x7C\xA8\x8A\x32\x9F\x3A\xA1\xA0\xE9\x96\x9D\xFE\x92\x4B\xA0\xA0\xBE\x9A\x42\xFD\x9E\x7C\x99\x92\xFA\x76\x7B\x94\x97\x80\x04\x05\x59\x35\x64\x1D\xA1\x16\x5F\x87\xBE\xA1\x8A\x00\x44\x94\x7A\x10\xA7\x2B\x91\x0F\x09\x1B\xA0\x81\x0A\x44\xCB\x9C\xFF\x9A\x9E\xF3\x9C\x43\x71\x99\x0D\x92\x10\x0F\x03\x12\xA1\x08\xDE\x16\x72\x4E\x6D\x80\x00\x02\x33\xA3\xE0\x82\xA1\xD9\x9B\x6B\x83\x64\x2F\xA1\x39\xC7\x9C\xFE\x82\x7F\x79\x96", + "\x36\xBB\x92\xA5\x90\x1E\x87\x24\x19\xB8\x9C\x2F\xA2\x78\x94\xA2\xBA\x6E\x35\x82\x09\xD1\x97\x9E\xF7\x9B\x5E\x99\x4B\xDA\x86\x10\x37\x8E\xD4\x6C\x9A\xE6\x9E\x85\xAB\x9D\xE4\x98\x42\x75\xA1\xB3\x81\xA4\x34\xA0\x85\xA5\x9D\xB9\x67\xE8\x06\xA7\xA2\x6F\xA3\x71\xA3\x7A\xA5\x9C\xCA\x6E\x48\xE0\x98\xF0\x8F\xA2\x62\xA4\x91\x95\x9C\x86\x07\x42\xF2\x9E\x19\xB8\x7F\xDF\x61\x87\x9D\xA4\x1B\xA9\x49\xFE\x9E\xE0\x30\xA4\x83\xA0\x8A\x88\x9B\x2C\x88\x4A\xD1\xA2\x27\xBE\x98\x87\x98\x89\x95\x08\xC5\x9D\x42\x89\xA7\x2B\xA1\xA3\x72\x89\x75\xB9\xA2\x27\x9A\x1E\xA2\xA7\x2E\xA4\x9C\x72\x24\x27\xBB\x9E\x41\xAE\x4A\x84\xA6\xE5\x75\xA5\x5F\xA1\x92\xAE\x9E\xEE\x6D\x4A\x9F\xA4\xCE\x89\x9F\x1C\x52\x98\xB3\x9B\x5F\xA0\x46\xA0\x9E\xB6\x97\xA4\xC4\xA6\x99\x80\xA6\x1B\x48\x3B\x91\x43\x28\xAA\xA5\x23\xA7\x8C\xA6\x27\xDF\x9E\x4D\xD4\xA7\x84\x96\x1B\xCD\xA1\x9C\xBA\xA2\x39\xAA\x3C\x88\xA5\x32\xA9\xA5\x62\xA1\xDD\x69\xA6\x5C\xA9\x42\xA6\x9E\x59\x2E\xA7\x65\xA2\x9D\x8F\xA7\x71\x90\x19\xB9\xA1\xC8\x63\xA6\xB6\xA4\x94\x90\xA7\x15\xAF\x2F\xCE\xA1\x36", + "\xBA\xA7\xDB\xA1\xD2\x6B\x9E\x3C\xA8\x49\x83\xAA\x29\xA0\x00\x08\x9D\x9C\x8D\xA9\x7A\xA7\x4B\xF4\x9F\x3C\xB5\xA1\xE0\xA4\x9E\x8F\x80\xFD\x93\x4D\x93\xAB\x22\xAF\xA8\x00\xA2\xF5\x42\xA0\x59\xAB\x2B\x44\x86\x01\xA4\x86\x08\xA4\x18\x8A\xA1\xC8\x0C\x40\x91\x8E\x03\xA4\x86\x10\xA4\x18\x92\xA0\x92\xAC\x10\x15\xA0\x4D\xA3\x08\x18\xA4\x18\x9A\xA1\x9B\xA2\x10\x1D\xA0\x31\x9F\xA0\x06\xA9\xA0\x99\xA8\x8C\xA4\x3E\xA5\xA0\xFB\x9E\xA8\x30\xA2\x7C\x9C\x9F\x53\x88\x4F\xF0\xA0\x3C\xAE\xA8\x63\x95\xA0\x8D\xAA\x65\xA2\x4E\xD8\x91\x3F\xA7\x79\x3A\xA5\x66\x82\x09\x22\xA9\x48\xC7\xA2\x11\xA4\xA2\x43\xA2\x22\x1C\xAB\x77\xA0\x72\x63\xAA\x28\x69\xA2\x57\xA0\x00\x0D\xA3\xA9\xAF\x54\x94\xAA\x31\xB5\x2E\x69\xAE\x8A\xBC\xA8\x2C\xAE\x48\xDD\xA1\x50\xA4\xAB\xDA\xA5\x9A\xB6\xA6\xEA\x88\x55\xDF\xA5\x29\xA3\xAA\x7B\xAF\x4E\x4E\xA5\xA1\x7E\x02\xDB\xA1\x25\x37\xA8\x8A\xA1\xA9\x89\xAC\x64\x42\x34\xEA\xA2\x25\x68\xAC\x15\xAB\xB1\x8D\x9E\x0E\x2E\x48\xF5\x87\xF7\x86\xA7\xDB\x9D\x90\xAC\xA3\x58\x67\x4C\xBE\xA4\x52\xB2\xA3\x0A\x74\xB1\x5A\xA2\x7E\x8F", + "\xD8\x48\xA5\x3E\xBA\xA8\x8A\xA9\xB4\x8D\x8F\x7D\x85\x04\x82\x0A\x25\xA6\x08\xA4\x92\x45\xB4\xA5\xB9\x51\x19\x36\xA9\x6E\x02\x95\x37\x84\x31\x38\xAC\x84\x01\x5B\x91\x42\x6D\xA2\xAA\x7F\xA9\x9E\xA6\x8F\x83\xA8\x5A\xEC\xA7\x70\xA0\xAE\x50\xA9\xB8\x91\x74\x52\x7D\x56\x9F\xAB\xDF\x84\x45\x9F\xAA\x92\xB9\x79\xFB\x84\x5C\xC4\xA9\x72\xB7\xAE\x6E\xA8\xB0\xBD\xA5\xD3\xA6\x5D\xD9\xAE\xA1\x64\x90\x02\xAE\xBB\xB9\xA5\xD0\x91\x5D\xCB\xA7\x78\xA0\xAF\x80\xA9\xB2\xAA\xAC\xD7\x98\x57\x88\xAA\x5E\xAC\xA4\xD7\xA5\xB8\x92\xAE\xE3\xA2\xED\x18\xAD\x31\xB2\x23\xE4\xA5\xBB\x8E\xAE\xE1\xA8\x2E\xC8\xAE\x78\xBF\xAF\x0F\x85\x5D\xB9\xAA\xAA\xA2\xFE\x4F\x9F\x80\xAD\xAE\xB9\x70\xD6\x36\xAF\x03\xBE\xD4\x46\xA8\x83\xAF\xB0\xB0\xA6\x64\x86\x73\xF2\xA5\x55\xD4\x80\xF5\x75\xAE\x92\xAE\xBC\x92\x63\x88\xAA\x5F\xA9\xAD\x78\xAF\x80\x7A\x88\xBB\xBB\xAF\xF1\xA5\x96\x6A\xAF\x87\xB3\xAE\xFF\x9B\xC1\xAE\xAE\x8D\x9C\x42\xED\xAE\x7C\xBA\xB0\x0C\x98\x87\x98\xAB\x2D\x90\x60\x9E\xB3\x73\xB7\x91\x4C\xAE\xBF\xA3\xB1\x1A\xBE\x92\x0E\xB3\x8A\xA8\xB0\xF4\xA8\xAE", + "\x94\xB1\x75\xA3\x59\xF3\x90\x81\xBB\xA7\x0D\x7A\xB0\x9B\xAC\xC0\x6D\x33\x98\xB2\x89\xBA\xAE\x11\x23\xC9\xB8\x72\x41\x9A\x63\xB6\xB2\x72\xB2\x62\x7C\xA5\x20\x3E\xA3\x0F\x89\x1B\xAE\xB1\x87\xA0\xAD\xB5\x96\xCF\x4E\xA5\x48\x99\x5E\xA7\xB1\x3E\x82\x08\x96\x96\xB1\x85\x55\x4C\x97\x5F\xD7\xB3\x24\xAB\xAD\x8D\x6C\xB4\x8F\x44\x29\xB3\x0F\xA0\x57\xBC\x3D\x02\x69\xAB\x08\x33\x36\x3D\xB4\x0C\xFC\xB3\x87\x7E\xB3\x91\x88\xD0\xB9\xA0\x41\xB8\x55\x84\xB5\xF7\x86\xB4\xB9\x48\xD1\xB9\x34\x45\xB0\x72\x31\x03\xBC\x28\x01\xF3\x36\xB2\xB9\x35\x24\x0E\x48\x8B\x06\x8A\xBD\x9B\xDB\xAE\xA9\xAD\xB2\x68\xA9\x69\xC7\xB1\x42\xB4\x9E\xA7\xA3\xC8\x88\xB2\x14\xB6\x2B\x97\xB7\x97\xA4\x7C\xA6\xB1\xC3\x95\xB0\x4F\xB6\x61\x8D\x7D\x95\xA0\xB3\x65\xB1\x98\xA9\xB5\xC8\xAC\x7A\x33\xB7\x5B\xAE\x89\xA2\xB7\xD3\x89\xB2\x5C\xBE\x64\xE6\xB1\x91\xA8\x60\xB9\xB7\xBD\x8F\xA9\x6E\xA7\x6A\xB0\xB2\x95\xB1\x74\xF9\xAA\xD5\x84\xB2\x42\x98\x4E\xC1\xB4\xAB\xB8\x9B\x54\x8E\xD6\xB7\xB1\xDE\x7D\x6B\xB1\xB7\xB9\x8A\xB0\xCE\xB0\xC8\xAF\x83\xF2\x9F\x6A\xF3\xAE\xB7\xBA", + "\x50\x3E\xB7\xC5\xAB\xB5\xD6\x9C\x10\x0B\xAB\x8F\xBB\xB4\xA0\xB0\xA2\x92\xB6\x37\xB9\x95\x21\xB0\x8F\xBF\xB6\x79\x86\xE1\x4F\xB6\x6D\xB0\xFB\x21\xAA\xB8\xAB\xB6\xB1\x97\x4B\xA7\x99\x6A\xBC\x6E\xC1\xB2\x84\xAA\x7D\x34\xB3\xC7\x82\xB8\x52\xB7\x55\xDD\x9D\xC0\xA7\xB6\xEF\xB0\x2F\xBF\xB7\x7A\x79\x6D\xE8\xB7\xAE\xA5\x5B\x0D\xB8\xC2\x98\xB5\x37\x2D\x6D\xC6\xB4\xAC\xB6\x41\x69\xA5\x8F\xAB\xA2\x7E\xB2\x62\x8A\xAF\x9A\x74\xB3\xB8\x8C\xCA\x9E\xB2\x65\xB3\x6A\xD8\x75\x96\xBF\x07\x5B\xB0\x04\xA3\xB9\x27\xBD\x6F\x80\x51\xD4\x83\x9A\x53\x99\xE2\xA7\xB7\xCA\x76\x67\xA0\xBB\x1F\xB9\x9A\x32\xBF\xDE\xBC\xA4\x38\xB3\x5A\xAD\xAF\x9C\xBF\x70\xB3\xAF\xAC\xB3\xA5\xB4\xAF\x5B\xD5\x8E\xED\x4C\x0C\x94\x24\x92\x2D\xA3\xF9\x81\xBA\x3B\x5B\xD2\xA5\xB5\xC4\x81\xA7\x9F\x70\x9F\xAC\x5A\xA7\x82\x17\x4B\xB7\xE3\xAC\x58\x83\xB9\x8B\xB6\x23\xC7\x64\xC7\xA9\xB8\xF9\xB4\xB8\x79\xB9\x62\xB1\x6F\x80\x9D\xC5\xA3\xB7\x51\xA6\x9A\x58\xBA\xB0\xB8\x6F\xED\xB9\x23\x8E\xB5\x2B\xBE\xD7\x96\xB8\x00\x58\x5E\xAD\xBB\xDC\xAA\xB8\x10\x33\xED\xAF\xB2\xF6\xAC\x5D", + "\xA4\xBA\xAE\xA9\xB0\xBC\xB7\xEC\xAE\xBB\xBF\xBB\x9E\x7A\xBA\xC7\xB5\x46\x5F\xBB\xEB\xB0\xB7\x0E\x79\x6C\xAC\xB9\xC7\xA7\xB3\x01\x0C\x78\xBE\xBA\x61\xB0\x65\xB9\x7F\xD8\xB3\xBC\xD0\xB0\x00\x06\xB1\x99\xBC\x79\x8E\x9E\xF5\x9D\xBC\x64\xBF\x58\x9F\x99\x1C\xB1\x77\xD6\xB7\xE3\xB6\x70\xE1\xB1\xF4\xA5\xB9\x5F\xBE\x16\x86\xBE\xBF\xB3\x8B\xAE\xBB\xF1\xA6\x26\x77\xBA\x78\xF7\xB9\xD9\xAE\xBA\xF4\xB0\xED\xB4\xB8\x10\x41\x7B\xCC\xB7\xCA\x89\x63\xF3\xB6\xE1\x80\xBC\x1C\xBA\x2F\x89\xBC\xC2\xBB\xBB\xFA\xB3\xC2\x86\xBE\xAE\xB5\x4F\xCB\xA9\xF1\xA2\xBC\xAB\xBE\xF6\xA2\x7F\x29\xAE\x78\xEC\xBB\xCE\xBC\xAB\x9A\xB2\xE2\xAA\xBD\x3E\x79\x71\xDA\xB3\xC6\xB0\xBE\x84\xBA\xF6\x84\x5F\xC6\xAA\x71\x8F\xAF\xE5\xB5\xBE\x31\xB2\x2C\x55\xAD\xDE\xB1\x76\x8C\x33\x98\xAC\xBF\xA2\xBD\xE6\x95\xBB\xD7\x88\x73\xCB\xBE\xF8\xB4\xBC\x36\x46\x53\xAA\xB2\x5E\x63\x6F\x41\xBB\x12\x32\xBB\xBA\xBA\x4E\xA1\xA5\xBE\xB8\x7E\x87\xBC\x14\x99\xBE\xA0\xB8\xF3\x8F\x8C\xE6\xA2\x7C\xCC\xBF\xC3\xB0\xBA\xF6\xBA\xFA\x97\xBF\x58\xA1\x81\x81\xC2\xCE\xA1\xBF\x12\xC6\xAA\x9A", + "\xBB\xE3\xBC\x81\x90\xBE\x1D\x87\xBF\x00\xC2\xFC\x64\xB2\xBB\xB6\x81\xDC\x9A\xE4\x60\xC1\xA6\xBC\x9F\xB5\xBB\xD3\xB9\x81\xAD\xB4\xB0\xB5\xC0\x83\xBA\xAF\x91\x0C\x62\xBA\x80\x8D\xC0\xEB\xA4\x97\x30\xC1\xFA\xAD\xBF\xC8\xB0\x7F\x93\xC3\xA8\x28\xC1\x24\xC5\xC3\x5B\xBD\x0B\xC8\x7F\xE3\xAF\xE7\xA4\xC2\xC1\xBB\xF7\x84\xBF\x7D\xB0\x7E\xC5\xC2\xF5\xA4\x5E\xDC\xB5\xF4\x81\xC2\x1D\xCD\xE1\x66\xB4\x12\xD9\xBD\xA0\xA0\xF6\x80\xC2\x16\xC7\x7B\x8D\x9B\x16\xCF\xC2\x75\x85\xC4\xA1\xC0\x2A\xCF\x76\xBC\xBF\x17\xD5\xBD\xC5\x8D\xE0\xA4\xBC\x02\xC3\x86\x98\xC1\x58\x51\xC2\x6C\xC1\x05\xE8\xC3\x0E\x70\x87\x88\xC3\x15\xD6\xC1\xE0\xB5\xC5\xB1\xC3\x29\xCE\x86\xD3\xBD\x0F\xDD\xC3\xE6\x23\x01\x9A\xBF\x1A\xCB\x4A\xCA\xB3\xFC\xA0\x8E\x03\x0C\xB0\x98\xC2\x32\xC6\x55\xE4\xBE\xF7\xA6\xBF\x39\xC0\x10\xE3\x99\x34\x4B\x7E\xE7\xC1\x07\xCD\x94\xEF\xBE\x12\xCE\xC1\xE1\xB6\x1C\x8E\xA4\x9B\xA3\xC4\x05\xC7\xF5\x81\x08\xFD\xB5\x7E\xA0\x94\x31\x86\x95\xA7\xC5\xFF\xA3\x9A\x64\x49\x45\xD8\xAA\x5C\xBF\x70\xAD\xC0\xEC\x46\xAC\xBB\xAB\xDA\x79\x19\x6F\xBF\x49", + "\xFE\xBD\xB0\xB2\xB3\xC7\x95\x57\xFF\xC2\x0B\xC7\x83\x9A\xC7\xFE\x83\x96\x5F\xCD\x17\xB2\x95\x30\xCD\xC1\x99\xBF\x56\x89\xC1\x50\xCB\x39\xD4\xAD\x13\xC9\xC2\xCB\xC5\x0D\xCE\xC3\xF4\xBB\x81\x9B\xC6\x35\xCD\xC6\xD5\x90\x0F\xE5\xC0\xC3\x9D\x0F\x91\xC7\x34\xC6\xC0\x9C\x9A\x0A\xDC\xC3\x18\xCE\xCE\x44\xC4\xB9\xAF\xC1\xCF\xC3\x11\xD3\xC4\xC4\xB9\x8E\xDA\xC4\x39\xD9\x35\x8D\xBA\x1A\xD0\xC6\x9D\x92\x79\xCC\xC4\x32\xDB\xA1\x2B\x97\x18\xDB\xC6\x79\xAA\x8F\xEF\xC4\xC8\x27\xC2\xDB\xBF\x1B\xE2\xC4\x35\xCF\x7C\xE2\xC4\x18\xC7\xA7\xBF\xBF\xF9\x73\xC7\x80\xCC\x1C\x97\xB1\x3B\xC0\xC5\xB7\xB2\x0B\xDE\xC7\x85\xC1\x58\x83\x08\xED\xB7\xC4\xF7\xC2\xAB\x91\x98\x77\xCC\x88\xBF\xC5\x16\x66\xC7\x24\x8E\xF9\x8C\xC2\x83\xC3\x87\x9D\xC8\x8B\xB2\xAA\x0F\xC9\x1A\xD5\xBD\xE4\xB0\x70\xA0\xC9\x21\xCB\xB8\x20\x7E\x25\xC9\xC0\x0E\x12\x93\xF7\xC1\xC4\x22\xC4\x2A\xCC\x0F\xDE\xC9\x9D\x96\x73\xDC\xB1\x93\xA9\xC9\x36\xCB\x26\xD1\xB3\x43\xCF\x1C\xA5\x39\x4D\xCA\xAA\x49\x9C\x28\xC1\x94\x2C\x17\x94\x95\xCA\xFB\xBD\xC9\x8E\x5D\x29\xEB\xAE\xF9\xB1\x67\xBE", + "\xBB\x23\xBD\xC7\x26\xC8\x1F\xE4\xC5\x47\xC6\x8A\x93\xCA\x3A\xD5\x83\xD5\xC2\x18\xDF\xCB\x61\xC8\x95\x92\xC5\x1D\x8C\xC0\x10\xCA\x0E\xC4\xB8\x65\xC1\x94\xED\xC8\x52\xD0\x3A\x52\xCA\x1E\xE3\xCB\xCC\xA7\x80\x94\xCA\x3D\xC9\xC3\x2B\xC7\x20\xF3\xCA\xCB\x84\x5E\xDE\xC8\x47\xD6\xAA\x79\xCD\x24\xE6\xCB\x86\xC1\x8E\xFB\xC3\x38\xD9\xCA\x20\x39\xBE\x8C\xC9\xBD\xCA\x84\xCB\x3D\x59\xC2\xC8\xD8\xC0\x07\xC0\xCB\xC5\xC9\x76\xCD\x29\x5C\xD3\xB6\xF9\xC6\x2F\xE9\xCA\x43\x73\x84\x94\xCF\x66\xDD\xBA\x00\x00\x20\xC4\xC5\x9C\xC3\x5E\xF5\xC2\x5D\xD2\xCB\x7C\xCE\x34\xCC\xCC\xD2\xCC\x4F\xD6\xC2\x67\xCC\xCD\x0F\xC2\xDD\x8F\xCD\xD3\xC2\x47\x17\xCB\x35\xD9\xC8\x8D\xCB\xFC\x7F\xCA\xC8\xC8\x77\x9F\xCB\x6C\xCB\xCD\x31\xA6\x9F\x97\xCD\x6B\xB0\x93\xAE\x7B\x70\xC5\xCD\xA9\xBB\x34\xEE\xCA\xA7\xC2\x63\x86\xBB\x71\xCD\xBE\x62\x6A\x33\xF0\xCC\x70\xC6\x33\x93\xCE\x72\xCF\xCD\x11\x45\xFB\xA8\xB9\xEF\xB4\x92\x98\xCB\x3E\xC3\xCA\x55\xCE\xEA\xB6\xA3\xE7\xC1\x9B\xA7\xB9\xCA\xBD\xB2\x86\xCA\x2F\xD5\xCC\x89\x0F\x72\xFB\xBD\xCC\xB2\xCE\xCB\xCB\x2A\xD7\x9A", + "\xA8\xC2\xCB\x64\xCC\x75\xDD\x9A\xF4\xCB\x88\x2B\xC4\x00\x56\x49\x3A\xC6\x55\xD4\xBA\x91\x8D\x3F\xF9\x35\x5C\xC3\x2A\xB5\x24\x81\xC5\xAB\xF3\x36\xAC\x9D\x9E\x05\xD9\x9B\x0C\xD1\xAE\x2E\xD0\x09\x0C\x92\x16\x0A\x49\x10\x0A\x7B\xCC\x4C\x09\xBA\xA4\x59\x20\x15\xD1\xDA\x50\x32\x14\x25\x64\x0F\xBA\x00\x03\x43\xF5\xC5\x26\x21\x25\x9C\xAC\x43\x02\xD1\x8B\x27\xB3\x45\x26\xD5\x52\x10\x28\xD2\xD1\xAF\x80\x52\x06\x91\x9B\x04\x0B\xD1\x96\x53\x02\x23\xBD\x04\xF3\x31\x46\xF9\xCE\x86\x03\xA3\xC4\x86\x8E\xCA\xCA\x89\x94\x47\xEA\xC4\x0E\xDC\x89\x80\x00\x84\xC0\x91\x0C\x0F\x48\xEA\x90\x25\xDA\x33\xCC\xD0\xE8\x8E\xD2\x1C\x53\xAD\x91\x8C\x29\xDD\x73\xE2\xCD\x40\x17\x04\xF6\xC8\xDB\x61\xCA\xDC\xC3\x9D\x94\x9D\x96\xD1\xCC\xE7\x27\x4B\xFD\xCC\xDD\x42\xA6\xDD\xC3\x73\x65\xD3\xFE\xC7\x33\xEA\xCF\x56\x98\xA6\xE5\xC1\x36\xCA\xD3\x82\xCB\x27\xE3\xC1\xC3\xC3\x98\xF8\xC5\x60\xDE\xCE\x69\xD2\x00\xEF\xD3\x2E\xD2\x96\x9A\xC8\x00\x0A\xCC\xD7\xC9\x50\xF2\xCE\x81\x04\x83\xF7\xC9\x9E\xD3\xB8\x21\x90\x3E\xD8\xCF\xB7\xCF\xED\x3F\xCF\x6E\xD9\x4D\x02", + "\xB4\x4F\xDC\xD2\x9D\x9D\x99\x82\xD4\x6A\xC8\xD2\x19\x6D\x4D\xD6\xAA\xD5\xCF\xA8\xC0\xCC\xE8\x9C\xD4\x70\xD0\x4F\xEE\xD2\x94\x5A\xA9\xBB\xC8\x87\xB6\xD4\x6A\xCB\x20\xF6\xCD\x3E\xD1\xAA\xD8\x76\x18\xC9\xD5\xAC\xD2\x4F\xFE\xCC\x45\xD8\xAA\xC4\xCF\x12\xCA\xBE\xD6\xCE\x50\xFE\xC1\x5B\xDD\x92\x8E\xD5\xAB\xC8\xBD\x7A\xC6\x0E\xCB\xD5\x5A\xD1\xE9\x20\xD6\xA4\xDB\xC6\x83\xD2\xE1\x25\xD5\x62\xC6\x64\x9E\xD4\xB1\xDC\xA7\xDA\xCF\x3C\xFF\xC9\xEE\xC7\x9B\xDF\xCE\x44\x0E\xC4\xDB\xC8\x12\xF9\xD5\x4B\xD1\x61\x87\x94\x90\xCB\x9A\x4C\xCE\x57\xC7\xD7\x0E\x7D\x9E\xA5\xC6\xD6\x62\xD7\xF1\xCD\x96\x29\xB2\x73\xDF\x02\xE8\xD7\xB0\xCC\xA4\x5B\xC9\x5B\xDD\xCB\x6D\xD0\xAB\xE3\xD3\x96\xC8\xD6\xDC\xD2\x6D\x8B\xD6\x7C\xC8\x96\xE3\xD4\x62\xD9\xCD\x6C\xCF\x5D\xF9\xD6\x13\xC0\x00\x22\x89\xBA\xD5\xD7\xF8\xD0\x61\xC7\xD5\x9F\x47\xAF\x8B\xDB\xB3\xC9\xBF\x77\xD5\x5A\xCE\xD8\x46\xA3\xA7\xEB\xD2\xBF\xDD\x73\x11\xD9\x56\xC7\xD9\xEF\xAB\xAF\xFE\xD0\xA0\xDA\xD5\x75\xD6\x4F\xC5\xD5\x81\xDF\xB0\x84\xB9\x3C\xCA\xD8\xFF\xD2\x56\xC1\x51\x8E\xD9\x9B\x91\xD7", + "\xC6\xD4\xD3\x75\x85\x52\xE0\xD8\xDE\xC9\x86\xA2\xCF\xCC\xD4\xCD\x36\x46\x58\xEF\xD8\x8B\xDE\x38\xBA\xDA\xC0\xC8\xD9\x56\xAE\x35\xE5\xD8\x89\xD3\xAA\xB2\xCC\xAD\xD7\xD9\xE7\xC6\x0B\xC7\xDA\x92\xDC\x48\xAF\xD6\x4E\xD8\xD9\x91\x76\xDE\xBF\xD9\xA7\xD8\x8F\xBE\xDB\xD0\xDA\xD8\x04\xDE\x6A\xC8\xDB\x4E\xD9\x9A\xC9\xCF\xD6\xDF\xD5\x24\xA1\x58\xD0\xDA\x9E\xD4\xB0\xD4\xBC\xD3\xC7\xDB\x37\xA2\x6D\x4B\xDA\xA0\xDB\x93\xD1\xD4\x77\xC9\xCF\x71\xD0\x21\xD7\xD6\x47\xA7\x47\x97\xD8\xCD\xD9\xC2\x50\x7B\x47\xE0\x20\x96\xDA\xB2\xE5\xD4\x57\xC7\xD7\x6B\xDC\x6A\xFE\xD3\x75\xDF\xB7\xED\xD5\xE0\xD0\xD9\xCC\xD3\x20\x31\xD6\x69\xD0\x1D\xCD\xB9\x4F\x66\xD1\x03\x08\x13\x34\xD1\x92\x0C\xB8\x83\x08\x96\xCE\xD7\x81\xD5\xD3\x8E\xD7\xAF\xD1\x37\xFC\xDA\xE3\x9D\xD7\x3B\xD9\x6E\xF8\xC7\x80\xD7\xB5\x93\xD4\xC1\xC6\xD8\x53\xD8\x71\xDB\xDC\xB4\xD6\xAB\xDE\xB8\xBD\xC2\xDC\x2F\xCB\x4F\xE1\xDC\x51\xD6\x55\x95\xDA\xE8\xDC\xDA\x98\xD2\x76\xE9\xDC\xB2\xDC\x8D\xBA\xDD\xE9\xC9\xD8\x86\x77\x63\xEC\xDC\xD5\xDC\x97\xA3\xD8\xDB\xC3\xDB\xE9\xBF\x64\xF0\xDC\xBB", + "\xD9\x79\xF5\xC7\xF0\xDC\xDD\xEC\x96\x73\xE0\x9C\x99\xDF\xBC\xB7\xDD\xC4\x36\xD9\xD5\xDC\x76\xCB\x8C\xAF\xD9\xBD\xC4\xD9\x9F\x7A\xDA\xDD\xD8\x6B\xF3\xA2\x00\x02\xB4\x9C\xDF\xEC\xD8\x76\xA7\xD6\x7C\xFB\xDD\xD8\xCB\xAA\xA6\xDF\xEF\xC2\x7F\x4E\xDC\x78\xE0\xDB\x34\xC2\xB5\xEF\xDD\xCA\xDD\xD9\xDC\xDF\x78\xEB\xDD\xA8\xA2\x43\x98\xDE\xFA\xDC\x50\xE0\xDA\x7F\xF8\xDC\x15\x91\xC0\xCB\xDF\xF9\xC0\xD3\x66\xDA\x80\xF3\xDE\xBC\xDA\xB6\xAF\xDE\xFC\xDD\xD6\x6C\x6A\x6F\xC2\x08\x45\xC3\xC0\x87\xE0\xEC\x78\xD6\x95\xDB\x3C\xFE\xDE\x92\xD4\x89\x92\xE0\xCC\x32\xDE\xBD\xD9\x20\x3E\xDA\x79\xD0\xB8\x8E\xE0\xF4\xCF\xA8\x84\xDC\x84\xC6\xDC\x13\xE6\xBD\xC2\xC9\x89\x3E\xE0\xAD\x50\x84\xE9\x88\x19\xE9\x2A\x87\xDF\x09\xE9\xDB\xA0\xDB\x7D\xDA\xDE\xC2\xC0\x5D\xB6\xE1\x0B\xEE\x9C\xA8\xDE\x7E\xE1\xD9\x05\xE7\xBF\xC3\xD6\xE6\xD5\xE0\x3A\xE0\xDB\x59\xD8\xF7\xDF\xBF\xE9\x5A\xED\xDB\xE1\xFB\xDC\x99\x9B\xE0\x05\xEA\xFA\x4B\xE0\xF0\xCF\xE0\x3A\x9A\x78\xD4\xE2\x0B\xE9\x86\xC6\xDE\x01\xE9\xE2\x60\xD2\x79\xD8\xE2\x30\xE0\xFB\x4E\xDF\x16\xE4\xE3\x69\xC6", + "\x65\xE8\xE3\x89\xD3\xD1\x34\xE2\x1C\x38\xDE\x67\xE2\x88\xDB\xDE\xB1\xD1\xC5\xE3\xE3\xF8\xC5\xE0\x76\xE5\x89\xF5\x25\xF2\xD1\xBE\xCC\xE1\x2D\x29\xDF\x7D\xE7\x8A\xFC\xA7\xF6\xD2\xC8\xBF\xE0\xE8\x91\xDF\x37\xE7\x8B\xE3\xDF\xFA\xDA\xC7\xF1\xE0\x41\xBD\xDF\x3E\xE0\x8A\xFE\xD2\x3C\xE9\xC8\xF9\xE3\x51\x79\xDF\x8A\xE5\x91\xF9\xD8\x4C\xE6\xC9\x8E\xE5\x98\xA9\xE0\x99\xE1\x90\xE2\x7E\x9C\xCC\xC5\xEC\xE1\xDA\xCE\xDB\x13\x83\x8A\xCA\xE5\x8F\xBF\xAD\xA0\xD1\xDD\xC5\xE5\x45\xE1\x84\xEA\xBE\x18\xE2\x69\xC8\xE2\x1C\xF9\xBC\x23\xE1\x83\xC7\xA4\x16\xE2\xC9\xB1\xDD\x27\xD0\xE1\x9F\xC4\x79\xF5\xE2\x7E\xAB\xB8\xEA\x79\x74\x80\x00\x4A\xB8\x72\xC2\x08\xC9\xD4\xA4\xC8\x46\x8D\xC4\x86\xCF\xE3\x44\xC0\x50\xBF\xAD\xC9\xAB\xE7\x71\xBE\xAC\x91\xE6\x7B\xE0\xCA\xC8\xA2\xCA\xB1\xE5\xDA\x59\xE1\x1C\x54\x9A\xD5\xE5\x71\xEF\x00\xA4\xDC\x40\xB4\xD6\xE2\xDC\xD6\x81\x4E\xBD\x49\x38\xDC\xE6\x27\xEF\xE7\x86\x72\x9C\xC6\xE5\x5B\xE9\x6B\x1B\xA7\x40\x12\xE7\xBD\xE2\x98\xFC\xCA\x69\xA6\x39\xEE\xE2\xA1\x71\x83\xE7\xE0\x6E\xF9\xE7\xE5\xC7\x3A\x97\xAE\x2A", + "\xF6\xE3\x05\xEE\x84\xBE\xE6\xD0\xC0\xA8\x81\xEA\xB0\xD4\xE7\xEB\xCD\x81\x77\xAA\x81\xEA\xCD\x94\xCA\x04\x6E\xE7\xA1\xE0\x9E\xD1\x74\xC9\xBE\xD0\xC8\xDF\x40\xE0\x9D\x6A\xE1\x9C\xCB\xE8\x29\x65\xA9\x9D\xEB\x30\xF3\xE7\x33\x93\xA2\xCF\xE8\x4D\xEC\x69\x89\xC8\x00\x86\xE8\xD9\xE1\x9D\xE1\xB2\xAB\xD6\xD2\xB6\xE4\x4B\xF2\x62\x42\xDD\xA6\xC4\xE3\x21\xEA\xB2\xA7\xD6\x4E\xFA\xE7\x3B\xEB\x27\xF5\x9F\x8E\xA1\xD3\xFE\xE1\xDA\xDC\xA8\xFD\xE7\xA0\xFC\xDD\x2A\x94\x0C\xA3\xAA\xFB\x31\x0C\xB1\xC1\x37\x67\xA9\x0F\x79\x52\x9F\x73\x4A\xB5\x08\x2D\xA9\x87\xAF\xA9\x0F\x71\x53\x9F\x73\x4C\xAF\xEA\x15\x0D\xE8\x82\xBA\x89\x02\x75\x91\x8F\x4E\xA0\xEB\x12\x08\x40\xF9\xA0\xA0\xAC\x56\xB6\xE9\x37\xF0\xC2\xC9\xCF\xA7\xF0\xE4\x9E\xE8\xBF\xF4\xE3\x51\xA5\xEA\x85\xE5\x48\xF4\xE8\xA2\xEC\xCB\x95\xE9\xD2\xCD\xCE\x6B\xC7\xA1\xDE\xAB\xAE\xA0\x56\xC1\xA1\x61\xFF\xAA\x62\xA9\xAC\x89\xD3\xB4\xA4\xA5\xE3\xE8\x43\x0D\xEC\xDD\x98\x9F\xFE\xEA\xB7\xE9\xB6\xA0\xE5\xA4\x6F\xC5\xEC\xE4\x80\xA1\xCE\xFA\xB3\x10\x34\xC6\x69\xAB\xE9\x6F\xEF\x6E\xC1\xC4\x8C\xE5", + "\xCD\xA5\xEE\x14\x68\xE5\xA9\x8A\xA5\xDE\xE9\xC9\xE9\xBB\xF4\xA0\x0C\xEF\xE5\xC5\x9B\xA4\xE9\xBE\xF3\xC9\x76\x35\xE4\x43\xB8\xEB\xA6\xE6\xD0\x79\xE5\x4D\x5A\xDA\xA7\xEB\x47\xE3\xDF\x29\xE2\x97\xD7\xCB\xB6\xE1\xD4\xAB\xEF\x1B\x85\xE6\x0C\x8D\x99\xF6\x09\x5B\xC0\xD1\xC5\xED\x3D\xF2\xED\x59\x4D\x61\xDE\xE7\xD0\xE9\x9B\x60\xE7\x4D\xF3\xE7\x69\x5C\x74\xD7\xEF\xDF\xE9\xB6\x41\xE3\x76\xEC\xED\x40\xE9\xBC\xCE\x9C\xE9\xE4\xD7\xEB\xE0\x6B\x96\xE2\xB9\xEE\xB4\xCF\x81\x27\xE0\xDE\xF3\xE9\x1D\x88\xEF\xD3\xEA\xA3\xD2\x62\xF8\xE5\xDE\xCD\xEE\x8A\x9A\xE2\x19\xE9\xBF\xDE\x96\xE8\xEE\x81\xE2\xE0\x39\xFC\xEE\xB5\x26\x8C\xFA\xEF\xFF\xE8\x8C\x21\xEB\x77\xE2\xDF\xFC\xC0\xB7\xF1\xEE\x1B\x40\xC7\x83\xF0\x76\xF7\xE4\x76\xEE\xB9\xD4\xED\x4D\xE1\xE1\xE2\xEE\x79\xFD\x73\x7C\xE2\xBE\xCF\xF1\xF7\x9A\xD4\x9B\xF2\x0D\x44\xE4\xE9\xEC\xC0\xC0\x50\x44\xEE\xE1\xEA\xED\x56\x4C\xE4\xD4\xEE\x59\xE2\xC8\x5C\xD8\xCE\xC6\xE8\x7F\xAC\xC9\x0C\xBA\xC1\xF5\xEE\x46\xA4\xC9\xA5\xF2\x88\xF9\xC3\x28\xCD\xC5\xF9\xEB\xF6\xEF\x93\x16\xEF\x8D\xFB\xF1\x6F\x84\x94", + "\xD7\xF0\xD1\xE6\x55\xA8\xEC\xAB\x54\xE0\x12\xF1\xC9\xEA\x90\x0C\xEC\x0E\x9D\xF3\x6F\xFD\xE0\xAD\xE2\x99\xDF\xE0\x27\xFC\xE3\x9C\x53\x6E\xFA\x53\xEC\xEA\xA6\xDA\xF1\xAC\x41\xDC\xE9\x39\x30\xEE\xEF\xC6\xE8\xF6\x48\xEF\x79\xDF\xA2\xF9\x1A\x70\xF0\x02\x93\xDB\xC1\xE6\xF0\x2F\xD4\xE5\xB7\xC1\xF1\x5C\xEF\x6F\x86\xBA\xE9\xF0\x5B\xEA\x78\x70\xF0\xEC\x7E\xEE\x73\xF2\xC9\xE0\xF2\xDF\xEC\xE6\xB2\xF0\x91\xFB\xC9\xF4\xEF\xCF\xE1\xF3\xB0\x49\xE5\xAE\xF3\x9A\xF4\xBB\x76\xF0\x2F\xC9\xF4\xF1\x78\xDF\x87\xF6\xA1\xF2\x62\x5E\xE6\xD1\xC0\xF2\xD8\x7E\xDF\xB6\xF2\xA5\xF9\x4A\x02\xF2\xD2\xE1\xF1\x00\xBB\xE8\xE6\x24\xF5\xDB\xF2\x55\xF1\xA5\xFE\xF3\x41\xF4\x87\x9C\xE7\x8F\xFB\xF4\xA0\x85\xC2\xFB\xF3\x09\xFA\x50\x9D\xF5\x9F\x60\xE4\xA0\xF2\xCB\xC6\x74\x10\xFA\xE6\xA7\xF6\x39\x24\xF1\x00\xF1\xD6\xE7\x46\x14\xFA\xEB\x93\xF7\x1B\xC6\xF5\x97\xF5\xCA\xCF\xE4\xE1\xCD\xE6\xEE\xDF\x8A\xFD\xD5\xA3\xF4\xCF\xC0\xD7\x1C\xF4\xD1\xB2\xF4\x42\xF1\xCE\x7D\xEE\xD9\xD0\xCE\xEC\xB4\xEA\xB5\xF7\x03\x86\xF2\x8A\x70\xC9\xD6\xF0\xFB\xEA\x33\xCC\xF2\xB6\xDA", + "\xF1\xA8\xF3\x20\xF4\xEC\x3D\x56\xDB\xDB\xF7\x81\xE7\x47\x57\xF5\x50\x45\xF4\x5F\xF1\xEE\x80\x51\x97\xF8\x94\xAE\xF3\x27\xE3\xF2\xFE\xBA\xDC\x8F\xF5\xB0\xEB\x5E\xF1\xF4\x2C\xC9\xF6\x56\xF2\xC5\x72\xF1\xAF\xED\xF7\xE7\x42\xBB\xF9\xF3\x6D\xFA\x76\xC5\xF4\xBB\xF6\xF6\xB9\xF6\x06\x64\xEE\x41\xFA\xEC\xD9\x55\xBE\xEF\x8C\xEB\xF0\xE0\xC7\xF8\xE2\x51\xE8\xD5\xF5\x7D\xE9\xE8\xFC\xF7\xDE\xE7\x47\x46\xF6\xEB\xB3\xF1\x2D\x31\xF4\x1D\xFC\xE1\xFE\xD3\x4A\xF9\xF0\x9A\xF6\x39\x39\xF4\x21\xFE\xA2\xC8\x70\x83\xF1\x7F\xD9\x8B\xC3\xFF\xC7\x2F\xFD\xB5\xC4\xC9\x91\xCD\xEC\xF6\xF7\x7D\xC0\xEC\x05\xCD\xE6\xD3\xF8\x19\xC5\xE2\x2C\xF9\x2C\xEE\x0D\x31\xFA\x65\xF4\xF4\x8F\xFF\xEF\xB7\xF5\xD0\xFA\x99\xBC\xF6\xC1\xE5\xF9\x33\x60\xEC\xCB\xFA\xC6\xFF\xF5\xAA\xF3\xC8\xD6\xF8\x6A\x8C\xEC\xA0\xED\xD1\xEB\xC7\xA3\xB9\xE7\xD6\xFA\xA5\xF1\xEA\xD0\xF4\xB8\xE8\xF8\x5D\xFC\xDA\xCD\xF9\x9D\xF9\x9B\x58\xF6\x61\xBA\xF6\xAB\xF2\xCF\xE0\x9C\x6F\xF9\x01\xBE\xFB\xC5\xE9\xCA\x9B\xE8\x11\xC3\x31\xA3\xF0\x3A\xE9\xF5\x09\xFF\xFA\x44\xFF\xC5\xF3\xCF\x28\xFC\x64", + "\xF5\xBD\xB4\xF6\xF9\x03\xCB\xDE\xCA\x75\xD7\xA5\x10\x4C\xED\x3B\xF5\xF7\x29\x0A\xB8\xEF\x05\x21\xD2\xCD\xE7\x47\x81\xDC\xAD\x03\xF9\xED\xDD\xDC\xB7\xFC\xF3\xF5\xCB\xD8\xF2\xF8\x1D\x76\xDF\xDC\xFA\x69\xF5\xCE\xF4\xFB\xF8\xD8\xF3\x57\xFA\xE4\xEA\xFA\x6E\xF4\xB0\x8B\xFB\xD4\xF2\xDB\x85\xCB\xEB\xE6\xF8\xAC\xF1\x1C\xFF\xF8\xD9\xF6\xD3\x9E\xFB\x27\xB1\xFD\x5A\x2C\xF1\xCF\xF8\xE6\xE6\x27\x20\xFE\xF6\xE0\xFB\x37\x84\xF2\xC2\xF5\xE4\xFF\x49\x28\xFA\xF7\xF9\xFB\x48\x76\xE0\xBF\xFD\xE6\xCE\x9E\x9E\xFA\xD4\xEE\xFD\xDB\xFB\xA9\xCD\xFA\xEF\xE1\xFD\x27\xC8\x92\xCB\xFF\xDD\xF3\xA6\x99\xF3\xE6\xE0\xFC\x00\x50\xD6\xD7\xFF\xD7\xFC\x97\xC3\xFA\xE8\xE6\xF7\x99\x2B\xF6\xE0\x48\xF1\xF4\xE1\xD5\xFB\xE9\xEA\xF1\x2E\xE9\x47\x99\xF8\xA7\xF9\xEA\xE6\xFF\xE5\xF4\xFE\x50\xFE\xFD\xEB\xFF\xE7\xF6\xE8\x3E\xF2\xF0\xFF\xFE\x8E\x9A\xC8\xE4\xFD\xFD\xF9\xB6\x66\xFB\x2E\xC8\xFB\x52\x7F\xFB\x73\x7E\x74\x6D\xE4\x7D\xA4\x33\xEE\x45\x2A\xE5\x7A\xE4\x7A\x00\xB5\x7D\x99\x63\xBE\x73\xFA\x69\x2D\xEF\x7B\x9A\x55\x00\x84\x73\x95\x50\xE3\x79\xA2\x61\x12\x69", + "\x1D\x2F\x09\xE6\x7D\x40\x9A\x27\x7A\x0B\x5B\x47\x04\xCC\x77\x07\x80\x5B\x7A\x56\x1D\x83\x84\x02\x02\x85\x7E\xB5\x12\x13\x0E\x48\x55\x02\xF3\x19\x09\x03\x6F\x09\x73\x20\x1E\x0B\x80\xC3\x74\x60\x91\x06\x0C\x8F\xE1\x30\x80\x11\x1E\x0D\x81\xF7\x45\x65\x84\x6B\x06\x80\x6C\x0D\x01\x2D\x83\x0B\x81\x04\xB3\x80\x43\x83\x0D\x85\x04\xBB\x80\x4B\x64\x87\x40\x74\x7E\x80\xFE\x66\x95\x60\x00\x12\x02\xF3\x18\x9A\x74\x0C\x6A\x80\xC4\x40\x10\x83\x05\xB3\x1B\x56\x81\xE3\x71\x96\x14\x81\x1F\x39\x16\x81\x19\x78\x80\xEE\x66\x61\x5F\xA1\x4F\x4A\x86\x56\x55\x0C\xDC\x67\x7B\xD6\x68\xDC\x5A\xF3\x4C\x7F\x3B\x66\xE9\x72\x00\xB8\x7F\x3F\x26\xE6\x7B\xFA\x70\x81\xE3\x6E\xC0\x70\xFD\x68\x7F\x70\x64\xE5\x77\xFE\x73\x7F\x6E\x7A\x1B\x8C\x07\x86\x7B\xC8\x4B\x1E\x83\xFA\x75\x5A\x7A\x80\x5D\x69\xFA\x42\x82\x04\x7D\x20\x8F\x06\xAA\x7C\x5A\x0F\x04\x8F\x00\x79\x7E\xEC\x7C\xFD\x70\x9A\x7D\x7E\x9C\x7D\x24\x80\xA0\x01\x7F\x96\x80\xF6\x77\x8E\x05\x7F\x77\x81\x44\x7E\xF2\x45\x82\x21\x67\x3D\x53\xFD\x43\x7F\xE9\x59\x8D\x79\x09\x9C\x7F\x87\x46\xFC\x7F\x00", + "\x86\x7F\x00\x3C\xDE\x74\x07\xAA\x73\xB1\x42\x03\x80\xFE\x69\x6D\xDE\x7C\x22\x84\xD0\x65\x68\x7F\x80\x2A\x8A\xFA\x09\x7D\x73\x80\x23\x80\xE3\x71\x64\xA0\x83\x20\x67\xEC\x71\x78\xA3\x83\x2B\x8F\x50\x66\x82\x92\x81\xCA\x7D\x93\x0E\x7F\x95\x81\x32\x89\x7E\x76\x7F\xA7\x80\x1B\x89\x79\x7A\x7F\x68\x82\x34\x89\x6B\x3E\x7F\x56\x64\x00\x8C\xFF\x6C\x82\xE0\x65\x95\x6C\xD9\x5A\x70\xB2\x83\x02\x83\xBE\x47\x80\xAC\x29\x02\x81\x00\xB9\x82\xE4\x69\x03\x85\x0C\xB6\x82\xA0\x4D\x04\x89\x1C\x41\x83\x89\x83\x0B\x7C\xF7\x53\x59\x8D\x6E\x16\x8D\xE1\x3A\x00\x8E\x53\x08\x79\xB6\x20\x81\x8E\x4F\xEF\x28\x8F\x7E\x83\x7E\x6A\x04\x0A\xD8\x43\x04\x02\x86\x61\x7A\x90\x78\x63\x07\x5C\xB6\x35\xD5\x44\x76\x12\x04\x06\x03\x10\x9F\x1D\x0F\x85\x40\x0A\x01\x11\x84\x00\x03\x44\x86\x10\x8C\x04\x57\x00\x45\x84\xF8\x72\x72\x63\x82\x9F\x6E\x01\x14\x84\x09\x87\x1B\x41\x12\xB0\x3E\x1D\x85\x6E\x63\x12\xA9\x61\x27\x86\xF8\x35\x12\xAA\x6C\xF8\x83\x45\x83\x10\x12\x0A\x99\x5C\x3F\x84\xB0\x40\x84\xB9\x64\x4D\x8A\xB2\x45\x84\x88\x74\x43\x08\x13\x8C\x84\x2F\x74", + "\x42\x84\x11\x8B\x84\x23\x5D\x64\x0E\x10\xAE\x84\x10\x84\x51\x82\x11\x94\x84\x16\x85\x4E\x83\x10\x19\x84\x46\x85\x0C\x7D\x14\xAB\x84\x8E\x4F\x47\x8D\x14\xA9\x84\xAC\x44\x55\x8D\xE7\x10\x85\x04\x6E\x55\x85\x07\x5A\x85\x99\x5C\x56\x82\xCB\x6D\x84\x4A\x86\x40\x00\x13\x85\x68\x72\x12\x0E\x89\x43\x72\x84\x1C\x2A\x59\x89\xE8\x06\x56\x34\x81\x45\x08\x16\x82\x77\x6D\x86\x44\x08\x67\x73\x55\x00\x00\xA3\x51\x71\x36\x85\xAA\x3C\x5E\x81\x81\x3A\x85\x3F\x24\x5F\x8C\xA1\x3E\x85\x91\x04\x60\x85\x11\x02\x86\x12\x04\x61\x8C\x10\x06\x86\x03\x06\xA3\x54\x0C\x50\x5A\xC4\x42\x39\x8C\xA1\x14\x5A\x30\x72\xA5\x58\xF8\x5D\x38\x6A\x85\xF7\x48\x16\xB5\x80\x8E\x51\x5C\x8C\x10\x15\x86\xB9\x27\x65\x85\x11\x1C\x86\x64\x83\x2E\x60\x09\x88\x23\x8F\x7E\x8A\x42\xA0\x52\x4D\x86\x56\x5A\x7E\xD8\x6E\x51\x94\x07\x09\x8F\x0F\x21\x80\x25\x81\xA4\x30\x1A\xA0\x1C\x9E\x86\x44\x03\x1B\xB0\x5C\x6C\x87\x11\x87\x16\xBA\x86\x6B\x86\x68\x87\x67\x79\x59\x7B\x59\x70\x8D\x67\x42\x87\x7F\x58\x71\x81\x68\x46\x87\x83\x5B\xBC\x1A\x18\x9F\x38\x8C\x87\x87\x3E\x18\x91", + "\x06\x90\x87\x3C\x85\x67\x43\x04\x92\x84\x5A\x7C\x10\x25\x86\x3A\x4F\x69\x88\x1B\xBB\x62\xAA\x87\xBA\x31\x19\x1A\x87\x07\x06\x87\x69\xA1\x40\x00\x5B\x77\xD3\x1C\x10\x28\x85\x92\x09\x79\x83\x49\x38\x82\xF4\x83\x40\x0A\x1E\xB3\x58\x71\x74\xF0\x5A\xF5\x41\x76\xF4\x85\x68\x86\x95\x63\x70\x94\x11\x59\x22\x29\x1A\x67\xCC\x74\x86\x6C\xA2\x51\x70\xF6\x82\x39\x10\x14\xBD\x86\xF7\x87\x6F\x84\x17\x88\x86\x02\x04\x82\x81\x10\x0A\x88\x75\x84\x72\x85\x68\x4E\x88\x87\x58\x84\x89\x68\x4A\x87\x8F\x59\xA4\x53\x6F\x11\x87\x48\x81\x90\x64\x1D\x89\x7F\xD7\x73\x1A\x80\xFF\x4C\x70\x7E\x83\x2A\x81\xC7\x4C\x33\xF0\x83\x2D\x8C\x4A\x65\x88\x46\x73\x3A\x7E\x0A\xAC\x83\xDB\x81\x27\x89\x9B\x61\x88\xB3\x82\x35\x7C\x77\x6A\x7E\xCA\x81\x28\x8D\x59\x5E\x88\xA4\x80\xF2\x51\x78\x6B\x88\x8B\x80\xEC\x78\x22\x87\x7F\x8D\x83\x8F\x80\x0B\x92\x74\xE1\x83\x39\x89\x9B\x54\x82\x9A\x82\x2E\x81\x81\x18\x82\xCE\x81\x34\x86\x4E\x1C\x82\xDB\x7E\xC3\x69\xE0\x6B\x83\x3D\x88\xCC\x72\x24\x91\x64\x38\x7C\xCD\x74\x23\xB7\x7F\x89\x6C\xAF\x64\x0C\xBC\x88\xE8\x81\xD1", + "\x66\xFD\x7D\x82\x78\x80\x92\x47\x25\xA3\x88\x38\x34\x95\x81\x26\xBD\x39\xB8\x79\x93\x8E\x26\x80\x28\xBC\x81\x8D\x83\x08\xA9\x7F\x21\x4C\x8B\x8F\xBF\x43\x83\xC0\x81\x91\x8D\x22\xA5\x7F\xD2\x7C\x98\x82\x22\xAD\x6E\x33\x7C\x8B\x78\x23\x86\x83\x68\x8B\xFC\x0E\x08\x85\x69\xD4\x82\xF1\x77\x27\xA4\x43\x30\x72\x36\x85\x0D\x9F\x88\xF3\x14\x01\x87\x26\xBA\x7D\xDE\x69\x86\x80\xAE\x7B\x6D\x93\x89\x4B\x7C\x9E\x6A\x83\x7E\x89\x8C\x83\x5E\x6E\x83\x2B\x71\xA7\x82\x0E\x83\x89\x8A\x6D\x05\x83\x19\xA6\x13\x52\x86\x74\x81\x72\x7E\x46\x1F\x3B\x5C\x86\x1D\x83\x04\x0C\x89\xAC\x82\x21\x8B\x5A\xB3\x88\xC8\x12\x2B\x83\x87\xB8\x8B\x87\x3B\x1C\x91\x46\xCD\x85\x64\x4F\x1C\x95\x04\x18\x8A\x37\x82\xF7\x41\x04\xD5\x85\x64\x4E\x2A\x99\x76\x85\x85\xAD\x87\x17\x8A\x8B\x79\x84\xB3\x8B\x17\x8E\x8B\x7D\x84\xB4\x8C\xA1\x3B\x8A\x39\x51\xAF\x89\x43\x7F\x8A\x12\x05\xB0\x84\x20\x8E\x81\xC5\x89\x99\x78\x8C\x1B\x84\xC2\x77\x08\x71\x19\x07\x8B\xB4\x57\x60\x82\x2D\x81\x86\xE7\x8A\xB9\x89\x2B\x87\x87\xEB\x89\x72\x8D\x2E\x98\x55\xD4\x88\x56\x56\x2D\x98\x55", + "\xD8\x88\x43\x0A\x2D\xB2\x62\xBB\x61\xB7\x8B\x2D\x9F\x83\x01\x04\x20\x0E\x48\x41\x02\x8E\x53\x20\x0C\x04\xB9\x1A\x56\x07\xB8\x83\x6F\x16\x05\x69\x2D\xC1\x8A\x2E\x9F\x38\x0A\x8D\xB2\x84\x0C\x4D\x8C\x87\x87\xC1\x89\x2E\x92\x04\x10\x8C\xAC\x82\x31\xAF\x8B\xDD\x4D\xC5\x89\x20\x97\x8C\xC5\x87\xC3\x83\x31\x8C\x04\x1A\x8F\x82\x8C\x31\x91\x46\xF1\x89\xC6\x85\x21\x9E\x8C\x8D\x87\xC8\x89\x43\x77\x8B\x4D\x80\xBF\x80\x00\x3A\x8B\x5B\x8A\x93\x8A\x81\x5C\x88\x96\x7F\x9A\x84\x28\xB6\x20\x72\x82\x9C\x81\x0F\xA6\x5D\xA2\x8A\x91\x80\xC1\x45\x6C\x87\x8B\x9B\x89\x24\xA2\x3F\x30\x8B\xA8\x8C\xC1\x4A\x82\x36\x8E\x2F\x8D\x8D\x6A\x89\x7F\x88\x68\x65\xF1\x55\x89\xC2\x80\xD2\x8D\x34\xBA\x8C\x11\x21\xED\x72\x33\xB7\x8C\xFB\x75\xA6\x8B\xD4\x7C\x37\x41\x8F\x25\x8D\x35\x9B\x82\x34\x8F\x25\x4C\x34\x9E\x8A\x52\x31\x83\x74\x26\xB4\x79\x74\x8A\xFB\x30\x35\xBB\x8C\xC5\x64\xCB\x4B\x36\xA2\x83\xAD\x83\xA0\x86\x27\xA1\x59\xDA\x7F\xD9\x83\x35\xA0\x58\x5F\x8D\xFE\x49\x37\x9D\x38\x71\x88\x97\x85\x26\xAD\x8D\xF2\x85\xD2\x8F\x37\x9E\x89\x79\x8B\xD8\x86", + "\x34\xA9\x6D\xC8\x81\x33\x8A\x38\xB8\x78\x7D\x8A\xDC\x8F\x36\x8C\x6A\x34\x3F\xDE\x8C\x1A\x49\x8A\x2E\x88\xDB\x82\x10\x18\x83\x4E\x82\xA3\x8A\x28\x87\x8D\x73\x6F\x6B\x72\x39\x84\x2F\xE4\x82\xA2\x3E\x18\x8F\x8A\x39\x89\x56\x26\xF7\x6F\x67\x86\x8E\xCF\x8E\x38\x60\x8A\x86\x57\x97\x7A\x3A\xAF\x8E\xB2\x72\xE0\x76\x58\x5B\x84\xA4\x8C\x1D\x87\xC4\x77\x8D\x4F\x79\x87\x81\x33\x82\x8D\x3B\x61\x98\x6A\x35\xBA\x88\x4C\x5E\x9E\x85\x3B\x9D\x2F\x9F\x8C\xD6\x84\x35\xA0\x4E\x45\x8C\xEC\x8B\x28\xB3\x88\x73\x8D\xA1\x8D\xFA\x7D\x8C\x7B\x8B\x79\x55\x3C\xA5\x63\xBF\x8F\xCD\x7F\xA7\x53\x8F\xF2\x24\xF6\x8C\x97\x48\x89\x4A\x88\xEC\x8D\x6C\x42\x8F\xDC\x82\xE5\x50\x3E\x8E\x8F\x9F\x83\xF8\x82\x23\x98\x5B\xE6\x8E\xDD\x8A\xFA\x09\x8E\x43\x8C\xA4\x80\xD7\x51\x7D\xD1\x8F\xF1\x8C\xA1\x23\x89\xF2\x8F\xF2\x86\x26\xA9\x8F\xF5\x8D\x2D\x15\x0B\x8F\x8E\x40\x88\x8D\x3D\x3C\xA7\x8F\x66\x60\xFE\x8E\x37\x8D\x58\xF0\x8F\xF0\x83\x38\x99\x89\x82\x8B\xEE\x8B\x38\xBD\x8E\xEC\x8D\xF7\x8B\xFF\x78\x89\xC6\x65\xF5\x81\xF6\x42\x59\x02\x93\xD5\x83\x0D\x9A\x8F\x11", + "\x1C\xE6\x8E\x32\x9A\x8E\x95\x8C\xDC\x8D\x0D\xBB\x8B\xC3\x8A\xA1\x28\x41\xAA\x3E\xA1\x8E\x61\x53\x3A\x9B\x8E\xE4\x8F\x53\x6A\x2A\xB7\x5C\x4B\x8C\xF4\x86\x40\x83\x6E\x9E\x63\x08\x9A\x33\x72\x8E\xBB\x63\x46\x8D\x1F\x95\x04\x5E\x86\xA4\x0E\xD4\x66\x87\x03\x04\x7A\x85\x11\x3B\x90\x39\x53\x4E\x81\x44\xBC\x86\x96\x84\x11\x9D\x32\xA1\x90\x9A\x87\x40\x07\x1B\xAA\x3E\xB5\x87\x66\x89\x19\x96\x80\x39\x51\xC8\x80\x00\x24\x8B\x58\x54\x76\x8F\x93\x08\x8C\xB5\x12\x14\x9C\x20\x9A\x91\x2A\x8F\x83\x88\x32\x9D\x8C\x0C\x8F\xC7\x83\x10\x1C\x91\x5F\x90\xBB\x81\x46\x98\x8C\xB9\x24\x19\x97\x46\xA0\x91\x91\x46\x14\x95\x32\xA9\x91\x27\x8F\x1A\x9E\x2B\x9D\x91\xDD\x4C\xCB\x86\x1F\x9C\x8B\x74\x91\x6E\x24\x45\xA6\x8C\x74\x86\x1A\x9D\x46\xA2\x91\x02\x06\x1F\x91\x45\x80\x92\x01\x06\x20\x98\x55\x46\x92\x7C\x90\x1B\x93\x48\xA8\x91\x04\x8C\x21\x90\x00\x08\x92\x70\x90\x31\x4F\x46\x8D\x92\x8B\x85\x1E\x99\x6B\x35\x8B\x63\x93\x85\x85\x69\x43\x8C\x20\x1E\x15\x9C\xA1\x03\x85\x4B\x83\xA9\x84\xBC\x3B\x91\x99\x5F\xAD\x8A\x48\x9E\x91\xA7\x91\x84\x8C\x48", + "\xB6\x8A\x8E\x90\x83\x83\x49\xA0\x1C\xF3\x89\xF7\x48\x49\x82\x04\x76\x90\x6A\x89\x2F\x86\x88\xAF\x8B\xC6\x8B\x4A\x8B\x8B\xBB\x91\xB3\x8D\x4B\x8F\x8B\xBF\x91\xB4\x81\x4C\x93\x8B\x71\x93\x1C\x94\x0C\x75\x92\xDB\x86\x55\x60\x33\xB1\x84\x14\x86\x4D\x8D\x0F\x94\x84\x42\x91\xDF\x51\x19\x11\x93\x82\x75\xE0\x86\x12\xBF\x84\x14\x84\x28\x9C\x13\xB2\x12\x4D\x85\x52\x8B\x4D\x82\x04\xDE\x91\x50\x85\x11\x0C\x85\x61\x87\xCF\x5F\x4D\x81\x04\x5E\x84\x23\x59\x2A\xA7\x93\x59\x57\x35\x9F\x14\xA0\x84\xF0\x93\x3B\x9D\x14\xA0\x85\x91\x46\x14\x85\x4E\x80\x00\x63\x84\x5F\x68\x16\x8C\x52\xCE\x93\x4C\x80\x4D\xBF\x93\x53\x85\x3C\x97\x4F\x83\x88\xD5\x91\x43\x8D\x4C\x88\x85\x08\x95\x53\x84\x4E\xAC\x93\xB4\x8D\x98\x59\x4E\xA1\x59\xEB\x92\x38\x97\x10\xBE\x69\x5C\x87\x63\x4F\x50\xA9\x6D\x15\x94\x5F\x69\x51\xB2\x7C\x17\x96\xA1\x34\x4F\xB9\x50\xF6\x90\x3B\x99\x4F\x91\x1C\xFD\x90\x87\x25\x52\x91\x06\x25\x95\xB8\x87\xCC\x7A\x87\x15\x05\x07\x0B\x52\xA3\x87\x1B\x00\x27\x99\x4C\x8E\x81\xA7\x8E\x61\x58\x1F\xAE\x85\xE3\x86\x4B\x9E\xB8\x68\x93\x30\x96", + "\x4C\x91\x1E\xB8\x94\xFF\x84\x00\x0A\x53\x9B\x0B\x40\x95\x68\x33\x10\x31\x94\xA2\x90\xB0\x1C\x01\x0E\x52\x39\x02\x4F\x91\x81\x08\x95\x46\x80\x31\x40\x55\x96\x8A\x20\x6B\x0D\x02\x04\xB0\x70\x56\x94\x0C\x78\x03\x2F\x94\x41\x96\x0D\x0E\x54\xBF\x24\x53\x97\x6E\x82\x55\x8E\x52\x59\x95\x54\x9B\x42\xBE\x64\x0C\x05\x59\x91\x19\x4B\x95\x30\x71\x53\x94\x0C\x6C\x95\x67\x96\xA4\x0E\x56\x84\x95\x12\x06\x0F\x92\x11\x1E\x95\x49\x95\x6E\x21\x4E\x98\x55\x7B\x94\xBE\x85\x20\xA3\x95\xC4\x41\x13\x97\x54\xA4\x95\xF3\x19\x58\x98\x55\x42\x96\x02\x06\x61\x9E\x57\x8E\x81\x6A\x95\x0E\x5A\x58\x9D\x86\x85\x94\x61\x9B\x53\xBA\x66\xED\x86\xA4\x1F\x55\xAA\x70\x36\x95\x64\x91\x58\x9A\x96\x71\x95\x45\x0D\x58\x98\x55\x8F\x95\xAE\x18\x58\x81\x04\xA1\x94\x6D\x8C\x59\x94\x95\x52\x78\x00\x0F\x59\x9D\x4F\xA5\x97\x4C\x9E\x32\xAB\x96\xB9\x25\x6B\x9C\x44\xA7\x96\x62\x97\x87\x32\x5B\xAC\x6B\x86\x54\x6C\x99\x6B\x37\x96\x85\x6D\x6E\x94\x5B\x87\x96\xBF\x97\x62\x9F\x5A\x87\x73\x76\x97\x50\x17\x59\x91\x06\x58\x03\x55\x9F\xE1\x09\x97\x30\x70\x29\x0A\x5C\xA8", + "\x96\x7D\x7F\x40\x0E\x5C\x84\x43\xA4\x93\x63\x46\x4A\xA6\x91\xD8\x96\xBB\x89\x4A\x93\x88\xC3\x90\xBA\x8D\x5D\x95\x04\xAF\x91\xC4\x11\x4B\xB9\x26\xB3\x91\x40\x08\x4C\xA1\x81\xB7\x91\x5E\x99\x6B\x0B\x94\xC2\x88\x0F\x82\xC2\x73\x1B\xCC\x96\x59\x91\x19\x71\x97\xD0\x95\x65\x91\x10\x13\x97\xCB\x97\x73\x99\x43\x74\x97\xED\x95\x12\x82\x10\x38\x97\x17\x81\xD5\x1C\x1E\x93\x87\x4A\x6C\x0F\x92\x10\x05\x97\x03\x06\x27\x99\x1F\xA3\x87\xB7\x2F\x82\x91\x54\x8A\x98\x45\x94\xD6\x19\x17\x44\x97\xE3\x84\x84\x95\x57\x8C\x98\x5C\x96\x51\x92\x10\x16\x98\xE7\x87\x78\x88\x1D\x62\x87\x41\x97\x87\x93\x60\xAB\x8A\x03\x04\x76\x41\x19\x1E\x85\x27\x9B\xBC\x1E\x15\xAA\x94\xD4\x94\x70\x8F\x5D\x8E\x8C\xDB\x94\xAD\x8F\x62\x91\x8C\x33\x9A\xC5\x85\x63\x82\x04\xE1\x96\xEA\x33\x5E\x97\x92\x9A\x91\x64\x81\x36\x83\x60\x0A\x91\xFB\x83\x33\x92\x90\x6E\x79\xCE\x83\x40\xB3\x89\x27\x89\x05\x9C\x3B\x9E\x41\x32\x92\xF2\x81\x3E\xAA\x81\x41\x9A\x03\x99\xAC\x5F\x60\x4A\x9B\x02\x9D\xE1\x11\x7C\xEE\x8E\xF1\x8F\x00\x4F\x8D\x82\x8E\x27\x8E\xBB\x6F\x90\x48\x9B\x1F", + "\x4D\x64\x9C\x28\xA3\x86\x95\x99\x65\x99\x5E\xDC\x8E\x35\x88\x36\xBD\x57\x2E\x90\x0A\x96\xE8\x10\x89\xEA\x8E\x89\x82\x36\xAD\x99\x1D\x90\xE8\x46\x36\xB9\x8F\x29\x90\x02\x98\xEC\x69\x8E\xF1\x8D\xFA\x5D\x40\xAA\x99\x61\x9B\x40\x04\x3F\x87\x99\x96\x8C\x44\x23\x66\xA9\x2D\xFB\x8D\x97\x91\x35\xB2\x5B\xFC\x8E\xFD\x81\x40\xBC\x99\x60\x98\x01\x7C\x0C\x82\x99\x5A\x99\xFB\x7D\x38\x91\x99\x80\x9B\xCF\x8F\x67\xA7\x99\x07\x91\xA0\x8B\x67\xB4\x99\x51\x8B\xAE\x6A\xAC\x44\x99\x80\x82\xD8\x7A\x68\x85\x9A\x3C\x65\x67\x93\xAD\x4E\x8E\xA7\x9A\xE3\x4C\xF6\x44\x4D\x63\x98\x94\x75\x5F\x84\x98\x53\x79\x95\x94\x69\xB9\x26\x35\x97\x2E\x68\x65\xA5\x8E\x4B\x9A\x39\x1C\x3A\xBB\x62\xAE\x8D\x9F\x96\x41\x8F\x46\x34\x92\x55\x66\x43\xB5\x12\x23\x94\x7A\x9F\x57\xAD\x8A\x2E\x99\x8C\x9C\x4A\xB7\x98\x22\x8C\xB4\x9D\x20\x92\x9B\xD7\x95\x0E\x59\x63\x91\x20\x3B\x98\xC8\x15\x5E\x80\x00\xE7\x94\x6E\x99\x5E\x8C\x9B\x07\x89\x2B\x92\x6E\x94\x9B\xE3\x9A\xB3\x91\x71\x17\x9B\x3F\x25\xB6\x91\x71\x1B\x9B\xDD\x99\x6F\x9F\x6D\x81\x98\xFC\x51\x49\x99\xB6\x32\x9B", + "\xB5\x10\x35\x99\x79\x76\x9B\x8F\x47\x46\x9F\x69\xAB\x86\x02\x04\x41\x99\x79\x5A\x93\xE5\x8A\x6A\x38\x2C\x8C\x04\x7D\x95\xE6\x55\x70\x8F\x46\xEC\x94\xBF\x96\x4E\x81\x9C\x0C\x05\x47\x91\xE9\x11\x94\x0A\x9D\x3B\x9A\x22\x7A\x9B\x11\x22\xC3\x92\xC5\x14\x9C\x85\x8C\xC3\x93\x10\x16\x9C\x0F\x43\x47\x91\x71\x89\x9B\x06\x06\x6B\x80\x1B\xAB\x07\x23\x9C\x06\x8E\x01\xB1\x86\xC1\x0A\xC8\x94\x02\xA4\x9C\x2B\x9E\xC9\x96\x02\xA8\x9C\x20\x0E\xCA\x97\x72\xAC\x9C\x33\x9E\xCB\x90\x26\x32\x9C\x86\x3B\x3E\x91\x66\x74\x9B\x69\x6C\xCF\x96\xE8\x38\x9B\x01\x86\x40\x9C\x4E\x98\x9C\xE3\x6E\xBF\x98\x8F\x40\x9C\xD2\x91\x6D\x3E\xA7\x47\x9C\x4B\x9C\x45\x89\x70\x85\x94\xF5\x80\x3B\x9C\x71\x85\x69\x10\x9C\xD4\x9A\xFE\x6E\x93\xF7\x93\xD4\x98\xED\x04\x9D\x69\x2C\xD7\x95\x4B\x1A\x9D\x6F\x42\xC7\x96\x75\xA2\x85\xFA\x95\xC4\x9E\x73\x91\x3A\x67\x9E\x14\x30\x74\xB2\x7C\x6B\x9F\xC4\x99\x56\x44\x9D\x91\x06\xD1\x9C\x97\x48\x9D\xDE\x86\xD2\x92\xF3\x4C\x9D\x77\x9D\x5A\x5F\x74\x99\x5E\x0D\x96\x1C\x10\x76\xA7\x23\x55\x9D\xE6\x50\x77\x96\x93\x2A\x4B\xDF\x91", + "\x96\x03\x9E\x13\x94\x47\x99\x56\x62\x9D\x99\x5C\xC8\x98\x02\xB2\x11\x73\x95\x64\x4A\x5B\xB6\x92\x56\x65\x1B\x07\x59\x86\x7E\x15\x04\x5E\x9F\xE1\x11\x9E\x39\x52\xE6\x92\x79\x8E\x52\x96\x9E\x7A\x90\x72\x1C\x9E\x58\x57\xE4\x9E\x5A\xA1\x90\xA1\x9D\x80\x84\xBC\x24\x9E\xDD\x4E\xE9\x9A\x6C\x8E\x81\xA9\x9D\x64\x4B\x55\x84\x43\x9E\x9D\x0E\x5C\x7A\xB9\x26\xB5\x9D\xE9\x90\x7A\xB3\x1B\xB9\x9D\xF7\x47\x7B\xB9\x1A\xBD\x9D\x6E\x2E\x7A\x9E\x9B\x95\x9F\x65\x92\xDC\x6A\x01\x69\x56\xCE\x9D\x73\x87\x94\x4D\x85\xDB\x9E\x38\x4E\x9F\x59\x86\xD0\x92\x51\x8C\x04\x72\x9D\x6E\x64\x77\xBC\x70\x45\x87\x3D\x98\x77\xAA\x6C\xDB\x9E\xE3\x4B\x77\xB8\x63\x7D\x9E\xA1\x36\x78\xA2\x3F\x81\x9E\x4F\x81\x50\xB2\x93\xF7\x92\xD7\x92\x47\x2A\x9F\x36\x20\x8A\x95\x11\x33\x9E\xF7\x90\xE3\x98\x8F\x4E\x9E\xE3\x6E\xF2\x96\xE8\x29\x9D\xE9\x5C\xFE\x95\xA4\x50\x9F\xB2\x70\xFF\x9C\x48\x6C\x9F\x91\x38\x00\xA2\xC5\x15\x9F\x2A\x6F\xF5\x9F\x0F\x89\x94\xDA\x9E\xD3\x9A\x11\x94\x84\xE3\x9C\x6B\x45\x7E\x94\x94\xD2\x9D\xD2\x92\x11\x0D\xA0\x7D\x3A\x00\xAF\x00\x56\xA0\x59", + "\x26\xFB\x92\x11\x30\x9F\xEC\x92\xFC\x9E\xA7\x74\x9F\xFB\x80\xF3\x97\x4F\xBA\x9F\xD8\x3A\xFF\x91\x66\x66\xA0\x18\x95\x04\xA3\x76\x81\x04\x04\xA2\xE3\x46\x80\xBE\x69\x24\xA3\x1B\x4D\x7D\x84\x6C\x33\xA2\x2C\x7F\x7D\xBE\x69\xE1\x9C\x68\x64\x81\xB5\x41\x0F\xA0\xD6\x93\x74\x8C\xA0\x2A\xA0\xF6\x9A\x36\xBE\x69\x3B\xA1\xE6\x5E\x81\xB9\x66\xF4\x9D\x64\x04\x03\x33\x1B\x4B\xA0\x0C\x78\x7C\x93\x96\x2C\x96\x44\x09\x06\x06\x9F\x69\x1F\x13\xA4\x57\x9D\x98\x41\x97\x14\xA2\x7A\xB6\x97\xE4\x6F\x78\x87\xAA\x52\x0A\x5C\x82\x84\x93\x10\x21\xA1\x7C\x11\x45\x00\xD9\x60\x68\x77\x02\x17\xA1\x2A\x69\x1D\x4B\x91\xC8\x9D\x72\xB7\x9C\x6F\xA1\xCA\x91\x87\xB1\x9C\x73\xA1\xDE\x0E\x1A\xAE\x86\x92\x0A\x17\x85\x86\x89\x9E\xB4\x98\x00\x0F\x05\x23\x87\x73\x00\x20\xA3\x1E\x98\x76\x7B\xA0\x43\x07\x06\x23\x87\x53\x76\x18\xA2\x10\x3D\x01\xE3\x85\x14\xA8\x85\x9A\x98\x27\x60\x24\xA0\x00\x28\x9B\x68\x97\x40\x05\x5D\x91\x97\x02\x07\x25\xAC\x85\xA0\x73\x92\x09\x1C\x03\x1E\xB5\x01\xE3\x84\x1C\x01\x8A\xA3\x87\x74\x03\x78\x8C\x02\x2B\xA1\x7A\x29\x29\xA1\x54", + "\x85\x02\xE3\x87\x21\x03\x1E\xB4\x02\xE3\x85\x2D\x03\x1E\xA2\x75\x97\x11\x58\x73\x8B\xB7\xA2\x41\x94\xFF\x92\x29\x3A\xA2\x15\x05\x1E\x03\x1E\xB8\x01\xBF\xA3\x78\x8E\x8B\x81\x95\xC0\xA0\x31\xA3\x1E\x91\x75\xA9\x97\x2C\x03\x1E\xB8\x02\xCB\xA3\x78\x85\xD6\x45\xA2\x03\x05\x23\x08\x8A\x85\x2A\xBA\x03\x78\x85\x8D\x81\x95\x53\x52\xA4\x0A\x8C\x81\x95\xB1\x02\x35\xA7\x8C\x9F\xA3\x41\x94\x32\xA8\x89\xB4\x55\xE1\xA0\x38\xA2\x89\xA2\xA3\x5C\xA0\x3A\xAD\x87\xAA\xA3\x24\x9A\x40\x0C\x8E\xAC\x90\xEE\xA2\x39\xAA\x88\xA4\xA3\xE7\xA2\x3C\xA0\x8D\xB1\xA3\xE5\xA1\x3E\xA5\x8F\xBA\xA3\xF3\xA0\x00\x01\xCD\x7D\xA3\x3F\x69\x3F\xAF\x8E\x95\xA2\x02\x06\x29\x03\x1E\xA7\x02\xE3\x85\x04\x03\x1E\xBE\x00\xD3\xA0\xAB\x2A\x90\x81\x95\x50\x6A\xA4\x0C\x5F\x89\x12\x87\x75\x3F\xA7\x83\x9C\xA1\x55\x03\x78\x80\x04\x23\x87\x7E\x86\xA4\x0A\x0A\x23\x87\xA8\x00\x48\xA3\x1E\xA9\x02\xE3\x87\xC9\x52\x29\x15\x6A\x27\xA7\x78\x81\xAF\x52\x0A\x2B\xA5\x45\x0C\x09\x23\x87\x2F\xA5\x50\x9E\x09\x23\x87\x96\x00\x4D\xA6\x93\x81\x95\x35\xA5\x50\x9F\x09\x23\x87\x3B\xA5", + "\x50\x90\xA8\x52\x0A\x84\x03\x78\x8C\x08\x23\x87\xB0\x03\x78\x8D\x0A\x23\x87\xAE\x03\x78\x83\x0C\x23\x87\xC4\x03\x78\x84\x09\x23\x87\x5F\x75\x3F\xAF\x94\x81\x95\x91\x03\x78\x85\x95\x81\x95\x93\x03\x78\x89\x09\x23\x87\x9A\x02\x56\xAC\x95\x9E\xA5\x41\x95\x57\xA1\x54\xBE\x40\x92\x0B\x1B\x03\x1E\xA6\xA5\x41\x95\x54\xA7\x8F\x81\x04\x47\x03\x78\x8D\x6E\x84\xA4\xE6\x96\x5B\xA2\x97\x81\x95\x4B\x03\x78\x8C\x04\x23\x87\xBC\x03\x78\x8B\x0B\x23\x87\x92\x5E\xA4\x0D\x97\x95\x04\x82\x03\x78\x8B\x00\x23\x87\x0A\x00\x61\xA3\x1E\x9B\x28\x92\x08\x62\xA5\x11\x03\x41\x41\x96\xBA\x9D\x87\x8C\xA6\x92\xA2\x63\xAD\x8E\x81\x04\x90\xA5\x3F\xAF\x02\x23\x87\x35\xA2\xA4\x09\x99\x95\x04\x70\x95\x3F\xAD\x99\xAB\xA5\x00\x03\x67\xA4\x91\x92\x04\xA2\xA5\x2D\xA2\x11\x0D\xA1\x92\xA0\x6A\xAD\x8F\xAA\xA6\xA0\xA4\x6B\xA3\x9A\x8C\x04\x35\x03\x78\x81\x9B\x81\x95\x32\x03\x78\x85\x9B\xB4\xA6\xB6\xA5\x6E\xA8\x9B\xBB\xA6\x92\xA3\x6D\xAD\x9B\xA3\x87\xA3\x00\x70\xA3\x1E\xA5\x02\xE3\x86\x28\x05\x9C\xA3\x87\xF4\x9E\xA4\x0A\x40\x52\x0A\x59\x77\x6B\xA3\x10\x29", + "\x2E\x92\xA3\x29\xAD\x1A\xA9\x1D\x67\x75\x3F\xA5\x9D\xA0\xA6\xD7\xA6\x73\xA2\x10\x2E\x01\xE3\x84\x77\xA1\x54\xA8\x01\xE3\x87\x1A\x03\x1E\xA0\xA7\x41\x96\x78\xAF\x9D\x92\x05\xD7\x01\x4C\xAE\x17\x6B\xA7\xEC\xA5\x7B\xAE\x9E\xAF\xA7\xF0\xA7\x85\x92\x9F\x8F\xA2\x3D\x91\x84\x97\x60\xB6\xA7\x01\x06\x7F\x84\x9F\xB7\xA7\xF3\xA5\x7D\xAD\x9F\xBC\xA7\xFB\xA4\x4F\x93\x81\xB8\x90\x04\xAB\x80\xA6\xA0\x8D\x9C\x05\xA8\x82\xA7\xA0\x9B\x9C\x09\xA8\x83\xAB\xA0\x82\x04\x29\x98\xC5\x85\x11\x32\x04\x14\xAB\x84\xA6\xA1\x92\xA8\x18\xA8\xC8\x87\xA1\x9A\xA8\x19\xA9\x26\x9D\xA1\x81\x92\x1B\xAB\x2B\x17\x76\x22\xA8\x24\xAA\x40\x01\x48\x27\xA8\xA0\x35\x89\xAB\xBB\x23\xA8\x26\xA9\x8A\xAD\xA2\xAB\x68\x2C\xA9\x40\x06\x3B\x33\xA8\x69\x89\x81\x96\xA3\xB2\xA8\x35\xA8\x8E\xAE\xE2\x39\xA8\x12\x20\x8F\xA4\xA3\xBB\xA8\x12\x06\xFF\x52\xA4\x83\x5D\x41\xA8\x91\xA7\x1D\x86\xA9\x09\x98\x92\xAB\x61\x8A\xA9\x01\x07\x90\xA5\xA4\x8F\xA9\x0C\x04\x29\x12\xA5\x95\x04\x53\xAA\x44\x05\xA5\x91\xA9\x54\xA9\x96\xA6\xA5\x9A\xA9\x58\xAB\x96\xAE\xA5\x9D\xA9\x0C\x07\x20", + "\x12\x29\x05\xA6\x12\x07\x60\xA2\x70\xA2\x46\xCC\x09\x45\x04\x88\xAC\x11\x15\x07\x43\xAA\x13\xAA\x88\x01\x05\x73\xA0\x00\x22\xA9\x15\x04\x99\xAC\x10\x26\xA9\xE1\x45\x40\x0A\x44\x31\x62\x6B\xAB\x61\x52\x11\x2E\xA9\x04\x84\x9C\xA0\x00\x32\xA9\x74\xAA\x44\x06\xA7\x83\x04\x78\xA8\x37\x93\x27\x7C\xA9\x7A\x11\x9B\xA5\x11\x14\x93\xDE\x2E\x9C\xA0\x9D\xA5\x98\x15\x07\x98\xA5\x11\x09\xAA\xD9\x9D\x75\x68\x8F\x8C\x04\x7D\xAA\x25\x10\xA8\x82\x04\x90\xA8\x56\x75\x11\x13\xAA\x02\x05\xA1\xAC\x10\x07\xAA\x02\x04\xA6\xAE\xBB\x14\x5C\x9B\xAB\x40\x0D\xA9\x8E\xAA\x12\x05\xA8\xA2\x11\x12\xAA\x15\x06\xA9\xA3\x10\x28\xAA\x01\x06\xAA\xAA\x76\x2C\xAA\xF4\xA2\xAB\xAD\xA8\xBF\xA9\x8F\xAA\xA0\xA4\xAB\x92\x04\xB6\xAA\x40\x08\xAB\x80\x00\xBA\xAB\xDA\x1B\xA7\xAA\xA9\xBF\xA8\x43\x0F\xA9\x81\x04\xB2\xA8\x43\x04\xA8\x95\xAA\x75\xAB\xA5\xA0\x4D\x0B\xAB\x12\x07\xAB\xA0\xAC\xB1\xAA\xC2\xAB\xA8\xA5\xAB\x94\xAB\x86\xAA\xB5\xA7\xA6\xBA\xA9\x9A\x75\x15\x5D\xAC\x83\x04\xCF\xA8\x00\x01\xAD\x83\x04\xC3\xA9\x98\xA0\xAE\xA7\xAA\xE2\xA9\x9E\xAD\xC0\x6D\xAA", + "\xE6\xAA\x11\x10\xAB\xAF\xA9\x79\x82\xB4\xAE\xAD\x84\xAB\xEF\xAB\xAD\xA1\xAF\x8A\xAA\x9A\xA9\xAF\xA5\xAF\x9C\x11\xF7\xA9\xA0\xA9\xAF\xAC\xAB\xFB\xAA\xBB\xA2\x11\x16\xAA\x65\xAB\xB5\xA5\xAE\x81\x04\xDA\xAA\xB3\xA1\xAC\x87\xAC\x84\x25\xC2\xA4\xA9\x8B\xAC\xD5\xA9\xC3\xA3\xAE\xB3\xAB\x02\xAC\xC4\xA7\xAE\x82\x04\xE9\xAB\xBA\xA5\xB1\x92\x04\xA4\xA9\x40\x05\xAC\x81\x04\xC7\xA9\xB2\xAC\xAB\x80\x00\x8C\xAA\xBD\xAB\xAD\xB8\xAB\x14\x60\xC2\xA4\xB2\x95\x04\x16\x03\xB7\xA8\xB1\xA1\xAB\x1A\xAE\xBC\xA8\xAD\x9C\xAA\x1F\xAD\x40\x01\xB2\x9D\xAB\x33\xAC\xBF\xA7\xB3\xB0\xAB\x39\xAC\xC0\xA8\xA6\x9D\x0B\xCC\xAA\xCB\xA2\xB1\x9C\xAB\x14\xAD\x9C\xA6\xB1\xA5\xAA\xFD\xAA\xB1\xAF\xAF\x99\xAA\x47\xAC\xBD\xAE\xB1\x8A\xAD\xE8\xAB\xC4\xA1\xB3\xA3\xAC\x0A\xAC\x43\x0C\xB0\xB7\xA9\x0E\xAD\x49\x5C\xB3\x98\xAD\x20\xAE\xD6\xAE\x8C\x5C\xAD\x17\xAE\xD7\xA9\xB1\xA0\xAD\x1B\xAF\xCE\xAE\xAB\xA4\xAD\x3E\xAE\xD9\xAC\x2B\x73\xAA\x4F\xAD\x40\x0D\xD5\x43\x04\x74\x9F\xC9\xA0\x00\x29\xAC\x61\xAD\x9A\xA9\xAD\xBD\xAC\x00\x03\xCF\xAD\xB4\x83\xAA\x75\xAC\x00\x07", + "\xB7\xA9\x58\x42\xAE\xDA\xA8\xB3\xAC\xAD\x3A\xAF\xC3\xA0\x00\x11\xAC\x59\xAC\xD3\xAB\xB5\x8E\xAD\x41\xAD\xD7\xAF\x12\xAB\xAD\x88\xA9\xDF\xA8\xB4\xBF\xAD\x70\xAD\xE0\xA2\xB7\xA7\x69\x74\xAD\xE5\xA9\xB6\x97\xAE\x8B\xAD\xE6\xAD\xB6\x8E\xAE\x90\xAD\xD9\xA2\xB9\xA7\xAD\x94\xAE\xE8\x24\xB3\xB6\xAC\x8A\xAC\xD1\xAC\xB8\x86\xAD\xE4\xAA\xD8\xAF\xB6\x84\xAC\x2F\xAE\xC1\xA3\xB9\x84\xAE\xA2\xAC\xD4\xA3\xB4\xBE\xAB\x45\xAC\xD5\xA5\xBB\xBE\xAD\x63\xAC\xEE\xAB\xB4\xB0\xAC\xAC\xAC\xEF\xAE\xBA\x89\xAE\xA4\xAE\xEC\xA6\xBA\x8D\xAE\xB6\xAF\xC0\xAC\x1A\x87\xAF\xBA\xAD\xF2\xAD\xAE\x83\x04\x87\xAD\x40\x09\xB7\x91\xAD\x28\xAF\xD4\xAB\xAA\x98\x5F\x2D\xAE\xF1\xA1\xB9\x88\xAF\x73\xAE\xBE\xAD\xBB\xB6\xAD\x13\x3F\xE8\xA4\x76\xA5\xAE\xA9\xAA\xE6\xA6\xB5\x8F\xAE\x80\xAE\xE0\xAB\xBB\x97\xAF\x02\x05\xF6\xA0\x00\x1B\xAF\xBF\xAE\xD4\xA1\xBC\x9F\xAF\x8B\xA9\xD2\xA2\xBE\xAA\xAE\xE4\xAC\xE8\xA6\xBE\x8B\xAF\x0C\x06\xFD\xAA\xC5\x3A\xAD\x7C\xAF\xE9\xA1\xBD\x97\xAD\xFF\xAD\xDC\xAB\xBA\xA5\xAF\x32\xAC\x01\xB3\x10\x35\xAC\xCC\xAF\xFA\xAE\xBC\xAD\xAF\x0A", + "\xB0\xF1\xA7\xBB\x93\xAF\xE3\xAD\xF5\xA0\xC1\xA8\xAD\x02\x05\xC9\xA0\x00\x14\xB0\x96\xAE\x05\xB0\xBC\xB3\xAE\xC2\xAC\xC7\xAC\xB2\xBE\xAF\x1C\xB0\x00\xBE\xC1\x82\xB0\x11\xB3\x73\xA0\xBB\x8D\xAF\x27\xB3\xF3\xA4\xBB\xAA\xB0\xE1\xAD\x0B\xBE\xC0\x81\xB0\x40\x8D\xE8\xA2\xC1\xBE\xAE\xB1\xAD\x0D\xB8\xC1\x90\xAF\x1A\xB2\xF4\xAF\x44\x05\xAC\xA0\xA8\xD0\xAF\xC3\xA6\xAC\xDC\xAF\xDE\xAE\xBD\xBB\xAA\xE0\xAC\x0B\xB7\xC4\xB9\xAE\x49\xB3\xE0\xA4\xBF\x8C\xB1\xF9\xAD\xF7\xAB\xBF\x90\xB1\xFD\xAC\xE7\xAD\xC0\x9E\xAE\x0F\xB0\x0C\xB0\xC2\x81\x04\x22\xB0\x02\xBF\xC4\x8A\xAB\xA8\xAD\xFC\xAF\xB9\xBD\xB0\x03\xB2\x0C\xB2\x11\x24\xB0\x03\x05\x5F\x9F\xB5\xB6\xB0\x29\xB2\xDB\xA6\xC4\xAC\xA9\x54\xB0\xB4\xAA\xC4\xB1\xB1\x4D\xB1\x02\xB4\xC4\x9B\xAE\xC5\xAE\x0E\xB0\xC6\xBC\xB0\x91\xA9\x45\x02\xC7\x98\xAE\x43\xB3\x0D\xB6\xC7\x8C\xB0\x82\xB2\xFC\xA6\xBD\x85\xAE\x87\xB0\xFB\xA9\xAB\xAE\xAF\x1D\xAC\xFC\xAD\xB9\x8E\xB2\x1F\xB1\xEB\xAE\xC6\x84\x9C\x7D\xB3\x19\xBB\xB2\xB9\xB0\x53\xB0\xF5\xA5\xC5\xB3\xAF\x90\xB1\x27\xBB\xC5\xA8\xB1\x0B\xB2\x25\xBF\xC5", + "\x98\xB2\x62\xB2\x26\xB1\xC2\x86\xB2\xA6\xB0\x0A\xBC\xBF\x81\xAC\x2B\xB2\x17\xBD\xC8\xAB\xB1\x85\xB2\x44\x01\xC9\x97\xB0\x93\xB1\x06\xB0\xC8\x9B\xB0\xA1\xB1\x07\xB3\xCA\x8F\xB2\xE7\xAD\x45\x81\xCB\xB4\xB1\xB3\xB1\xD5\xA5\xC9\xA9\xAE\x3B\xB3\x0B\xBC\xC6\xB1\xB0\xAF\xB2\x2E\xB7\xCC\x89\xB2\x75\xB1\x1A\xB7\xC9\xB8\xB2\xA2\xA9\x31\xBB\xCB\x82\xB1\xBD\xB3\x1F\xBF\xBE\x8C\xB3\x83\xB2\x33\xB9\xCB\x8B\xB1\xC6\xB1\x16\xBE\xC4\xA7\xB2\x9F\xB2\x14\xB8\xC7\xA2\xB2\x7A\xB2\x15\xB5\xCA\xA6\xB3\x7E\xB2\x22\xB6\xCD\xAB\xB2\xD8\xB2\x0F\xBB\xC9\xBC\xB1\xF0\xB2\x27\xB1\xC5\xB6\xB2\xC1\xB2\x0B\xB3\xCC\x99\xB2\xCA\xAF\x3D\xB2\x10\x30\xB1\xE0\x93\x34\xBD\xCD\xB2\xB3\xA9\xB0\x38\xBC\xCA\x8F\xB3\x63\xB0\x00\x02\xC2\x9B\xB3\xFA\xAE\x2C\xBC\xC5\xB4\xB2\xA0\xB3\x3A\xB2\xCC\xAD\xB3\xA4\xB2\x36\xB6\xD0\x88\xAB\x94\xB1\x2D\xB1\xC8\xBD\xB3\xCD\xB3\x3F\xBD\xCA\x81\xB4\x05\xB5\x3E\xB8\xCE\xBB\xB3\x1F\xB6\x45\xBE\xCF\x98\xB4\xC4\xB0\x27\xB6\xD2\x92\xB4\xA8\xB1\x11\xBC\xC8\xA0\xB4\xE1\xB2\x48\xBC\xD0\xAE\xB2\x64\xB1\x45\x06\xBF\xB4\x9D\x10\xB6", + "\x16\xB0\xD3\xA9\xB3\xFC\xB2\x4A\xB1\xD2\xAC\xB4\x00\xB7\x15\xB6\xB8\xA9\xAF\x25\xB5\x10\xB1\xD1\x88\xB3\x13\xB6\x32\xBE\xD1\x80\xB3\x42\xB5\x4D\xB4\xD4\xA3\xB4\x46\xB5\x4F\xB7\xCE\xBF\xB4\x28\xB4\x54\xBE\xA7\xAC\xB3\xEA\xAB\x1E\xB1\xCD\xAE\xB4\x4A\xB6\x4F\xBC\xD4\xB1\xB4\xBF\xB3\x1D\xBB\xD5\x97\xB4\x5D\xB6\x3B\xB5\xCC\x84\xB4\x47\x87\x4B\xB3\xD6\x80\xB5\x29\xB7\x59\xBB\xD2\xA9\xB5\x19\xB4\x39\xB6\xD5\xB1\xB3\xD5\xB1\x42\xBA\xC6\xA1\xB1\x37\xB4\x49\xB9\xD3\x92\xB3\x6E\xB4\x35\xB9\xCC\x83\xAF\x65\xB7\x4C\xB1\xD5\x8B\xB4\xE3\xB2\x40\xB8\xBE\x86\x94\x80\xB5\x58\xB7\xD5\xAF\xB5\x59\xB6\x59\xBE\xA9\xB5\xB3\x6D\xB3\x57\xB8\xBD\x88\xB5\x6D\xB6\x63\xB8\xD7\x83\xB6\x38\xB2\x3A\xB2\xD7\x83\xB5\x74\xB5\x4B\xBA\xD8\x87\xB5\x8C\xB4\x58\xB4\xC3\x8B\xB5\x82\xB5\x53\xB4\xD8\x9F\xB3\x7B\xB4\x21\xB9\xCD\xA4\xB3\x06\xB0\x2C\xB1\xD8\x87\xB4\x79\xB6\x4C\xBA\xCA\xB7\xB2\x7C\xB5\x62\xB6\xD9\x83\xB4\xB2\xB6\x66\xBA\xCF\x9D\xB1\x71\xB7\x64\xB9\xDB\xAF\xB6\xA3\xB4\x5B\xB5\xCE\xBE\xB6\x27\xB4\x70\xBA\xD5\x82\xB7\xAE\xB6\x3D\xBB\xDB\x99", + "\xB6\xA7\xB6\x58\xB9\xDA\xA4\xB5\xAC\xB7\x35\xB3\xDC\x8E\xB7\x7F\xB6\x69\xB6\xC2\xA8\xB6\xB4\xB4\x67\xBB\xC8\xB7\xB6\x34\xB4\x62\xB4\xDC\x8F\xB7\xC7\xB5\x74\xBF\xD8\x93\xB7\x70\xB7\x72\xB8\xC4\x93\xB5\x7D\xB5\x55\xBB\xD1\xAA\xAC\x91\xB6\x61\xBF\xD9\x92\xB5\xA1\xB5\x51\xBF\xCE\x88\xB7\x58\xB6\x72\xB2\xD9\xAB\xB7\xF5\xB4\x55\xB5\xB8\x86\xB7\x8A\x97\x1C\xB8\xDE\xB1\xB7\xE0\xB7\x61\xB4\xD9\x90\xB3\xA4\x97\x7B\xBD\xD1\x95\xB4\xF3\xB6\x78\xB8\xDD\x80\x00\x01\xB8\x22\xBD\xDD\xAA\xB6\x9D\xB5\x50\xBD\xE0\x87\xB8\x0D\xB6\x08\xB1\xE1\x92\xB2\x1C\xB6\x2F\xB5\xDD\xB4\xB3\xD7\xB5\x65\xB9\xDD\x83\x96\xB3\xB5\x87\xBE\xCD\x8B\xB3\xAD\xB6\x38\xB3\xDE\xA3\xB8\x89\x96\x82\xBE\xE1\xA8\xB8\xD6\xB5\x73\xB2\xE2\x8E\xB4\x15\x07\x86\xBC\xCB\xA6\xB8\x08\xB6\x6D\xBA\xD0\x98\xB8\x38\xB4\x84\xBE\xE2\xA7\xB8\x4F\xB7\x7E\xB9\xC7\xBD\xB7\xED\xB5\xE1\xA6\xE3\x9C\xB3\x38\xB9\x6D\xB5\xD8\x85\xB8\x17\xB9\x88\xB8\xE0\xB4\xB8\x12\x07\x91\xBC\xDD\x89\xB9\xDE\xB7\x3C\xB8\xDB\xB2\xB8\x4F\xBA\x86\xBF\xE3\xB9\xB8\x4B\xBB\x8E\xBE\xE4\x99\xB8\x35\xBB\x96", + "\xBA\xE4\x9F\xB8\x57\xBA\x8A\xBF\xE0\x9A\xB9\x25\xB8\x7C\xBA\xDF\xB2\xB7\xCC\xB6\x99\xB3\xE3\xA8\xB9\xF8\xB4\x64\xBB\xE6\x8C\xB9\x6D\xBA\x4D\xBA\xDB\xAC\xB8\x01\x04\x80\xB2\xE6\x95\xB9\x7A\xB5\x8C\xBE\xE6\x99\xB9\x61\xB9\x9A\xBB\xE0\x9E\xB6\x75\xB8\x7B\xB7\xE7\x90\xB9\x0C\x06\x94\xB2\xDD\x93\xB8\xD4\xB4\x8C\xB0\xE2\x98\xB9\x0D\xB6\xA2\xB7\xDE\x8C\xBA\xE9\xB6\x90\xBC\xD5\xA2\xAC\x3D\xBA\xA4\xBB\xD9\x94\xB8\xDF\xB6\x97\xB0\xE9\xBD\xB8\x22\xB3\x4E\xB1\xE8\xB1\xB9\x03\xBB\x9C\xBE\xE9\xBF\xB9\x60\xBA\x44\x01\xDB\x91\xB9\x7B\xB8\xA7\xB6\xE5\xA1\xB7\x3C\xBA\x5F\xB8\xE8\xA4\xB8\xA4\xB8\xA5\xB4\xE0\xA7\xBA\x76\xBB\x8A\xB3\xEB\xAD\xB8\x82\xBB\x8B\xB1\xE4\xAC\xB9\xFC\xB4\xA6\xB2\xEB\xA2\xB0\x7A\xB9\xAF\xB0\xE4\x8C\xB8\x85\xB8\x91\xB7\xE8\xB0\xB9\xE6\xB7\xA6\xBD\xE8\xBF\xBA\x74\xB9\xB0\xBE\xD5\xB8\xB9\x3E\xBA\xB1\xBC\xE5\xA4\xB9\xB0\xBB\x97\xB0\xEA\xBA\xB4\x15\x04\xDD\x9A\xE9\xBF\xB6\x14\xB4\xA1\xB2\xED\xAA\xB5\xB0\xB4\x66\xB5\xED\xB5\xBA\x54\xBA\xAB\xBD\xE7\x8F\xBA\xA8\xBB\xB6\xBA\xEA\x9D\xBB\xA3\xB9\xB3\xB0\xEE\x8E\xB5", + "\xC8\xBB\xB8\xB5\xD7\xA3\xB6\xAB\xB9\xA2\xBD\xEA\x8F\xBB\xF5\xBB\x90\xB2\xEC\x86\xB5\xC5\xB8\xBA\xBA\xE6\xA1\xBB\x16\xB9\xB2\xBF\xEF\xBF\xB7\xF1\xBB\x76\xBB\xE8\xA9\xBB\xFC\xBA\xB8\xBE\xEF\x93\xBB\xBB\xB9\x82\xB6\xED\xA3\xB9\x8E\xB9\x99\xB9\xEB\xA7\xB9\x09\xBD\x40\x02\xE0\xB6\xBA\xA6\xB9\x8A\xB7\xF1\xAF\xB9\x19\xBC\x3E\x92\xE1\x8C\xBC\x95\xB8\xB0\xBF\xF0\xA4\xBB\xA3\xB7\xB7\xB9\xDC\x84\xBC\xC1\xB6\xBD\xB2\xDA\xA4\xB7\x2A\xBD\x7E\xBC\xF2\xAA\xB7\x27\xBF\xBD\xB4\xDE\x86\xB7\xA5\xA7\x50\x93\x10\x15\x9D\x1B\xBC\xC9\xB7\xEB\x9E\xBC\x86\xBA\xAE\xBC\xF3\xA3\xBC\x03\xBC\xBD\xBE\xF0\x97\xBA\x10\xBF\xD0\xBC\xE1\x85\xBD\xAB\xB5\xC5\xB9\xED\x9F\xBA\xC3\xB9\x45\x0A\xF4\xB7\xB8\x4C\xBD\x85\xBD\xF2\xB5\xBC\x2F\xBC\xB5\xB3\xF5\x88\xB9\x55\xBD\xA7\xB0\xF4\x8A\xBB\xBA\xBA\x08\xBB\xF5\x93\xB9\x5D\xBF\xAB\xB6\xE0\x9A\xBB\x51\xBE\x44\x03\xF6\x8B\xBC\x65\xBF\xBA\xB6\xF1\x81\xBD\x0F\xBB\xDA\xB3\xE9\xBE\xBC\x1D\xBE\x9F\xBF\xF1\x80\xBA\x6A\xBF\xBE\xB5\xF2\x91\xBB\x58\xBE\x7D\xB5\xCC\xB2\xBD\xCE\xBB\xDE\xB8\xEB\xB0\xBD\x20\xBD\xDE\xB3", + "\xF1\xBC\xB9\x3A\xBB\xD7\xB7\xF0\xBF\xBD\x7A\xBF\xCF\xB6\xF7\x84\xBE\x78\xBC\x43\x00\xF8\xB3\xBB\x4D\xBC\xB4\xB3\xF8\xA0\xBD\x18\xBE\xE1\xB2\xF0\x83\xBA\x05\xBE\xCB\xBE\xF7\xA4\xB3\xC6\xB7\xE4\xBB\xF2\x86\xBD\x9D\xBD\xDF\xBE\xDF\x8C\xBE\x87\xBE\xBA\xB9\xF8\x8F\xBE\x98\xBD\xE1\xB2\xF9\x8D\xBE\x75\xBC\xBB\xB7\xF7\x8D\xB4\xA2\xBE\xCC\xB4\xFA\x97\xBD\x48\xBC\xCA\xB2\x10\x35\xBE\x72\xBB\xCC\xB6\xE9\xA8\xB5\x8B\xBD\xB9\xB5\xDA\xBB\xBC\xB0\xBE\xEF\xB6\xF2\xB9\xBE\x36\xBC\xB5\xB9\xEF\x84\xBF\xA9\xBD\xC3\xB5\xFA\x88\xBF\x59\xBD\xC4\xB0\x00\x3C\xBE\xA5\xBA\xF1\xBC\xF7\x90\xBF\x9F\xBF\x68\xB4\xFD\x9C\xBC\xD6\xBF\xE5\xB1\xFC\x85\xB7\x52\xBD\xF1\xB7\xFB\xB4\xBC\xD8\xBF\xE9\xB4\xCE\x9B\xBF\x74\xBD\xF7\xBA\xF8\x90\xBC\x62\xBE\xF8\xB5\xF9\xBD\xBB\xE5\xBD\x91\xB5\xCC\xA2\xBA\x9A\xBE\xBC\xB3\xFA\xAF\xBF\x47\xBC\xF0\xBC\xFE\x9C\xBB\x83\x44\xF3\xBB\xF9\xBE\xBA\xF0\xBE\xFE\xBA\xFB\x8A\xBF\xF0\xB9\xFD\xBA\xF0\xB3\xBD\x6D\xBF\xEA\xB2\xFB\x90\xBE\xA9\xB9\x01\xB6\xEE\xA8\xBF\x09\xC1\x97\xBB\xFE\x83\xC0\xD2\xBD\xE8\xBE\xFE\x96\xBD\xE4", + "\xBE\x00\xC9\xFC\x95\xC0\xE1\xBD\xF3\xB2\xF8\x93\xC0\x1B\xC1\xFB\xBE\x01\xCE\xBE\x0B\xC1\xEB\xB1\xF9\xBE\xBF\xF6\xBE\xED\xB8\xFF\x8F\xBF\x1A\xC1\xF4\xB2\x02\xFF\xBF\xC7\xB9\xFE\xB3\xD7\x9F\xBF\xE4\xB4\x04\xCC\xF9\xB8\xBE\x2D\xC1\xF6\xB5\x03\xD7\xC0\x5E\xBC\xEB\xB4\x03\xD4\xBB\xC6\xB6\xBA\x32\x04\xC8\x7F\xF1\x49\xF9\x86\x04\xE9\x05\x44\xC3\x9C\x94\x6D\x47\xC1\x4B\xC0\x12\xC5\x04\xCE\xC1\x0C\x06\x67\x77\x00\xC1\xBE\x24\xC3\xDB\xB6\x02\xCD\xB4\x52\xC2\xC6\xB4\xF4\xB7\xC0\x19\xC3\x0C\xC0\xF1\x99\xC1\x22\xBF\xD2\xBC\x05\xFF\xBE\x5E\xC0\x05\xC2\xC2\xA0\xC1\x3D\xBD\x04\xC8\xED\xA7\xBD\x50\xBE\x51\xB8\x06\xDB\xC1\x00\xC2\x0C\xC0\xDA\xBF\xC0\xD2\xBF\x1B\xC2\x06\xF1\xC1\x2C\xC1\x19\xC1\x02\xD5\x04\x76\xC0\xD5\xB3\x06\xC7\xBF\x39\xC2\xF9\xBD\xD9\x7C\xC0\x66\xBD\x93\xBD\x06\xC5\xAE\x7D\xC0\xD7\xBF\x07\xD7\xBF\x81\xC2\xFC\xB4\xCE\x89\xC2\x64\xBF\x22\xCE\xFD\xBB\xBF\x12\x04\x24\xCC\xF6\x92\xC2\x20\xC2\x0B\xCC\x07\xC4\xC2\x6E\xBF\xD3\xBD\xEE\xA9\xBD\x51\xC0\x27\xCA\x00\xD6\xC1\x74\xC3\x19\xC2\x0A\xD2\xC0\x3E\xC0\x25\xCC\x10", + "\x06\xB7\x96\xC0\x02\xC8\x09\xE9\xC2\x66\xC3\x26\xC3\x02\xF1\xBE\xA4\xC2\x2A\xC3\x08\xF3\xC2\xEA\xBC\x2C\xCB\x01\xED\xC2\x54\xC0\x2D\xCE\x09\xF3\xBE\x3D\xB8\x2F\xC4\xF9\x98\xC0\x64\xC3\x1C\xC6\x0B\xF5\xAF\x05\xC1\x28\xC8\x0B\xE3\xBF\xC5\xC0\x7D\xB5\x0A\xFC\xBF\x42\x36\x2C\xC0\x03\xD7\xBB\x4E\xBC\x1B\xCF\x09\xEE\xC1\xA7\xC3\x1A\xC6\x08\xD7\xC3\x88\xC1\x36\xC5\x0D\xDB\xC3\xC0\xC0\x28\xC3\xC1\x92\xC3\x29\xC1\xEF\xBC\x0C\xC0\xC2\x7A\xC2\x26\xC5\x09\xDE\xC3\x96\xBD\x26\xCA\x03\xD4\xBB\xC2\xC3\xFD\xB4\x0C\xE8\xC3\xC6\xC1\x2C\xCF\xEE\x83\xBF\x02\x05\x3C\xCA\x02\xF3\xC3\x8C\xC1\x3A\xCF\x0E\xD2\xBF\xCB\xBD\x3E\xCC\x0E\xC1\xC0\xFE\xC2\x20\xC4\xDE\xB4\xBF\xCA\xC3\x34\xC4\xF1\xAD\xC3\xBA\xC2\x3A\xCE\x00\xFD\xBF\x02\xC7\x32\xCB\x02\xF8\xC0\x05\xC6\x23\xC0\xFE\xAB\xC3\x12\xC4\x3F\xC3\x09\xF6\xC3\xAB\xC0\x39\xC3\x05\xC3\xC3\x3D\xC1\x09\xCF\x0C\xD8\xC4\x0A\xC4\xE2\xB8\x0A\xE2\xC4\xC7\xC0\x17\x53\x10\xF2\xC1\xCE\xC1\x4A\xC0\x00\x3A\xC3\xE6\xC3\x44\xCD\x05\xF5\xC3\x7B\xC0\x49\xC5\x0E\xD5\xBF\xE7\xC1\x3F\xC4\x13\xCE\xC4\xB7\xC1", + "\x49\xCA\xFA\xA7\xC4\xB5\xC0\x47\xC3\x0E\xEF\xB1\xD0\xC0\xDE\xA5\x14\xC8\xAE\x1D\xC7\x3D\xCC\x10\x34\x9D\x01\xC7\x62\xBB\x14\xC7\xC5\xB3\x6B\x50\xC9\x14\xD3\xC5\xF7\x73\x4A\xC9\x07\xFB\xC4\xFF\xC3\xE5\x49\x06\xEF\xC2\x28\xC4\x05\xCA\x15\xF0\xC1\x31\xC3\x55\xCD\x12\xC2\xC5\x02\x07\x57\xC7\x07\xE1\xC5\x14\xC4\x56\xC6\x10\xD4\xBB\x66\xC6\x1F\xC8\x07\xE9\xC5\x63\xC5\x4D\xCC\x49\x56\xC5\x70\xC6\x83\xBE\xFA\x95\xC5\x19\xC5\x48\xC1\x14\xDB\xC0\x6D\xC6\x22\xCF\x16\xF3\xC4\x71\xC4\x4F\xC5\x16\xF4\xC5\x80\xC6\x5D\xC7\x02\xC3\xC6\x79\xC5\x21\xC6\xF0\xAE\xC4\x7D\xC5\x24\xCF\x17\xCD\xC3\x86\xC5\x03\xC8\x17\xFE\xC4\xCE\xBD\x5D\xC1\xEB\x86\xB5\x8D\xC7\x25\xCF\x18\xF4\xC3\x81\xC7\x3F\xC2\xC2\x99\xC6\xAE\xC3\x66\xCA\x13\xDD\xC6\x6B\xC4\x07\xC9\xD4\x54\xC6\x1F\xC1\x43\xCE\x19\xFC\x75\x1F\xC6\x3C\xCA\x17\xFF\xC2\x0C\xC2\xBB\xB3\x17\xC9\xC6\x9D\xC2\x35\xC1\x0E\xF2\xA9\xA0\xC5\x2F\xC9\x0B\xDD\xC5\x7C\xC4\x61\xC0\x19\xD7\xC6\x85\xAC\x42\xC3\x19\xF7\xC4\xDC\xBD\x4E\xCB\x11\xF2\xC5\x97\xB4\x44\xCA\x4B\x74\xC6\xA3\xC0\x6C\xC7\x05\xF2", + "\xC6\xC3\xC5\x6B\xCB\x0F\xEF\xC6\xB6\xC5\x6C\xC2\x0E\xC8\xC6\xA8\xC5\x15\xCE\x1C\xE3\xC4\x54\xC4\x76\xC4\x1C\xE9\xBF\xC6\xC6\x3B\xC5\x1A\xDF\xC6\xBE\xC4\x67\xC1\x19\xD0\xC7\xDE\xC6\x74\xC1\x13\xDA\xC4\xE2\xC6\x45\xC7\x10\xC9\xC3\xD1\xC6\x16\xC7\x16\xD4\xC3\x0C\xC4\x6F\xC2\x18\xCE\xC5\x8F\x99\x7A\xC2\x1F\xEE\xC5\x68\xC5\x61\xC0\x1C\xF3\xBF\xF0\xC6\x7E\xC1\x06\xFC\xC7\xF4\xC4\x41\xCA\x16\xEE\xC7\x04\xC2\x72\xCC\x8B\x4C\xC7\x40\xC7\x76\xCE\x12\xC6\xB7\xB9\xC4\x48\xCA\x18\xDE\xBE\xE3\xC7\xEB\xA7\x1A\xDF\xC7\x6A\xC3\x37\xCB\x18\xE4\xC5\xCB\xC5\x76\xCE\x0B\xD5\xC7\xCF\xC7\x75\xCD\x21\xD8\xC8\x5C\xC7\x5E\xC7\x1F\xCB\xC8\x1E\xCB\x6E\xC6\x22\xEB\xC6\x17\xCA\x7A\xC8\x13\xF2\xC4\xBF\xC4\xDA\xB8\x19\xE5\xC7\xA3\xC7\x79\xC2\x22\xE3\xB0\x70\x7E\x8B\xC5\x1C\xF0\xC8\xE6\xC7\x7F\xCC\x10\x0E\x2A\x5B\xC6\x68\xC7\x1C\xD1\xBF\x40\xC8\x58\xC5\x20\xEC\xC4\x36\xCA\x51\xB5\x24\xF3\xC7\x0B\xC6\x81\xC4\x1A\xC8\xC8\xD2\xBF\x92\xC4\x20\xCD\xC9\x48\xCA\x8F\xC3\xDA\x92\xC9\x7E\xC5\x7F\xC1\x23\xC7\xC2\xC5\xB0\x96\xCE\x18\xDA\xC9\x3D\xCA\x8C", + "\xC9\x23\xFB\xC7\x59\xCB\x91\xC2\x16\xC9\xC9\x85\xAE\x97\xCA\x19\xE0\xC9\x35\xCA\x95\xC4\xDE\xAA\xC9\xA1\xC4\x9B\xC3\x24\xEC\xC8\x3F\xC8\x8D\xC3\x27\xD5\xC8\x94\x54\x83\xCA\x0D\xDB\xC8\xC8\xC5\xA5\x8A\x23\xE0\xC7\x3C\xC9\x9B\xC2\x26\xDD\xC9\x76\xC9\x7B\xCB\xEC\x96\xC8\x75\xCA\x9E\xCA\x21\xD4\xC8\x50\xCA\x08\xB0\x27\xFA\xC6\xE1\xC6\x6A\xC8\x27\xC9\xCA\x29\xC9\xA4\xC6\x1F\xFF\xC3\x8F\xCA\x84\xC5\x1B\xE0\xC3\xD6\xC6\x9C\xA9\x29\xEE\xC6\x13\xCA\xE9\xBD\x28\xD0\xC5\xF7\xAF\x98\xC3\x20\xE5\xC9\x54\xCB\x99\xCE\x26\xC9\xC8\xD1\xC1\x9E\xC5\x29\xC1\xCA\x77\xCB\xA8\xCE\x2A\xE4\xC8\x42\xCA\xA1\xC1\xF6\xA6\xCA\x41\xCA\x9C\xC6\x2B\xD9\xBE\xDD\xC5\xDE\x6F\x2A\xEC\xC7\x92\xCA\xAC\xC4\x29\xF4\xCA\xBA\xC9\xB0\xC7\x28\xF3\xCA\x7F\xC9\x86\xC5\x1F\xEB\xC8\x93\xC9\x72\xCF\x14\xC8\xCB\x64\xCB\x97\xC6\x26\xD6\xC6\x83\xCA\xF0\xBD\x2A\xC3\xCB\xC9\xC9\x89\xCE\x20\xDC\xC8\xA4\xB7\xB3\xC8\x2D\xD1\xCB\x6B\xCB\xB4\xCE\x1F\xD5\xCB\xF8\xBA\xB9\xBF\x29\xD3\xC7\xA1\xC9\xFC\xB7\x2C\xFD\xCA\xB3\x73\xAF\xC4\x1D\xDC\xCA\x21\xC8\xC0\xB8\x2B\xC6\xC9", + "\xA9\xC8\xB5\xCC\x25\xE4\xB3\xE7\xCB\x7A\xCF\x2E\xFC\xC9\x27\xC9\xBE\xCF\x22\xC0\xCB\x97\xC9\xB3\xCE\x27\xE0\xCB\x71\xCA\xB8\xCB\x25\xDC\xC3\x84\xCA\xA2\xCB\x2C\xDB\xCB\x7D\xCA\xAF\xC4\x2C\xC6\xCC\x61\xCB\xBD\xC7\x11\xCC\x04\xDD\x85\xAE\xC0\x31\xC2\xCA\x12\xCD\x4F\x55\x28\xC6\xCB\xBA\xB9\xC5\xC4\x2F\xE6\xC4\x7B\xC8\xA3\xCB\x2E\xDC\x50\x1B\xCD\xC0\xC2\x2C\xE4\xCC\x0A\xCE\x93\xC8\x26\xC5\xB3\x1E\xCC\x93\xC0\x32\xCB\xCA\xA2\xCB\xC8\xCA\x31\xE9\xCC\x55\xC8\xB9\xC3\x33\xEE\xCB\xE9\xC9\x23\xC2\x33\xC1\x04\x2D\xCF\x94\xCF\x32\xCB\xCC\x20\xC8\x77\xC8\x32\xF8\xCC\x9B\xC8\xBF\xC4\x27\xC3\xCD\x0F\xCD\xBD\xC3\x2E\xD9\xCC\xD4\xB9\xCF\xC8\x2A\xFF\xCC\x2A\xCF\xAA\xC2\xFD\x8E\xCD\xD2\xCA\xD2\xC7\x30\xF7\xC6\x85\xAC\xD5\xC1\x2E\xD6\xCD\x11\xCC\xC2\xC0\xFA\x95\x04\x5A\xCD\xC1\xCC\x35\xD8\xCC\x5E\xCF\x68\xB1\x36\xD0\xCA\xB0\xCB\xAE\xC7\x17\xF7\xCC\x49\xCC\xD4\xC5\x33\xCC\xCD\x00\x03\xD9\xCA\x29\xCD\xC7\x41\xCC\xC4\xB2\x37\xE0\xCA\x45\xCE\xC8\xC7\x2B\xCA\xC5\x46\xC5\x5A\x75\x32\xCC\xCB\x27\xCC\x32\xCA\x20\xF7\xCD\xE8\xC9\xDE\xC1", + "\x33\xFB\xCD\x14\xCF\xDF\xCC\x30\xE7\xC8\x84\xCE\xBE\xC9\x33\xD5\xC4\x3B\xCC\x8E\xCE\x37\xF4\xCC\xAA\xCA\xCD\xCD\x34\xCA\xCE\x75\xCC\xB7\xCD\x38\xFF\xCB\xFB\xCA\xDE\xCC\x2B\xCE\xCB\x7D\xCD\xE2\xC4\x39\xF6\xCB\x65\xCF\x7B\xC3\x38\xD8\xCE\xF0\xCA\xD0\xC2\x38\xDE\xCB\x48\xCD\xB6\xC5\x2B\xDC\xCC\x9F\xCF\xEA\xC9\x1F\xFC\xCC\xA8\xCE\xD1\xC2\x30\xF9\xB9\x60\xCD\xED\xCE\x39\xEB\xCD\xB8\xCF\xE4\xC4\x34\xF4\xCD\xA9\xCE\x4B\xCB\x39\xFB\xC8\x00\xCC\xE0\xC1\x39\xC3\xCF\x80\xC9\xF1\xCB\x38\xC7\xCD\x6C\xCE\xEB\xC5\x2C\xE6\xCC\xC7\xCE\xEE\xC7\x38\xF1\xCE\xB4\xCF\xE8\xCB\x34\xE5\xCE\x40\xC0\xCF\x54\x30\xE8\xCD\xCA\xCD\xE6\xCB\x01\xD5\x36\x16\xCF\xD8\xC1\x2B\xC7\xBA\xE0\xCF\xC7\xCF\x13\xE1\xCC\xD3\xCC\xEF\xC2\xE9\x12\xCF\xEA\xC8\xE2\xC5\x2A\x96\xCF\x57\xCD\xA7\xC5\xB8\xA5\xCF\x2E\xCF\xF9\xC0\x33\xED\xCF\xD4\xCF\xFA\xC0\x3F\xDD\xCD\x58\xCE\x3C\x8D\x36\xF6\xCF\x40\xCD\xF0\xCC\x2D\xF4\xCF\x3E\xCC\x00\xD1\x35\xD6\xCE\xD2\xBC\x01\xDF\x34\xC6\xD0\x6F\xCC\xF6\xC9\x40\xEC\xCF\x3A\xCE\xFB\xC8\x9F\x7F\xCE\x0D\xCA\xF7\xC7\x22\xCA\xD0\x55", + "\xCE\xDB\xC5\x39\xF0\xCD\x22\xB0\x06\xDB\x35\xDA\xD0\xA4\xCD\xFF\xCF\x35\xFE\xCF\xCE\xCF\xC5\xC3\x3E\xD2\xD0\xA3\x60\x04\xD0\x39\xE8\xD0\xFA\xCC\x05\xD8\x3E\xF8\xCF\x33\xBA\x07\xD2\x36\xE0\xD0\xD7\xCE\x08\xDF\x3E\xEE\xD0\xF7\xCD\x04\xD9\x3F\xC2\xC7\x13\xD3\xFF\xC5\x19\xF5\xD0\xF2\xCC\x80\xCA\x20\xF2\xD0\xDC\xCD\xE7\xC9\x3E\xC7\xC6\x29\xD3\xFE\xC4\x36\xF6\xD0\xE4\xB4\x11\xD3\x37\xD5\xD0\x02\xD1\xC3\xC2\x39\xDD\x2E\x4A\xD3\x09\xD9\x3F\xCE\xD1\x78\xCC\xF0\xC6\x3B\xC1\xCE\x49\xD0\x0E\xD1\x40\xDB\xD1\x91\xCC\x0F\xDD\x45\xFE\xD0\xA9\xC4\xF4\xCC\x42\xCD\xC5\x2D\xD0\x19\xDA\x1D\xD6\xD0\xCC\xCC\x7E\xC2\x10\x34\x9D\x58\xD1\xE1\xCA\x45\xFB\xCE\x48\xD1\xB7\xC3\x3B\xE9\xD1\x25\xD2\xF8\xCA\x36\xF5\xD1\xC6\xB5\x1C\xDE\x38\xC6\xCE\x30\xD0\x1F\xDA\x3D\xE7\xCA\x19\xD0\x03\xDB\x41\xCE\xD0\x1D\xD2\x0A\xD7\x20\xD1\xCE\x7E\xD0\xE7\xCF\x38\xCB\xD2\x2C\xD1\x23\xD4\x3C\xC6\xD1\x81\xD2\x64\xCD\x43\xF9\xD1\x34\xD1\xFC\xC1\x2F\xF3\xCF\x8A\xD3\x93\xC1\x39\xC6\xB7\x95\x85\xF8\xC9\x49\xFC\xCF\x41\xD2\x13\x95\x45\xFB\xD1\x0D\xB5\x28\xD6\x3E", + "\xFF\xD0\x9A\xD2\xEA\xC1\x10\x2A\xD2\xF5\xCC\x2B\xD4\x4A\xDB\xD2\xC5\xB0\x2C\xD5\x40\xF2\xD2\x4B\xD1\x29\xD3\xDA\xB6\xD2\x0B\xD0\x2E\xD6\x45\xEA\xCF\xBC\xD1\x21\xDE\x4B\xE8\xD2\x3D\xB9\x30\xDF\x41\xC6\xD2\x21\xD2\x2E\xD4\xDE\x86\xD3\x33\xD0\x32\xD0\x44\xF4\xD2\xE4\xB0\x33\xD5\x44\xCF\xD2\x9E\xD0\x0B\xD2\x4D\xCF\xD1\x2F\xD2\x0E\xD0\x4C\xDD\xD2\x2B\xCD\x34\xDC\x4D\xD2\xCD\x22\xB3\x35\xD9\x45\xD0\xD1\x60\xD0\x0B\xD0\x4A\xDF\xD3\x08\xD1\x38\xD8\x4E\xDC\xD0\x9F\x87\x3A\xDE\x40\xE2\xD3\x72\xD0\x39\xD4\x47\xE9\xD2\xEE\xD0\x13\xDC\x2A\xE1\xCE\x4A\x91\x3D\xDA\x4C\xF7\xD3\x48\xC5\x3E\xD7\x4A\xF0\xCE\xDB\xD3\x3F\xD6\x46\xF9\xCF\xF0\xD3\x1F\xD3\x47\xC7\xD1\x96\xD1\xEF\xC6\x4A\xDE\xD1\x07\xD0\x3B\xD6\x1B\xBA\xD3\xD0\xD3\x2E\xD0\x51\xEE\xD2\x76\xD3\x1B\xDD\x4E\xC2\xD4\xC6\xCF\x19\xD6\xEE\x85\xD4\x8E\xD0\x20\xDA\x4D\xF5\xD1\x62\xD0\x00\x0C\x51\xD3\xD2\xD4\xD1\x37\xD5\x2E\xCA\xC8\x23\xD5\xF2\xC4\x49\xDF\xD4\x09\xD7\x14\xDE\x4F\xCC\xD4\x0D\xD2\x3D\xD6\x1A\xCB\xD4\x6A\xD3\x87\xC1\x45\xE7\xC8\x29\xD6\xB2\xCD\x50\xC8\xD2\x17\xD4", + "\x4C\xD7\x48\xF2\xD4\xEA\xD0\x46\xDB\x3C\xF7\xCE\x22\xD7\x44\xDE\x12\xF9\xD4\xDA\xC8\x1B\xD4\x54\xC6\xB7\xCB\x17\x5E\x11\x4B\xA2\xD2\xCE\xD1\x2B\xD0\xF1\x8F\xD5\xAB\xD1\x19\xD9\x51\xCF\xB8\x54\xD5\x2C\xD6\x55\xC3\xD5\x5C\xD0\x00\x09\x55\xF7\xD2\x5B\xD6\x52\xDD\x55\xDF\xD5\xBD\xD1\x58\xD7\x53\xED\xD1\x5E\xD6\x51\xDC\x2D\xE4\xD5\xC2\xD2\x59\xD5\x4E\xD8\xD5\x6A\xD6\x14\xDC\x56\xC7\xD3\xC3\xD0\x40\xD5\x47\xF3\xD5\xCD\xD1\x5D\xD3\x50\xEA\xCF\x78\xD7\x34\xDE\x51\xEB\xD0\xF9\xCD\x5F\xD8\x4D\xF9\xD0\x80\xD4\x5F\xD1\x57\xE7\xC8\x82\xD7\x38\xD9\x4D\xC5\xD6\x82\xD2\x44\x09\x58\xF1\xD3\x8B\xD4\x24\xD1\x58\xC7\xD6\x68\xD7\x63\xD6\x50\xF2\xD3\x08\xD5\x8F\xB6\x59\xDD\xD4\x07\xD5\x25\xDA\x59\xD4\xD6\x44\xD5\x48\xDB\x59\xE4\xD4\x7F\xD6\x64\xDA\x3E\xE8\xD1\xA3\xD6\x4A\xD5\x52\xE0\xD3\x15\x05\x6A\xDA\x53\xF1\xD4\xFB\xD2\xF4\xBE\x5A\xC9\xD5\x67\xD7\x52\xDD\x5A\xE0\xD6\x63\xD4\x6E\xD1\x39\xF3\xD6\xAF\xCF\x5E\xD0\x52\xC1\xC8\x01\x04\x6F\xDF\x3C\xD7\xD5\xA7\xD6\xB9\xB2\x5C\xE6\xD0\xC4\xD3\x8D\xC2\x5A\xFA\xD6\x1A\xD6\x82\xC7\x5C\xFA", + "\xD1\x76\xD5\x4B\xD6\xDC\x8F\xD7\xA3\xD1\x2E\xD1\x51\xF7\xBC\xB7\xD6\x50\xD2\x56\xFB\xD6\xCC\xD7\x64\xDA\x5D\xF5\xD6\xB9\xD7\x77\xDF\x56\xC6\xD6\xE2\xD7\x3C\xD8\x1E\xC1\xD7\xDD\xD6\xFA\xC6\xDC\x80\x91\x01\x04\x7B\xD0\x00\x2E\xD7\xF0\xD7\x0F\x92\x5F\xD2\x04\xF1\xD4\x7D\xD3\x5F\xCC\x04\xF5\xD4\x7E\xD7\x5F\xC3\x04\xEE\xD5\x65\xA2\x10\x3E\xD7\x94\xA7\x62\xA2\x60\xD2\x04\x00\xD8\x00\x05\x60\xC7\xD8\x03\xD8\x43\x08\x60\xC4\xD8\x09\xDB\x40\x0B\x60\xF5\x54\xE9\xD7\x93\xB4\x8B\x90\xD5\x7A\xD4\x71\xD2\x61\xD1\xD8\x2D\xD7\x84\xD5\x55\xEB\xD1\xE0\xD5\xE4\xCA\x61\xDA\xD5\x1C\xDB\x78\xD5\x47\xDF\xD8\x60\xD5\x88\xD6\x5E\xF7\xC8\x24\xD9\x59\xD6\x62\xD9\xD6\xB2\xB9\x8A\xDD\x56\xEB\xD8\x9E\xD4\x8A\xD8\x61\xE7\xD7\x00\x02\x8B\xD4\x57\xEE\xD5\x27\xDA\x51\xB6\x63\xF9\xD5\x38\xD8\x8B\xDA\x63\xF3\xD8\x32\xD9\x79\xDE\x63\xC5\xAE\x3B\xDA\x5F\xDD\x59\xEC\xD4\x34\xDA\x71\xB5\x64\xC3\xD6\x5F\xD1\x8E\xD4\x64\xC0\xD9\x3F\xDA\x90\xD1\x63\xF2\xA9\x4B\xDA\x62\xD4\x58\xE6\xD6\x17\xDA\x94\xD8\x64\xCA\xD7\xC0\xD5\x8D\xD0\x65\xC1\xC7\xE6\xB9\x95", + "\xD0\x59\xD7\xD9\xD5\xD1\xFE\xC2\x66\xD7\xD6\x91\xD5\x99\xDA\x3E\xE7\xD9\x9C\xD4\x66\xD3\x65\xC8\xBC\x14\x53\x97\xD5\xCC\xAC\xD9\xA4\xD7\x91\xDC\x58\xD9\xD8\x72\xDA\xB5\xC8\x4F\xC2\x04\x74\xDA\x6A\xD5\x5A\xEA\xD9\xBF\xD6\x82\xCD\x67\xEF\xD6\x3F\xD5\x6C\xD1\xEA\x9D\xD9\x83\xD8\x6D\xD2\x62\xED\xD4\x68\xD1\xA2\xDD\x5B\xD6\xD8\xD2\xD6\x2D\xAA\x65\xF7\xD9\x49\xDA\xA4\xDE\x53\xC9\xD3\xD7\xD4\xB5\xBE\x68\xC3\xD7\x5C\xD6\x87\xD9\x67\xE3\xB6\x9B\xD8\x72\xD1\x5D\xF4\xD8\xA1\xD8\x74\xDE\x5B\xF8\xD9\x93\xD8\x96\xD1\x69\xD2\x04\xD2\xA7\xA5\xDF\x4C\xF4\xC1\xAD\xD9\x4D\xDA\x22\xDD\xDA\xBA\xB9\xAC\xD8\x49\xD1\xD5\xB3\xD0\x45\xD6\x6B\xDB\xCF\x4C\xDB\x4E\xD0\x54\xD5\x04\xBB\xD8\x21\xD7\x63\xF0\xD8\x5B\xDA\x51\xB1\x6C\xD4\xD8\x3D\xDB\x9B\xD5\xCC\x87\xDB\x1B\xDA\x4D\xDB\x68\xFD\xB8\xCC\xD8\x88\xDE\x6C\xCE\xD9\xCB\xDB\xA7\xD4\xDE\x91\xDB\x25\xDB\xB4\xD3\x64\xD5\xDB\xA9\xD8\xA0\xDD\x52\xD8\xDB\x2A\xDA\xB6\xDA\x6C\xE4\xB3\xE0\xDB\x8B\xD2\x6E\xC5\xDB\x85\xAD\xB9\xD3\x6C\xE7\xDB\x94\xDB\x8D\xC6\xDC\xAA\xDB\x3C\xD8\xB1\xDD\x6E\xC6\xDB", + "\xD6\xD8\xB5\xB0\x6F\xC6\xD9\x6E\xD8\xBA\xDC\x6A\xF5\xDB\x00\x03\xBD\xDD\x6B\xF0\xD6\x99\xD8\x40\xCD\x65\xFE\xDB\x56\xD9\x93\xDB\x6D\xFA\xD9\xFD\xD2\x40\x04\x70\xE3\xD9\x06\xDF\xB8\xD3\xDA\x8B\xDC\x68\xD8\x99\xD6\x52\xD7\xDB\xFC\xD8\xB1\xB0\x6C\xD5\xDC\x17\xDD\xB7\xD3\x71\xF6\xDB\x18\xDC\xDF\xC6\x51\xFB\xDB\x1A\xDC\x6B\xDE\x71\xD1\xC5\x0A\xDD\xC7\xDF\x10\xEC\xCE\x25\xDD\xC8\xD9\x4E\xE4\xCA\x5A\x30\xC4\xDD\x66\xE9\xD9\x1B\xDF\x4C\xD3\x10\x2E\xDC\x75\xD9\xBE\xD3\x6F\xF0\xD9\x0C\x04\xCD\xDE\x67\xF6\xD9\xAA\xD8\x8D\xDA\x73\xC4\xDA\x98\xDA\xAE\xD6\x72\xF3\xDC\x43\xDD\xCA\xDE\x6A\xD2\xD5\xDC\xCB\xCF\xDA\x68\xD4\xDB\x23\xD0\xAB\x88\x8E\x6A\x90\x03\x07\x65\xA3\x23\xBF\x39\x52\xDD\xEA\x74\x75\xE0\x97\x15\x06\x6F\xAA\x0F\x51\xDD\x58\xDE\x44\x0A\x75\xD0\xDD\x02\x05\xD5\xD3\x10\x00\x2C\x74\x9F\xD5\xD9\xA8\x77\xD1\x66\xDC\x43\x0E\x9A\xA2\x59\x12\x06\xD8\xD2\x10\x33\xA6\x4E\xDD\xD8\xD8\x2C\x69\xDD\x03\x05\xEF\x94\x77\xC2\x04\x76\xDD\x45\x0E\x76\xC1\x04\xAB\x97\xDD\xD1\x10\x1C\xA0\x60\xDD\x40\x0B\x77\xC0\x00\xAC\x9E\xD8\x9E", + "\x77\xEB\x6C\x9B\x89\xDB\xDC\x35\xB8\xC3\xEF\x96\xE2\xD7\x76\xC9\xDC\x8D\xDC\x43\x03\x78\xC5\xDE\x9A\x56\xE4\xDB\x78\xE8\xDC\x91\xDC\xD7\xDF\x78\xE4\xDC\x99\xDE\xDC\xD2\x11\x14\xDE\x89\xDE\xE5\xD6\x28\xA1\xDE\x9A\xDF\xB8\x35\x11\x0C\xA4\x41\x88\x43\x08\x7A\xE2\xDE\xA9\x7F\xEA\xD5\x7A\xFB\x88\x01\x06\xEB\xDE\x79\xCC\x04\x25\x8F\xD7\xD1\x7B\xFA\xDD\x5D\xDC\x43\x06\x7B\xC0\x00\xB2\xDE\xE0\xD7\x79\xFB\xD9\xB7\xDE\xE3\xD6\x5C\x8A\xC8\xBD\xDC\x00\x03\x78\xEB\xDD\xC5\xDF\xE0\xD0\x77\xC3\x04\xC9\xDC\xB2\x4D\x7C\xF7\x95\xA7\xDC\xEE\xD0\x7D\xD2\x04\xCF\xDD\x5A\x91\x7D\xC2\xDF\x03\x04\xE0\xD1\x7C\xEC\xDE\x03\x04\xE8\xDA\x7A\xD2\xDF\x8D\x6B\xF7\xD8\x7D\xD6\x96\x8C\xDC\xEF\xD0\x7E\xE3\xDD\xE6\xB9\xF5\xDD\x7D\xD5\x04\x62\x9E\xFA\xD4\x7E\xD8\xDE\xE6\xDF\xF8\xD2\x99\x50\xDE\xF1\xDC\xF7\xD2\x10\x1E\xDF\xCC\xDF\xF9\xD0\x71\x62\xDF\xF6\xDD\xB4\x50\x48\x58\x8A\x0C\x07\x46\xAA\x72\xF0\xCD\x02\xE3\xD1\xD9\x6B\xD0\xBC\x05\xE2\xAC\xD6\x29\xD0\xDA\x34\xD9\x02\xE7\x6B\xD5\xD8\xB4\xD9\xFE\xCE\x80\xFC\xDA\x05\xDE\xAF\xD6\x68\xD5\x04\x13", + "\xE2\xB0\xD1\x6F\xEC\xDB\x3D\xDF\x8D\xC9\x81\xC8\xDB\xF2\xD9\x07\xE2\xA7\x9F\xE0\xCD\xDB\xAC\xDB\x5D\xEC\xD0\x24\xE2\xB4\xD6\x82\xDD\xD8\x28\xE1\xD1\xD1\x10\x29\xE0\xD9\xDB\x0A\xEF\x6C\xDE\xE0\x2E\xE0\x00\x00\x83\xE1\xDB\x32\xE0\xD3\xD3\xDA\xB7\xE0\xE6\xD9\x0E\xE7\x70\xD3\xCC\x03\x04\x0F\xEB\x6E\xFE\xE0\x0E\xDC\x79\xB2\x84\xDB\xE0\x44\xE2\xBE\xD4\xCE\x87\xE1\xF8\xD8\xCC\xD2\x35\xCC\xE1\xFF\xD9\xA1\xD1\x70\xD0\xE1\x15\xE0\xC0\xD4\x51\xE1\xD4\x54\xE0\xC3\xD6\x81\xC1\xDC\x87\xDA\x82\xC9\x85\xD1\xDC\x0D\xDE\x12\xEB\x83\xF5\xE0\x5F\xE3\xCB\xD2\x71\xE2\xDC\xEC\xC9\x19\xE5\x73\xCE\xE1\x2B\xDE\x44\x0A\x86\xFB\xDC\x36\xDE\x08\xE5\xB8\xAF\xE1\x40\xDF\xAB\xDE\x12\xD8\xE1\x35\xE0\x1A\xD4\x87\xCB\xDD\x3F\xE2\xE9\xC0\x7F\xFB\xE1\x8F\xD9\x04\xE5\x5C\xDE\xE1\x35\xE2\x71\xB0\x88\xDC\xDA\x27\xE1\xFE\xC6\x88\xE4\xE1\x8C\xE3\x00\xEC\x53\xEE\xE1\x8D\xE2\x01\xE6\x5D\xD4\xD4\x87\xE2\xA8\xD7\x6A\xD5\xDA\x49\x9A\x02\xE9\x36\xE3\xDA\xB2\xB9\x72\x30\x82\xDC\xE0\xDE\xD9\x8F\xBE\x89\xE5\xE0\x0B\xE2\x20\xE5\x47\xE3\xE2\x2A\xE1\x29\xE9\x88", + "\xEA\xCF\xA8\xE1\x0C\xEA\x8A\xEC\xE0\xF9\xCD\x2B\xE8\x83\xEF\xE2\x33\xE2\x51\xB2\x8B\xFD\xE0\xB4\xE2\x0E\xE1\x3C\x9A\xE2\xDD\xCC\x2C\xEC\x8A\xF5\xE0\xB7\xE3\x10\xE9\x8B\xFD\xE1\xD4\xB9\x30\xE8\x84\xC3\xE3\x45\xE1\x31\xE0\x8C\xCB\xE3\x8E\xE3\xAF\xD4\x14\xD9\xE2\x0F\xE1\xB2\xD2\x86\xE4\xB7\xC6\xE1\x13\xE7\x86\xED\xE1\x3C\x8C\x05\xEA\x85\xD6\xE1\x10\xBD\x35\xE1\x85\xC1\xDD\xDD\xE1\x1E\xED\x65\xDE\xE3\x55\xE2\x14\xE7\x85\xE6\xBB\xE4\xE3\x36\xE6\x8E\xEE\xC4\xE9\xE0\x18\xEB\x85\xD4\xD4\xED\xE2\x19\xE1\x86\xF7\xDC\x6B\xB5\x45\x01\x8F\xEB\xE1\xD7\xE2\x43\xD9\x8D\xDA\xE0\xD6\xE3\x3C\xE2\x87\xC5\xB3\xF7\xE0\x1C\xEC\x86\xFA\xE3\xA0\xCF\xC7\xDB\x8F\xDF\xE2\x49\xE0\x3D\xE8\x70\xDC\xDE\x64\x69\x33\xE7\x81\xE3\xDC\xA5\xC8\x34\xEA\x8D\xEE\xE3\xDC\xE0\xB7\xC8\x46\xC1\xE4\x75\xE0\xD2\xD2\x45\xC6\xB7\x18\xE4\x1F\xE9\x8C\xF2\xDC\xBB\xE1\x34\xE1\x82\xE1\xE2\x37\xC9\x47\xE1\x88\xEB\xE2\xA7\xE0\x33\xE2\x89\xFF\xD2\x29\xE6\x43\xEC\x85\xF6\xE3\x85\xE3\x07\x9D\x1A\x74\x98\x2B\xE5\x72\xD2\xA7\x86\x5A\x08\xE4\x32\xE3\x8D\xD1\x9B\x35\xE4", + "\x27\xE6\xD4\xB8\xE4\xA4\xE3\x26\xE7\x89\xF7\xC8\x40\xE5\x2A\xE2\x94\xCC\xE0\x44\xE5\x0D\xE5\x94\xEE\xE2\x47\xE6\x29\xED\xD0\x8B\xE5\xB3\xE1\x53\xE8\x92\xED\xD4\x50\xE4\x2E\xE2\x95\xFE\xE2\x75\xD1\x55\xE2\x8C\xD7\xE5\xB5\xE1\xE1\xAA\x95\xC7\xE3\x5C\xE6\x2E\xE4\xED\x9F\xE5\xFD\xE3\x3B\xEE\x12\xE4\xE5\xDF\xE2\x1D\xEC\x2D\xE8\xE5\xE5\xE0\x38\xEC\x2D\xC6\xB7\x6C\xE6\x3A\xEE\x96\xD2\xD1\x71\xE4\x45\xEB\x8E\xEB\xE5\xFC\xD9\x5D\xE2\x8F\xE6\xE5\x14\xC2\x5E\xE8\x8F\xFE\xE3\x24\xE6\x51\xB1\x52\xFE\xE5\x02\xE5\x3E\xEF\x88\xE7\xDC\x77\xD0\x61\xE9\x91\xC7\xE0\x78\xE6\x4B\xE4\x51\xCA\xE6\x1E\xE7\x4E\xE0\x92\xFC\xE4\xBC\xE3\x4A\xDA\x90\xE3\xB6\x90\xE7\x49\xE8\x95\xD4\xE5\xE2\xE1\xF9\xD9\x99\xC8\xE2\x9B\xE4\x8D\xD8\x46\xDF\xE6\x96\xE0\x52\xE2\x98\xDD\xD9\xA4\xE6\xA9\xD6\x9A\xE0\xD9\x0A\xC9\x6A\xE5\x5D\xEC\xE4\xAB\xD8\x4D\xE5\x99\xEB\xD6\xD8\xE2\x54\xC6\x63\xBD\xE4\x43\xE7\x4F\xEA\x94\xFB\xE6\x8E\xE7\x59\xEC\x9B\xF8\xE6\xAB\xE5\x3D\xEA\x9F\x43\xE7\x51\x9E\x6B\x50\xBA\x05\xE7\x0B\x9D\x72\xEE\x14\x88\xE7\xCB\xE7\xD7\x47\x9C\xCE", + "\xE7\xC4\xE4\x74\xEC\x10\x2A\xA5\x58\xB0\x70\xEE\x94\xFD\xB8\xD4\xE7\x9C\xAC\x6F\xD9\xE7\x66\xB1\x5B\xEA\x96\xD2\xD1\xDC\xE5\x0D\xE1\x9E\xFD\xE6\xDC\xCB\x78\xE6\x9D\xD3\xE5\x34\xDA\x79\xE3\x9B\xFF\xD9\x31\xDE\x7A\xE2\x92\xE0\xE2\x31\xDE\x08\xBE\x9E\xD3\xE4\x7B\xE5\x45\xE0\x9E\xF3\xB0\xEF\xE5\x42\xEF\x8F\xE4\xB3\xF3\xE4\x3F\xE9\x96\xDA\xE4\x27\xC9\x7F\xE9\x93\xE1\xE5\xC4\xE2\xF4\xB2\xA0\xC1\xE5\xBD\xE1\x57\xE5\xCC\x87\xE8\x46\xE5\x82\xE2\x96\xD3\xE6\x00\x00\x83\xEC\x94\xCE\xE8\x05\xEA\x7C\xE8\x9F\xF4\xE7\x7F\xE4\x5F\xE7\x9F\xD5\xB0\x18\xE9\x61\xE0\x98\xED\xE7\x17\xEA\x7F\xEE\x9D\xC0\xE8\xFF\xC2\x84\xE1\x95\xD4\xE8\x1F\xE5\x17\xE0\x7F\xE6\xE8\x56\xE4\x8A\xE2\x99\xEA\xE8\x77\xD0\x8B\xEB\x95\xEE\xE8\x97\xE4\x79\xB2\xA3\xE0\xE5\x34\xEB\x7E\xE3\xDA\xB7\xE8\x65\xE6\x7D\xE7\x22\xC6\xB7\x3C\xEB\x7F\xEC\x98\xDB\xE8\x25\xB1\x87\xEB\x98\xD3\xE2\x2E\xC5\x90\xE3\xA2\xC3\xE9\x27\xC9\x48\xDA\xA4\xF2\xE5\xDF\xE5\x93\xE6\xEE\x8F\xE9\x76\xE7\x5C\xE2\xA5\xE5\xDF\x54\xE9\x7D\xE7\x97\xD2\xD1\x68\xD1\x96\xE9\xA1\xFE\xE8\x68\xD4\x90", + "\xE1\xA2\xC3\xE8\x39\xE9\x60\xE8\x73\xC3\x04\x5E\xEA\x87\xEA\xA1\xC1\xE8\x63\xE8\x82\xE6\x99\xFA\xE8\x36\xE9\x9B\xED\xA0\xEF\xE9\x66\xEB\x82\xE2\xA7\xD3\xE8\x74\xE9\x7C\xE5\x11\x29\xE9\x47\xE8\x6C\xE9\x9E\xF7\xE9\x27\xE9\x9E\xE8\x86\xF6\xE6\x3D\x80\x87\xE2\xA2\xD0\xE9\x24\xE9\x69\xC3\xED\x1D\xE7\x88\xE8\x93\xEF\x0F\xCB\xEA\x35\xE0\xA4\xE4\x9E\xD2\xD1\x92\xEB\x79\xE1\x9A\xF7\xC8\x95\xEB\x7A\xEC\x73\xF5\xE9\xE4\xB1\xA6\xE9\x9F\xFA\xE4\x35\xEA\x63\x65\xA4\xC7\xEA\x55\xE9\x94\xE8\x56\xDE\xEA\x46\xE9\x64\xE1\xAA\xD2\xBF\xA8\xE8\xA9\xEA\xA5\xD6\xE9\xA7\xE8\xA0\xED\xA2\xC2\xEA\xB5\xE5\xA1\xE3\xAA\xE4\xE9\xB4\xE8\x41\xE6\xAB\xEA\xAF\xA9\xEA\x66\xEA\xA0\xDD\xEA\xB2\xEB\x8C\xE9\xAB\xC7\xE6\x84\xEA\xA8\xEC\xAB\xEE\xEA\x5F\xEB\x96\xE7\x22\xED\xEA\xB8\xE8\x6D\xEA\xAB\xC6\xEB\x40\xB2\xA6\xE1\x87\xDC\xEA\x4A\x83\xB1\xED\xAC\xEC\xE7\x52\xCC\xB3\xEE\xA6\xCE\xEB\xC4\xEA\xEC\xC6\x90\xD5\xEB\xD1\xEB\xA7\xE4\xA0\xE9\xE8\x2C\xDC\x3B\x61\xAE\xFD\xEA\xA0\xE7\xAF\xE3\xDA\x9A\xEB\x73\xE8\xB7\xEE\x8C\xC4\x89\xD6\xEB\xB6\xE8\xAD\xF5\xEA", + "\x0A\xD4\xB8\xE5\x9D\xD2\xEB\x03\xE5\xB7\xE0\xAD\xF7\xEB\xE2\xE9\x99\xEA\xA7\xF5\x57\x86\xEB\xB5\xEB\xA9\xFF\xEB\x88\xE7\xB7\xEB\xAB\xE7\xEB\xC8\xEA\x9A\xE0\xA6\xE1\xD6\xE6\xB8\xBB\xE8\xA7\xEE\xEB\x0F\xE5\xC1\xEA\xBD\xA6\xEB\xFC\xE8\xBA\xE5\x9A\xD7\xE7\x5C\xDA\x82\xCE\xB0\xC1\xEA\x10\xEF\x4B\xEF\x8C\xF0\xEB\x08\xEE\xC0\xE3\xAD\xC4\xEC\xC5\xEB\xEA\x31\xAC\xF8\xE8\xC3\xEB\xBB\xE6\xAF\xDA\xE7\x93\xEB\xB2\xE7\xB2\xFD\xE8\xCA\xE9\xAC\xE1\xB0\xF2\xEB\x03\xEF\xA0\xE7\xB0\xD5\xEC\x09\xED\x9F\xE6\x93\xC5\xAE\x1B\xEF\xAC\xED\xB1\xD4\xD4\xC6\xB5\x5B\xA3\xB3\xED\xEB\xF3\xE8\xDC\xC2\xB4\xF7\xEA\x34\xEF\xC8\xE2\x35\xC7\xED\xF1\xE8\xD1\xE5\xB3\xF4\xEB\x00\x00\xD3\xE1\xB2\xC9\xED\xF9\xEA\xCA\xE2\x10\x12\xED\x38\xEE\xC8\xE5\xB5\xD1\xEC\x03\x04\xD6\xEC\xB2\xD6\xEA\xEA\xE8\x79\xBE\xB5\xCC\xEA\xA5\xE9\xA2\xE0\x25\xE3\xED\x35\xE0\xDA\xED\xB2\xE8\xD5\x6A\xEC\xD8\xEF\xA0\xE2\xB0\x6D\xEC\xBE\xE6\x98\xD6\xED\x6C\xA7\xCB\xE2\xA4\xC8\xE9\xDC\xC9\xDC\xED\xAF\xE9\xEC\x5C\xEF\xD5\xE6\xB7\xCB\xE9\x78\xEF\x46\xE5\x11\x3A\xED\x16\xEE\x6A\xE8", + "\xB1\xC6\xB5\x84\xED\xCE\xEA\xAA\xF0\xE9\xD4\xB9\xE2\xEA\xB5\xF3\xED\xB1\xD6\xE3\xE4\xB5\xD0\xEE\x01\xDE\xE4\xEE\xB4\xCA\xED\x50\xED\x48\xD6\xB9\xCF\xEC\x45\xEE\xBE\xE5\x51\xCC\xE4\x9B\xEC\xC7\xED\xB9\xF4\xED\x51\xEF\xDF\xED\xA8\xC1\xEE\x27\xC9\xE8\xEE\xB3\xE3\xEE\x7D\xED\xBD\xEE\xB7\xC3\xED\x9C\xEF\xD3\xEF\xAC\xE5\xEE\xB0\xEE\xE8\xE2\xBB\xDE\xEE\xAA\xEE\xB0\xEF\xB3\xF7\xE1\x5D\xD9\xEE\xE8\xB2\xFB\xEE\x16\xE6\xB9\xBE\xBB\xF0\xEC\xB0\xE8\xC3\xE5\x7E\xC3\xEF\x77\xEE\x9F\xE9\xB1\xD7\xCB\x5D\xEE\xE9\xE5\xB6\xCE\xEA\xB6\xD6\x44\x08\xBC\xC0\xEE\xCA\xEE\xBC\xC2\xBD\xCE\xEF\xAF\xEA\xA9\xE4\x54\xD3\xEF\xA7\xED\xF5\xE5\xB8\x9C\xEF\xCF\xEC\xEA\xEC\xB6\xD8\xEF\xC9\xE9\xF1\xED\x55\xE0\xEF\xD9\xEE\xD9\xE1\x39\xE8\xEF\xE5\xEE\xF6\xED\x55\xC6\xB7\x8A\x30\xD9\xE9\xBE\xD0\xEF\x50\xC9\xFC\xEC\x6F\xF6\xEF\x6B\xEC\x51\xD8\xBF\xEE\xED\x15\xE8\xA3\x88\xB4\xD7\xEE\x5B\xEE\xC7\xE6\x88\x4D\xED\xB1\xEC\xE6\xE3\xBB\xFB\xEF\x72\xEF\x87\xE2\x35\xC8\xF0\x7B\xEC\xF0\xE2\x45\xCC\xF0\x85\xEF\x6B\xEB\xB3\xC5\xB3\x10\xF2\xE2\xEE\xAB\xEF\xED\xFE", + "\xEC\x01\xF6\xBB\xC6\xF0\x9E\xED\x05\xFF\xB8\xCA\xF0\x50\xEE\x07\xF3\xB9\xE0\xF0\x07\xF0\xF9\xEA\xB0\xF1\xEC\xD1\xEF\x00\xF3\xB5\xC0\xF0\x94\xEC\x45\xD2\xC2\xEC\xF0\x24\xF1\x07\xF6\xC2\xFA\xEC\x3E\xE5\x06\xFB\xC2\xC5\xF0\x01\xF0\x1D\xCF\xC2\xF8\xF0\x2D\xF0\xEF\xE5\x7E\xFB\xF0\x1B\xF1\x0E\xFE\xC3\xCC\xEF\x97\x8F\x0C\xFB\xB8\xD4\xEB\xE4\xB4\x10\xFB\xBA\xF7\xEE\xA4\xEE\x12\xFA\xBB\xEC\xEE\x02\xF1\xC9\xEE\xC4\xFF\xEE\x50\xF2\x0B\xF6\xC4\xD7\xF0\xFD\xEE\x54\x2F\xBF\xFC\xF0\x31\xF0\xE9\xE1\x52\xD3\xF1\xC4\xEE\xFB\xE1\x46\xE6\xBB\x60\xF1\xF2\xE3\xC1\xCB\xE4\x11\xE6\x0A\xF9\xB5\xE3\xF0\x6B\xE8\x5A\xD8\x46\xE5\xF1\xD4\xEF\x19\xF0\x84\xC5\xF1\xB5\xEF\x12\xFC\xC1\xE4\xEE\xF0\xEF\x15\xF9\xAE\xD8\xF0\x5A\xF2\x06\xF6\xC7\xC2\xF1\xDC\xC8\x1C\xFD\xBD\xF2\xF1\x49\xF2\x1E\xF7\xB1\xE8\xE7\x37\xCA\x20\xF1\xBE\xDE\xEF\x14\xF2\x21\xF6\xB8\xC8\xF2\xD6\xEE\xBD\x8C\x6F\xF7\x8B\x1F\xF1\x1B\xF5\x1A\xD4\xF2\x6C\xF3\xC2\xED\x55\xD8\xF2\x30\xF2\x25\xFB\xC9\xF5\xE0\x9C\xF0\x17\xFE\xC9\xD1\xCE\xA1\xF1\x10\xFD\xC3\xD4\xC0\xA5\xF3\x1F\xF7\xCA", + "\xD2\xD1\xA9\xF3\x13\xFC\xC4\xED\xEE\xDC\x98\x28\xF2\xCB\xF9\xEF\x9F\xF0\x2D\xF4\xCA\xF1\xE4\xD9\x8B\x2C\xFC\xBF\xE4\xEB\xB9\xF2\x2D\xFA\xEB\xAD\xF2\x54\xF3\x2B\xF1\x70\xC0\xF3\x61\xF2\xFA\xED\x5C\xF0\xDF\xC4\xF2\x19\xF5\xC3\xC2\xD1\x44\xF1\x5C\xAE\xCB\xF9\xCF\xC9\xF1\x1C\xFB\xCC\xE4\xB3\xD1\xF3\x20\xF3\xCD\xF3\xF1\xCE\xF3\x2E\xFF\xA2\xC0\x8B\xBA\xF1\x02\xF3\xCA\xC7\xF3\xC0\xDD\x2C\xFF\xCC\xC3\xE2\xCD\xF2\x38\xFA\xCD\xEB\xEA\x30\xEA\xC1\xE9\xCD\xDE\xF3\x9A\xF3\x18\xFA\x20\xD5\xF3\x8B\xF0\x21\xF9\x3D\xFD\xF2\xE7\xF0\xE3\xE0\xA1\xF0\xF3\xF3\xEE\xF8\xE4\x54\xF8\xF3\xED\xEE\x31\xF0\xCD\xDD\xF3\x0D\xF1\x15\xFE\x12\xFC\xF3\x27\xF2\xF9\xE7\xCB\xE3\xF3\x8D\xD4\x43\x0F\x1E\x96\xF0\x7B\xF1\x81\xEB\xD0\xD5\xF2\xED\xF2\xAE\xBF\xD0\xD9\xF2\x28\xF1\x57\xD3\xD1\xDD\xF2\x11\xF5\xFE\xC7\xD1\xE2\xF2\x19\xF6\xFA\xCB\xD1\xE6\xF2\x5D\xF0\x2C\xFF\xD1\xEA\xF2\x21\xF5\xC0\xD3\xD2\xEE\xF2\x77\xF2\x48\xF5\x83\xE7\xF4\xC1\xF1\x4A\xF1\xC5\xC2\x04\x2C\xF5\x31\xF4\xBF\xD1\xCE\x31\xF6\x32\xF9\x9B\xC5\xAE\x35\xF6\x34\xF7\xD3\xC5\xB3\x39\xF6", + "\x35\xFB\xD3\xCD\xDD\xEE\x87\x4A\xF2\xD4\xC8\xF4\x0D\xB5\x4F\xF1\xCF\xD7\xF3\x30\xF5\x67\xE0\x7F\xC6\xF5\xF9\xF0\x23\xF8\xC6\xDA\x31\x4C\xF5\x3F\xF3\xD3\xEC\xD0\x51\xF5\x41\xF2\xC6\xD4\xF5\xB8\xF2\x42\xF3\xD4\xF5\xF3\x48\xF0\xB5\xB5\xD5\xF4\xF0\x3F\xF7\x49\xDB\xD4\xCA\xF5\x77\xD3\x57\xF7\xC4\xE4\xEC\xDE\xEB\xC4\xE2\x11\x26\xF5\x58\xF0\x2F\xF2\xB1\xC0\x00\x50\xF5\x56\xF1\xD4\xC4\xF5\x98\xE2\x56\xF4\xD7\xF7\xC8\x6C\xF5\x43\xFE\xD6\xF3\xF5\x5C\xF4\x5A\xF1\x10\x39\xF5\x87\xF3\xA5\xE6\xD4\x80\xF6\x8F\xF2\x60\xF8\xD3\xF2\xF5\x02\x05\x5D\xA7\xD7\xF2\xA9\x8A\xF5\x5F\xF2\x35\xCD\xF6\xEC\xF1\x45\xF1\x39\xD0\xF6\x01\xF6\x30\xF4\x51\xD4\xF6\x11\xF0\xAE\xDA\xCF\xDD\xD5\x98\xF4\x43\xF1\xD8\xE1\xED\xD4\xB9\x67\xF0\xD1\xD2\xF6\xBA\xBA\x68\xF4\xD1\xC6\xF4\x2C\xD2\x69\xF8\xD1\xE4\xF6\xF9\xCE\x6A\xFC\xD1\xEC\xF6\xEA\xCE\x6B\xF0\xD2\xDF\xF3\xAD\xF5\x0D\xE2\xDB\xE4\xF4\xB4\xF5\x6C\xF8\xD8\xC1\x04\xB7\xF4\x4A\xF0\xC8\xD2\xD1\xBD\xF5\x4B\xFF\xDB\xE7\xC8\xC1\xF6\x4C\xFB\xD9\xC7\xBA\xC5\xF6\x4D\xF1\x9C\xCC\x04\xC9\xF6\x4E\xFB\xDC\xE2", + "\xF5\xE1\xF1\x73\xFE\xD3\xCF\xF7\x7E\xE3\x1D\xD2\xDD\xC7\xF5\x61\xF4\x79\xB7\xDD\xCD\xF5\xF2\xF2\xF4\xBB\xDD\xD2\xF5\xC7\xF6\x39\xD5\x11\x1F\xF7\x56\xF6\x3F\xFA\xDB\xCB\xF6\x85\xAC\x79\xF0\xD6\xD4\xF7\xFC\xD2\x5A\xFC\xDC\xE4\xF5\xF4\xDE\x7A\xF7\xD6\xF6\xEC\x6E\xD2\x7B\xF3\x10\x32\xF7\x6D\xF7\x36\xF0\x91\xDA\x31\xF8\xF6\x5E\xFA\xDF\xEC\xCB\xFD\xF7\x67\xFC\xC7\xC0\xF8\xB6\xF5\x81\xF8\xDE\xC5\xB3\x01\xF9\x61\xF0\xDA\xDE\xF7\x06\xFA\x63\xF0\xB5\xC6\xB7\x77\xA7\x81\xFC\x10\x11\xF8\x0E\xF8\xDC\xC4\xE1\xD1\xF6\xA8\xF5\xFE\xC7\xE1\xD5\xF6\x2E\xF4\x45\xDB\xE1\xD9\xF6\x10\xE0\x24\xF5\xB8\x9F\xF8\x9E\xF6\x82\xF3\xE0\xC3\x04\x24\xFB\x68\xF9\xE1\xF3\xB8\x29\xFB\x69\xF7\xD5\xDA\xF8\x35\xE1\x8B\xFB\xDA\xEB\xF8\x75\xD2\x8C\xFF\xDA\xF4\xF8\x2D\xD6\x8D\xF3\xDB\xDD\xF4\x35\xF9\x8C\xFB\xDB\xC0\x00\x3A\xF8\x6E\xFC\xE3\xF9\xF8\x3E\xFA\x84\xF8\xE2\xFC\xDB\x41\xFA\x6F\xFB\xCA\xD7\xE9\xF0\xDD\x92\xF2\xDC\xCB\xF9\x6E\xF2\xB9\xBE\xE4\xC6\xF7\x4E\xF7\x68\xB3\xE5\xCA\xF7\x87\xEF\x88\xFF\xE3\xD7\xF9\xCE\xF5\x96\xF5\xCC\x9C\xF9\xD3\xF6\x97", + "\xF4\xCE\xA0\xF9\xD8\xF4\x7B\xF2\x70\xE5\xDF\x64\xF8\x77\xF8\xD4\xED\xF7\x70\xF5\x45\x09\xE6\xE0\xF7\x55\xF9\x75\xFA\xCE\xC0\xF9\xF0\xF4\x43\xEF\xE6\xE5\xF7\x53\xF6\x22\xEE\xE6\xDB\xF9\x45\xF9\x85\xFE\xB9\xF7\xF9\xEB\xF6\x98\xF6\xE5\xFD\xF9\x18\xFB\x8B\xFA\x3E\xC0\xFA\xF3\xF7\x83\xF5\x11\x3A\xA1\x20\xFA\x34\xEB\xAA\xCC\xFA\x25\xFA\x04\xFB\xE6\xC0\x00\x90\xFA\x8A\xF6\xE8\xF5\xD1\x95\xFA\x8B\xF6\xDE\xD8\xFA\x35\xE1\xA6\xF3\xE3\xD7\xFA\x2D\xD6\xA7\xF7\xE3\xE0\xFA\x3D\xBA\xA8\xFB\xE3\xF0\xF6\x9C\xFA\x91\xF4\xDE\xA6\xFA\x42\xF8\xAA\xF1\xEA\xDD\xFA\xB0\xFA\xAA\xF4\xED\xAC\xFA\x4A\xF9\x49\xF0\xB4\xCB\xFA\xB1\xFA\x9F\xF4\xBA\xF4\xFA\x4F\xFA\xAD\xF0\xF1\xBC\xFA\x54\xF9\x77\xF0\xEC\xD8\xF9\x22\xF8\x33\xF1\xCE\xC3\xFB\x5D\xF9\xB1\xFF\xD4\xF8\xFA\xB2\xFA\xF4\xB8\xEC\xE1\xF9\xCA\xFB\x68\xBF\xEC\xE5\xF9\x82\xF8\x76\xD2\x11\x13\xFB\x6A\xF9\x76\xF3\xEB\xF9\xFA\x85\xFB\xA6\xFC\x68\xDD\xD9\xD8\xF8\x9C\xFD\xDD\xE9\xF3\x0C\xE5\xB8\xF8\xE7\xE1\xF7\x3B\xD0\xB8\xF5\xE7\xED\xF9\xD7\xFB\x8F\xF6\xEE\xC1\xFA\xD1\xFA\xB5\xFC\x10\x2F\xFB", + "\x89\xFB\xEC\xE4\xEF\xF9\xF7\xE8\xF0\xB3\xFA\xEB\xF0\xF2\xF7\xFA\x7F\xF9\xEF\xED\xFB\xCD\xFA\x08\xBD\xEF\xC2\xF8\x59\xF0\xBB\xC4\x86\x8D\xFA\x23\xE5\xCC\xD7\xF0\xD1\xFA\x9A\xF5\x9C\xF1\x10\x0B\xFC\x96\xFA\xB7\xF4\x63\xD0\xFC\x9A\xF9\x9E\xFA\x3E\xD4\xFC\x9F\xFA\xC4\xF7\x23\xD8\xFC\xA3\xFA\xC6\xF6\xD4\x9C\xFC\xA7\xF8\x8E\xFD\xE3\xA0\xFC\xAD\xFA\xC8\xFB\xF1\xF5\xE0\x24\xFD\xAD\xF9\xDB\xF5\xD1\x29\xFD\xAF\xFB\xF2\xED\xD4\x2D\xFD\xB0\xF3\xE9\xE2\xB0\x31\xFC\xB1\xF6\xD8\xC5\xB3\x35\xFD\xB2\xF7\xF3\xC0\xF5\x02\x05\xCE\xF0\xED\xFB\xFC\xA3\xB6\xCF\xF4\xED\xF1\xFB\xD4\xBA\xD0\xF9\xED\xE6\xF9\x46\xFE\xB8\xF3\xE9\xC9\xFD\xE7\xFA\xC3\xF7\xE6\xF0\xDF\x4C\xFC\xBC\xF0\xF4\xF2\xF9\x0C\xE5\xD4\xF5\xEF\xDE\xEE\x56\xFC\xBE\xF6\xCF\xF4\xFC\x3F\xF9\xD6\xFE\xEF\xDB\xFD\x15\x06\xD7\xF4\xF0\xFB\xF5\x3D\xFF\xBA\xF4\x77\xA2\xFD\x26\xF9\xC1\xF5\x90\xD5\xFD\x66\xFD\xD8\xFB\xEE\xDA\x31\x68\xFE\xA4\xFA\xED\xD0\xE8\x71\xFD\xC3\xF3\xEE\xC8\xCA\x63\xA0\xCA\xFA\xF7\xC1\xFC\x6E\xFC\xDF\xF2\x11\x35\xFD\x21\xFB\xD4\xF5\xF4\xFF\xF8\x90\x75\xC4\xF6", + "\xF1\xCF\xB9\x85\xFD\xC5\xF8\xEE\xF3\xB8\x89\xFD\xC6\xF7\xF8\xED\xD4\x8D\xFD\xC7\xFF\xF8\xF4\xD8\x91\xFD\xC8\xF4\xEA\xF7\xC8\x95\xFD\xC9\xF7\xF9\xC6\xB5\x99\xFE\xCA\xF3\xE4\xFD\xB8\x9D\xFE\xCB\xFF\xF9\xD8\xFE\x35\xE1\xE8\xF2\xF3\xF3\xFD\x22\xB2\xE9\xF6\xF3\xCB\xF8\xA9\xFD\xE9\xFE\xFA\xFE\xFD\xEC\xCA\xEA\xFA\xF3\xEC\xFE\x66\xA3\xEB\xFB\xEF\xC1\xDC\xB2\xFF\xCF\xFB\xE0\xF9\xFE\x43\xFE\xE0\xFF\xF4\xE1\xF3\xBC\xFF\xD1\xF5\xED\xEC\xF9\x5A\x31\xF0\xFA\xF4\xE8\xFE\xB5\xFC\xEC\xF3\x10\x06\xFF\x4D\xFF\xDD\xFF\xB1\xCB\xFF\xB6\xFD\xB7\xF3\xF9\xE4\xFE\xCA\xFD\x5A\xF9\xC6\xD0\xFF\xD5\xFD\x7D\xFC\xEE\xCF\x76\x6D\xFE\x44\x0C\xFC\xD2\xFD\xB4\xFF\x7E\xF9\xFC\xF7\xFE\xB7\xFA\xF7\xF4\xF8\xD1\xFF\x1C\xFB\x70\xF8\x56\xDF\xFF\x57\xFC\xE9\xEC\xFE\xDA\xFD\x5D\xF6\xF4\xBF\xFE\xDF\xFD\xF1\xFD\xEB\xF9\xFD\xEE\xD4\x02\x05\x48\x99\xFE\xD0\xF9\xA5\xC6\xFE\xF8\xF0\xF0\xE7\x52\x66\xFF\x7C\xC3\x79\xF0\x71\xFE\x6C\x08\x02\x00\x86\x7F\x8B\x7F\x3A\x6B\x01\x82\xF1\x7E\xF4\x62\x61\x4B\x00\x8E\x7F\x09\x81\x96\x6B\x03\x82\xF2\x71\x01\x9D\x71\x53\x00", + "\x96\x7F\x1E\x7F\xC2\x57\x05\x82\xF3\x79\x01\x85\x66\x5B\x00\x9E\x7F\xAE\x7C\x1A\x6F\x07\x82\xF4\x71\x02\x97\x91\x63\x00\xA7\x7F\x66\x7C\x07\x81\x0D\x77\x04\x8B\xFA\x67\xF1\x7C\xB6\x12\x02\x2C\x81\xD9\x7E\x0B\x81\x20\x01\x03\x9A\xFD\x73\x00\x80\x00\x35\x81\xDE\x7F\x82\x79\x07\x82\xFC\x64\xFA\x78\x00\xDD\x7F\x06\x81\xB7\x7D\x45\x04\x07\x87\xFC\x69\x01\x83\x01\xAB\x80\x3F\x7C\x22\x81\xF3\x7B\xE6\x77\x04\x97\xFF\x4A\x01\xE0\x7F\x37\x81\x90\x6B\x13\x85\xFD\x70\xCB\x68\xA3\x53\x01\xF0\x7F\x7E\x7B\xCF\x77\xF5\x79\xFF\x72\x04\x90\x01\x89\x01\xDF\x80\x4E\x80\x24\x81\x18\x83\x0C\x84\xFE\x6E\x89\x57\x01\xF4\x7F\x59\x80\xE3\x5B\x11\x25\xD9\x7B\x06\x85\x03\x94\xC0\x6D\x80\xD2\x7F\x0A\x83\x8D\x60\x0E\x8B\xFF\x7E\xF5\x5C\xCB\x74\x80\xFF\x7E\xFD\x71\xFD\x7D\x22\x08\x07\x83\x00\x8E\xFA\x60\x7E\x12\x03\x3E\x80\x02\x86\xE9\x72\x08\x8C\x00\x8E\xFF\x0C\x02\x85\x80\x08\x81\x03\x84\x0F\x85\x83\x69\x04\x94\x00\x8B\x81\x81\x81\x46\x82\x24\x87\xFE\x7A\x06\x93\x04\xAE\x01\xD2\x68\x8E\x80\x0C\x83\xF4\x7A\x4E\x59\x09\x9C\x00\x9B\x02\x8C", + "\x81\xF7\x7F\x90\x69\x27\x80\x04\x86\xF2\x67\xCD\x4A\xC8\x23\x81\x24\x81\x52\x81\xE1\x50\x15\x88\x02\x83\xFE\x52\xBF\x2C\x81\x2D\x80\xB5\x7F\x0B\x80\x11\x86\x09\x91\x03\x90\x02\xB4\x81\xA1\x81\x2E\x6C\x2C\x82\x06\x82\x0B\x9A\xFE\x5A\x31\x3B\x81\x36\x81\x5E\x82\x16\x84\xEE\x40\x0C\x9A\x01\x91\x01\xE6\x5D\xC5\x81\x1E\x82\xEF\x7E\xE2\x61\x09\x94\x04\xA0\x02\x97\x81\x27\x65\x64\x81\x11\x86\x15\x82\xC2\x52\x06\x8B\x01\xC8\x7F\xCD\x80\x68\x80\x5A\x6E\x1A\x80\x05\x82\x06\x9C\x03\xD4\x80\x2F\x7A\xD7\x75\x40\x01\x20\x52\x10\x04\x07\xA3\x03\x95\x02\xE6\x80\x00\x01\x3A\x83\x1D\x88\x0E\x8D\x07\x92\x04\x6C\x81\xEF\x80\x77\x80\x43\x00\x1E\x83\x0F\x95\x08\x3F\xA3\x02\x02\xF7\x81\x80\x01\x3E\x86\x1F\x56\x0F\x9D\x07\x92\x04\x7B\x81\x00\x82\x7F\x80\x43\x01\x20\x8F\x0F\x82\x08\x83\x04\x04\x82\x8B\x3B\xC4\x3A\x42\x81\x21\x8C\x10\x83\x08\x0A\x68\x0F\x82\x15\x53\xAD\x29\x44\x84\x87\x23\x11\x86\xD2\x15\x04\x8A\x34\x19\x52\x89\x01\x46\x84\x21\x0B\x11\x83\x08\x1D\x04\x82\x02\x1F\x83\x80\x01\x48\x80\x00\x03\x12\x85\x09\x95\x04\x26\x82", + "\x1A\x83\x93\x82\x4A\x81\x25\x8C\x12\x94\xCA\x28\x59\x63\x49\xFC\x6D\xA7\x4F\x20\x85\xBB\x72\x13\x86\x04\x8C\x01\x92\x02\x35\x82\x45\x83\x21\x83\x29\x45\x83\x79\x09\x8F\x02\xBB\x82\x02\x02\x9F\x82\x26\x82\x0E\x82\xA7\x42\x0A\x9E\x02\xC4\x82\x85\x56\xA3\x80\x29\x83\xF3\x79\x14\x9D\x09\x8E\x05\xF7\x7F\x4A\x83\x54\x80\x53\x85\x98\x51\x15\x8D\x05\xBE\x00\xCC\x81\x18\x43\xA7\x82\x36\x84\xA8\x65\x15\x91\x05\x9F\xE4\x5D\x82\xBC\x81\xAF\x80\x10\x84\x27\x89\x0B\x8A\x90\x60\x05\xC1\x81\x64\x7F\x80\x03\x59\x86\x18\x82\x0C\x8B\x0B\x8A\x03\x85\x80\x25\x76\xB7\x83\x34\x87\x2A\x80\x13\x90\x0A\xA3\x05\xC1\x82\x5D\x81\xAC\x81\x59\x80\xFE\x62\x17\x97\x06\x86\x01\xE2\x7F\x38\x83\x1F\x7D\x5F\x85\x1B\x89\x16\x98\xFF\x6A\x05\xDA\x82\xB6\x80\xA0\x83\x61\x86\x2E\x8C\x18\x9B\x0A\x9D\xD5\x03\x83\xE0\x81\xF2\x7C\x43\x03\x22\x5E\x07\x89\xF8\x52\xCD\x14\x83\x33\x83\x49\x7C\x66\x86\x26\x88\x0D\x93\x0C\xB5\xE0\x1B\x83\x3A\x83\x9B\x82\x67\x87\xFE\x70\x1A\x9F\x09\x9A\x06\x9F\x83\xA8\x82\xD2\x81\x6A\x86\x31\x81\x39\x65\x0D\x83\x05\xB7\x81\x03", + "\x02\xD7\x83\x51\x80\x36\x83\x0B\x91\x0D\xAB\x06\x89\x83\xA2\x82\xDB\x81\xB3\x7A\x36\x8B\x14\x9D\x00\xA3\x06\xAC\x83\xE0\x79\x39\x7C\x6F\x82\x2A\x8E\x1B\x90\xEE\x74\xDF\x43\x83\x56\x83\x65\x81\x45\x00\x39\x8E\x15\x9F\xEF\x7A\x06\xC0\x83\x7A\x7C\x89\x00\x73\x81\x2C\x8E\x1C\x82\x08\x13\x07\xE8\x82\xD5\x83\x80\x03\x75\x84\x2D\x85\x18\x81\xA9\x5B\x07\xEF\x82\xC7\x80\x05\x67\x77\x83\x2E\x8A\x1C\x90\xC8\x74\x9D\x63\x83\x7E\x82\x6A\x81\xB9\x72\x3A\x8F\xE3\x68\x0F\x84\x06\xD9\x83\x86\x82\x00\x02\x7B\x81\x32\x8E\x12\x73\x0F\x98\x01\xF4\x7B\xF2\x83\xDB\x81\x1D\x87\xE5\x74\x63\x76\x0F\xA8\x01\xF8\x83\xFE\x83\xB1\x7C\x7C\x86\xB8\x52\xC2\x45\x10\x85\xAE\x06\x84\xC5\x58\x04\x84\x39\x58\x2B\x83\xDA\x4A\x10\xAB\xFD\x5B\x80\xC4\x7F\x03\x87\x99\x74\xBC\x5E\x20\x96\xFE\x74\x9D\x64\x7D\xDB\x7E\xE3\x82\x7D\x7C\xEA\x79\x21\x92\xF7\x58\xF3\x52\x5F\x15\x84\x6A\x5D\x88\x81\x3E\x88\x8A\x2C\x08\x25\x08\x83\x02\x27\x84\xF2\x59\x8A\x84\xDA\x5B\x22\x92\x7E\x6D\x08\xA2\x58\x2D\x85\x17\x85\x45\x02\x46\x82\x11\x14\x11\xA6\x08\x85\x57\x36\x84", + "\x14\x84\x8E\x83\x42\x81\x10\x19\x11\x82\x04\x3E\x84\x3D\x85\x19\x86\x90\x86\xD8\x73\xE7\x60\x12\x9A\x01\xDA\x18\x46\x85\x24\x84\x8F\x80\x00\x0A\x24\x85\x66\x46\x09\xA1\x6A\x4F\x84\x73\x5D\x94\x85\xFC\x63\x25\x85\xE7\x46\x09\xC6\x5B\x57\x85\x21\x84\x39\x5D\x49\x8B\x25\x9B\x11\x8E\x09\xCB\x84\xCF\x51\x80\x01\x98\x80\x00\x03\x26\x82\x61\x65\x09\x95\x02\x67\x84\xB2\x39\xE1\x53\x4C\x89\x26\x97\xA0\x2B\x09\xEF\x84\xC5\x59\x36\x84\x4E\x28\x4E\x8C\xF3\x62\x13\xB4\x09\xA3\x5B\x6C\x84\x34\x84\x6B\x70\xFE\x62\x27\x96\xFE\x5A\x31\x7D\x84\x76\x85\x38\x84\x98\x87\x4E\x84\xDE\x40\x14\x83\x03\xFA\x84\x44\x84\x86\x72\xA1\x81\xA4\x6B\x28\x86\x77\x46\x0A\xC6\x5B\x8F\x84\x44\x84\x39\x5E\x50\x84\x29\x84\x14\x94\xBB\x11\x85\x37\x45\xBE\x31\x0B\x4C\xDA\x5A\x87\x02\x61\x5D\x0A\xAA\x19\xC5\x58\x3D\x13\xA7\x81\x53\x8E\x29\x85\x5C\x63\x0A\xCF\x47\x9C\x84\x53\x87\x92\x87\x54\x8B\x29\x92\x7E\x62\x0A\xA0\x85\x68\x78\xBA\x4C\xAB\x86\x4F\x80\x2B\x83\x6D\x73\x0A\xBB\x39\x1E\x85\xBC\x2D\xA8\x82\x55\x89\x28\x90\x10\x9A\x0A\x9C\x84\x5A\x19\x5B", + "\x87\xA1\x84\x54\x8B\x1E\x88\x15\x90\xE8\x42\x85\xC6\x5A\x61\x86\xB2\x84\x57\x84\xCE\x4B\x16\x82\xE7\x0C\x02\xD2\x17\x68\x85\x15\x26\x18\x30\x2D\x93\x16\x95\x0B\xD4\x85\x62\x2F\x6B\x86\xB6\x81\x5B\x8C\x2D\x99\x9B\x1E\x0B\x81\x02\x7B\x49\x70\x85\xE1\x53\x8F\x42\xC2\x44\x17\x95\x04\x66\x85\x72\x43\x73\x87\xB8\x83\x5D\x85\xCC\x48\x17\x8C\x04\x6E\x85\x96\x50\x76\x85\x9D\x83\x8A\x42\x2F\x83\x6D\x62\x0B\xE9\x85\xBD\x84\xBA\x4C\xBC\x84\x56\x88\x2F\x84\x67\x7B\x0B\xE0\x85\x4B\x85\x7F\x84\xBD\x85\x5D\x8B\x27\x81\xE7\x42\x0C\xE8\x68\x07\x87\x2E\x6D\xC2\x82\x41\x62\x30\x86\x6E\x4D\x0C\xEA\x85\x04\x87\x88\x86\xBF\x85\x5E\x84\xDE\x4F\x18\x92\x04\x6C\x3A\x03\x02\x8C\x86\x40\x02\x63\x84\xED\x5C\x18\x92\xBF\x1E\x86\x22\x58\x90\x85\x45\x06\x63\x82\x32\x97\x18\x85\xAE\x25\x86\x0C\x02\x94\x85\xC6\x87\x64\x8C\x32\x8F\x16\xAB\x0C\xC5\x59\x2A\x87\x8D\x87\xC8\x83\x66\x89\x2F\x94\x19\x8B\xFB\x26\x86\x30\x87\x96\x87\xBC\x81\x66\x81\x10\x1C\x19\x80\x00\x3E\x86\x21\x6A\xA0\x86\xB9\x5A\x68\x85\x7E\x64\x1A\xA5\xF3\x3E\x86\xC6\x5A\xA4\x86", + "\xCD\x83\xB4\x5E\x33\x8D\x1A\xBA\x0C\xCC\x86\x4B\x84\x39\x56\xD4\x85\x70\x56\xD4\x55\x1A\x94\x0D\xAC\x68\x56\x87\x62\x59\xD6\x84\x9C\x5B\x35\x9F\x10\x9D\x0D\xE4\x5B\x53\x87\x74\x7D\xF9\x6E\x14\x85\xCE\x7F\x1A\x94\xBB\x11\x79\x75\x68\xB3\x87\xEF\x7B\xCE\x74\x36\x97\xA3\x6D\x0D\xEC\x86\x05\x86\xFA\x6C\xDA\x81\x36\x79\x36\x97\x1A\x9A\x0D\xF6\x86\x5C\x87\x25\x87\x1F\x52\x22\x0B\x37\x8C\x08\x3D\x0D\xA3\x5B\x7F\x86\xF2\x59\xE0\x84\xDA\x53\x38\x92\x7E\x45\x0E\x85\x87\x22\x58\xC4\x85\x45\x02\x71\x8C\x37\x85\x5C\x4C\x0E\xFE\x86\x8E\x86\xBD\x85\xE4\x85\x98\x57\x38\x8B\x1C\xB1\x0D\x9B\x84\x01\x03\xC7\x87\x83\x82\x8B\x1A\x39\x82\x08\x1D\x0E\x99\x87\x92\x86\xCA\x87\xE4\x81\x56\x86\x39\x9D\x15\x9C\x0E\x97\x87\xBE\x85\xCF\x87\x91\x85\x74\x83\x2F\x8A\x1D\x86\xB7\x2A\x87\xB0\x87\xD1\x84\xE0\x82\x76\x89\x2B\x85\x8D\x47\xBA\x11\x67\xB8\x86\x16\x69\xEE\x87\xC1\x5B\x3B\x8A\x9F\x7D\x0E\xF5\x68\xBF\x87\x96\x6B\x27\x6E\x25\x61\x3C\x9D\x71\x77\x0E\xC1\x83\x98\x87\xAE\x68\x1A\x6D\x78\x87\x23\x63\x1E\x9C\xCB\x4C\x87\x6F\x87\xE4\x86\x3B", + "\x7D\x9C\x73\x3D\x81\xE7\x55\x0F\xF4\x6F\xCE\x86\xC1\x77\xF3\x82\x77\x8C\x3D\x99\x9F\x50\x0F\xCB\x84\x11\x1C\x39\x55\xF8\x82\x14\x4D\x52\x63\x1F\x85\xB3\x66\x87\xE4\x58\xF4\x87\x68\x5A\x7D\x85\x3D\x2C\xA1\x6C\x0F\xD4\x5D\xEF\x86\xE9\x5D\xFC\x82\x84\x53\x3F\x84\x1F\xB4\xD8\x75\x87\xCF\x7F\xF6\x85\xFE\x60\x7F\x88\x3E\x4F\x72\x71\x0F\xFC\x87\x0F\x84\xBA\x4C\x00\x8C\x5F\x8D\x3F\x85\x1F\xAE\x0F\xE2\x7B\xEF\x1D\x3A\x6B\x00\x8E\x2B\x28\x3C\x9E\x15\x8B\x10\xAB\x87\x09\x89\x6F\x7D\xF9\x6F\x81\x88\x46\x6F\x20\x86\xB7\x16\x88\xF6\x87\x1B\x67\x03\x8B\x83\x87\x40\x9B\x1F\x88\x10\xF7\x47\x4F\x5D\x97\x16\x9C\x52\x84\x85\xB8\x44\x21\x85\xB3\x26\x88\xE4\x58\x14\x8B\x68\x5A\x85\x82\x91\x35\xA3\x6C\x10\xD4\x5D\x2F\x88\xE9\x5D\x0C\x8A\x84\x53\x43\x89\x71\x39\xCF\x35\x88\xF9\x86\x43\x4F\x0D\x8C\x85\x61\x43\x9D\x21\x8D\x10\xF4\x4E\x38\x89\xB7\x7A\x16\x19\x88\x8B\x80\x1B\x21\x91\x07\xA0\x88\x2D\x6A\x22\x89\x0B\x8A\x82\x80\x7F\x6A\x22\xBE\x02\xB6\x88\xE4\x79\x70\x7A\x13\x88\x82\x88\x44\x95\xEB\x45\x11\xEA\x6B\x50\x88\x17\x88\x0F\x8B", + "\x8B\x86\x44\x8A\x9F\x53\x11\xC6\x5B\xAC\x20\x39\x55\x18\x8D\xE7\x3A\x3E\x63\x23\x85\xB3\x66\x88\xE4\x58\x34\x8B\x68\x5A\x8D\x8D\x7A\x39\x9F\x6C\x11\xD4\x5D\x6F\x88\xE9\x5D\x1C\x8A\x84\x53\x47\x84\x23\xB5\xD1\x75\x88\x39\x89\x2E\x52\x1B\x8C\x85\x61\x47\x9D\x23\xBF\x10\xF6\x88\x4C\x89\x3B\x68\x1E\x8D\xDC\x2C\x47\x9F\x20\x82\x9A\x05\x89\x7B\x88\xB1\x84\xFC\x6B\x90\x8B\x39\x80\x24\xA2\xE6\x5D\x6C\x8C\x88\x02\x8B\x21\x8F\x88\x83\x49\x98\x22\x8E\x64\x2D\x6A\x91\x88\x52\x35\x22\x8D\x8C\x88\x48\x96\x24\xB0\xCD\x74\x60\x14\x6B\x50\x8A\x4B\x62\x94\x84\x01\x64\x25\x92\xD1\x26\x89\x27\x64\x54\x88\x5A\x6A\x32\x8E\xB9\x6A\x25\xA5\xC6\x20\x89\x43\x79\x70\x7B\x39\x72\x41\x6E\x4A\x9D\xAA\x6C\x12\xA4\x77\xB5\x89\xEB\x85\xF2\x83\x96\x85\xCE\x7C\x25\xB2\x12\xB1\x89\xF4\x6F\x5B\x88\x2C\x7E\xB8\x59\x4B\x8C\xA1\x45\x13\xF9\x67\xC7\x88\x4F\x8B\x40\x03\x0C\x00\xF1\x4C\x26\x94\xC0\x4E\x89\x52\x68\x68\x8B\x89\x62\x9A\x88\x56\x74\x26\x84\xD5\x56\x89\x50\x64\x6C\x89\xE4\x62\x9B\x8C\x42\x7C\x26\xB9\xCF\x5E\x89\xEA\x66\x70\x89\x1D\x6A\x9C", + "\x8D\x52\x64\x27\x96\x11\x82\x02\xE6\x89\x1B\x65\x3A\x8E\xA8\x5B\x4E\x95\x08\x2D\x13\x92\x02\xEF\x88\xD2\x84\x3C\x88\x98\x8C\x90\x71\x27\xA3\xB6\x76\x89\xE4\x5A\x7C\x8B\x3C\x7C\x21\x0A\x4F\x92\x7E\x7D\x13\xA2\x58\xFF\x88\x52\x64\xDD\x49\xA0\x80\x18\x9C\x27\xB4\x13\xBE\x85\x04\x8A\x21\x8A\x3B\x8F\x41\x6B\x50\x8F\xCB\x4D\x14\xD1\x89\x2E\x63\x84\x8B\x32\x89\xA2\x84\x51\x8E\x28\x87\x60\x07\x5D\x9F\x0E\x8C\x8A\x4B\x61\xA3\x8C\x42\x7C\x28\xB9\xCF\x1E\x8A\xEA\x66\x90\x8B\x93\x5A\xA4\x8D\x52\x64\x29\xB4\xD8\x26\x8A\x37\x64\x94\x8A\x51\x5A\xA5\x85\xB8\x4C\x29\x85\xB3\x2E\x8A\xF3\x84\x98\x8B\x68\x5A\xA6\x84\xDE\x54\x29\xAE\x6E\x7F\x61\x36\x8B\xB5\x85\xF2\x81\xA7\x88\x21\x9A\x62\x3C\x14\xBA\x47\x91\x67\x9F\x89\x1E\x8A\xA8\x80\x65\x41\x2A\x87\x14\xF4\x4E\x44\x8B\x46\x8B\x45\x8F\x8F\x8B\x54\x8A\x24\xB7\xD1\x49\x8A\xB5\x82\x60\x32\xF6\x85\xA8\x8D\x51\x9B\x28\x96\x15\xDC\x65\x50\x8B\x9B\x89\x0A\x7B\x20\x04\x50\x47\x74\x5D\x15\xBA\x5D\x5F\x8B\xFC\x65\x58\x8A\x7D\x63\x56\x95\xA3\x65\x15\xAD\x6A\x67\x8B\x1E\x5D\x5A\x8F\x46\x6B", + "\x56\x86\x6A\x6D\x15\x85\x57\x6F\x8B\x62\x59\x5C\x8C\x9C\x53\x57\x83\x6D\x75\x15\xB5\x87\x00\x01\xBB\x88\xB5\x5A\xAF\x82\xFD\x5C\x2B\xBE\x15\xC7\x8A\x15\x02\xBE\x89\x4F\x89\xB0\x8E\x12\x62\x2C\x84\x16\x96\x8A\xD4\x4F\xC2\x8A\x62\x89\x78\x75\x7E\x66\x2C\x85\x14\xDC\x8A\x80\x8A\x89\x02\x63\x8A\xA1\x82\x59\x8C\x28\x95\x16\x88\x8B\x90\x8A\x6E\x67\x64\x89\xB3\x82\x45\x7B\x2C\xBD\x9B\x0B\x8B\x53\x8B\x81\x01\x22\x57\x1F\x63\x5A\x85\x8D\x65\x16\xDD\x6A\xA7\x8B\xC8\x65\x6A\x8C\x85\x6B\x5A\x99\x9F\x6D\x16\xB3\x5C\xAF\x8B\x3A\x69\x6C\x8D\xA5\x63\x5B\x94\xB1\x75\x16\xB7\x64\xB7\x8A\xA3\x59\x6E\x8D\x70\x5B\x5B\x8E\x19\x82\x04\x3D\x8B\xE4\x58\xE0\x8B\x68\x5A\xB8\x8F\x5B\x90\x78\x44\x17\xEC\x7C\x74\x4F\xE3\x8A\x4E\x8D\x43\x81\x10\x0A\x2E\xA2\xB0\x4E\x8B\x15\x02\xE8\x89\x1E\x8A\xBA\x8C\x10\x14\x2E\xA2\x16\x91\x8B\xD5\x8B\x83\x8A\x16\x1E\xBA\x86\x21\x91\x2E\x9A\x17\xDE\x8B\x98\x8B\xE2\x89\x78\x8D\xB9\x8E\x12\x7C\x2E\xA4\x17\xDC\x65\xE6\x8A\x00\x01\x7A\x89\xBD\x86\xDC\x51\xB9\x6E\x17\xF8\x83\x59\x81\xF8\x88\x7C\x8A\x6A\x62\x5F", + "\x90\xDA\x75\x17\xB3\x77\xF7\x8A\xCF\x75\x1A\x87\x06\x89\x5F\x92\xA9\x6F\x17\x99\x77\x5D\x6D\x2C\x80\x1A\x6D\xBF\x80\xCB\x7B\x2F\x82\x03\x84\x8C\xE1\x81\x61\x85\x77\x86\xDC\x52\x60\x81\x30\xB8\x07\x83\x8C\xF8\x83\xF6\x89\x84\x8C\xBF\x83\x5F\x96\x2F\x95\x18\xF8\x8B\x13\x8C\x89\x03\x21\x50\x81\x6B\x61\x90\x9B\x5D\x18\x9E\x77\x1F\x8C\xD2\x75\x88\x88\x96\x73\x62\x89\x30\xA5\x18\xF4\x60\x27\x8C\x97\x61\x8A\x8C\x5B\x6B\x62\x92\xA2\x6D\x18\xA7\x64\x2F\x8C\xB4\x69\x8C\x8C\xA8\x63\x63\x8F\xDF\x55\x04\x35\x8C\x91\x66\x1C\x8C\x0B\x6A\xC7\x8F\xE0\x5C\x31\xB3\xB8\x3E\x8C\x81\x6C\xF8\x6C\x90\x89\x90\x84\x7F\x63\x32\xB4\xD8\x46\x8C\x37\x64\x24\x8F\xDC\x81\x20\x0A\x64\x85\x5C\x4D\x19\xC5\x59\x4F\x8C\x79\x8A\x21\x57\xC1\x86\xEE\x51\x32\x9A\x08\xBE\x85\x56\x8C\x60\x87\x8D\x89\xC3\x83\x65\x8A\xF4\x5A\x18\xF8\x83\x59\x8C\x6A\x5D\x98\x8A\xFA\x53\x66\x82\x61\x65\x19\xDB\x8C\x5E\x8C\x86\x00\x79\x50\x6E\x6B\x66\x8E\xA0\x6D\x19\xA4\x77\x6F\x8C\x58\x79\x9C\x89\xC1\x83\x67\x94\xA8\x75\x19\x90\x5E\x77\x8C\x6E\x65\x9E\x8A\x8A\x6B\x67\x87", + "\x91\x7D\x19\xE8\x6A\x7F\x8C\xA2\x69\xA0\x8D\xAB\x63\x68\x99\x1E\x83\x04\x05\x8D\x2C\x68\x44\x8D\xFE\x62\xD1\x83\xE3\x4C\x34\x8F\xB9\x0E\x8D\x44\x8D\xE4\x84\xA4\x8F\x91\x8A\x20\x73\x34\xB7\xC8\x16\x8D\x46\x5A\x4C\x8F\x92\x82\xD3\x85\xCC\x5C\x34\xA4\xB3\x1E\x8D\x57\x8C\xBA\x4C\xA8\x8A\xCB\x82\x11\x03\x35\x88\x17\x95\x02\xA6\x8D\xE5\x8A\x16\x19\xD5\x8C\x20\x82\x08\x2C\x1A\xF8\x7E\xAE\x8C\xFC\x83\xAB\x8D\xD4\x82\x6B\x95\x35\x90\xED\x33\x8D\xEC\x65\x05\x7E\xAE\x8F\x06\x80\x17\x8A\x0F\xB9\x06\xAE\x81\xBD\x8C\xBA\x83\xAF\x8A\xD8\x8D\x19\x9F\x0B\x85\x1B\xD1\x8A\xC4\x8C\x63\x8E\x99\x7B\xD7\x82\x0C\x81\xA9\x41\x1B\xD4\x88\xCA\x8C\x5F\x8F\xB1\x8A\x1C\x85\x1E\x93\x36\x95\x1B\x81\x88\x8A\x82\x68\x8E\xB4\x88\xDB\x83\x6C\x9A\x36\x89\x1B\xC8\x8D\xD7\x8C\x70\x8F\xB3\x8B\xDC\x8C\x6B\x85\x37\x82\x03\xCF\x8D\xC6\x5A\x2D\x53\x47\x72\xDD\x82\x99\x6C\x37\xBF\xFB\x0C\x02\xEE\x8C\x40\x80\xBC\x8F\x06\x81\x6F\x9B\x03\x92\xA1\x0F\x74\xF5\x8D\x2C\x81\xBE\x88\x3F\x8B\x6F\x90\xDA\x7D\x1B\xB3\x77\xFF\x8C\xCF\x75\xC0\x8C\x74\x73\x70\x83\x26", + "\x95\x04\x05\x8E\x09\x8C\x84\x8C\x45\x6A\xE1\x80\xF1\x4C\x38\x94\xC0\x0E\x8E\x5C\x75\x2E\x6C\xC4\x8C\xC9\x77\x47\x73\x38\xA8\xD5\x16\x8E\x44\x6A\x8C\x8E\x8D\x8F\xDE\x82\x0C\x9A\x38\x91\xCE\x1E\x8E\x4C\x8B\x79\x8D\xB3\x8E\xDC\x50\x72\x8E\x2A\xB3\xF9\x25\x8E\x51\x88\xFA\x6C\xCA\x89\xA1\x73\x10\x0B\x39\xB4\x0D\x82\x02\x2E\x8E\x1A\x6D\xCC\x8F\x46\x63\x73\x86\x6A\x75\x1C\x85\x57\x37\x8F\x62\x59\xCE\x8B\x5E\x86\x85\x52\xCC\x7D\x1C\xAB\x75\x3F\x8E\x79\x8F\x40\x01\xE8\x86\x6F\x8C\x08\x04\x1D\xD9\x80\x47\x8E\xFC\x81\xD2\x88\x81\x6B\x74\x93\xDD\x4D\x1D\x9E\x77\x4F\x8E\xD2\x75\xD4\x88\x96\x73\x75\x89\x30\x95\x1D\x94\x6A\x57\x8E\xCB\x8A\xD1\x8F\x06\x89\x75\x9C\x96\x5D\x1D\x9B\x60\x5F\x8F\xE8\x5D\xD8\x89\xCA\x75\x7E\x63\x3B\x86\xEF\x65\x79\x66\x8F\xAE\x69\xDA\x89\x72\x6B\x76\x86\x24\x82\x04\x6D\x8E\xF9\x66\xB8\x8E\xFA\x62\xEE\x81\x64\x81\xE7\x74\x1D\x91\x8D\xCC\x8A\x00\x03\xDD\x8C\xD2\x80\x7F\x7B\x3B\x8B\xEF\x77\x68\x7E\x8F\x25\x8E\xDE\x8F\x06\x86\xDC\x41\x3C\x85\xAE\x06\x8F\xC5\x58\xC4\x8C\x39\x5A\xF1\x83\xDA\x4C\x3C\xA4", + "\xB7\x0E\x8F\xFB\x89\x81\x02\x79\x57\x23\x73\x79\x92\xCC\x55\x1E\xEF\x8D\x92\x8F\x1B\x83\xE5\x8A\xE8\x82\x10\x1B\x3C\x85\x1D\x99\x8F\x05\x74\xCF\x8D\x16\x82\xF4\x88\x1F\x84\x3D\x90\xED\x26\x8F\xB3\x76\xD4\x8E\xE7\x72\xF5\x84\xBA\x6C\x3D\x86\x1C\x92\x02\xAE\x8F\x04\x8D\xEC\x8C\xA2\x63\x7B\x90\x78\x75\x1E\x94\x60\xB7\x8F\x88\x8D\xF9\x69\xF7\x84\x71\x94\xBF\x7C\x1E\xE8\x6A\xBF\x8E\xA2\x69\xF0\x8B\xE3\x8C\x10\x03\x3E\x91\xCE\x46\x8F\x2C\x68\xE4\x8E\xC9\x89\x79\x8A\x7C\x89\x39\x8C\xE4\x4D\x8F\x75\x8F\x39\x7C\xF4\x88\xEF\x8A\xC5\x13\x3E\xA7\x13\x81\x02\xD6\x8E\x77\x6D\x45\x01\xFB\x86\xD4\x5C\x3E\x85\xAE\x5E\x8F\xC5\x58\xF0\x8C\x39\x5A\xFC\x83\xDA\x44\x3F\xB8\x15\xD9\x53\xF1\x7E\xF4\x8D\xCC\x6A\xFD\x88\x1F\x8C\x3F\x90\xED\x6E\x8F\xB3\x76\xF8\x8E\xE7\x72\xFE\x82\x53\x74\x3F\xB0\xF2\x76\x8F\x09\x8C\xFC\x8C\x45\x6A\xFF\x8E\x12\x7C\x3F\x9C\xCB\x7E\x8F\x52\x68\x00\x93\x8F\x75\x22\x02\x80\x88\xAB\x45\x20\xC4\x6A\x07\x90\x28\x65\x02\x97\xD0\x5B\x80\x81\x39\x83\x04\x0D\x90\xCB\x8F\xBC\x8C\x04\x92\x7D\x63\x81\x95\xA3\x55\x20", + "\xAF\x8E\x01\x03\x0B\x90\x8D\x6A\x03\x97\x23\x7C\x40\x91\x0F\xBE\x85\x1E\x90\xD4\x86\x16\x19\x04\x95\x33\x92\x08\x24\x20\xB7\x86\x0C\x03\x13\x93\x87\x82\x05\x97\x7E\x97\x01\xAC\x20\xD4\x5D\x2F\x90\xE9\x5D\x0C\x92\x84\x53\x83\x84\x40\x84\x1E\x95\x02\xB1\x4F\x55\x75\x0E\x96\x9E\x7B\x83\x9F\x3C\x82\x04\x3D\x90\x59\x80\x20\x90\x7E\x82\x08\x90\xB5\x64\x42\xB0\xCD\x46\x90\x9E\x76\x24\x90\xE9\x72\x09\x90\xCB\x6C\x42\x89\x18\xCE\x90\x14\x6A\x28\x92\x4B\x62\x0A\x93\x5E\x80\x00\x14\x21\xD2\x68\x57\x91\x13\x65\x16\x97\x1F\x6B\x85\x85\x8D\x5D\x21\xCA\x87\x5D\x6D\x2F\x92\x2E\x89\xEF\x82\x86\x8C\xA1\x65\x21\xF9\x67\x67\x90\x65\x8B\x0F\x97\x06\x89\x86\x95\xA3\x6D\x21\xF8\x8E\x74\x4F\x37\x90\xDF\x8F\x8E\x62\x87\x9F\x3B\xB3\xF9\x75\x90\x1F\x90\x2D\x18\x1E\x93\x49\x8B\x87\x9E\x2D\x81\x04\x7D\x90\xE4\x58\x40\x93\x68\x5A\x10\x94\xDE\x44\x44\x94\xBB\x06\x91\xD2\x5E\x44\x91\xAB\x89\x20\x0E\x9D\x5F\xC8\x4D\x22\x92\x73\x8F\x90\xCC\x8F\x76\x57\x06\x81\x89\x9C\x3C\x8C\x22\x94\x91\x0F\x75\x4A\x92\x0F\x97\x12\x92\x0C\x9A\x44\x99\x01\x9E", + "\x91\xF8\x82\x50\x90\xD4\x72\x14\x93\xBB\x64\x45\x9E\xEE\x46\x5B\xA6\x90\xD2\x75\x2A\x90\x96\x7B\x8A\x81\xB8\x6D\x22\xF4\x60\xAF\x90\xEC\x8B\x40\x01\x16\x9C\x58\x85\xE7\x74\x22\xD2\x68\xB7\x91\x13\x65\x2E\x91\x4C\x75\x11\x1B\x45\x84\xD5\x3E\x91\x5D\x6A\x60\x93\x18\x94\xEE\x42\x8C\x8D\x20\x9A\x31\x45\x91\x11\x90\x62\x91\x78\x86\x16\x97\x83\x92\x08\x08\x23\xEA\x90\x9C\x91\xC2\x83\x33\x95\x8E\x63\x8D\x8D\xA9\x55\x23\xB4\x6C\xD7\x91\x1B\x65\x36\x92\xF0\x8E\xF4\x7D\x46\x99\x1B\xB4\x83\x9F\x81\x62\x58\x38\x90\x29\x85\x02\x86\x6A\x63\x23\xE7\x91\xDF\x91\x74\x91\xB7\x8B\x1C\x96\xDC\x48\x47\xAB\x23\xDD\x7B\xDE\x91\x6E\x8D\x48\x6B\x1C\x98\x46\x6E\x47\x96\x1B\xEC\x91\xA3\x7E\x73\x92\x3A\x96\xDA\x83\x8F\x99\x36\xB5\x23\xFE\x91\x5D\x6C\x7A\x92\xB9\x58\x1F\x95\x8E\x8B\x12\xB6\x23\xD1\x8D\xE1\x90\x72\x5B\x41\x93\xDB\x85\x1C\x98\x2B\xA8\xA5\x73\x7E\x0F\x92\x33\x7D\x44\x94\x21\x91\x10\x13\x48\x9F\x1B\x95\x92\xD9\x8C\x8B\x91\xB8\x88\x23\x93\xE9\x7A\x48\x8F\x1B\x9E\x92\x37\x80\x90\x92\x30\x82\x24\x95\x18\x84\x49\xB0\x07\xA6\x92", + "\x92\x90\x8E\x92\xB5\x8E\xB8\x58\x92\x96\x44\x80\x00\x2D\x92\x9B\x91\x97\x91\x77\x78\x26\x91\x73\x74\x49\x94\x19\xE5\x6F\x36\x92\x00\x8E\x82\x61\x27\x93\xBB\x7C\x49\x9E\xEE\x3E\x92\x78\x79\x8A\x00\x50\x90\x96\x73\x94\x89\x30\x85\x25\xBE\x89\x73\x7D\xA3\x93\x77\x8A\x22\x0A\x94\x95\x45\xA1\xF3\x4D\x92\xBA\x8F\x72\x78\x54\x93\x00\x9C\x94\x99\x36\xAC\x24\x99\x92\x58\x93\x6E\x8F\x54\x90\xAD\x6B\x95\x84\xAA\x5D\x25\xC4\x8F\x1D\x7C\x88\x5C\x7F\x82\xD6\x53\x96\x86\x6A\x65\x25\x85\x57\x67\x93\x62\x59\x5A\x94\x9C\x5B\x96\x81\x4B\x9C\xCB\x6D\x92\xE4\x5A\xB8\x90\xB5\x5A\x2E\x92\xFD\x54\x4B\xA2\xB0\x76\x92\x0E\x78\xAA\x92\x65\x7E\x25\x68\x97\x82\xE8\x54\xC0\x74\x92\x7D\x93\xB7\x78\xDD\x49\x30\x9A\x54\x9B\x4B\xAF\x25\xF9\x91\x68\x92\xC4\x92\x1F\x96\x0E\x82\x45\x64\x4C\xAA\xFF\x67\x8E\xE1\x78\xC7\x93\x13\x8E\x2F\x91\x95\x91\x4C\x8A\x26\xA8\x90\x6E\x93\xD0\x8B\x63\x90\x2C\x9B\x99\x91\x9C\x52\x26\x8C\x93\x27\x65\xCF\x92\x68\x97\x32\x9F\x21\x82\x45\x45\x24\x92\x02\xA6\x92\x55\x80\x6A\x94\x34\x94\xDE\x49\x4D\x93\x05\xE4\x59\xAE", + "\x93\x86\x90\xB5\x59\x36\x99\x90\x83\x6D\x74\x26\xE4\x91\x0C\x03\xDB\x93\x38\x92\x37\x99\x6D\x9C\x4D\x9D\x1B\xBE\x93\xD6\x8C\xE0\x90\x42\x90\x00\x02\x9C\x94\x48\x84\x27\xAC\x93\x91\x8E\x81\x01\x71\x97\x22\x97\x9C\x87\x4D\xB0\x26\xC8\x93\xCD\x92\xD5\x91\x6E\x90\x3A\x98\x21\x94\x3B\x4B\x27\x9B\x92\xDE\x8D\xE8\x93\x6B\x96\x36\x94\x9D\x95\x08\x17\x27\xE8\x8D\xDE\x93\xEE\x93\x6A\x96\x39\x9C\x9D\x84\x4F\x9C\x08\xD6\x93\xE2\x92\xCA\x8B\x74\x96\x3C\x97\x6A\x83\x4F\x92\x27\xD7\x8C\x5A\x19\xEF\x91\x33\x93\x3D\x9F\x9E\x98\x2B\xB2\x27\xC2\x81\xF7\x93\xC2\x81\x7E\x90\x3E\x8B\x9F\x89\x49\x9A\x27\xB2\x93\xD2\x5F\xFE\x92\x4B\x96\xB8\x5C\xB7\x61\xB8\x45\x28\xF4\x60\x07\x94\x97\x61\x82\x94\x5B\x6B\xA0\x92\xA2\x4D\x28\xA7\x64\x0F\x95\x7F\x61\x84\x94\xA8\x63\xA1\x9D\xAA\x55\x28\x91\x67\x17\x94\x16\x69\x86\x91\x7F\x6B\xA1\x8A\x9F\x5D\x28\xAC\x8E\xA0\x74\x97\x93\x87\x95\xA5\x63\xA2\x9D\x71\x65\x28\xB2\x5D\x27\x95\x0F\x90\xDD\x49\x45\x92\x82\x9F\x03\xB1\x24\xAC\x94\xC5\x58\x18\x97\xBC\x82\x46\x93\xDA\x54\x51\xA4\xB7\x36\x94\xED\x92", + "\x00\x82\x4E\x95\x9C\x78\xA3\x8B\x2E\xAB\x28\xF9\x92\x64\x8E\x1E\x94\x90\x93\xAB\x81\xA2\x91\x49\x84\x28\xC3\x94\x16\x94\x24\x94\x86\x92\x49\x9A\xA1\x8C\x52\x9C\x28\xCE\x94\x1E\x94\x28\x94\x88\x91\x20\x0E\x89\x54\x4C\x91\xBF\x55\x94\x86\x93\x0D\x60\x96\x91\x33\x97\x22\x7B\x52\x9D\x26\xAC\x68\x5E\x94\xFE\x7D\x57\x69\x4C\x90\x9A\x88\xAB\x64\x29\xF4\x92\x67\x95\xF4\x93\x40\x01\x4D\x9C\x9E\x92\x7E\x6C\x29\xF5\x93\xD4\x5D\x37\x97\x76\x94\xBC\x52\xA7\x80\x50\xA2\xB0\x75\x94\xB5\x92\x3A\x96\x94\x90\x03\x90\x00\x18\x53\xB8\x26\xA3\x5B\x7E\x95\x71\x91\xA0\x95\xBB\x73\xA8\x93\xF4\x45\x2A\xFC\x91\x5D\x6D\x43\x97\x70\x90\x8D\x6A\xA8\x86\x4E\x8D\x2A\xCC\x93\x8F\x94\xEC\x92\x71\x59\x52\x9F\x6C\x94\x54\xB7\x00\x96\x95\x23\x8F\xF2\x6C\xA6\x93\xC1\x8A\x20\x7B\x54\xB0\x07\xA1\x6A\x9E\x94\xFF\x90\xA3\x93\x4F\x97\x7D\x9D\x53\xA4\x2A\xDA\x8F\x12\x03\x50\x96\x4B\x92\x55\x91\x93\x8C\x55\x99\x01\xAE\x95\xF8\x82\x58\x94\xD4\x72\x56\x93\xBB\x66\x6E\x44\x00\x8F\x74\xB7\x95\x02\x75\xAE\x95\x30\x8B\xAB\x90\x0F\xBD\x2A\xFE\x93\xBF\x94\x97", + "\x91\xB0\x91\xFE\x73\xAC\x99\x02\x85\x2B\xF8\x83\xC7\x94\xA8\x75\xB2\x93\x76\x7B\xAC\x9E\xDC\x4D\x2B\xA4\x77\xCF\x95\xD7\x8F\x7F\x82\x59\x9E\xA2\x86\x56\x95\x2B\xD2\x66\xD1\x95\x80\x6D\xB6\x90\x29\x99\x3C\x9B\x56\x8B\x25\xD3\x95\xCC\x95\x6B\x94\xB5\x96\x32\x89\x66\x82\x10\x80\x2B\xE2\x95\xE1\x94\x72\x97\xEC\x71\xA4\x6E\xAD\x8E\x4A\xB4\xDF\x6D\x95\x95\x93\x39\x7C\xBC\x95\xF7\x8C\x90\x73\x57\xBC\x22\xF7\x83\xE5\x95\xB4\x7C\xAF\x90\x5D\x9E\xAC\x9C\x57\x90\x2B\xFE\x95\xB0\x78\x7B\x94\x51\x6A\x60\x9C\x99\x81\x08\x32\x01\x00\x96\x01\x6F\x83\x96\xBA\x96\x81\x6A\xB0\x9A\x51\xB3\xEE\x0D\x96\x7A\x81\x2C\x80\xC4\x95\x48\x92\xB1\x88\x58\x94\xD4\x13\x96\xE3\x74\xC9\x70\xC6\x96\x5F\x78\x1F\x9B\x58\xBD\x28\xA2\x58\x1E\x97\x53\x96\x51\x59\x64\x96\xA5\x88\xAB\x64\x2C\xD9\x94\x27\x65\x93\x94\x97\x96\x64\x96\xB1\x9A\x3A\x83\x04\x2A\x96\x5F\x95\xFC\x64\xCC\x92\x4C\x91\x39\x73\x59\xA5\x29\xA5\x63\x36\x96\xBA\x91\xCE\x92\x4D\x9D\x5D\x92\x08\x3B\x2C\xED\x94\x83\x8A\x9F\x95\xCB\x94\x5B\x6F\xB3\x90\x53\x92\xBF\x45\x96\x73\x95\xE4\x92", + "\xC1\x93\x68\x92\x45\x68\x5A\xB6\x29\x95\x02\x4E\x97\x3C\x95\x8E\x97\x65\x9C\xB4\x94\x57\xB9\x1D\xD1\x96\x7F\x95\xF3\x90\xD4\x95\x6A\x91\xA4\x97\xA3\x58\x2D\x84\x92\x0C\x03\xAF\x96\x55\x93\x6B\x9B\xB0\x84\xDD\x62\x2D\xDD\x8D\x67\x96\x6B\x8D\xDA\x93\x38\x9B\xB6\x86\x4E\xAD\x2D\xCC\x93\xC6\x5B\xF7\x83\xAA\x72\x6E\x96\xCF\x74\x5B\xB1\x24\xF6\x96\x59\x80\xBC\x94\x7E\x82\x6F\x90\xB5\x7C\x5B\xB0\xCD\x7E\x96\x9E\x76\xC0\x94\xE9\x72\x70\x90\xCB\x64\x5C\x89\x18\x86\x97\x14\x6A\xC4\x96\x4B\x62\x71\x95\x85\x8C\x5C\x92\xD1\x0E\x97\x27\x64\xC8\x97\x3F\x62\x72\x95\x1A\x74\x5C\xA0\x21\xE5\x6F\x96\x97\x31\x92\x16\x19\x73\x9C\x42\x7C\x5C\xB9\xCF\x1E\x97\xD0\x91\xF4\x80\x73\x90\x74\x95\x47\x64\x5D\xB0\x21\xCD\x83\xA2\x94\x73\x5E\xE9\x93\x0E\x93\xE7\x6B\x5D\xB6\x21\x8C\x72\xAE\x96\xC1\x8D\xEC\x93\x49\x83\xBB\x85\x66\x75\x2E\xE4\x59\xB7\x97\xD1\x59\xEE\x94\xBC\x5B\xBB\x94\x76\x7D\x2E\x90\x74\x81\x50\xEA\x83\xAA\x71\x78\x98\x1D\x83\x5E\xA8\x2E\xAE\x92\xC4\x96\xEE\x80\x7C\x81\x79\x90\x1E\x82\x06\x8C\x2F\xE4\x83\xCF\x8D\xE7\x96\xE8", + "\x96\xF7\x72\xBD\x9F\x5D\xA2\xB0\x55\x97\xF4\x82\x6E\x64\xF6\x90\x5F\x93\xBB\x7B\x5E\xA0\x2B\x9E\x77\xDE\x96\x73\x94\xF2\x97\x78\x91\x93\x81\x5F\xBA\x2B\x83\x84\x15\x02\xF3\x96\xDC\x7B\x38\x9A\xBE\x96\xFB\x5D\x1B\xED\x97\x04\x97\x43\x5C\xFC\x94\x6B\x95\x1A\x73\x5F\xA5\x2D\xD5\x80\x5D\x6C\xFB\x96\xC3\x96\x73\x78\x46\x7A\x5F\x91\x2C\xF8\x83\xFE\x96\x8A\x94\x00\x9C\x7C\x96\x60\x8C\x08\x01\x30\x99\x96\xFE\x93\x03\x98\xC7\x90\x6A\x7A\xC0\x9F\x58\x82\x14\xE9\x97\x04\x99\x9B\x91\x39\x7D\x81\x92\xB2\x88\x1D\xB4\x9D\x14\x98\x25\x96\xC8\x90\xFD\x68\x83\x98\xB2\x97\x57\x86\x30\x91\x98\xF9\x95\x80\x00\x07\x9B\x65\x94\x54\x63\x61\xB1\x2C\xEA\x67\x26\x98\x9A\x94\x0B\x69\x85\x97\xB3\x9D\xAA\x6C\x30\x9F\x93\x2F\x98\x9E\x94\xB5\x8A\x15\x55\xBC\x96\xE7\x74\x30\xCA\x97\xAB\x75\x1B\x99\xF3\x95\x30\x8A\xC3\x90\x5E\xB7\x00\xBD\x98\xD3\x97\x67\x8C\x10\x9E\x7A\x95\x11\x03\x62\x99\x2F\x9B\x60\x46\x98\xEE\x96\xE7\x71\x89\x9F\xBD\x84\xDD\x4C\x31\xE2\x97\x31\x93\x27\x9B\xF9\x96\x3F\x92\xC5\x8B\x5F\x86\x27\xD5\x98\xEE\x96\x6B\x8C\x16\x99", + "\x7E\x9E\x76\x81\x08\x1B\x31\xF4\x97\x5D\x6B\x2F\x9B\xFD\x91\xC1\x82\xC6\x9B\x5F\xB2\xD4\x65\x98\xFF\x96\x04\x68\x1A\x9A\x80\x9B\xA3\x81\xE7\x6B\x31\x88\x98\x2E\x92\x34\x6B\x1B\x9B\x81\x93\xBB\x73\x63\x8E\x30\x92\x02\x76\x99\x0A\x9B\x62\x91\x8F\x99\xC1\x81\x63\xA0\x30\xF5\x98\x7F\x98\xFE\x95\x97\x6C\x8F\x9D\xC1\x9A\x60\x8C\xE4\x04\x99\x24\x99\xCB\x94\xFC\x68\x91\x97\xC2\x91\x3E\x87\x32\x81\x99\x41\x92\x3C\x98\x24\x9A\x5A\x93\x10\x0C\x64\xAA\x30\xF9\x67\x96\x99\x16\x99\xE4\x61\x93\x9F\x99\x9C\x64\xB2\x30\x80\x00\x9E\x98\xA0\x95\x11\x9B\x92\x99\x60\x86\x6E\x49\x07\x8B\x7C\xA7\x99\x07\x75\x2A\x9A\x18\x8B\xCA\x85\x0C\xAD\x32\xF0\x83\xAF\x98\xFF\x91\x2C\x9E\x9E\x73\xCB\x91\x49\xB5\x32\xD9\x80\xB7\x98\xFC\x81\x2E\x98\x6A\x7B\xCB\x93\xDD\x7D\x32\x9E\x77\xBF\x99\x48\x9A\x69\x86\xDA\x81\xCC\x90\xE5\x45\x33\x81\x6E\xC7\x98\x3A\x61\x32\x9A\x16\x93\x1B\x80\x48\x8A\xC8\x4B\x99\xDC\x64\x68\x9A\x14\x6A\x9A\x9A\x97\x8F\x0D\x99\x1B\xD4\x99\x68\x6A\x6C\x9A\x21\x9E\x57\x8A\xCD\x8A\x64\xB7\xD1\x5D\x99\xC3\x90\xCE\x83\xA2\x96\xDC", + "\x50\xCE\x9D\x62\x84\x07\xD2\x96\x10\x75\x72\x99\xFE\x62\x9D\x9A\x3E\x6C\x67\xB5\xD1\x6E\x99\x2D\x6A\x78\x98\x8D\x6A\x9E\x98\xAA\x8C\x08\x20\xA2\x21\x83\x73\x7F\x7B\x9B\x30\x9E\xCC\x7A\xCF\x96\x66\x9D\x1B\xFD\x99\xCD\x99\x7F\x9A\x38\x9E\x38\x90\xD0\x9D\x0D\xA8\x33\xA2\x58\x05\x9B\x73\x99\xD6\x91\x20\x09\xD0\x94\x67\x86\xB5\x0D\x9A\xA4\x98\x8A\x68\x44\x9A\x78\x9E\x92\x93\x68\xB5\x30\xB1\x92\x16\x9A\x1C\x99\x45\x9B\xA0\x9C\x9C\x99\x68\xBB\x30\xE8\x97\x12\x02\x8F\x9A\x0F\x9A\x18\x82\xD2\x81\x62\xB7\x00\xA5\x9A\xBF\x96\x94\x9B\x11\x99\xFA\x5A\xD2\x8A\x62\x9E\xF1\x5D\x6C\x2D\x9B\x26\x98\xFE\x92\x41\x61\xD3\x90\x62\x99\x01\xB5\x9A\x53\x99\x8D\x98\x3E\x9B\x38\x96\xDC\x58\x69\x96\x31\x9D\x9A\x1C\x9A\xEC\x92\x4F\x99\x8B\x93\xCE\x85\xBF\x43\x35\xDC\x98\x11\x90\x2D\x1B\x51\x98\x8C\x91\xCE\x81\x69\x81\x35\xCF\x8D\x68\x69\xA5\x9B\x18\x9A\x98\x80\x00\x12\x6A\xA6\x31\x94\x99\x02\x02\xAB\x99\x1A\x9B\x76\x7A\xD5\x8C\x63\x9C\x35\xCF\x9A\x27\x9A\xB0\x98\x49\x9A\xAC\x95\x18\x9D\x6A\xB0\x31\xC6\x94\xFC\x6D\xCC\x83\xDC\x7A\xAD\x93", + "\x9C\x8C\x6B\x86\x27\xEE\x9A\xCC\x92\xB8\x98\x76\x92\xAE\x9B\xE0\x74\x6B\xB7\x00\xF6\x9A\xC2\x80\xBC\x99\x61\x82\xAF\x90\x1F\x9C\x6B\xBE\x27\xFE\x9A\x2E\x92\xC0\x98\x5A\x9F\xFE\x72\xD8\x99\x02\x85\x36\xD2\x66\x87\x9A\x04\x69\x62\x9B\x5D\x9D\x65\x6B\x6C\x82\x32\x8A\x64\x8E\x9A\xD2\x75\x64\x98\x96\x73\xD9\x85\x65\xB5\xE0\x15\x9B\x14\x6A\xCC\x98\x33\x99\x0F\x8E\xD5\x8F\x6C\xA5\xF3\x1A\x9B\xEE\x95\xE4\x84\x68\x99\x5E\x9C\x90\x63\x6D\x95\x33\xFB\x83\x9F\x98\xE3\x5A\x69\x98\xAD\x6B\xDA\x84\xAA\x6D\x36\xDD\x6A\xAF\x9B\xC8\x65\x6C\x9C\x85\x63\xDB\x94\x24\x82\x04\x76\x00\xFC\x6C\xDC\x99\xB3\x7A\xB7\x90\x1D\x8A\x9F\x7C\x36\xB8\x83\xD6\x8D\xDF\x98\x6A\x9A\x94\x92\x11\x02\x6E\x9C\x36\xE7\x9A\x59\x80\xE3\x99\x65\x87\xAA\x91\x70\x6A\x6E\xB5\x36\xBE\x9B\x35\x70\xE7\x98\x59\x98\x3E\x82\xDD\x9B\x69\x86\x27\xD5\x9B\xFB\x99\xEB\x99\x74\x9F\xC7\x78\xDD\x9E\x67\x81\x37\xDB\x9B\xBB\x9B\xDC\x9B\x5D\x81\x20\x0D\xDD\x81\x68\x88\x2A\x8A\x64\xE5\x9A\x83\x9B\x42\x9A\xFA\x59\xDE\x8A\x68\xA3\x23\xED\x9B\x0E\x9B\x25\x84\x7C\x99\xA2\x9E\x12", + "\x73\x6F\x94\x34\xB1\x92\xF6\x9B\x8B\x99\x83\x8D\xFC\x69\xDF\x9A\x68\xB1\x24\xE8\x68\xFD\x9B\x8F\x99\xEA\x94\xBF\x99\x17\x83\x08\x01\x38\xA3\x9A\x85\x82\xE3\x5B\x81\x9E\xA4\x92\x0C\x8A\x70\xA0\x37\xBD\x9B\x75\x69\x05\x9C\x11\x9D\xB8\x9F\xE0\x80\x6E\x83\x27\x92\x9C\x2B\x9A\x0F\x9B\x40\x01\x0D\x52\x11\x05\x46\x4C\x04\x43\x51\x10\x9D\x86\x5A\x87\x9B\x20\x00\xE2\x96\x70\xAE\x02\xA3\x9C\x02\x03\x12\x9F\x70\x9E\x68\x92\xC2\x48\x71\x81\x04\x2A\x9C\xC7\x9A\x3A\x9A\xE7\x76\xC5\x90\x00\x10\x71\x8B\x37\xDB\x9A\x33\x9D\x8A\x02\x1E\x05\x22\x04\xE3\x96\x71\x8F\x37\xF5\x68\x3D\x9C\x7E\x6D\x90\x9F\xFE\x73\xE4\x81\x71\xB4\xD8\x45\x9C\x26\x9C\xE6\x90\x92\x9B\xC5\x99\xB4\x92\x7E\x4B\x39\xB1\x9C\x77\x98\x86\x03\x93\x9F\xC6\x9D\xD9\x84\xDD\x53\x39\xBF\x9C\x7C\x95\x2B\x9F\x74\x9E\x3F\x9A\xE5\x96\x6E\x8A\x39\xBD\x51\x42\x9C\x30\x9D\xB3\x7D\xCB\x99\xDD\x8C\x4E\xA1\xD4\x64\x9C\xDE\x9B\xA2\x99\x39\x78\xCD\x96\xDE\x83\x4E\xAC\x39\xEA\x9B\xE3\x91\x37\x9E\x7B\x9B\x6C\x9D\xE1\x82\x73\x86\x39\xB7\x64\x72\x9D\xF8\x99\x31\x5C\xC6\x94\xE3\x9B", + "\x03\x3C\x38\x95\x02\x7C\x01\x3F\x9D\x9D\x9B\xD0\x92\xE5\x82\x74\x85\x3A\x92\x02\x8C\x50\x42\x9E\x51\x32\xD1\x92\x10\x14\x71\x97\x32\x7C\x9C\x76\x9D\x24\x9C\x76\x97\xCC\x91\xE9\x8C\x72\x8F\x2D\x8F\x8B\x8D\x9D\x4A\x9C\x94\x9A\x8F\x92\x65\x83\x08\x39\x39\xF4\x9B\xA1\x9B\xBC\x8C\x8D\x9F\x0F\x05\x11\x1E\x17\x4C\x3A\x81\x02\xA4\x9C\x89\x02\xA9\x9F\xD0\x9C\x10\x09\x75\x8C\x04\x2B\x9D\x9E\x9D\x8A\x02\xAB\x9B\x20\x00\xEB\x99\x74\x92\x04\x33\x9D\x02\x03\x5A\x9D\x40\x03\xD4\x96\xE8\x83\x08\x38\x3A\xBB\x9D\x9A\x9C\x2A\x9C\x72\x9C\xCB\x81\xEB\x92\x08\x3E\x39\xA7\x9D\x00\x01\x63\x9C\xAB\x9C\xC4\x9F\xE3\x7F\x74\xB7\x37\xD9\x80\xCE\x9C\xFD\x98\x7E\x81\xDA\x9E\xDF\x90\x76\x81\x3B\xD8\x9C\x47\x9D\x6B\x9F\x96\x9E\x25\x94\xED\x82\x70\x83\x28\x95\x02\x00\x46\x89\x02\x8F\x9B\xDB\x91\xFF\x61\x77\x9F\x38\xFC\x6D\xE6\x9C\x66\x9F\xFD\x79\xDD\x99\xE2\x95\xC1\x6C\x3B\xAF\x9C\xEE\x9C\x1D\x9C\xB8\x9A\xDB\x9E\xE5\x98\x4E\xAF\x3B\xB5\x9C\xE8\x9C\x7A\x9D\x99\x9E\xDE\x9A\xEF\x89\x73\x86\x27\xF7\x9D\xE3\x9D\x7A\x9F\xB3\x88\xE0\x91\xEF\x82\x77", + "\x85\x3C\xE7\x9D\xEB\x9D\x7E\x9D\x9B\x9E\x38\x96\xDC\x44\x78\x89\x3C\x86\x9E\x0F\x9E\x84\x9F\x9D\x9A\x4E\x5E\xF0\x93\x78\xB3\x3B\x90\x9E\x16\x9F\x12\x90\x43\x05\xE2\x92\xE9\x90\x6A\xA6\xBB\x1C\x9E\x96\x9D\x83\x9B\xC5\x9A\xE2\x9D\xF1\x97\x01\xA0\x3C\x9B\x9D\x7D\x98\x43\x8E\x40\x07\xE4\x92\xEC\x92\x71\xA4\xEE\x2C\x9E\xD8\x9D\x1B\x67\xBD\x9F\xDE\x9A\xEC\x83\x08\x37\x3B\x81\x9D\x12\x03\x99\x9F\xC8\x9E\xE6\x9B\xF3\x8B\x79\x95\x04\x09\x9D\x1B\x9E\x37\x1D\xCF\x99\x20\x07\xEF\x97\x64\x3A\x3C\x98\x9E\x25\x9F\x4C\x94\xFC\x68\xE6\x94\xEE\x9B\x6F\xA5\xF3\x4C\x9E\x02\x9F\x65\x91\x38\x78\xEA\x9B\xEF\x9E\x78\x8A\xC8\x77\x9D\xBF\x9C\x00\x02\xAE\x98\x00\x08\xF5\x85\x75\x83\x3D\x80\x00\x59\x9F\xAD\x9D\xD7\x9A\xD5\x9F\xF5\x81\x7B\xA5\x3D\xE7\x9E\x39\x9E\x85\x9C\x9C\x9C\xCE\x91\xF4\x86\x76\x9F\x3D\xB5\x9E\x3E\x9E\xA4\x9D\xC8\x9B\xBD\x9B\x88\x9C\x7A\xAA\x3D\xF3\x9C\xDD\x8C\xAA\x9E\xBF\x9C\x39\x9A\xF7\x8B\x78\xBC\x3D\xF7\x9E\x7A\x9C\x72\x59\xDF\x9B\xED\x99\xF7\x80\x7C\xA0\x3A\x9A\x93\x01\x03\xC0\x52\x44\x02\x60\x42\x11\x01\x4A\x4D", + "\xFB\x0E\x9F\x19\x9E\x86\x00\xE4\x99\xE9\x95\x18\x93\x7C\xB3\x3D\xE3\x91\x96\x9E\x94\x9D\x21\x9D\xAB\x69\xF9\x8D\x79\x91\x39\x83\x02\x9D\x9F\x98\x9E\x9C\x51\xF4\x9D\xF4\x98\x0F\xA4\x3E\xD1\x9E\xC2\x81\xD3\x9D\xD5\x9F\x06\x8A\xFA\x9B\x7B\x98\x27\xAD\x9F\x7E\x9F\xD7\x9D\x0D\x70\xF6\x94\xF8\x8B\x49\x95\x04\x34\x9F\x78\x9E\x6B\x8C\xEE\x99\xF0\x93\xDA\x5B\x7D\x87\x3E\xD1\x5F\xBE\x9F\x67\x9E\xD4\x61\xF8\x92\xED\x8D\x63\xB3\xF9\x44\x9F\xD5\x9C\x09\x9B\x1D\x68\xF9\x9E\xED\x91\x49\x8C\x3F\x88\x9C\xF0\x83\xE7\x9C\x83\x99\xC1\x97\xFB\x93\x7D\x96\x3F\xFB\x82\xE1\x78\xE9\x9F\x84\x9A\x3D\x90\xFA\x83\x6F\x80\x00\x5A\x9F\x19\x9D\x6D\x9A\x16\x18\xFC\x9E\xD2\x98\x6A\x81\x04\x64\x9F\x32\x9A\xCB\x99\xE3\x9F\xFA\x91\xF9\x9D\x7D\xAC\x3F\x94\x9F\xD1\x9F\xF7\x9F\xE5\x9C\xED\x93\x10\x0C\x45\x52\x04\x76\x9F\x0C\x02\xFC\x9D\xFD\x9D\x22\x0A\xFF\x82\x08\x3D\x3F\x81\x02\xFF\x9E\x00\x01\x00\xA3\x00\xAC\xFF\x85\x80\xB7\x3F\x86\xA0\xF9\x9E\x04\xA3\x40\x06\x10\x0C\x6F\x6C\x80\x8D\xFB\x0E\xA0\xED\x9E\xF2\x58\x04\xA0\xFE\x9E\x9F\x93\x80\xB3\x3F", + "\xDD\x8D\x16\xA0\xCD\x9D\x22\x99\x72\x69\x01\xBE\x7C\x9C\x3A\x8B\xA0\x35\x71\x0E\xA2\xE8\x9D\x70\x52\x02\xA5\x7D\x90\xED\x25\xA0\xA8\x9F\xC2\x80\x0A\xA3\xF5\x92\x0C\x8B\x81\xAE\x3E\xCF\x8D\x2E\xA1\xD8\x9C\x78\x92\x22\x01\x03\xB5\x7D\x83\x27\xB5\xA0\xB9\x9F\x1B\xA1\x03\xA3\x07\xA8\xFD\x93\xF3\x78\x40\xBC\x9F\xA4\x8C\x86\x03\x0F\xA7\xF7\x98\x56\x63\x82\x82\x3F\xA7\xA0\x3F\x7C\x23\xA1\xF1\x9B\x76\x7A\x04\xA9\x7E\x88\x41\xBD\xA0\xC9\x87\x26\xA1\xF3\x9E\xE9\x97\x47\x72\x82\x90\x3F\x83\x9C\xF0\x6E\x2B\xA3\xF4\x9F\x53\x96\xEE\x5A\x82\x9B\x3F\xA5\x76\x5E\xA1\xF0\x9D\xC1\x90\x00\x01\x06\xA5\x7F\x89\x18\xE5\xA0\xE9\x9E\x8A\x68\x1A\xA6\xA6\x98\x1F\x8B\x83\xB9\x34\xB1\x92\x6E\xA1\x9F\x98\x76\x91\x0E\xA4\xD4\x8C\x78\x95\x04\x2E\x51\x12\x02\x44\x00\x60\x55\x22\x0A\x07\xAB\x7C\x95\x04\x09\x01\x7F\xA0\x73\x21\xB3\x7B\xE8\x13\x02\xAB\x35\x5E\x40\xA9\x9E\x2C\x68\x42\xA2\x09\xA3\x76\x7A\x08\xA9\x81\xB0\x07\x8D\xA1\x2C\xA1\xC2\x80\x24\xA7\x05\xAF\xA0\x73\x84\xB2\x40\xB7\x80\x96\xA0\x1B\xA2\x71\x91\x13\xA9\x03\xBB\x84\xB5\xE0\x1C", + "\xA1\x40\xA0\x6A\x5C\x28\xA4\x08\xA4\x54\x63\x85\x87\x41\xB5\x95\x82\xA1\x08\xA2\x28\xA7\x13\xAC\x6F\x66\x85\x8B\x41\x8E\x68\xAE\xA0\x27\xA0\x63\x9D\xFC\x61\x0B\xB3\x82\x8A\x3F\xF4\x6F\xB5\xA1\x2B\xA2\x4B\x91\x17\xAB\x05\xBE\x4F\xBC\x42\xDF\xA0\xE0\x8D\x5F\xA2\x18\xA1\x72\x62\x0C\xA6\x83\x94\xD4\x45\xA1\x69\xA1\xCD\x9B\x9E\x15\xC0\x93\xC1\x3E\x7E\x88\x43\xEC\xA0\xC6\x9E\x86\x73\x33\xA7\x0D\xA5\xC0\x89\xC4\x3F\xF8\x53\xA1\x72\xA1\x67\x8C\x36\xA5\x0E\xAC\x9C\x9B\x86\x88\x35\xEA\x67\xDE\xA0\xA6\x99\x22\xA4\x15\xAE\x0C\x92\x08\x30\x8C\x43\x52\xCD\x7C\x74\xA2\x2A\xA0\x00\x0A\x0E\xB4\x80\xAE\x24\xED\xA1\x17\xA0\x6B\x8C\x3C\xA2\x03\xAD\xC8\x8D\xA9\x73\x43\x87\xA1\x9B\x9F\xC8\x67\x3D\xA5\x10\xAC\x10\x1B\x87\x8B\x42\x9E\x77\xFE\xA0\x47\xA2\x7F\x91\x20\xA1\x09\xB0\x0F\x84\x44\x94\xA1\xC2\x81\x83\xA3\x25\xA1\x21\xA5\x83\x6A\x88\x9A\x42\xF0\x96\x15\x02\x87\xA1\x27\xA4\x39\x92\x11\xA1\x85\x92\xBF\x15\xA2\xA4\xA0\x28\x64\x46\xA7\x14\xAE\x40\x7B\x88\xAF\x42\xAF\x9A\xE5\x6E\x8F\xA2\x2C\xA6\xB3\x97\x47\x62\x89\xB6\x42\xD0\x76", + "\x26\xA2\x5D\xA1\x4C\x91\x25\xAD\x0B\xBF\x76\x92\x04\x2C\xA2\xC0\xA1\x80\x00\x4C\xA3\x18\xAC\x42\x73\x89\x86\x43\xCA\xA1\x36\xA3\x64\xA1\xA8\x9A\x8B\x19\x13\xB0\x86\xB3\x42\xF0\x6F\x3D\xA2\x6A\xA3\x2D\xA4\x21\x71\x14\xB9\x86\xB3\x27\x83\x02\x45\xA2\x6E\xA2\xA4\x91\x22\xAD\x10\xAD\x8A\xB7\xFF\x49\xA2\xDF\xA1\x3A\x68\x54\xA2\x1C\xA9\x3F\x73\x8A\x93\x35\xAE\x96\x02\x02\x69\x52\x44\x06\x11\x05\x11\x0F\x04\x15\x04\x10\x01\x15\x03\xAB\x53\x3A\xA2\x2C\xAE\x0E\xB1\xFF\x64\x45\xF1\xA1\xC3\x93\xB3\xA0\x3D\xA7\x92\x9A\x3E\x6A\x8B\xB8\x43\x9B\xA0\x2C\x68\xB7\xA0\x3F\xA3\xB4\x52\x17\xBF\x87\xB2\xD4\x75\xA2\x02\xA2\x97\x90\x5E\xA5\x20\xAE\x9F\x9B\x8B\x88\x44\x85\x83\x7E\xA3\x85\xA0\x60\xA5\x06\x71\x18\xAF\x88\x98\x27\x85\xA3\x13\xA3\xA5\xA2\x44\x00\x31\xA6\x11\xA2\x61\x4C\x46\x99\xA2\x91\x67\xC7\xA0\x47\xA7\x2E\xAC\x6F\x72\x8C\x9F\x44\xB3\x9A\xF0\x6E\xCB\xA3\x48\xA0\x24\xA5\xCE\x7A\x8C\xA7\x44\xB3\x77\x9E\xA2\x95\xA1\x16\x81\x34\xAD\x12\xA3\x6C\x8C\x04\x24\xA3\x31\xA2\x00\x00\x6A\xA4\x26\xA9\x3F\x6B\x8D\xB7\x44\xA1\x9D\x74", + "\x4E\xD7\xA2\x4E\xA4\xB4\x99\x77\x92\x8D\xBE\x44\xA4\xA2\x73\x7C\xDB\xA2\x50\xA1\x1A\xA5\x1B\xBF\xF1\x7A\x46\xC6\xA2\x0D\x9D\xB0\xA0\x61\xA3\x38\xA7\xFF\x7F\x8D\x8A\x45\xCF\x8D\xC6\xA3\xA8\xA1\x4B\x69\x39\xA4\x15\xA1\x5D\x90\x81\x4D\x7D\xCF\xA3\x75\xA1\x74\xA5\x2C\xA9\x05\x93\x8E\xA8\x45\xC6\x93\xD6\xA3\xB5\xA2\x26\x9C\x85\x69\x1D\xAF\x8B\xB5\x43\xB4\x6C\xDD\xA3\xB9\xA2\x40\x01\x3C\xA6\x17\xB0\xE5\x64\x47\xF9\xA2\x31\x93\xF3\xA0\x5F\xA6\x25\x9A\x1E\xBF\x8B\xB0\x07\xED\xA3\x82\xA3\xF7\xA1\x0D\x70\x3E\xA6\x18\xB3\x81\x8C\x04\x74\xA3\x89\xA3\x67\x8C\x7E\xA5\x31\xA5\x11\x1B\x8F\x90\x46\xBA\x5D\xFE\xA3\xC9\xA1\x6C\x69\x40\xA7\x19\xA9\x30\xA1\xD4\x04\xA4\x9B\xA2\xCC\xA3\x1D\x68\x41\xAF\x19\xBE\xDC\x4C\x48\xA2\xA3\xF8\x83\x07\xA5\x69\xA5\x1A\xA3\x1E\xB3\x8F\x96\x48\xD0\xA0\xBE\x84\x09\xA5\x6A\xA0\x8D\x6A\x21\xAC\x8D\x8E\x1F\x99\xA4\xCC\xA1\x80\x01\x87\xA7\x35\xA8\xF8\x8F\x02\x7F\xF8\x23\xA4\xB3\xA3\x13\x64\x8A\xA7\x36\xA4\xBA\x6B\x91\xBB\x46\xB3\x77\x2E\xA4\xE0\xA1\x61\x81\x46\xA7\x1C\xB7\x01\xB4\x48\xCA\xA3\xA5\x95", + "\xAC\x52\x44\x03\x2A\x5C\x10\x0C\x01\x52\x04\x39\x52\x0C\x03\xCB\x37\xAB\x9E\xEB\x94\xF6\x85\x92\x83\x49\x92\x02\xCC\x39\x75\xA1\x92\xA4\x3A\xA2\x35\x6B\x92\x97\x47\xCC\x93\x4E\xA4\xED\xA3\x67\x91\x4A\xAE\x1D\xAC\x8B\xB5\xD1\x54\xA4\xE2\xA2\x6A\x5C\x96\xA5\x3C\xA1\x70\x7B\x92\xA8\x47\xD9\x80\x5E\xA5\xF5\xA1\x4C\x91\x4C\xAE\x1E\xBE\x4F\xA4\x49\xF1\xA3\x66\xA5\x1A\x73\x99\xA5\x3E\xA7\x03\x8B\x93\xB9\x47\xC7\xA2\xCB\x38\x35\xA6\x9C\xA5\xD9\x7E\x26\xB6\x88\xB5\x49\xFF\xA3\xC9\x91\x8A\x03\x9D\xA2\x40\xA6\x20\xA6\x77\x7B\x49\x85\xA4\x14\x6B\x3F\xA5\x82\xA1\xC1\x82\x28\xAD\x90\x82\x33\x91\x37\x73\xA5\x75\xA2\x08\x5D\x50\xA0\x21\xBC\x8D\xB4\x9D\x0C\xA5\x13\xA5\xA1\xA1\xDE\x88\x52\xAB\x21\xBD\xB2\x54\x4A\x9E\xA4\x8E\x99\x49\xA7\x8F\x7F\x52\xA4\x22\xA7\x6D\x81\x04\x1C\xA5\x29\xA4\xB4\x68\xA8\xA4\x45\xA0\xCB\x63\x95\xAF\x48\x9E\x77\xA6\xA4\x19\xA4\x7C\x81\x55\xA5\x23\xA2\x06\xAC\x4A\xB8\xA4\xF5\x99\x81\x03\x56\x55\xD9\x73\x2B\xAB\x87\xB5\x4A\xCC\xA4\x50\x77\x5B\xA7\x93\xA0\x3B\x9A\x2B\xB2\x92\x9F\x32\xBD\xA5\x55\xA5\xED", + "\xA1\xFE\x60\x58\xA9\x25\xA0\x00\x04\x4B\xDC\xA4\x14\x6B\x63\xA7\x97\xA0\x3F\x8A\x2C\xA2\x93\x99\x01\xCD\xA5\x65\xA4\x97\x90\xB4\xA0\x4D\xA2\x2D\xB5\xC1\x53\x4B\xEC\xA4\xC1\xA2\x89\x03\xB5\xA7\x4D\xA2\x0C\x9B\x96\xBC\x47\xDA\xA5\xFC\x6C\x6F\xA4\x9E\xA3\xC6\x52\x2E\xBC\x93\x9C\x2B\xBE\x85\xE5\xA4\x40\xA7\xB7\x92\x56\xA6\x2D\xAD\x97\xA5\x43\x8C\x02\xE9\xA5\x41\xA5\xB2\xA6\x5D\xAA\x28\xAF\x60\xA0\x4B\x98\xA4\x5A\x19\x78\xA6\xA1\xA2\x41\xA3\xE7\x7A\x97\x8D\x4A\xBF\xA2\x77\x68\x7F\xA5\xA4\xA1\x84\x96\x2C\xBF\xF1\x42\x4C\xA9\xA3\x07\xA6\x4C\xA5\x4B\x69\x61\xAD\x29\xA8\xAB\x4C\x4C\xA1\xA5\x44\x6B\x87\xA4\xA9\xA1\xC1\x82\x31\xA7\x95\x87\x4A\x82\x02\x62\x53\x75\xA1\xC6\xA0\x57\xA0\x37\x7B\x98\xBB\x4A\xCF\x8D\x1E\xA6\x5F\xA4\x71\x9C\x21\x01\x32\xA1\x96\x9F\x26\xA5\xA6\xC5\xA4\x11\x58\xCA\xA0\x59\xA0\xF1\x4B\x99\x8B\x4B\xD0\x76\x2E\xA6\x67\xA4\x7E\x81\x66\xA1\x2D\xB1\x49\xB4\x4C\xD4\xA5\x36\xA7\x1A\x73\xCD\xA0\x5B\xA5\x18\x9B\x99\x9C\x4B\xD4\x9F\x12\x02\x9F\xA7\xB7\xA4\x64\xAA\x33\xBC\xB7\x42\x4D\xE3\xA5\x4F\x5D\xA3\xA6", + "\xB9\xA2\x19\xAA\x34\xAA\x97\xBB\x44\x95\x02\x4D\xA6\x79\xA6\x4B\x61\x6A\xAB\x2F\xA9\x30\x94\x4D\xFF\xA5\xA7\x90\xA8\xA5\xD1\xA7\xFE\x77\x35\xA3\x98\x80\x4C\xF3\x7C\x5D\xA7\x4A\xA6\x82\x61\x6C\xAA\x30\xAC\x5D\x89\x0F\xE4\xA6\x0D\xA6\xF1\x9E\xD6\xA7\x5D\xA3\x10\x08\x9B\x90\x4C\xE3\xA0\x6E\xA7\x89\xA4\x45\x69\x6E\xA6\x31\xB0\xE5\x74\x4D\xAA\xA5\xFE\x93\xBB\xA5\xAB\xA5\x67\xAB\x35\xB5\x97\xB9\x11\xBD\x34\xEB\xA0\xC0\xA4\xC7\xA6\x81\x62\x38\xBF\x98\xB7\x00\x85\xA7\x22\xA6\x16\x9D\x45\x00\x71\xA6\x32\xBF\x64\x8C\x4E\xA9\xA6\x8B\xA6\x7E\x6F\xE3\xA4\x65\xAC\x2D\x73\x9C\xAF\x4C\xB3\x77\x96\xA6\x99\xA4\xD4\x71\x73\xA5\x33\xB9\x02\x9C\x4E\xB8\xA6\x9E\xA7\x1A\x73\xE7\xA4\x67\xA0\xD2\x82\xD2\x37\xFF\x23\xA7\x3F\xA6\xF8\x80\xEA\xA6\x22\xAB\x3A\xA8\x9A\x8D\xB4\x2D\xA7\x4B\xA6\xD8\xA1\xE4\xA0\x5F\xA3\x3B\xBE\x9B\xA6\x4E\xB6\xA7\x03\x02\xD8\xA6\xD3\xA5\x44\xAA\x3B\xB2\x9A\x95\x4E\xA2\xA7\xDE\x9F\xDE\xA5\xD5\xA7\x5C\xAA\xC5\x02\x9E\x98\x4D\x9C\xA3\xE1\x78\xE3\xA6\xD7\xA0\x37\xAC\x90\x6A\x9E\xA9\x46\xC6\x5B\xCE\xA7\xB2\xA5\xAC", + "\xA2\x20\x01\x3D\xA9\x9B\x9D\xD5\x55\xA7\x6F\xA7\xC8\x64\xF6\xA2\x6E\xAE\x12\x7B\x9E\xB5\x4D\x89\x8C\xDE\xA6\xBC\xA6\x4B\x91\x7C\xAB\x37\xA5\x9D\x83\x04\x6A\x53\x03\x02\x1C\x36\xDC\x99\x71\xAD\xE4\x81\x78\x9A\x4E\xF0\x66\xEE\xA7\xCE\xA4\x7E\x81\x7E\xA0\x3A\xB3\x9F\xB5\xE0\x3B\x9C\xEB\xA7\xC6\xA7\xC8\xA2\xDD\x9B\x0E\xB4\x9F\xA4\x4E\xFE\x93\xFE\xA7\xD4\xA4\x00\xAD\x06\x71\x40\xA3\x9A\xBC\x4F\x83\xA7\xA4\x77\x02\xAA\xEB\xA4\xC6\x6A\x40\xB1\x9D\xA5\x48\x8D\xA8\xBB\xA7\x13\x64\x04\xAE\x77\xA2\x45\x73\xA0\x83\x4F\x90\x5E\x16\xA9\xE3\xA5\x6C\x69\x83\xAB\x3C\xA8\x9E\xB3\xF9\x1C\xA8\x62\xA7\x72\x78\x08\xAA\x7A\xA6\xD4\x43\xA1\x96\x4F\x91\x67\x26\xA9\xEC\xA6\x39\x99\x85\xAC\x3D\xBC\x96\x6C\x50\xDF\xA7\x14\x6A\xB8\x9D\x40\x00\xE7\x9C\x10\x00\x7A\x8B\x3A\x8C\x02\x97\x19\x17\xAA\xF8\xA7\xBF\x9D\x65\x7A\xA1\xA5\x4F\xD8\xA0\x77\x68\x1F\xA8\xAC\xA2\x45\x96\xF8\x8E\xA0\x96\x2D\xDA\x18\x66\x9F\x5B\x9C\x91\xA5\xD5\x9B\x44\xBE\x75\x8D\x51\x82\x02\x49\xA8\x26\xAA\x12\xA9\x7F\xA0\x39\xB9\x23\xB2\x50\xC9\x9D\x45\xA9\x08\xAA\x86\x9D", + "\xDD\x97\xFF\x62\xA2\x8D\x47\xF5\x68\x5E\xA9\xAB\xA2\x0B\xAC\x80\xA4\x46\xAC\x9B\x82\x04\x33\x52\xCD\x7C\x34\xAB\x3A\xA2\x8D\xA8\x40\xB0\xE5\x6C\x51\x86\xA7\xC2\x81\x37\xA8\xFB\xA7\xD2\x9C\x10\x12\xA3\xBA\x4F\x8A\xA7\x12\x02\x3B\xA9\xB1\xA2\x8F\xA4\x39\xB2\xA2\x7C\x51\x97\xA7\x9E\x77\x3F\xAB\xFB\xA1\x90\xA5\x83\x62\xA4\xB2\x4F\xD0\x76\x86\xA9\xFA\xA4\x22\xAF\xC7\x79\x48\xBF\x9F\xAE\x24\x8D\xA9\x02\xA9\x47\xA8\xBF\x68\x92\xA6\x11\xB4\xA4\x8B\x50\xAF\x97\xBE\x84\x4B\xAA\x11\xAD\x6B\x94\x7F\x7A\xA4\x9A\x51\xC4\x6A\x9E\xA8\x0A\xAB\x89\x61\x94\xA7\x41\xB5\x42\xA4\x52\x9A\xA8\x09\x8D\x53\xA9\x07\xAE\x8D\xAE\xFD\x8A\xA5\xA1\x50\xF7\x68\xAE\xA8\x12\xAA\x05\x9D\x22\x01\x4B\xA7\xA1\x86\x23\xB4\xA9\x8C\xA9\x5C\xAB\xFD\x7D\x96\xAA\x42\xB9\x9F\x7C\x52\xAD\xA8\x7E\xA9\x42\xAA\x30\xAE\x8C\xA1\x10\x1D\x49\x6B\x43\xC6\xA9\x6D\xA9\x80\x6C\x32\xA8\x8E\xA5\x18\x8B\xA6\xB3\x51\xA2\x9E\x12\x02\x67\xAB\x1D\xAD\xC9\x92\xC2\x52\xA6\x95\x51\x8C\x02\xD6\xA9\x3E\xA9\xF4\x59\x9B\xA0\x48\xA4\xDD\x5C\x53\x83\xA9\xDE\xA9\x1A\x73\x37\xAF\x90", + "\xA3\xBB\x63\xA7\x8A\x52\xE5\xA9\xE2\xA9\x1F\x7E\x39\xAE\x91\xA1\x93\x8B\xA7\x91\x52\xED\xA9\xFC\x6C\x77\xAA\x45\xA2\x9E\xA7\x49\xA4\xA2\x91\x53\xA1\xA4\x00\x00\x7A\xAB\x26\xAC\xA8\x6A\x4F\xBF\xA4\x9D\xD5\x7D\xA9\xA2\xA9\x2D\xA9\x31\xA9\x9D\xA7\xFF\x60\xA8\xA5\x52\xB4\xA3\x74\x4E\x83\xA8\x2A\xAC\x78\xA5\x11\x0A\xA8\xAB\x52\xFD\xA4\xE5\x6E\x87\xAB\x2B\xAC\xFE\x62\x51\xB2\xA5\x8B\x26\x95\xAA\xB6\xA8\xDB\x9B\x40\xAD\xA0\xA4\x50\xB8\x9D\x82\x04\x18\xAA\xBD\xA8\xF5\x64\x48\xA8\x98\xA7\x22\x63\xA9\xB0\x50\xD8\xA2\x1A\x34\x7E\x6E\x8B\x37\x99\xAB\xDE\x8B\xA9\x93\x53\xF4\xA8\x03\x02\x97\xAB\x35\xA9\xA6\xA5\x83\x72\xA9\x9A\x53\xE8\x6A\x36\xAB\x6E\xA9\x6C\x69\xA7\xA0\x4E\xB0\xE5\x7C\x54\xE4\xA9\x9E\x77\x9F\xAB\x39\xA9\xA8\xA5\x53\xA5\xAA\xB7\xFF\x42\xAA\xEC\xA8\x0A\xA5\x4A\xAF\xA8\xA6\x54\xAB\x87\x88\x55\xEF\xA9\x31\x6F\xA7\xAA\x01\xAD\x67\x97\xA2\x38\xA7\x92\x55\xF5\xA9\x85\x57\xAB\xAB\x3E\xAD\xAB\x6A\x55\xBE\xA7\xAA\x3C\xCB\xAA\x1E\xAA\xB0\xA9\x32\xAC\xA2\x6D\x55\xA1\xA8\x9B\x33\xF4\x4E\x65\xAB\x83\xAB\x11\xAD\x22\x09", + "\x56\xAB\xA8\x8A\x43\xED\xAA\x0F\xAA\x86\xAA\x44\x00\xAE\xAF\x3C\xAC\xAB\xBF\xF8\x74\xAA\x16\xAA\x72\x58\x5E\xA9\xA3\xAA\x3E\x7B\xAB\xA1\x54\xF5\x68\x7E\xAA\x92\xA8\x4E\xAD\xA9\xA3\x56\xA8\xA9\x83\x77\x03\x02\xC6\x52\x89\x01\x70\x52\x22\x00\x60\x4C\xA6\x92\xE6\x0D\xAB\x2C\xAA\xA7\x7C\x64\xAF\xA5\xA0\x4D\xAC\x08\x13\x56\xB3\xAA\xFF\x4B\x1A\x73\x65\xAF\xA6\xA4\x54\x7B\xAC\xBA\x54\x81\x6E\x9E\xAB\x9E\xA9\x82\x89\xB4\xA0\x54\xA4\xDD\x64\x56\xC3\xAA\xA6\xAA\xCD\xAA\x6A\xAF\xFE\x77\x5A\xA9\xAA\x84\x3B\x99\xAB\xAC\xAB\xD5\xAB\x3A\xA5\xB5\xA0\x55\xB2\x9A\x74\x56\xD3\xAA\xDA\x7E\xBA\x4F\x6D\xA8\xAB\xA6\x3A\x95\x08\x3B\x56\xDB\xAA\x91\x67\xDF\xAA\x57\xAC\x85\x62\x5C\xA6\xAB\xA3\x41\xC5\xAB\x6A\xAA\xB4\x68\x72\xAE\xAD\xAC\x2D\x6B\xAE\xB1\x55\xCA\xA1\xCE\xAB\x89\xA8\x43\x71\xBA\xA9\x57\xA1\x35\xBE\x56\xF8\xA9\xD4\xAA\xBE\xAB\x94\x90\x00\x09\x5D\xBF\xAB\xBC\x29\xDD\xAB\x82\xAB\xCE\xAA\x6C\xAD\xB0\xAD\x5C\xA3\xAF\x8E\x56\xFE\x93\xE0\xAB\x93\xA9\x15\x94\x38\x52\x11\x06\x48\x52\x04\x08\x52\xED\xAB\x8A\x01\x48\x57\xBD\xA2\x5F", + "\xB5\x08\x24\xA4\x74\xAB\x12\x03\xFB\xA8\x43\x07\x23\x58\x5F\xBB\xAF\x95\x04\x2B\x01\x15\x02\x56\x01\x45\x07\x28\x52\x11\x09\x4A\x52\x04\x0B\x3F\x12\x03\xA2\x52\x44\x05\x1B\x52\x11\x12\x05\x3C\xDB\x0E\xAC\xCD\x7C\x08\xAD\x58\xA8\x00\x02\x61\xA4\xAF\x92\xD1\x15\xAC\xE7\xAA\x97\x90\x86\xA9\xB2\xA9\x6D\x9B\xB0\x94\x56\xEB\x9B\x1E\xAC\xCC\xA9\x40\x01\xC4\xAC\x59\xBD\xAA\x64\x58\x9F\xAB\x14\x6B\x13\xAE\x68\xA9\xC5\xA5\x83\x6A\xB1\xA5\x56\xB0\x79\x2E\xAC\xD4\xAA\xF9\x9C\xC2\xAD\x62\xB5\xB1\x91\x58\x8F\xAC\xDE\x9F\x18\xAE\x6B\xAC\x37\xAA\xC5\x1A\xB1\xB5\x56\xD0\x76\x3E\xAC\xDC\xA8\x8D\xAC\x98\xA3\x64\xB3\xB0\x81\x59\xBC\xAB\xE4\x59\x23\xAC\x70\xAE\x01\x92\x10\x0A\xB2\x83\x57\xC9\x9A\x15\x02\x27\xAE\x71\xAD\xA9\x9C\x10\x12\xB2\x89\x57\xEA\xA6\x0D\xAD\x1F\x7E\x95\xAC\xB9\xA5\x22\xBB\xB2\x8F\x57\xDC\x65\x5E\xAD\xD4\xA1\x98\xAD\xBA\xA4\xDE\x43\xB3\x9A\x57\xAD\x6A\x66\xAC\xEF\xA8\x8D\x69\xCD\xA1\x5E\xA3\x83\x9B\xA3\x62\x4C\x12\x03\x37\xAF\xEB\x6B\xF3\x12\x67\xB3\xBD\x70\xDE\x00\x00\x75\xAC\xDF\x6E\x44\x05\xF6\x65\x11\x19", + "\xB3\x86\xDF\x39\x6F\x03\x03\xDD\x6E\x9F\xAB\xF0\x64\x76\x7D\xB3\xBA\xDF\x73\x6F\x0C\x73\x41\xAD\x45\x03\xED\x6A\x68\xB2\x08\x0B\xDF\x02\x02\x8D\xAD\xD4\x3D\xA4\xAD\xEE\x66\x68\xB2\xBF\x40\x00\x3D\x4F\x93\xAC\x81\x03\x6A\x49\xD3\xAF\x77\x75\xB4\xBD\xDF\x04\x6F\xEC\x6E\x4F\xAF\x9C\xAC\x07\x31\x67\xA7\xB4\xB1\x3E\x65\x6F\x9C\xAD\x53\xAD\x39\x79\xD5\xA8\x7F\x70\xB4\xA6\x5A\x85\xAD\xA5\xAC\x4B\xAC\xC0\x12\x8B\x1C\x6A\xA1\xB5\xB1\x5A\x9F\xAD\x6A\x15\x54\xAC\xB9\x18\x16\x59\x7A\x63\x08\x3C\x5A\x9F\xAD\xD3\x13\x5F\xAF\xA8\xAC\xCA\x4E\x6B\xA6\xB5\xBC\x59\x92\x02\xC2\xAC\x3B\xAC\x8E\x49\xEB\x65\x11\x09\xB6\xBA\x59\xC3\x6F\xF0\x6E\x67\xAF\x9F\xAB\xF3\x69\x77\x92\xB6\x87\xDF\x4D\xAD\xA6\xAD\x47\xAD\x40\x06\xDA\xA8\x2C\x3C\xB6\x93\xDF\x0C\x02\xDE\xAC\x86\x01\xEF\x49\xDC\xA3\x10\x0B\x2D\x64\x5B\x82\x02\xDA\x6E\x00\x03\xB9\xA9\x20\x0D\x6A\xBB\xB6\xA6\x5A\x82\x14\xEB\xAC\x55\xAD\x38\x79\xDE\xA3\x6B\xB8\xB6\x96\x5A\xED\xAD\xEA\xAD\x57\xAD\x97\x6C\xDE\xA6\xEE\x51\xB7\xB8\x5B\xF1\xAD\x6A\x15\x78\xAC\xB9\x18\xBE\xAC\x10\x12\x45", + "\x52\x04\x36\x01\x15\x02\x84\xAF\xC1\xA9\xE1\xAC\x70\xAB\xB8\x8E\x5C\x8C\x02\x0A\xAE\x88\xAD\xC3\xAA\xE2\xAF\x70\xA3\x08\x11\x5C\x96\xAE\x13\xAE\x8C\xAE\x44\x07\x16\x05\x11\x04\xB8\x83\x04\x1C\xAE\x12\x02\x66\x51\x7F\xAB\x20\x02\x72\xAC\x08\x39\x02\x15\x02\xD7\x50\x86\x01\xCA\xAB\x20\x0B\x97\x43\xB9\x82\x04\x2D\xAE\x0C\x03\xBC\x52\xCB\xA9\x20\x02\x73\xAC\x08\x1A\x80\x12\x02\x37\xAE\x9B\xAD\x45\x01\xE7\xA3\x10\x1C\xB9\x82\x04\x3E\xAE\x01\x02\xA0\xAC\x00\x02\xE8\xA4\x74\xBB\xB9\x86\x5D\xB8\xAE\x47\xAE\x9D\xAC\xD2\xAA\x22\x0E\x0B\x15\x08\x27\x5C\xCC\xAE\x28\xAF\x8A\x01\xD3\xAA\x22\x0B\x72\xB3\xF3\x5A\x31\x74\x4E\x57\xAE\x73\x5F\x2F\x05\x22\x00\x0C\x15\x08\x01\x03\x5E\xAE\x60\xAE\x89\x03\xD7\xAA\xEC\xA1\x76\xAC\x08\x23\x5D\xE6\xAE\x65\xAF\x81\x03\xD9\xAA\xED\xA9\x76\xA2\x08\x2B\x5D\xEE\xAE\x6D\xAF\x80\x03\xDB\xA9\x20\x02\x0C\x1C\xB7\x75\x5D\xCD\x7D\x77\xAF\x09\xAD\xDE\xAE\xC2\xA7\x22\x7B\xBB\x99\x58\xB1\x92\x7E\xAE\x0E\xAD\xB7\x89\xF0\xAF\x61\xAE\xFA\x44\x5E\xA2\xAC\x00\x01\xC3\xAD\x89\xA9\x72\x6A\x78\xA8\xB1\xAE", + "\xC4\x0D\xAF\x2B\xAD\xC7\xAD\x0D\x70\xF2\xAF\x62\xA9\x30\x94\x5E\xB2\xAC\xEA\x9E\x86\x03\xE5\xAB\xC7\xA3\xBB\x7B\xBC\xBF\x58\x9D\xAF\x76\xAF\xD0\xAC\x86\xA4\xEE\x4E\x79\xA2\xB2\xA8\xD1\x25\xAF\x48\xAD\xD1\x58\xEA\xAB\xC9\xA9\x3F\x6B\xBD\x8F\x59\xA1\x97\xAE\xAF\x29\xAC\x0B\x69\xF6\xA7\x65\xBD\xAA\x74\x5E\xDC\xAC\x56\x96\xD2\xAC\x3E\xAF\xF6\xAF\x65\xA8\xA8\x95\x04\x3C\xAF\xD2\xAB\xBC\x8C\xF0\xAC\xCC\xAA\xB4\x89\xBC\xBF\xF8\x43\xAF\x67\xAC\x1A\x6C\xF2\xAA\xCD\xA7\x23\x6B\xBE\xAD\x59\x8C\xAF\x93\xAF\xE8\xAC\x91\xAB\x29\x52\x11\x14\xBE\x8C\x04\x56\xAF\x03\x02\xEC\xAE\x40\x02\xFB\xA1\x10\x1C\xBE\x80\x00\x5E\xAF\xE0\xAF\x8A\x01\xF8\xAD\xFA\xA2\x7E\xA5\xBF\xA4\x5F\xE7\xAF\x0C\x03\xA6\x52\x44\x02\xFD\xA9\x7E\xB5\x08\x2C\x5F\x83\x02\xEF\xAE\x81\x01\xFC\xA9\x20\x03\x7F\xA0\x00\x35\x5F\xF7\xAF\xEE\xAF\xFC\xAF\xFA\xAA\xFF\xAD\x7E\xBB\xBF\x92\x04\x45\x01\x15\x02\x00\xB3\xFF\xA9\x00\xB4\x80\xA3\xC0\x86\x60\x8C\x02\x02\xB0\x04\xB1\x01\xB2\x01\xB7\x80\xA3\x08\x09\x60\x8E\xB0\x0B\xB0\x08\xB2\x44\x06\x18\x05\x11\x14\xC0\x93\x60", + "\x95\xB0\x18\xB1\x0B\xB2\x06\xB4\x21\x06\x81\xBC\xC0\x99\x60\x9E\xB0\x1B\xB1\x81\x01\x07\xB2\x04\xBF\x81\xA4\xC1\x92\x04\x47\x01\xFC\x6C\x14\xB1\xB3\x7A\x05\xB3\x61\xAC\xC1\xBC\x5D\xE8\x6A\x2E\xB1\xBF\xAD\x16\x81\x06\xB2\x78\xB6\x36\xB4\x60\x85\xAF\xDD\x7B\x1B\xB0\xE2\xAA\x07\xBB\x78\xAC\xA1\x7C\x60\x8E\xAF\xDC\x65\x1F\xB1\xE4\xA9\x08\xB5\x83\x62\xC2\x95\x5E\x94\x6A\x46\xB0\xCC\xAC\x55\x99\x09\xBC\x79\xBE\xDC\x4C\x61\x9F\xAF\x4E\xB1\x14\xB2\x14\xB3\xF4\xA5\x11\x0F\xC2\xA6\x5E\xE6\x5D\x56\xB1\xD4\xAC\x79\x59\x0B\xBC\x7A\xAA\x9F\x5C\x61\xAF\xAF\xDB\xAB\x2F\xB2\xEC\xA9\x7F\x62\x86\xB5\xBD\x91\xCE\x65\xB0\xB8\xAE\x4E\xA9\xF2\x80\x0D\xBD\x7B\xAB\xAB\xA7\x60\xDE\x9F\x6C\xB1\xE0\xAE\x16\x19\x0E\xB4\x7C\xB0\xD0\x74\x61\xC9\xAF\xD3\xA7\x80\x03\x1D\xB4\xF9\xA6\xD4\x5B\xC3\x8F\x5F\xBE\xB0\x45\xB1\x40\xB3\xFD\x7E\x0F\xBA\x5E\xA5\x91\x88\x03\x7C\x6D\x87\xB1\x66\x7D\x22\xB3\xC2\xAB\x88\xAF\xC1\x84\xD5\x0D\xB1\x32\xB0\xFC\x80\x24\xB5\x06\xB3\x9C\x93\xC4\xB8\x60\x93\x7D\x96\xB0\xC4\xAD\x26\xB5\x07\xB9\x3F\x7B\xC4\x80\x61\xD2", + "\x68\x9E\xB1\x21\xB0\x28\xB5\x06\x71\x8A\xA7\xC2\xAE\xC4\x25\xB1\x4A\xB0\xC3\xA8\x2A\xB5\x09\xB4\xBA\x6B\xC5\x90\x61\xAD\xB1\x88\xB1\x58\xB0\x15\xB2\x22\x0E\x8A\xB7\xC2\x8A\xC8\x35\xB1\x5A\xB0\x6A\x5C\x2E\xB5\x0B\xB5\x47\x7B\xC5\xA0\x61\xFC\x94\xBE\xB1\x31\xB2\xFA\x61\x18\xB6\x86\xAC\xA1\x44\x63\xE9\xB0\x67\xAB\x8A\x03\x31\xB5\x0D\xBA\x86\xB9\x3B\x8B\x63\xC1\xAF\x74\x4F\x67\xB1\x1D\xB1\x68\x9C\x10\x12\xC6\xB8\x61\x82\x8F\xD6\xB0\x3E\xB3\x92\x81\x1B\xBF\x87\xBD\xC4\xA4\x62\xDF\xB1\xF7\x7E\x6E\xB1\x21\xB7\x44\x62\x8E\xBB\xA1\x8A\x55\x80\x00\xBB\x6F\xDD\x6D\x32\x05\xE3\xA5\x11\x0B\xC7\x92\x04\x4A\x01\xEC\xB1\x77\xB1\x45\x03\x19\x05\x11\x0C\x06\x25\x60\x82\x02\xCD\x01\x7A\xB3\x3D\xB1\x20\x06\x8F\xA1\xC1\x82\x04\x7D\xB1\x20\xB0\x86\x00\x40\xB6\x04\xB2\x90\xBB\xC7\x80\x00\x03\xB2\x02\x03\x11\xB3\x3F\xB6\x20\xB8\x90\xA1\x08\x0A\x64\xFC\xB1\x0C\xB3\x88\xB2\x3F\xB0\x22\xB3\x91\xA7\xC8\x92\x64\x81\xB2\x03\x03\x86\xB0\x00\x07\x21\xB0\x00\x0E\x06\x06\x64\x9E\xB2\x15\xB2\x90\xB0\x46\xB2\x20\x02\x92\xA4\xC8\x83\x04\x25\xB2", + "\x09\xB3\x8A\x00\x4A\xB6\x21\xBA\x92\xBF\xC8\xAE\x64\xA1\xB2\x2F\xB3\x91\xB1\x40\x03\x25\xBB\x91\xAD\xC9\xB0\x64\xB7\xB2\x32\xB3\x8E\xB2\x41\xB7\x19\x05\x11\x10\x06\x15\x04\x51\x01\x3F\xB3\xA0\xB2\x44\x00\x28\xB3\x94\xA2\xCA\x8C\x04\x44\xB2\x47\xB2\xA3\xB3\x40\x00\x29\xBB\x94\xAA\xCA\x82\x04\x4C\xB2\x4F\xB2\xA7\xB1\x40\x00\x2A\xB1\x10\x12\x06\x15\x04\x56\xB2\x12\x02\xAC\xB0\x43\x02\x2B\xB3\x10\x1C\xCA\x82\x04\x5E\xB2\x55\xB3\xAB\xB2\x58\xB1\x2B\xB3\x96\xBB\xCA\xA5\x65\xDD\xB2\x67\xB3\xAF\xB1\x45\x03\x1A\x05\xFA\x0B\xCB\xA6\x5A\xD3\x13\x6C\xB2\x4B\xAC\x5C\xB6\xD8\xAC\x6C\xB2\x08\x31\x65\x9F\xAD\xC7\xAC\x86\x03\x5D\xB3\xD8\xA0\x6B\xBA\xCB\xBA\x5B\x8A\x64\x7B\xB2\x65\xAD\x40\x03\xED\x61\x98\xAF\xB6\x83\x04\x5A\xAD\x00\x01\xC2\xB3\xB4\xA9\xF5\x3A\x98\xA3\xBC\x7D\x9E\x0D\xB3\x99\x4E\xB7\xB2\xA5\xAB\xB5\x40\x99\xBB\x40\x52\x66\x9F\xAD\xF8\xAD\xCA\xB1\xF8\x6B\x20\x0A\x99\xA8\xBF\x65\xDF\x1D\xB3\xEF\x6F\x3B\x68\x68\xB4\xDD\xA6\x6B\xBE\xCB\xB2\x5A\xDD\x6C\xA3\xB2\x79\xAC\xFD\x69\x35\xB9\x99\xA6\xB5\xAA\x29\x54\x01\x97", + "\xB3\x61\xAC\xB9\x1D\x1A\x0D\x96\xB2\x08\x34\x66\xF2\xB2\x15\x03\xDB\xB0\xB0\xA9\x37\xB4\x97\xBE\xBA\x7C\x66\x96\xAD\x79\xB3\x81\x02\x6E\xB4\x2F\xBD\x65\x63\xCE\x82\x66\xAA\xB3\x0C\x72\xE3\xB2\x61\xB2\x20\x0B\x76\x6A\xCE\x8B\x66\x87\xB3\xBF\xB3\xDD\xB2\x6D\xB6\xD4\xAD\x7B\x4E\xCE\x8E\x66\xD1\xB3\xC3\xAD\xD5\x4A\x75\xB7\xFD\x48\x9D\xA7\xCE\xB8\x5B\xDB\xB3\x6C\x4D\x80\x00\x78\xB0\xDA\xA1\xCE\x63\xCF\x9E\x66\xE5\x79\xE6\xB3\xFB\x6D\x69\xB2\x38\xBF\x97\xB0\xBF\x69\x67\x88\xAD\x79\x8F\xF7\xB0\xA8\xAA\x22\x02\x76\x52\xCF\xAA\x29\x56\x01\xDD\xB3\xE5\xB2\xFF\x6C\x21\x07\x0D\x15\x08\x3D\x67\x92\x02\xD8\x01\x8A\x01\x80\xB2\x22\x09\x0D\x15\x08\x05\x68\x92\x02\xDA\x01\x8A\x03\x36\x05\x22\x0C\x0D\x15\x08\x1D\x03\x15\x02\xDE\x01\x8A\x03\x37\x05\x22\x00\x0E\x15\x08\x09\x68\x92\x02\x15\xB4\x89\x01\x38\x06\x42\xB5\x11\x1B\xD0\x92\x04\x62\x01\x1C\xB5\x0F\xB5\x45\x03\x1C\x01\xA2\xAC\x08\x24\x68\x92\x02\xE4\x01\x12\xB7\x40\x05\x1C\x0C\xA0\xB5\x08\x29\x68\x92\x02\x2C\xB4\x89\x02\x39\x02\x45\xB2\x10\x07\x07\x2D\x68\xB2\xB4\x15\x02", + "\x1B\xB6\x44\x00\x1D\x07\xA3\xAC\x08\x3C\x68\x92\x02\xE9\x01\x8A\x02\x3A\x05\x22\x0B\x0E\x04\xD2\x86\x69\x92\x02\x45\xB4\x24\xB7\x91\xB4\x21\x09\xA4\xAC\xD2\x8B\x69\x83\x02\x4D\xB4\x28\xB7\x93\xB2\x20\x01\xA5\xB4\xD2\x93\x69\x81\x02\x55\xB5\x80\x00\x3B\x05\x22\x01\xA4\xB2\x08\x1B\x69\x92\x02\xED\x00\x2E\xB5\x45\x01\x4C\xB4\x9F\xAB\xCF\x82\x04\x62\x4E\xEE\x01\x8A\x01\x9A\xB2\x22\x0B\xA6\xAC\x08\x2D\x69\x83\x02\x6F\xB4\x81\x01\x9C\xB1\x20\x03\xA7\xA0\x00\x35\x69\xF7\xB4\x6A\xB5\x3C\xB4\x9B\xB2\x4F\xBE\xA6\xBC\xD3\x83\x04\x6F\x01\x15\x02\x40\xB6\x44\x02\x50\xBC\x10\x04\xD4\x83\x04\x70\x01\xFC\x6C\x44\xB5\xB3\x7A\x51\xB3\x61\xAC\xD4\x8E\x62\xDD\x6A\x8E\xB5\x48\xB0\xD4\x71\x52\xB4\x89\xA6\x4E\x94\x6A\x97\xB1\x73\x7F\x4B\xB4\xE2\xAA\x53\xBC\x89\xAA\x9F\x5C\x6A\x9F\xB1\x27\x65\x4F\xB6\x28\xB1\x54\xB5\x83\x62\xD5\xA6\x62\xDC\x65\xA6\xB5\x54\xB1\x15\x91\x55\xBC\x8A\xB0\xE5\x6C\x6A\xAF\xB1\xAE\xB5\x44\xB6\xAC\xB3\x16\xBC\x10\x0F\xD5\xB6\x62\xE5\x79\xB6\xB5\x5C\xB2\xF4\x59\x57\xBC\x8B\xAD\xA9\x7C\x6A\xBF\xB1\xA5\x95\x5F", + "\xB6\x30\xB5\x8E\x62\xAC\xA5\xC6\xB9\xCF\x45\xB5\xC8\xB0\x6F\x9B\x9C\x78\x59\xBC\x8C\xB8\xB2\xB5\x6A\xDE\x9F\xCC\xB4\x39\xB1\x45\x01\x5A\xB3\x8D\xB0\x35\x81\x04\x54\xB5\xD7\xB1\x25\x84\xB6\xB2\x1B\xB5\xCC\x5B\xD6\x9D\x63\x9E\xB5\xA5\xB5\x70\xB7\xFD\x7E\x5B\xB3\x8E\xA2\xA8\x80\x00\x71\x01\x15\x02\x74\xB6\x44\x02\x5D\xBC\x10\x0C\xD7\x83\x04\x72\x01\x15\x02\x78\xB6\x44\x02\x5E\xBC\x10\x14\xD7\xAF\x6B\xF1\xB5\xF8\xB5\x79\xB5\xBE\xB5\x5E\xBB\xAF\xB7\xD7\xBA\x6B\xFF\xB5\xFC\xB4\x80\xB7\x40\x03\x1E\x05\x11\x04\xD8\x92\x04\x06\xB6\x0C\x02\x84\xB7\xC0\xB5\x60\xBC\xB0\xA7\xD8\x8D\x6C\x89\xB6\x0F\xB7\x85\xB6\xC3\xB3\x62\xB0\xB1\xB4\xD8\xB7\x59\xD3\x13\xC1\xB3\x65\xAE\x6F\xB4\xDA\xA4\x77\x55\xB7\xA7\xA6\x15\x02\x88\xB3\xE9\x11\xEF\x4D\xF7\x4B\x5A\x49\xB7\xB8\x5B\x82\x14\x7D\xB3\xF3\xB3\x1D\x68\xDF\xA9\xB2\xA1\xCD\xB4\xDF\x78\xAD\x6A\x14\x72\x1E\x3E\x1B\xF0\x63\x9D\x14\xD9\xBD\x66\xBA\x6F\x37\xB7\x40\xAD\x7B\xB1\x9C\x74\x68\xA6\x77\x57\x5B\x96\xAD\x88\xB2\x9B\xB6\xA5\xAD\xF7\x47\x9D\xB3\xCC\xA6\x5A\xE9\xAD\x93\x6E\x33\xB6", + "\x7E\xB0\xF1\x6F\x69\xAD\xD9\x8B\x6D\x9E\xB6\x98\xB2\xA5\xB7\x73\xB6\x65\xB9\x3C\x9D\xD9\x8A\xC8\x49\xB6\x65\xB4\x4B\xAE\x9A\x13\xF0\x64\xEE\x14\x07\x15\x04\x75\x01\xC8\x24\xB0\xB7\x8C\x42\x6C\xB4\x7B\x75\xCB\x8C\x04\x64\xB6\x89\x42\xB3\xB7\x40\x00\x6D\xB4\xB5\xBE\x15\xAC\x6D\xF0\xB3\x5A\x19\xB7\xB4\x00\x03\xED\x62\xB7\xA8\xCC\xB2\x6D\xD3\x13\x72\xB7\xDE\x4D\xDE\xB7\x6B\xBE\x59\x5C\xDB\x96\x66\x92\x02\x72\xB6\x7C\xAE\xDC\xB2\x40\x12\xB7\xAE\xDA\x80\x00\x05\xB7\xE6\x5D\xC0\xB6\xD4\xB0\x71\xB5\x7E\x6C\xDC\xA5\xF3\x0A\xB7\x59\xB7\xB3\xB6\xD7\x39\x20\x02\xB7\xA4\x77\x36\x03\x15\x02\x97\xB6\x89\x03\x3D\x05\x22\x0B\xB9\xB2\x08\x38\x03\x15\x02\x9F\xB6\x89\x01\x3E\x00\x73\xB5\x11\x03\xDD\x92\x04\x19\xB7\x0C\x02\x7D\x00\xE9\xB2\x22\x0A\xBA\xA7\xDD\x95\x04\x7B\x01\xB5\xB2\x86\x00\xEC\xB0\x37\xB2\x11\x13\xDD\x92\x67\xB2\xB7\x39\xB6\x81\x03\xEE\x6E\x76\xB3\x6C\xB9\xD8\x81\x04\x3C\xB7\xC7\xB2\xC3\xB4\xF0\xB7\x69\xB6\xEE\x43\xDE\x93\x6D\x83\xB3\xAF\xB7\x6C\xAD\xF2\xB4\x76\xB8\xBB\xA3\xDA\x8B\x6F\x9F\xAD\xBD\x4E\xE3\xB7\xE0", + "\x6B\xB5\x42\xBD\xBC\xCE\xB5\x6E\xA6\xAD\xF8\xAD\xEA\xB5\x78\xB0\x00\x0A\xBD\xA4\xCF\xB3\xF9\x5D\xB7\x2A\xB6\xFA\x6C\xF8\xB2\x3D\xB1\xB9\xA3\x08\x23\x6F\xF0\xB3\x74\x4F\xF3\xB4\x72\xB1\xEF\x8A\xBE\xB8\xB7\xBC\x03\x4F\xB7\xC3\xAC\x35\x16\xFA\xB4\xDC\x1D\x0F\x11\xDD\x83\x04\x75\xB7\xCC\xB7\xFB\xB7\x5B\xB5\x22\x08\xBF\xB8\xCB\xAA\x6D\x82\x02\xFD\xB7\xDE\xB7\xFF\xB1\x20\x01\xC0\xA1\xDE\x9D\xD9\x05\xB8\xC4\xB6\x05\x64\x02\xBF\x78\xB3\xB7\xBC\xDF\x8A\x6F\x92\x02\x0B\xB8\xA1\xB4\x43\x01\x82\xB1\x99\xB0\xE0\x94\x67\x8E\xB8\x46\xB6\x0B\xBA\xA5\xA9\xDD\xA4\xC1\xBF\xBC\x52\x6D\x9D\xB8\x9B\xB2\x00\xBB\xCE\xB3\xCE\x70\xC2\xA1\xDF\x8C\xE4\x25\xB8\xE4\xB6\x86\x02\xD8\x48\x85\xB8\xBE\xB8\xE0\x8D\x6D\xE6\x5D\x2C\xB9\xF9\xB2\x0A\xBD\x22\x0E\x0F\x0E\xE1\xB1\x6F\xB6\xB8\xC7\xB3\x49\x22\xFD\xB4\x24\x0B\xBF\xAF\x09\x3D\x70\x99\x02\xB9\xB7\x80\x03\xEE\x68\xB3\x43\x78\x7E\xDD\x84\x04\x23\xB8\xC9\x86\x22\xBB\xEF\x6C\xFE\x6A\xC4\xBF\xD8\xBE\x70\xC0\xB6\x20\x03\x1F\xB9\x47\x07\x82\xBF\xC4\xB0\xDE\x91\x71\x99\xB8\x40\xB9\x0D\xBB\x15\xB9", + "\x6A\xB5\xBE\xBC\xE1\x96\x5A\x86\x16\x48\xB8\x5F\x85\x13\xBE\x7B\xBC\x90\x63\xE3\xAB\xDF\x5D\xB8\x0D\x03\x30\xBB\xF5\x49\x8C\xB3\xD4\x18\xDE\x92\x6D\xE6\xB8\xFB\x6F\x29\xBA\xA5\xAC\xDC\x18\xCC\x35\x2B\x6B\x11\x02\x00\x0E\x4C\x24\x5F\x7A\x57\x01\x00\x59\xB9\xE3\x87\xEB\x6B\x53\x10\x01\x3E\xBA\x5F\x24\x9A\x4B\x9E\x51\x00\x02\x72\x8E\x1E\x84\xB9\x41\xBB\x21\xBC\xC6\x16\x49\x0B\x4F\x53\x00\x0B\xB9\x3B\x17\xBE\x4B\x7A\x54\x02\x00\xC9\xA0\x52\x15\x36\x6B\x53\x15\x01\x4A\xBB\xB7\x0B\x3A\x1A\x1C\x12\x09\x16\x00\x1A\xB9\xB2\x5D\xB5\x6F\x7A\x57\x02\x00\xCA\xBE\x5E\x1D\x01\x7E\xB8\x85\x48\x13\x0C\x35\x4A\x0B\x08\xCA\xAF\x24\x66\x18\x69\x55\x54\x01\x56\xBA\x55\x02\x39\x06\x49\x0C\x02\x32\x72\xDD\x5D\xA0\xB9\x3E\x56\x11\x07\x96\xB2\x5A\x00\xE5\xB1\x62\x40\x00\xBC\xB8\x82\x4C\x28\xBA\x89\x0A\x03\x01\xE6\x87\x95\x20\xB9\x6B\x0E\x1A\x02\x31\xBA\x20\x0C\x01\x00\xE5\xBA\xAA\x1F\x00\xCB\xB9\x80\x01\x07\x00\x94\xB7\xAC\x56\x00\x11\x73\xD3\x5F\xA0\xB8\xE5\x53\x35\xBF\x03\x00\xCA\xA3\x24\x06\x6F\x9D\xB9\x7C\x60\x50\xB8\x29\x0A\x6E", + "\xB0\xCE\xB3\x4A\x32\x04\x27\xB4\x34\x1C\x99\x01\x08\x00\x94\xB1\x6C\x60\xD1\xB1\xA7\x22\x00\xA0\xB8\x5A\x51\x15\x02\x17\x2E\x9F\x5B\x87\x34\xA2\x56\x00\xF4\xB8\x00\x55\x9C\x2A\x4E\x5D\x7B\x4B\x4F\x63\x00\x20\xB9\x72\x54\xB1\x4F\x7A\x54\x04\x00\xCA\xA6\x6E\x58\x36\x6B\x53\x25\x01\x82\xBB\x73\x76\x3D\x56\x02\x00\xE8\xB6\xF0\x6D\x53\x27\x00\x50\xBA\x72\x00\xB2\x3B\x9E\x48\x01\x0E\x74\x80\x7E\xF0\x53\x14\x03\x45\xB8\xCA\x4B\x9E\x4A\x01\x1B\x74\xAD\x8E\xF1\x53\x1A\x6F\x47\xB9\xD6\x81\x9F\x4C\x01\x23\x74\xAA\x92\xEF\x53\x16\x03\x49\xB8\x00\x0A\x89\x8B\x4F\x6E\x00\x20\xB9\x91\x02\xE9\x97\x7A\x57\x05\x00\xD3\xB5\x08\x09\x34\xEB\x53\x30\x01\x95\xB8\x8D\x9B\x3D\x51\x03\x12\xE8\x95\x04\x0C\x9F\xF0\x52\x19\x02\x4F\xBB\xFD\x91\x9F\x53\x01\x2B\x74\xD9\x9E\xEB\x52\x1A\x03\x51\xB9\xA4\xB5\x03\x00\xE5\x89\x37\x77\x9D\xEB\x52\x1B\x00\x28\xBD\x32\x45\x01\x12\x09\x3E\x45\x37\x00\xA0\xB9\x0C\x72\x05\x06\xAA\xBF\xA1\x5F\xBB\x60\x72\x88\xB3\x09\x00\xAE\xB8\x87\x53\x1F\x2B\x7B\x6A\x00\x22\x75\x9E\x54\xFB\x21\x92\x44\x24\x01\x9F\xB9", + "\x9F\x46\x31\x01\xDB\x0E\x00\x67\xBA\x10\x57\x54\x17\xCF\x12\x01\x11\xEB\xA9\x72\xD3\x12\x00\x17\x05\x02\x5D\xBE\x95\xB3\x95\x0C\x3D\x4C\x00\x7B\xBA\xB3\xB8\xCB\x33\x9F\x50\xB0\xB6\x62\x03\xBC\x50\x00\x04\xBB\x53\x13\xE2\x6F\x01\x00\xB1\xBB\x0F\x3D\xDA\xAC\x75\xF5\xB8\x53\x12\x7D\x19\x03\x04\xB1\xB1\x67\x2B\x2E\x0F\x00\x14\xBB\xA3\x2B\x7A\x20\x02\x00\xB3\xBD\x1B\x4F\xEA\xA1\x74\xB9\x00\xA0\xB9\x40\x08\x1E\xA4\xC6\x1F\x16\x5A\x75\x70\x8C\x6B\x53\x3A\x01\x95\xB8\x20\xA1\x3E\x5B\x03\x00\xE5\xB6\x0E\x43\x1E\xCA\x03\xD2\xBB\x83\x58\x2C\xA1\x9F\x5C\x01\x03\x75\x8C\x02\x3C\xA5\xF7\x51\x0F\x00\x94\xB4\x49\x08\x9F\xAE\xA7\x3E\x00\xBC\xBB\x8A\x02\x90\xA7\x3D\x5F\x03\x01\xEE\xB7\x4B\xF0\x53\x40\x00\xE3\xB9\x90\xA1\xA4\xB1\x04\x0B\xE9\x8B\x56\xF0\x53\x42\x01\x95\xB8\x7B\xA8\x3E\x53\x04\x0B\xE9\xB3\x57\xF0\x53\x44\x01\x95\xB8\x7F\xA8\x3E\x55\x04\x0B\xE9\x82\x58\xF1\x53\x46\x01\x95\xBA\x82\xA8\x3E\x57\x04\x0B\xE9\x9E\x58\xEB\x53\x48\x01\x95\xBA\xB4\xAB\x3D\x59\x04\x0B\xE9\xB3\x5D\xEC\x53\x4A\x01\xDB\xBA\x04\xB0\x3E\x5B\x04", + "\x12\xEF\x82\x04\x6E\xB1\xF0\x52\x26\x02\x7D\xB9\x20\x0C\x93\xB1\x4F\x4D\x01\x7B\xBB\x00\x00\xAA\xB0\x7B\x56\x09\x00\xCA\xBE\xBF\x19\x68\xA4\xBB\x26\x0C\x39\x56\x87\xB0\x3E\x5F\x04\x0B\xE9\xB1\x68\xE9\xB9\x43\x81\x6E\xBA\x90\xB1\xA4\xB1\x05\x12\xF0\x9E\x69\xA1\xBA\x52\x00\x0B\xBD\x9F\xB1\x3E\x53\x05\x00\xF0\xAE\x6B\xEE\x53\x54\x00\x0D\xBE\xBF\xB0\x3E\x55\x05\x02\xF1\x82\x04\x5E\xB6\xF1\x52\x2B\x02\x89\xB9\x20\x06\xBA\xB0\x4F\x57\x01\x59\xB9\x5B\xB9\xF7\x50\x16\x00\xC6\xB6\xC7\xB1\x4F\x59\x01\x34\xBC\x20\x47\x56\xBA\x72\x02\x0B\x04\xCD\xB7\x54\x7A\x78\xEF\x12\x3D\xBD\x5E\x07\x8F\xBD\x61\x01\xE4\xBC\x54\x43\x79\xEF\x85\x45\xBC\x74\x57\x91\xB9\x63\x8E\xCC\xA6\x64\x4B\x79\x9E\x87\x4D\xBC\xD2\x53\x93\xBE\x2B\x28\xCC\xA0\x9B\x53\x79\x90\x2A\x55\xBC\xDB\x43\x95\xBA\x0C\x09\xE5\xAD\x10\x17\x79\xE3\x00\x5D\xBC\xFE\x6B\x95\xBC\x0C\x01\xE6\xBC\xB3\x57\x79\xE5\x00\x65\xBC\x11\x3B\x95\xBE\x0C\x03\xCC\xAF\x3F\x57\x79\xE7\x00\xBE\xB9\xD3\x6F\x95\xB8\x0D\x09\xCB\xA8\x31\x17\x79\xE9\x00\xA0\xB8\x4B\x0A\x12\x07\xCA\xBA\x06\x00", + "\xE5\x94\x93\x52\x00\x57\xBD\x35\x02\x9F\xBC\x0F\x87\xE5\xAC\x03\x25\x72\xCB\x83\x57\xBD\x36\x03\x4A\xBB\x0C\x07\xE5\xAE\x03\x0A\x74\xA4\x07\x57\xBD\x37\x00\x28\xBF\x72\x27\x06\x17\xF2\xB0\x01\x2B\xBA\x01\x01\xC7\xBA\x72\x01\x0E\x0F\xE8\xA0\x19\x4F\x76\x81\xBB\xAC\x5C\x53\x0B\xA7\xBE\xC4\x0F\xE7\x02\x00\x1A\x7A\xA6\x0C\x74\x4F\x02\x03\xA8\xBB\x2A\x1D\x57\x47\x00\x2B\x7A\xFB\x21\x60\x60\x03\x03\xAB\xB9\xCE\x2A\xF3\x42\x08\x1F\x03\x57\xB9\x72\x01\x49\xBF\x8D\x8F\xCA\xB3\x07\x1D\xF4\xB3\x22\xD7\xB9\xBA\x30\xBA\x4F\x1B\x00\xD8\xB1\x1A\x52\x53\x7A\x01\x57\xBC\x74\x00\x00\xBF\x1E\x07\xCA\xB5\x07\x0B\xE9\x87\x7B\xF1\x53\x76\x00\x5F\xBD\x8A\x9F\xCA\xB7\x07\x00\xE5\xB6\xAF\x78\x00\x57\xBC\x3C\x00\x28\xBA\x8B\x17\x08\x0D\xE5\xB2\x76\xB3\x5C\x8A\x01\x2B\xBD\x1E\x02\xDA\xB1\x10\x09\x04\x17\x79\xFA\x00\x2B\xBA\x4A\x03\x95\xBB\x0F\x00\xCA\xA2\x61\x4E\x02\x57\xBC\x7C\x01\x76\xBD\x45\x07\xDD\xB1\x9F\x5D\x03\x24\x7B\x80\x00\x90\x01\x2B\xBE\x1F\x07\xDE\xB9\x09\x17\xF2\xBF\x01\x2B\xBA\xA0\x01\x2B\xBC\x20\x00\xE0\xB7\xE5\xA1\x04", + "\x37\x7B\xA5\x01\x57\xBC\x41\x03\xC1\xBF\xCA\xB3\x08\x00\xE5\x95\x9D\x45\x01\x57\xBC\x42\x02\xC3\xBD\x0A\xB7\xE5\xA5\x04\x37\x7B\xC9\x01\x57\xBC\x43\x03\x4A\xBB\x1A\x07\xE5\xA7\x04\x1B\x7C\xD7\xBC\x88\x01\x95\xBA\x36\x07\xCA\xB9\x08\x02\xF9\x97\x79\x8A\x01\xA0\xB8\x75\x1D\x37\x07\xCA\xBB\x08\x09\xF9\x8E\x68\xD7\xBC\x8C\x01\x95\xB8\x3A\x07\xCA\xBD\x08\x0B\xE9\xAD\x03\x57\xBC\x8E\x01\x95\xB8\x3C\x07\xCA\xBF\x08\x17\xF7\xB3\x03\x57\xBC\x90\x01\x7B\xBE\x3D\x07\xCA\xB1\x09\x17\xF7\xB8\x03\x57\xBC\x92\x01\x95\xBA\x3F\x07\xCA\xB3\x09\x17\xF7\xBD\x03\x57\xBC\x94\x00\x50\xBB\x5E\x0F\x01\x07\xEA\xB2\x08\x15\x02\x53\xBA\x8B\xAD\xAA\xBC\x43\x06\x12\x02\xF5\xAA\x53\x5A\x7D\x96\x37\x5D\xBF\x86\x43\xD7\xBB\x99\x31\xF6\xAB\x8A\x63\x7D\x81\x02\x99\x01\x7B\xBF\x05\x07\xEC\xB0\x00\x1A\x04\x20\x72\x8E\x15\x1E\x00\xB6\xBF\x26\x00\x94\xBD\x1D\x40\x01\x2C\x7D\x9C\x01\x6F\xBE\xA9\x5C\xDB\xBD\x13\x04\xF7\xBC\x83\x6C\x7D\x9E\x01\x79\xBE\xB5\x5C\xDB\xBF\x13\x0D\xF7\xB5\x84\x6C\x7D\xA0\x01\x2B\xBB\x14\x00\xDB\xB9\x14\x0E\xD4\xBA\xBB\x6C", + "\x7D\xA2\x01\x8D\xBF\xB6\x6C\xDB\xBB\x14\x08\xF5\xA7\x4D\x6C\x7D\xA4\x01\x00\xBC\x1B\x00\xDB\xBD\x14\x05\xF6\xBD\x0A\x2C\x7D\xA6\x01\x9D\xBF\x04\x14\xDB\xBF\x14\x07\xEF\xA0\x02\x33\x7A\xA3\x2B\xA5\x53\x20\x03\xE9\xBD\x37\x4B\x57\x0B\x02\x2C\x7D\xA8\x01\xA1\xBE\xDE\x78\xDB\xB9\x15\x00\xE0\xA9\x02\x2C\x7D\xAA\x01\xA0\xB8\xF7\x6B\x11\x04\xED\xBB\x0A\x00\xE5\x85\xD8\x59\x00\x8F\xBB\x6F\xBE\x83\x6B\x39\x81\xFC\xA6\x31\x0A\x07\x5F\x00\x6C\xBE\x56\x03\x4A\xBA\x0C\x0C\xF6\xAD\x05\x00\x78\xEA\x00\x6C\xBE\x57\x03\xF3\xBC\xED\xBF\x0A\x00\xF0\xB7\x01\x6C\xBE\xB0\x00\x00\xBC\x20\x04\xED\xB1\x0B\x0B\xE9\xBC\x01\x6C\xBE\xB2\x01\x95\xBA\x1F\x04\xED\xB3\x0B\x11\xFD\x80\x00\x0F\x01\x6C\xBE\x5A\x02\xF9\xB8\xFD\xB1\x9F\x55\x05\x37\x7B\x8D\x01\x6C\xBE\x5B\x00\x28\xBB\x3A\x1E\x08\x0C\xFB\xB7\x02\x6F\xBF\x6C\xBE\x5C\x03\xFC\xBB\xDE\xBC\xF6\xB9\x05\x38\x7F\xF1\x53\xBA\x01\x7B\xBC\x25\x04\xED\xBB\x0B\x00\xF0\x9D\x02\x6C\xBE\xBC\x00\x03\xC0\xDB\xBD\x17\x01\xF9\xA4\x99\xAC\x7D\xBE\x01\xA0\xB9\xCA\x1B\x26\x04\xED\xBF\x0B\x0D\x00\xED\x4D", + "\xEC\xBE\xC0\x01\x08\xC3\xE2\xA4\xED\xB1\x0C\x00\xE5\xAB\xDD\x22\x01\xC5\xBF\xA9\x13\xDA\x6E\x14\x01\x02\xDB\x87\x2B\xDD\x29\x01\x25\xC1\x38\x2D\x65\x47\x15\x0C\xF6\xA2\x06\x15\x7E\x8C\x02\x2C\xC1\xF8\x53\x30\x07\x05\xC6\x71\xAC\xFB\x84\x03\x34\xC0\x02\x02\x5B\x00\xDB\xBD\x18\x00\xCA\xBD\x3D\x78\x02\x6C\xBE\xC6\x01\x1E\xC0\xCA\xAC\xED\xB7\x0C\x00\xE5\xAB\x96\x41\x01\x6C\xBE\x64\x02\x11\xC7\xF7\xAC\xF6\xA9\x06\x0B\x81\x92\x02\xC2\x00\xB6\xBE\x32\x07\x09\xCC\x10\x07\x06\x2C\x7D\xCB\x01\x54\xC1\x81\x00\x32\x04\xED\xBC\x0C\x00\xE5\xA9\x5B\xC9\x01\x6C\xBF\x66\x01\x16\xC2\x20\x0B\x05\xD1\x4F\x4E\x03\x5E\xC0\xED\xB0\xB6\xBF\x33\x00\x0D\xC2\x11\x00\x03\xF1\xA7\x50\x01\x38\xC1\x99\xB0\xDB\xB9\x1A\x01\x07\xDD\xC8\xAC\x7D\xD2\x01\x00\xBD\x68\x00\xDB\xBB\x1A\x00\xCA\xA2\x3B\x57\x03\x6C\xBE\xD4\x01\x3E\xC2\x7F\xB4\xED\xB5\x0D\x00\xF0\xB6\x03\x6C\xBE\xD6\x00\x50\xBA\x9A\x11\x1F\x09\x02\xC3\xAD\x32\xA9\x78\x01\x6C\xBF\x6B\x02\x22\xC5\x74\xBD\x08\xDD\x0D\x5D\x72\xFB\xBA\xCA\x02\x6C\x00\x80\xBA\x00\x08\x09\xC6\xD0\xB5\x81\xD5", + "\xBA\xF1\x52\x6D\x01\x56\xBC\x66\x5C\xD9\xA0\x00\x1B\x03\x20\xB9\x94\x19\x0E\x01\x27\xC2\x22\x0C\x0D\x08\x05\xD2\xBD\x2B\xC1\x0C\x03\x6E\x02\x2B\xC2\xED\x50\x0B\xC3\x08\x1E\x03\x20\xB9\x86\x2C\x11\x01\x2D\xC6\xD6\xB8\x0B\xDF\x21\x3B\x82\x81\x02\xE0\x00\x0B\xC3\x7F\x6F\x17\xC0\x00\x01\x07\x20\x72\x98\x1B\x29\x00\x62\xC2\x38\x02\x18\xC4\x99\x44\x06\xE3\x03\x47\xC1\x3F\x48\x62\xC0\x39\x04\x19\xC6\x60\x64\x06\xE5\x03\x20\xB9\xD9\x73\x17\x03\x5E\xBA\xF8\xB2\x10\x19\xCE\x71\x00\x5B\xC1\x26\x0D\x3A\x02\xFD\x55\x41\x53\x5A\x2B\x4F\x5C\x83\x96\xC1\x80\xAD\x72\xC0\x7E\x50\xB2\xBF\xAD\x2B\x4F\x75\x7A\xE8\xC1\x0F\x55\xB6\xBA\xD2\x23\x3D\x56\xDC\x5A\xC5\x25\x73\x81\x54\xC2\x4B\xED\x42\x72\x02\x84\x56\x0F\xCE\x51\x72\x83\xED\xC1\x7E\x22\x39\x55\x3F\xC0\x48\x58\x0F\xC7\x22\x68\x97\x4A\x03\xA5\x53\x81\xC3\x91\x57\x3F\x50\x42\x47\x08\xF6\x9D\x0E\xC2\x5F\x55\x7A\xBA\xA5\x43\x3D\x5A\xAB\x4A\x08\xC7\xEB\x67\xC1\xF8\x44\xE5\x00\x6F\x48\xB3\x4D\x3B\x12\x14\x18\x84\x96\xC2\x37\x55\x8C\xC3\xC8\x5F\x23\xC1\x1A\x4A\x0E\x3E\x40\x14\xC2", + "\xEB\xC0\x83\xC2\xB7\x4A\x39\x0E\x49\x4B\x4F\x6B\x1D\x24\xC2\xB6\x48\xE5\x01\x10\x3B\x3D\x5A\x44\x10\x09\xFA\x83\xA4\x65\x20\xC3\x4A\x5A\x4D\xC0\x22\xCF\xFA\x53\x4A\x0A\x07\x7D\x54\x94\x08\x4B\x0B\x8A\x4C\x1C\xC7\xD7\xBB\x87\x25\x25\x4A\x03\xD4\x49\xA1\xC1\x57\xBC\x1D\xC1\x67\x2A\x0E\x32\xA9\x3B\xC2\xDE\x4C\x99\x02\x7B\x69\x27\xC2\xFD\x41\x24\x1A\x31\x18\xC2\x32\x03\x02\x6C\x55\xC5\xAF\x41\x48\x15\x3A\x58\x85\x96\x6D\x4D\xC3\x24\x62\x8A\x51\x6E\x69\x12\xC1\x0D\x72\x04\x41\x6D\x54\xC3\xCA\x19\x20\x09\x96\x4F\x15\xC4\xBD\x6A\x83\xF6\x6B\x30\x55\xAD\x6E\x3E\xBB\xB4\x22\x13\x00\xD4\x2E\x74\xFE\xC1\xE8\xB1\xB2\xC2\x2D\x49\x90\x08\x11\xCA\x0E\x00\x2C\x20\xBD\xFB\x21\x40\x0B\x54\xC5\x24\xC5\xC1\xAB\x08\xD4\x90\x12\xC2\xA3\x2B\x40\x0A\x56\xC4\x30\xC2\x3E\x49\x52\x70\x98\x08\xC3\xBD\x43\x40\x08\x2D\x54\x2A\xC8\xD9\x1E\xBF\x0B\xF4\x18\xC2\x81\x08\xB4\xC0\x63\xC7\xBD\x70\xA5\x46\x82\x3A\x85\xDB\x43\x81\x09\x5C\x4E\x72\x01\x1D\x8E\x7F\x34\x0C\x98\x86\xBB\xB8\xF0\xC1\x1B\x85\x67\xC6\x73\x8F\x19\xC8\x2F\x76\x0E\x7D\xC2\x19", + "\x88\xC0\xC1\x9C\x2E\x76\x03\x18\xD1\x09\xCF\x14\x8E\xC3\x22\x8F\x82\xC1\x68\x46\x76\x0B\x18\xD6\x0D\xD2\x04\x44\x8E\xFE\x2F\xDB\x90\x46\xC6\x76\x03\x19\xDB\x0C\xEB\x29\xCC\x54\x00\x00\x0E\x9E\x6E\xC6\x96\x46\x3B\x1A\x0C\xFE\x86\xCB\x9D\x4B\x54\x91\x2F\x3F\xC3\x36\xC5\x79\x61\x0B\xD3\x51\x86\xC3\xFB\x9E\x86\xC0\xBE\x46\x76\x06\x17\xDE\x8B\x1D\x40\xFE\x2F\xF7\xA0\x8C\xC2\xFF\x2A\x29\xC4\xE3\x1A\x8A\x8B\x87\xB7\xC2\xDA\xC2\xFF\x2C\x25\x53\x3D\x5C\x15\xBA\x0E\xFA\x62\x7A\x53\xB8\xC3\x81\x03\x3B\xC2\x24\xC2\x11\x1E\x8A\xAE\x87\xA1\x43\x91\x02\x4A\x0A\xFF\x2D\x1E\xC6\x1C\xC2\x08\x34\x76\xE7\xC3\xE8\x4A\x99\x02\x7E\xC5\x70\x54\x15\xCE\x8B\xA7\x86\xE9\xC3\xBA\x5C\xAA\xC1\x77\xA3\x38\xCB\x0E\xDE\xBF\x09\x84\xFD\xC3\x01\x02\x1D\xA4\x80\xC6\xDB\x4E\x7F\x23\x10\xDB\xAC\x54\xC2\xB9\xBB\xB9\xC1\x6F\x44\x94\x06\x21\xD2\x68\x54\x85\xBE\xA4\x13\xC4\x77\x4F\x20\x0D\x43\xC4\xEB\x56\x0E\xDB\x7D\xAD\xC3\xDE\x4C\x8F\xC0\x72\xC7\x76\x1B\x9E\x43\xEE\x9A\x88\xF8\x45\xC7\x54\x12\xC7\x8B\x56\x28\xCA\x27\xA8\x11\xEE\x9B\x3A\x55\x32\xC5", + "\x26\x56\xF1\xBD\x22\x00\x2C\xB8\x08\xEF\x84\xC8\xC3\x33\xC2\xBF\x21\xC9\xA0\x23\xC5\x13\xC8\x0E\xF6\xAF\x54\xC2\x8C\xA6\x8C\xC1\x2C\x31\x47\xC3\xFD\x5B\x11\xD2\x04\x3E\xBB\xD3\xC2\x81\x02\xFA\xA2\x41\x51\xD7\x54\x24\x24\x12\x64\xC3\x3B\x16\x69\xA8\x46\xC6\x92\x06\x25\xCD\x62\x54\x85\xAA\xC2\xEE\x4C\x5D\x30\x29\x0B\x3D\xCE\x17\x2E\xA9\x98\x84\xE9\x55\x5D\xC4\x89\x03\x7C\xC4\x2A\xC2\xF6\x18\x08\xD4\x93\x69\xC4\xEC\x64\xAA\xC1\x62\xA9\x44\xCC\x11\xDE\x5E\x30\x89\xA3\x5B\x54\xC3\xE7\xB8\x64\xC0\x5F\x4F\x14\xDC\x52\x4F\xB9\x54\xC2\x93\xAA\x8C\xC2\x08\x5F\x4E\xCC\xCC\xAE\x12\xCC\x04\x53\xBB\x7B\xC4\x5D\x32\x71\x5C\x50\xCC\xD9\x54\x0A\xEE\x57\xF4\xC4\xCA\x02\xFB\x54\xA3\xC1\xDD\x54\x15\xDE\xB8\xAF\x88\xC1\xBD\xEB\xC0\x52\x0B\x46\xC3\x3D\x57\xDD\xA9\x14\xE1\x86\x57\xC2\x7E\xC5\x90\xC0\x55\xC2\xBF\xAE\x29\xD6\x25\x7D\x95\x13\xC5\x27\xC2\xBF\x23\x76\xBD\x54\xCB\x1D\x4A\x2C\x53\x8A\xAD\xC2\x7E\x22\x00\xAF\x7D\xC6\x96\x45\x9A\x53\x14\xC1\x89\x8E\x1E\xDF\xBA\x48\xC5\x4B\x49\x53\xC8\x13\xD0\x10\xC0\x00\x04\xAC\xBA\xC4\x03", + "\x61\x94\xC1\x20\x04\x4A\x1D\x41\x7C\x84\x83\x02\x06\xAC\x7C\xC0\x82\xAC\x4A\xCC\x04\x6C\x0A\xF7\xF0\x26\xC4\x13\xC2\x13\x0E\x8A\xC6\x27\xC5\x11\x0C\xB0\xA3\x75\xD1\xC5\xE6\x59\xDA\xC0\x7A\xC0\xDC\xA8\x1C\xD5\xBA\x83\x8B\xF8\x45\x92\x05\xDE\xC3\xB6\xC4\xE5\xA8\x1C\xCF\xEF\x98\x84\x92\x05\xC5\xC3\xE7\xC3\x40\x04\xF0\xAE\x7F\x36\xC4\xA7\x8B\x99\x6E\x34\xC5\x36\xC0\x72\xC5\xBF\xB1\x2C\xCE\x6C\x62\x86\xBD\xB2\xC8\xC2\xFC\xB3\xAC\xC3\x3B\x42\x29\x1D\x0E\xCE\x3C\x7F\xB3\xD8\xC2\x81\x03\x83\xB3\x5F\xC8\x5E\x47\x56\x4A\x50\x6B\x53\x60\xC4\x8E\xC2\x2E\x30\x47\xC6\x28\xD6\x05\xE1\xA8\x7D\x4B\x37\xC5\xFD\x6B\x5B\xC4\x21\x0B\xE0\xB1\x0F\xF5\x68\xB6\xC4\x1C\xC2\x5D\x56\xB8\xC7\x58\xC2\x10\x1F\xD1\x81\x8C\xF4\xB4\x18\xC6\xE5\x02\xAE\x51\x5D\xC3\x2E\xC2\x08\x06\x6A\xD1\xC3\x92\xB6\x82\xC6\xB7\x4A\x57\x5E\x1C\xC5\x19\xC1\x04\x28\xB7\x16\xC7\x80\x03\xFB\xB2\x65\xC1\x31\xCE\x0B\xE9\x86\xFA\xB7\xAB\xC3\x42\x4B\x1A\x08\x23\xCA\xAB\x5E\x17\xF4\x38\x04\x00\x6B\x08\xFF\x2E\x02\x03\x67\xC6\x62\x1F\x11\xD4\x8B\xE5\x54\x6B\x08\xD9\xC3", + "\x68\x2B\xED\x0A\x2D\xDC\x18\xD8\x51\x41\xC6\x58\x3A\xA2\xC7\x54\x13\xED\x0B\x31\xCB\x09\xE3\xAA\x50\xC6\x51\x5C\xA9\xC7\x3E\x23\xED\x04\x32\xCE\x1A\xE1\xA6\x58\xC6\x3F\x64\xAD\xC5\x9C\x2B\xED\x0D\x32\xDE\x1A\xE3\x00\x60\xC6\x62\xBC\x9A\xC4\x47\xC3\xED\x07\x2F\xC4\xB0\x68\x8D\xB8\x06\x62\xC7\xA5\xC4\x6A\xC4\x3E\xC4\x7B\x6F\x1B\xFC\xDD\x71\xC6\xBD\x42\x25\x08\x96\xC0\x48\x18\x03\x18\x1B\xF8\x8B\x60\x60\x94\x08\x25\x08\x99\xC6\xE1\x19\x03\x1E\x1B\xFA\x62\x17\x27\x81\xC6\xFE\x5B\x97\xC7\x8E\x44\x79\x41\x0D\x4A\x11\x6B\xC4\xBE\xC5\x62\xBA\xDA\xC2\x39\x0E\xA8\x09\x1C\xF9\x11\xD4\xC2\x3B\x00\xC3\xC5\x68\x45\x3B\x46\x39\xC4\x67\x54\x85\xBC\x00\x9A\xC6\x5B\x49\x65\x1D\x73\xCF\x27\xDE\x15\xFD\x00\x21\xC7\xDB\x43\xCA\x40\xE9\xC5\x50\xC7\x34\xCA\xBD\x68\x8E\xE8\x4B\xCB\x0B\xD5\xC5\xA3\xC6\x57\xCF\x03\x0F\x1D\xDE\x9B\x7B\x0A\xB2\xC6\x4A\xC6\xAF\xC0\x98\xB3\x39\xD9\xAE\x78\x83\xCA\x08\x9B\xC4\xBF\x21\x10\x06\x76\xCE\x6E\x4E\xAF\x79\x8E\xAC\xC4\x7E\x22\x21\x00\xF1\xC4\x23\xC5\x60\x79\x1D\xE9\x8A\x8E\x1E\x43\x01\xE5\xC6\x72", + "\x04\x16\x59\x3B\xD0\x15\xCE\x3C\x44\x00\xD2\xC6\x78\xC7\x9E\xC2\x89\x07\x2B\xD4\x71\x05\x01\x59\xC7\x36\xC6\x67\xC5\xE5\x5F\x48\xCE\x2B\xDB\xE5\xBD\x8E\xBD\xAD\x2F\xC4\x25\x0A\xB1\xC6\x6A\xC2\xBD\x7E\x1B\xC8\x01\x77\xB8\xA6\xAC\x4A\x09\x2C\x33\x6F\xCF\x6D\x1B\xF3\xA7\x8F\xA9\x3F\xF2\xC7\x74\xC3\xCD\xC1\xB1\x70\x3E\xC5\xDB\x9A\x87\xB1\x31\x90\xC6\x75\xC6\x40\x06\x96\xB7\x3F\xDA\xD9\xBF\x8F\xD6\xB5\x74\xC7\x81\x01\x13\x05\x7F\xC6\xC2\xA2\x1F\xD0\xBB\x7C\xC1\xBE\xC4\x27\x00\x03\xCC\x39\xBB\x0E\xD1\xC5\x02\x84\xBE\xC5\x4F\x01\x09\xC9\x40\x00\x31\xB9\x3F\xC4\x4D\x4D\x8C\xF9\x7F\x1A\xC9\x4B\xAD\x05\xCF\x21\xCC\x3E\xC8\x04\xA1\x90\xAB\x4B\x1D\xC8\x0F\xC6\xAF\xC0\xD0\xB5\x40\xC8\xB7\xA3\x90\xA1\xBD\xF1\xC5\x81\x81\x08\xCC\xF5\x49\x42\xD6\xC8\x1F\x90\xBC\x28\x21\xC8\xB1\x4D\x0D\xCB\x46\xC0\x2D\xC0\x09\xA1\x90\x82\x14\x3B\xC8\x1D\xC5\xEB\xC0\xC3\x01\x42\xCA\x53\x01\x91\xFD\x5A\x54\xC3\x2B\x01\x08\xCC\xDC\x17\x44\xC4\x1F\xC2\x90\xDA\x83\x21\xC9\xE2\x6F\x11\xCB\x7D\xCE\x6E\x4A\x0E\x19\x01\x7E\xC6\xAC\xB9\x78\xC0\x00\x05", + "\x1E\x24\x49\x1D\x53\x74\x8F\xBD\x07\x5C\x01\x10\xC9\x06\x75\x8B\xCA\x3F\xC9\x20\xD9\xA2\x21\xC8\xC9\x1A\x32\xCA\x9A\xC7\x86\xCF\x33\x81\x21\xD4\x32\x6A\xC8\x71\xC4\x5F\xC7\x17\x01\x84\xC6\x68\x30\x23\xF8\x89\xBE\xC5\x60\x01\x10\xC8\x66\x1E\x8E\xCD\xD0\x54\x0A\xE1\x01\x21\xC8\xD9\x72\x3E\xC9\x40\x07\x41\xCF\x44\xC4\xDF\x21\x90\xD3\x1D\x82\xC8\x0A\x5C\x55\xC4\xD1\xBD\x42\xD5\xDB\x5A\x87\xFD\x54\x15\xC2\x5F\xC4\x19\x01\x84\xCA\xC8\x09\x24\xC1\x8F\x8E\x1E\x65\x01\x10\xCB\xBD\x41\x91\xC8\x3C\xCE\x78\x26\x01\x21\xC8\x97\xC2\xCF\x5B\xF3\xC4\xC6\x15\xE9\xAD\x24\xC0\x00\x1D\x7B\x89\xC8\xEB\xC4\x8D\x18\x0D\x01\x42\xC4\xF1\x49\x92\xDD\xC7\x3B\x17\x34\x01\x08\xC8\xD2\x79\x48\xCE\x22\xEE\x8C\xFA\x8E\x21\xC9\x85\x7D\x22\xCC\x8A\xCC\x11\xCA\x0E\x2B\x01\x7E\xC6\x6C\x00\xF8\xC6\xF9\x7A\x3B\xCC\x25\xCC\x23\xEE\x01\x21\xC8\xBA\x30\x4B\x09\xD3\xC5\x84\xC3\x10\x03\xF6\xB1\x85\x82\x02\x73\x01\x10\xCA\x25\x0D\x6A\xC5\x45\xC5\x62\xAB\x11\x01\x09\xD8\xBC\x53\xCA\x25\x0D\x6B\xCC\x4C\xD3\xF6\x8F\x93\x81\x02\x7D\x00\x69\xCA\xF6\xC3\x62", + "\xC5\x72\x17\x26\xC0\xA6\x62\xC9\xE1\xC6\xAA\xC3\x20\x06\x9C\xC2\x11\x1D\xF6\x9A\x93\xF3\xC6\x54\xC2\x44\x00\x3B\xCD\x1F\xA1\x42\xC9\x57\x7D\xA9\x0B\xC7\x8D\xC7\x7C\xCB\x76\x44\x9A\x43\x90\x48\x18\xCC\x8E\xA7\x4F\xE8\x4A\x6A\x49\xBA\x50\x9F\xC0\x50\xC4\x3E\x61\x86\x5E\x17\xFA\x3E\x7F\xCA\x3E\xCF\xF5\x46\x4B\x5D\x13\xC3\x91\xD9\xA2\x49\xC6\x4F\x1A\x53\xC2\x62\xCB\x3F\xC1\x08\x39\x7B\xB9\xC6\x00\x00\x4B\x01\x08\xCA\x4E\x54\x4D\xDD\x25\xC2\x77\xF6\xC6\x00\x01\x4E\x03\x46\xC8\x2C\xC4\x4E\xC7\xA3\xA0\x94\xA4\x01\x23\xCA\x90\x6D\x0C\xCB\x20\x08\xF0\xB8\x28\xEB\x02\x29\xCA\x71\x6F\x8A\xC8\x00\x04\x15\x00\x52\xD2\x05\x30\x94\xCF\x6E\x32\xCB\x59\x00\x48\xC9\x17\x01\x42\xC3\x14\xEC\x91\xBA\x01\x11\xCB\x79\xC1\xE1\x53\x99\xC5\x4D\xD8\xB9\xA0\x94\xC3\x01\x3D\xCB\x06\x6D\x49\xCC\xFE\xA0\x52\xCA\x06\x09\x95\xF1\x6C\x0F\xCB\x80\x03\x32\x00\xA4\xC1\x0D\x0F\x2A\xF9\xDC\x6C\xC8\xD2\x00\x90\xC8\x36\x06\xAA\xC2\x17\xD2\x29\xD9\x03\x20\xCA\xB7\xBC\x53\xCA\x08\x5E\x67\xCB\xB3\x00\x07\x20\x94\xE6\x01\x21\xC9\x45\xC4\x1B\xCF\x1C\x01", + "\x54\xC0\x08\xF9\x11\xC4\xCA\x1E\xCA\x89\x02\x3A\x00\xA4\xCB\xF3\xA6\x25\xC6\xB7\x1D\xCA\xEB\x53\x78\x00\x48\xCF\x1E\x09\x56\xC4\x29\xF2\x94\xC7\xBE\x18\xCB\xA5\xBE\x5D\xCB\x9C\xC2\x53\xDF\x07\x20\x94\xAA\xBD\x83\xCB\x74\xCA\xAF\xC2\xD6\xB8\x51\xCC\x00\x04\x06\x18\xC2\xC6\x5A\xB2\xC8\x90\x15\x01\x04\x18\x1E\xBF\x13\x00\x0F\xCB\x26\x0C\xFB\x57\x17\xCE\x29\xC8\x59\xD3\x4A\x02\x00\x94\x09\xF6\x57\xC1\xC4\x8D\x1D\x02\x0D\x59\xDB\x87\x3D\x01\xA0\xCB\xBB\xC5\xA8\xCB\x08\x5D\xB4\xC1\x67\x29\x07\xA8\x96\x97\xC7\xBE\xC5\xB5\xBE\x29\xCB\x1F\x8F\x5A\xDE\x1C\xFE\x8A\x98\x00\xAC\xCB\xD1\x2A\x82\x35\xB6\xC5\x3A\xC5\x24\xD9\x00\x39\xCB\xBD\x43\x91\x80\x6F\xCC\x75\xCB\x52\xC0\x27\x40\x97\xF8\x45\x5F\x1F\xE1\xCB\xEC\xC5\x90\xCB\x01\x07\x2E\xFA\x62\x4F\x4E\xCA\xCA\xDD\xC5\x21\xCC\x03\x0E\x5C\xC1\x0D\x66\x86\xA4\x65\x97\xC8\x1A\x1D\x07\x05\xBA\xC6\x4B\x4D\x11\x91\x97\x9D\xC9\x34\x1D\xB8\xBE\x29\xCB\x4C\x81\x5D\xC3\x25\xFB\x2C\x1F\x00\xDC\xCB\xED\x42\x1E\x11\xBA\xCA\x4A\xDB\x59\x36\x7D\xA6\xC9\xD2\x17\xE8\xC8\x2C\xC8\x48\x11\x02", + "\x09\x2F\xE8\x97\x7B\x48\xD1\xCA\x5B\xCA\xD7\xC2\x04\x06\x5F\xDE\x36\x5E\x0C\xD1\xCB\xBC\xC8\x7F\xBB\x71\xCC\x04\x04\x18\x11\x0C\x05\x0E\x94\x09\x74\x4E\xD8\xC0\x80\x05\xBF\xC1\x26\xC1\x0D\x74\x9D\x70\xCA\xEB\x53\x13\x00\x61\x02\x32\xCC\x60\xDC\x08\xF4\x9D\x78\xCA\x7E\x22\x16\x03\x84\xCA\x6A\x05\x61\xCA\x0E\x34\x9D\x5C\xC9\x45\xCA\xDA\x6F\x86\xCE\xD1\xAD\x61\xC3\xB8\x6C\x91\x9A\xBF\xDF\xC8\x00\x02\x0E\x05\xC4\xC5\x7E\x6D\x1B\xCE\x05\x23\xCC\x58\x04\x16\xCC\xFC\x6A\xB2\xCF\x6D\x06\xFD\xA9\x98\xC4\x00\x32\xCD\x3B\x6B\x0B\x57\x96\xC9\x30\xC7\x0A\xFD\xB6\x77\x68\x04\xCA\x86\xC9\x41\xCE\xDD\x4E\x2A\xCC\x23\xC5\x01\x04\x03\x4A\xC7\xDE\x42\x62\x48\xC2\xCE\x17\x28\x02\x15\x96\xE1\x7E\x39\xCC\x5E\x5E\x82\x6C\x8D\xCF\x04\x0F\x32\xDA\x04\xD1\xCC\x12\x5E\x08\x6E\x6A\xC8\x9F\xB8\x51\xDC\x02\x18\x99\xE7\x5D\x44\x6E\xD5\xC9\x17\x06\xCA\xCC\x4F\x9F\x32\xCA\x96\x2E\xCC\x30\x06\x32\xCF\xD0\x8E\xCC\xC0\x4F\xDE\x15\xEB\x01\x6A\xCC\x02\x03\x38\x03\x97\xCD\x56\xCC\x46\xD2\x03\x08\x99\x92\xCA\x9C\x52\x8A\xCA\x19\xCC\xA1\x90\x67\xC1", + "\x08\x3B\x01\x73\xCC\x4A\xCA\x99\xCB\xF7\xB8\xA3\xC2\x08\x00\x34\xD0\x95\xC5\xCB\x01\x03\x41\x01\x9F\xC8\x00\x09\x08\x06\x34\xD7\x95\xAA\xCB\x8A\x01\x45\xCF\x5A\xBE\x94\xC5\x9A\x48\x33\xC2\x04\x11\x01\x8B\xCD\x4B\x02\xA3\xC8\xA7\xCB\x67\xC0\x00\x18\x02\x0B\xCD\x9E\x01\x2F\xCF\x7C\xC2\xC1\xC8\x4D\xB7\x33\xC2\x95\xEB\xC8\x70\xC2\x44\xCC\x00\x00\x04\xC8\x51\xC8\x05\x22\x9A\x81\xCD\x9D\xCC\x14\xC0\x46\xC9\x06\xC5\x2F\xD2\x0F\xFE\x95\x9D\xCD\xB0\x01\x45\xCE\x0E\xC6\x94\xC3\x1F\xC5\x1B\xDD\x93\x81\x02\xB7\x01\x45\xCD\x2F\x07\xD5\xCA\x58\xC5\x24\xFE\x02\x0B\xCD\xC4\x00\x62\xCC\x9C\xAA\xD5\xC5\x0C\x0B\x34\xCB\x03\x5F\xCC\x5E\xC2\x36\xC8\x33\x07\xCB\xCA\x8B\x35\x3A\x4C\x99\x8E\x1E\xCD\x00\x18\xCF\x52\xB0\xDA\xC0\x6B\xD4\x0A\xD2\x03\x5A\xCD\x02\x02\x6B\x00\xB7\xCF\xD0\xCD\x43\xC1\x08\x3F\x81\xA9\xCC\xDB\x01\x71\xCF\xA3\xCA\xD5\xCC\x0D\x00\x37\xC0\x83\xEA\xCD\x5D\xCB\x4E\xCD\x38\x06\xDD\xC0\x00\x05\x07\x30\x9B\x82\x02\x34\xCD\xDE\x06\x39\x04\xDE\xCA\x0E\x1F\x32\xEA\x3B\x24\xCD\x50\xB4\x6A\xCD\x68\x42\xDD\x17\x6D\xD4\x71", + "\x2C\x03\x74\xCD\xF0\x00\x7F\xCD\xB7\xCE\x57\xC1\x0F\x14\x37\xF5\x03\x0A\xCE\xE4\xCD\xA5\xC8\x00\x07\x10\xC9\x62\xDA\x07\x10\x9C\xEB\xCD\xE5\xCC\xEE\xB4\xBD\xCC\xF6\x08\x11\xCA\x77\x16\x9A\xF2\xBA\x63\xC2\x02\x03\x49\x05\xE3\xCD\x66\xC5\x24\xC5\x00\x27\x02\x81\x09\xB0\xBA\x29\xC8\x0C\x67\x42\x2A\x28\xDB\x87\x66\xBA\x5A\xC9\xC3\xC5\xC8\xC6\x2F\x2F\xD7\xA6\x25\xF2\x9C\xA9\xCD\x19\xCF\xC9\xB9\x8A\xC9\x02\x03\x72\xC6\x31\x17\x4E\x18\xCC\x88\xB8\x94\xCC\x29\xC6\x94\xC7\x39\x20\x31\xF1\x95\x85\x58\x42\xCF\x28\x5D\xCF\xCB\x2A\x17\x39\x3E\x35\xE1\x98\x83\x02\x1C\x01\xA4\xCD\x14\x63\xE9\xCB\x0F\x37\x9C\x1F\x9C\x8F\x27\x52\xCE\x25\x48\xD5\xC9\xCE\x27\x39\x39\x37\xCA\x07\x26\x00\x59\xCF\x61\xC2\x29\xCD\x72\xCC\x46\xCB\x01\x1B\x9D\x90\xC6\x1C\xC2\x47\x15\xC1\xCB\x67\x1C\x02\x01\x3B\xF5\x1E\x67\xCE\xBD\x42\x47\x14\xD0\xCC\xC6\x1F\x0D\xC9\x31\xF5\x00\x70\xCE\xF8\x44\x47\x16\xD1\xC9\xAA\xBE\x76\xCA\x31\xF8\x9D\xBA\x31\x8E\x14\xA7\xCF\xD1\xCA\xC0\x1D\x77\xDF\x01\x3F\x9D\xA1\x43\x8E\x15\xAB\xCC\x10\x05\xEF\xC4\x04\x07\x3C\xF6", + "\x92\x0E\x15\x5E\xCF\x3D\x75\xDF\xC9\x09\x0E\x78\xDB\x0E\x5D\x87\x1B\xCB\x15\x02\x25\x01\xE5\xC8\xBD\x41\xE1\x14\x24\x1D\x87\x6D\x50\x4F\xCE\xB4\xCE\x8F\xCE\x77\x69\xB6\xAA\x2D\xCB\x01\x1B\xCF\xDE\x4D\x97\x16\xE7\xC9\xB5\xCA\x6A\xCC\x02\x28\x9E\xEE\x4D\xAC\x21\xD5\xCC\x6C\xCD\x90\xCD\x04\x0F\x3D\xDC\x84\xD8\x89\xB2\xCE\xDB\xC9\x21\xCE\x09\x06\x7B\xCA\x0E\x1F\x1E\x39\xCF\xBD\xCB\x5B\xCB\x13\x05\xF7\xC7\x58\x98\x07\xDD\x87\x04\xC9\xB7\xC8\x28\x00\xF1\xCA\x22\x07\x5A\x80\x3E\xE9\xB0\x54\xC2\x51\x01\xE5\xCD\x97\x8E\xF8\xCF\xC4\x54\x0A\xD2\x01\x52\xCF\x87\x8D\x75\xC1\x77\x41\xBB\xCB\xB3\x13\x02\x18\x9F\xB0\x8E\xDA\xCE\x1E\x54\x55\xC4\x0A\x0F\x7D\xC1\x08\x04\x1D\xCE\xCF\x2B\x55\x8C\xCD\x15\x05\xFC\xC0\x00\x1E\x3C\xA8\x9F\x80\x00\xED\xCA\x20\x16\x15\x04\xFD\xC8\x7E\x8F\x3F\xF3\x97\xDF\x0D\x57\x00\xF6\xCD\x0F\x97\xFD\xCA\x5F\xDF\x35\xF2\x07\xEC\xCF\x9A\x91\xF7\xCD\x80\xCE\x2F\x29\x05\x18\x3B\xDA\x01\x27\x02\x91\x02\x8D\x90\x25\x0D\xB2\x10\x7A\xC3\x3C\xE2\x9E\xA6\x0C\xAA\xC6\x36\xC8\x17\x07\x24\x09\x64\xD8\x17\x55\x86", + "\x6B\xCE\x40\x15\x2F\x03\x49\x06\xFF\x25\x06\x0C\x3F\xD5\x86\x73\xCE\x3B\x16\x33\x03\x06\xD4\x00\x9E\x81\xD7\x35\xD4\x85\xED\x00\x23\xD0\x89\x03\x1C\x05\x04\xDA\x52\xD9\x38\xF4\x01\x29\xD0\x0C\x02\x3D\x00\x0B\xD1\xA6\xCD\x69\xDB\x03\x30\xA0\xB6\x9E\x33\xD0\x4E\xCC\x55\xC2\x10\x07\x83\xC2\x08\x08\x02\x6C\xCF\xB1\xC6\x36\xC9\x22\x04\xFD\xCA\x8B\x2B\x2E\x18\xA0\xDF\x0D\x8A\x01\xBE\xCE\x23\x00\x08\xDB\x70\xC5\x24\xCF\x02\x7D\xCE\x93\x00\x26\xD1\xC4\xCA\xA6\xC4\x09\x1D\x3B\xD8\x02\x52\xD0\x18\xCE\x89\xCD\x26\x05\xEF\xCD\x09\x18\x42\xF1\x9B\xD4\xC2\x9E\x01\xBE\xCE\x28\x06\x0B\xD8\x6F\xCC\x23\xE3\x02\x7D\xCE\xA7\x00\xF6\xCC\xEE\xC4\x8D\xC8\x0A\x04\x42\xE1\x86\x7B\x0A\x47\xD1\xDE\x05\x2A\x05\xEF\xCD\x0A\x0A\x43\xCD\xA1\xB7\xC9\xAE\x01\xBE\xCE\x2C\x06\x0E\xD3\x85\xDD\x34\xF3\x02\x7D\xCE\xB7\x00\x3E\xD1\x16\xD2\xA6\xC8\x0B\x1D\x3B\xFC\x02\x02\xD1\x5F\xD0\x5F\xC5\x2F\x05\xEF\xC1\x0C\x08\x44\xE5\xA1\xAA\xCB\xC2\x01\xBE\xCE\x31\x04\xFD\xC1\x4B\x5B\x50\x2E\x9C\xC2\xCC\x98\xD0\x6F\x4E\x7B\x6D\x52\x37\x89\xC6\x28\xCB\x94\xDE", + "\x4D\x05\x6C\x30\x61\x90\xCE\x13\xD3\x64\xDC\x08\xF4\xA2\x25\x48\x94\x4B\x4C\xD1\x83\xCE\x96\x41\x6C\x7D\x0E\x63\xA2\xAB\xD1\xA5\xD0\xE5\x03\x9F\x19\xE4\x1D\x89\xD0\x45\xEA\xA2\x9C\xC2\xFA\x18\xC9\x51\xE8\xCD\x21\xC4\x8A\xC8\x2F\x43\xDE\x00\xCE\x02\x03\x63\x02\x1B\xD6\x96\x43\x78\x71\x43\xCA\x07\x48\x01\x7D\xCE\x66\x00\xFB\xCB\xF0\x60\x82\xC0\x52\x0D\x03\x7D\xCE\xD1\x01\x65\xD2\x09\xD6\x57\xC2\x0D\x1D\x3B\xD6\x03\x52\xD1\x2D\xD0\x89\xCF\x35\x05\xEF\xCB\x0D\x18\x46\xF4\xA0\xD4\xC2\xDC\x01\xBE\xCC\x38\x06\x1B\xDA\x83\xDE\x15\xE1\x03\x7D\xCE\xE5\x00\xF6\xCD\xCD\xB4\x8D\xCD\x63\xC6\x31\x25\x8C\x18\xCF\x32\xB4\xF6\xCE\x70\xC5\x8C\xC2\x5A\xDB\x59\x27\x03\x6C\xCF\x64\x94\x4A\x09\xC9\x41\x80\xC7\x4B\xC8\x07\x2C\x9F\x9B\x96\xFA\xD0\x04\xC8\x55\xC1\x1D\x0C\x7E\xD2\x5E\x81\xA4\xC5\x59\x54\xC2\x75\x00\xFB\xC8\x88\x97\x90\xD3\x71\x54\x85\xEB\x01\xEC\xCF\x84\x99\x43\xD0\xEA\xCC\x46\xCC\x07\x2C\x9F\xCA\x9B\x13\xD3\xE7\xCE\xAF\xC5\x1D\x0C\x7E\xCA\x0E\xFB\x89\xA5\x46\x91\xC9\x42\xCA\x3B\x04\xFD\xC4\xE3\x99\x48\xD9\x99\x99\xCE", + "\xEF\x00\xF6\xCE\x8D\x9E\x24\xDD\xA3\x4A\x2D\xF0\x03\x6C\xCF\xF8\xA6\x7C\xC1\xC9\x46\xBC\xC0\xA4\x11\x07\x2C\x9F\xD7\xA8\x2C\xD3\xF8\xCF\xB7\x0A\x1E\x0C\x7E\xD4\xA1\x9F\xA4\x82\x55\x54\xC3\x79\x00\xFB\xCE\x86\xAF\x22\xC5\x19\x7D\x9F\xBB\xD1\x00\x00\x7A\x00\xFB\xCF\x92\x1C\x92\xC3\x40\xCE\x3C\x75\x01\x78\xCE\x7B\x00\x02\xD2\xD6\x9B\x0E\xDB\xBD\x5D\x69\xAA\xCD\xF8\x01\x93\x01\x4A\x4F\x89\xA5\xF9\x5B\xBD\x59\x69\x9D\xCD\x04\x00\x3A\x0B\x56\xD2\x22\x06\x1E\xD4\x65\x7B\xDE\x22\x33\x80\xB8\x3A\x09\x42\xCB\x6D\xA6\xDB\x5B\xBD\x42\x6D\x6E\xC1\x6A\xD2\x13\x0D\xA7\xC7\x7D\x5B\x7B\x60\x92\x99\x9C\xAA\x00\x71\xD3\xA9\x13\xC5\xAC\x2E\xD5\x11\x13\xD1\xAA\x96\xB7\x00\x79\xD3\x7D\x21\xFD\xA9\x16\x3B\x7B\x6A\xD8\x92\x9C\xC4\x00\x62\xD2\x13\x0C\x58\xB2\x85\x5B\x7B\x61\x80\x94\x85\xD0\x00\x81\xD3\x38\x2F\x84\xB1\x95\x5B\x7B\x77\x87\x94\x85\xDD\x00\x91\xD3\xD1\x28\x99\xB5\x2D\xD5\x11\x05\x4B\xD2\x9C\xEA\x00\x99\xD3\xDE\x42\xF1\xB4\x30\xD5\x11\x04\x53\x94\x85\xF7\x00\xA1\xD2\x70\xC7\x1A\x0C\x34\xD2\xB4\x8A\x2D\xC4\x02\x29\xD3\xBA", + "\x31\x0B\x03\x6A\xD3\x80\xB4\x06\xAC\x23\xD1\x02\x30\xD3\xA1\x43\x12\x03\x6C\xD3\x63\xB6\xD7\x6A\x35\xDE\x02\x74\x08\xFD\xC8\xFE\x1B\x1A\x0D\x4F\x5B\x7B\x71\x49\xD9\x9C\xAC\x01\xB8\xD2\x5B\x4A\xF2\xC4\x32\xD5\x11\x17\xA2\x94\x85\xB9\x01\xC9\xD3\xED\x40\x14\x03\x37\xD8\xB3\xA3\xD4\xAC\x91\xC6\x01\x89\xD3\xA9\x12\x17\x03\x8D\x0A\x44\x1B\xBD\x57\x6A\xDE\xCD\xD9\xD3\x7D\x23\x2F\xC8\xFB\x2B\x7B\x6E\x02\x04\x06\x54\xC2\xDE\x00\xE0\xD2\x89\x09\x9B\xCF\xC5\x45\x4F\xE7\xA7\xBE\xC5\xEC\x00\xF5\xD3\x54\x12\x9E\xCD\xB9\x5B\xBD\x60\x88\x99\xCE\xFA\x01\xE8\xD0\x7A\x48\x13\x04\x9D\xC6\x20\xE7\x46\xEC\xC8\x07\x01\x68\x07\x5A\xD5\xBD\xAD\x9F\xDA\xDD\x9C\xF3\x2A\xCB\x14\x01\x68\x05\x70\xD0\xD9\xA3\x9C\xD4\x4D\xC4\x1D\xD4\xC2\x22\x00\x01\xD6\x89\x08\xA9\xCC\x9C\xCE\x4F\x99\x9C\xAF\x00\x12\xD5\xA9\x11\x55\xCD\x42\xD3\x0F\x8F\x4F\xC5\x92\xBC\x00\x0A\xD4\x13\x0D\x58\xCD\x3D\xD8\x0E\x9E\x50\xF7\x92\xCA\x00\x21\xD5\xA9\x13\x3B\x03\x8D\x06\x49\x1B\xBD\x50\x01\x26\xD4\x5E\xC6\x2C\x01\x8A\xD4\xB5\x2C\xA2\xD4\x4D\xEF\xA8\xAA\xCB\x66\x01", + "\x19\xD5\x9C\x2C\xEA\xB5\x9F\xD0\xC9\x6A\x96\xF4\x00\x3A\xD5\xD1\x28\x7A\xCE\xC2\x5B\x7B\x79\xC0\x7B\xA0\xC1\xD4\xBD\x42\x17\x00\x61\x04\x38\xDD\x50\xAC\x23\xD0\x02\x19\xD4\x0C\x03\x4E\x01\xB4\x00\xFC\x04\x18\x0C\x4D\xD5\x55\xAA\xCB\x9F\x00\x28\xD7\x40\x04\x15\x03\xA5\xC3\xEF\x55\xA9\xB4\xD3\x53\xC5\x8C\xCE\x2B\x02\x4B\xDF\x72\xBD\x52\xF5\x08\xDF\xD4\xBC\xD3\x81\x02\x1D\xAC\x2A\xCD\x0B\x04\x53\xC1\x04\x4A\x01\x66\xD4\x43\x50\x9A\xD5\x3A\xDE\xF7\x32\x38\xCC\x03\x6E\xD4\x00\x01\x6C\x01\x9C\xD3\x20\x05\x07\x13\x53\xFE\xA7\x83\x02\x02\x80\xAA\xC3\x36\x00\x49\xD0\x00\x09\x07\x3B\xA9\x82\x02\x8A\xCC\x0B\x5F\xDA\x69\xD9\x2B\x9E\x4B\x07\x11\x0B\x50\xC2\xEE\x4D\xB5\x6C\x62\xB7\x15\xDA\x30\xDF\x27\xE8\x97\x08\xB3\x57\xD3\x8C\xCC\x3B\x01\x5A\x01\x92\xDB\x0E\x52\x02\x04\x03\x4A\x08\xC4\xB3\x57\xD4\x2A\xC7\x0F\x1C\x54\xE6\x18\x1F\x01\xA0\xD4\x90\xB5\x06\x8C\x2A\xC2\x00\x01\xBA\x23\xA5\x8C\x02\xAC\x00\x3F\xD7\xDB\x6E\x91\x8D\x69\xCE\x00\x2E\xAA\xA6\x0C\xBA\x00\x59\xD7\x06\xCD\x22\x06\x97\xD2\x38\xDA\x00\x37\xD5\x53\x13\x32", + "\xC2\x6D\x58\x31\xBE\x97\xCA\x35\xE6\x00\x40\xD5\xFB\x20\x71\xCD\x2A\x58\x31\xB6\x98\xD2\x29\xF2\x00\x41\x2E\x9D\xD4\xF4\x48\x39\x01\x55\xDE\x68\xAA\x80\x92\x9C\xBD\x00\xC8\xD5\x38\x2D\xC3\xCB\x59\xDC\x14\xAA\x2D\xC9\x01\x59\xD5\x3D\x2E\x5D\xD4\x00\x00\x31\xBE\x99\xD2\x29\xD5\x01\x60\xD5\x79\xC7\x93\x01\x2C\x30\x31\xB6\x9A\xDE\x15\xE1\x01\x68\xD5\xF8\x45\x0D\x02\xBA\xD2\x55\xDD\x9A\xCA\x35\xED\x01\x70\xD5\xBA\x31\x64\xC0\xB7\xD4\x06\xAC\x46\xD9\x03\x38\xAB\xA1\x43\x37\x01\x79\xD5\xB5\xD3\xAD\x7C\x46\xC5\x04\x01\x5D\x03\xD4\xD3\x73\x93\x01\x9F\x50\x31\xB6\x9C\xD2\x38\xD2\x02\x7F\xD5\xB6\x48\xF2\xCF\xBE\xD4\x21\x0E\x9C\xDE\x15\xDE\x02\x10\xD6\xDB\x42\x31\x02\xC0\xD0\x36\x51\xA8\xAC\x23\xEA\x02\x50\xD5\x26\x0C\x38\x03\x49\x01\x54\xD3\xAD\xAC\x23\xF5\x02\x20\xD6\x53\x13\x3E\x03\xC8\xD4\x5E\xDC\x10\x06\x4F\xEA\x96\xC0\x01\x07\xD6\x13\x0D\x12\xD5\x73\x58\x98\xAE\x59\xEA\x9A\xCD\x01\x31\xD7\xA9\x12\x26\x07\x24\x06\x49\x08\xCC\xB7\xA7\x92\xCE\xDA\x00\x8C\xD4\x7A\x4A\x15\x0B\xB1\xD0\xCE\x8B\x46\xEC\xC8\xE6\x00\xA1\xD6", + "\xB7\x4D\x10\xD3\xB1\xC3\x08\x2F\xA5\x6B\x53\xF2\x01\x9C\xD7\x3E\x23\x12\xD6\xE1\x48\xCC\x8F\xA8\xBE\xC5\xFF\x00\xA5\xD6\xBB\x4D\x1A\x05\xB4\xD3\x55\xD6\xA8\x92\xCE\x0B\x01\x2A\x0B\xAB\xD3\x20\x03\x0E\x1D\x5A\xFB\xAA\xEF\x81\x30\xD4\xFF\xCF\x05\x05\x8A\x08\xB0\xC3\x08\x36\xA4\xB4\xD6\x25\xD4\xD5\xC8\x09\x04\x6D\xD6\x62\x01\x00\x34\x11\x3D\xD6\x43\x81\xB4\xD4\x52\xD1\x06\x04\xB7\xD3\x4A\x11\x00\x77\xD6\x2C\xD6\x40\xD6\xDE\xD6\x01\xD1\x7B\x7D\x5B\xD5\x9D\x80\xD7\x03\xD7\x7D\x70\x55\xC3\x09\x06\xB8\xD1\xB3\x31\x00\x74\x08\x0B\xD6\x0C\x70\x1B\xC8\x0B\x0D\xB8\xC3\xAD\x00\x01\x10\xD7\x81\xD7\x8F\xA8\x1B\xCD\x0C\x02\xB6\xC5\x4D\xD5\x11\x49\x28\xF2\xD2\x8E\xD7\x5C\xAC\x8D\xC3\x07\x1D\x5C\xF7\x3A\x9F\xD7\xE7\x85\xD0\xD6\xD1\xD1\x4A\xDC\x46\xC1\x04\x26\xAE\x8C\x02\x8D\x00\xD4\xD4\xEC\x8A\x75\xDE\xB5\xD5\xA3\xAC\x91\x8F\x01\xAF\xD7\xDC\xA6\xEC\xD7\xC3\x94\xBB\xC7\x5B\xF5\xA9\xB2\xCA\x9D\x01\xDC\xD6\x40\x01\x15\x0B\xBB\xC3\x08\x07\x02\x3D\xD7\xE3\xD5\x26\x82\xAA\xCB\x15\x05\xB9\xC1\x08\x38\x02\x45\xD7\x02\x03\x4A\x00\xE6", + "\xD7\xDB\xAD\x40\xD4\x0A\xFA\x02\x55\x08\x90\xD4\x8E\xC3\x6A\x4A\xF2\x2B\x9E\x5B\x05\x18\xAF\x95\x02\xBC\x00\xE8\xD5\x6F\x44\xF5\x49\xA9\xD2\x38\xFE\x02\x55\x08\xD1\xD4\x6F\x4C\x29\x01\x35\xDC\x7A\x43\x55\xFE\x8A\xC9\x01\xE8\xD6\x13\x0D\x2C\x04\x7D\xDB\xAA\xDE\x15\xD4\x03\x42\xD7\xBD\x42\x5F\x00\xF2\xD4\xF5\x4F\x96\xDE\x8B\x20\x03\x78\xD7\xF8\x44\x66\x03\xFE\xD4\x57\xD5\x91\xC0\x60\xFA\x62\x5A\x01\x03\xD8\x1C\xB6\x6A\xC8\x1F\x06\xC0\xC1\x0D\x68\x03\x09\xD8\x15\xB6\x55\xCC\x01\x06\x8E\x09\xBE\xCE\x37\x76\x03\x74\xD7\x07\xA0\xD5\xCB\x03\x06\x8E\x03\xB6\xC1\x24\x44\xAA\xAC\x4F\x96\xD2\x5F\xC7\x06\x04\x83\xDF\xCA\xBF\x60\xDD\xA6\xEC\xC8\x27\x00\x12\xDB\x54\x17\x03\x06\xC2\xC9\x55\xAC\x91\xB3\x00\x2A\xD9\x7D\x21\x0B\x05\x85\xD1\xB6\x8C\x23\xFF\x00\x31\xD8\x71\x2D\x1D\x00\x0D\xD8\x04\xA6\x7A\xD8\x61\xE3\x56\x49\x00\x3B\xD9\xA4\x7A\x6A\xCF\x0A\x06\x47\x0D\x5B\xC1\x05\xD1\x05\x7D\x54\xD6\x4D\xC3\xD2\xA6\xC4\x06\x1E\x61\xFD\x86\x39\xD4\xA9\x58\xD6\x4D\xC5\xD5\x90\xC0\x07\x0E\x62\xF8\x8B\x40\xD4\x51\xD9\x8E\xD6\x6A\xCC", + "\x0F\x04\xC1\xC6\x31\x02\x02\x78\xD4\xAC\x4F\xEF\xD2\xAF\xC7\x10\x0D\xC5\xD3\x4A\x0F\x02\x60\xD8\x50\xCC\xD5\xCA\x24\x05\x88\xD6\x62\x1C\x04\x11\x0B\x16\x09\xAC\x4E\x9B\xD5\xC6\xCF\x13\x0C\xC6\xD3\x4A\x1C\xA9\x9D\x57\xAC\x4F\x9F\xD6\x4C\xCC\x15\x06\xC5\xDA\xC5\x3C\x02\x41\xD8\x01\x02\xB7\xA0\x55\xC0\x17\x0D\xC7\xC1\x0D\x70\xA9\xD9\xD8\xF4\x79\x8C\xCC\x31\x05\x8E\xDB\x0F\x38\x06\x08\xB1\x95\x02\xAC\x4F\xAB\xD5\x21\xC9\x1A\x05\xC8\xD6\x25\x67\x03\x00\xD9\xFF\x92\x99\xC9\x37\x05\x92\xDB\x1D\x55\x07\x18\xB2\xD2\x00\x83\xD7\xF5\x51\x3A\x04\x91\xD1\x67\x23\x00\x01\x5D\x70\xD8\x71\xD6\x55\xCE\x3D\x04\x94\xD3\x5A\x33\x00\x27\xB2\x90\xD9\x79\xD6\xD5\xCB\x00\x02\x51\x06\xC4\xDC\x99\x6F\xB2\x9E\xB8\x30\x81\x50\xDA\x5F\x20\x02\x04\xCB\xC6\x31\x33\x00\x37\xD9\x0C\x02\xD6\x4C\xE9\x36\x1D\xCD\xCB\xD3\x4A\x03\x01\x41\x2E\x49\xD8\xC9\xD6\x6A\xCA\x05\x05\xCC\xDB\x87\x12\x01\x48\xD9\xB0\xD9\x7B\xAB\x5F\xD2\x51\x0B\x76\x03\x02\x0A\x0A\x2E\x03\x41\x2F\x58\x30\xEB\x4E\xA5\xA4\x15\xC5\x02\x14\xB3\xFC\x80\xD7\xD8\xA1\x91\x36\xD9\x9A", + "\xDC\xBA\xCA\x2D\xD3\x01\x5F\xD9\x7C\x87\x70\xD8\xA2\x9B\x9C\xD8\xCB\xD6\x5D\xEA\x96\xE1\x00\xE8\xD8\x86\x01\x1B\x02\x9D\xDC\x10\x0B\x04\x2C\xB3\xC1\xD9\xF5\x32\xD5\xCB\x1B\x01\x9E\xD3\x10\x1B\x03\x34\xB3\xB2\xA5\xF7\xD9\x33\xB9\x10\x82\xB5\xCD\x07\x0D\x66\xC9\x62\x7F\xD9\x02\x03\x53\x00\x34\xD8\x8D\xB0\x00\x09\xB7\x94\x85\x8C\x01\x8A\x05\xEC\xD6\x72\x02\x40\x1F\x7B\x45\x24\xED\xA3\xD3\x12\x6A\x15\x85\x78\x55\xC5\x11\x01\xD1\xD8\x33\xE3\xDE\x12\x79\xAA\xCA\x47\x01\x47\xDF\xD4\xC7\x18\xC1\xC9\x72\x94\x8F\x01\x23\xDA\xB7\xC9\x49\xDF\x05\x7E\xA4\xC9\x69\xD8\x8B\xAB\xDA\x3F\x80\xD5\xC9\x24\x06\xA5\xD3\x1E\xA8\x68\xFD\x86\x45\x6F\x8E\x43\x5A\xD0\x47\xC4\x12\x06\xD3\xD8\x17\x75\x43\x21\x3A\xEB\x52\x4B\x00\x4D\xDC\x17\xDE\x6E\x59\xC0\x45\xDF\x14\xD5\xA3\xCF\x7D\x21\x72\x1F\x93\xCA\x5A\xD7\x04\x03\xB5\xF8\x45\xB6\x01\xA0\x2C\x25\x09\xB9\x1F\x6A\x4F\xDC\x1F\xA2\xB6\xD1\xDE\x4C\x4A\x19\x76\x70\xA9\xDA\x27\xBD\x69\xFA\x62\x06\x2D\x4C\xDA\x55\xCE\x26\x07\xA9\xDA\x8B\x37\x05\x12\xB5\x8B\xBA\xFB\xB3\x8C\xCF\x26\x04\xAC\xD6", + "\xA9\xDE\x36\x59\xE7\x7E\x42\x3A\xDB\xA4\xD9\x9C\x2B\xDA\x15\xBE\xD2\x29\xDC\x02\x0A\x05\x15\xD8\x8E\xC0\x2E\x02\x6A\xDB\xB2\x6E\x5F\xC5\x92\xA7\x01\x78\xDA\x13\x0D\x31\x04\xAF\xD7\xB3\x61\xCD\x2C\x91\xB2\x01\xFC\xD9\xD1\x2A\x34\x01\xA0\xD5\xD8\xDD\x5F\xCE\x3C\x3E\x01\x89\xDB\xDE\x40\x38\x04\xB1\xDB\xAF\x79\x28\xEC\x91\xCA\x01\x91\xDA\x7C\x46\x3B\x04\xB2\xD6\xB2\x6A\x60\xEA\x9A\xD6\x01\x99\xDA\x5D\x30\x3F\x04\xB3\xD3\xED\x0D\x56\xDD\x9A\xE2\x01\x81\xDB\xA9\x12\x02\x05\x79\xDD\xD9\xC9\x80\xAA\x96\xED\x01\xA1\xDB\xD0\x43\xDA\xD1\x95\x53\xED\x01\x61\xC5\x92\xF9\x01\xB1\xDA\x5B\x49\x09\x05\x8A\x01\x8B\x33\x76\x25\xAB\x9D\xCD\x05\x00\x5C\x55\x07\xDB\x1B\x1C\xDB\xD4\xD8\x66\x2A\xAA\xCB\x11\x00\xE1\xDA\x89\x09\x08\x05\xDC\xC0\xD8\x75\xB0\xAA\xCB\x1D\x00\xE5\xDB\x54\x17\x09\x0D\xDC\xC0\xD9\x41\x04\x1D\xA0\x54\xC3\x14\x02\x74\xDB\x1F\x2D\x05\x15\x6E\xEB\xEC\x1A\xDA\xBE\xC5\x1A\x00\xAE\x55\x96\xDD\x7E\xD5\x22\x3A\x72\xF2\x9D\xAA\xCA\x21\x03\x76\xD9\xCE\x2A\x07\x1E\x6E\xC5\xB6\xD3\xD8\xB7\xC8\x27\x03\x7A\xDB\xB4\x28\x08", + "\x0E\x6F\xD5\xB6\xA7\xC6\x32\xCA\x2D\x00\xAE\x51\xAF\xDA\x1C\x16\x04\x2C\xB6\xD3\x1D\x62\xD9\x42\xC9\x19\x03\xBF\xD6\x62\x03\x05\x3F\xB7\xE9\xD8\xAA\xCC\x38\x03\x78\xDE\xC4\x00\x0B\x15\x22\x16\x12\x53\x1D\x72\xD8\x89\xCD\x1F\x03\xC1\xD3\x95\x00\x06\x0E\xB8\xC6\xDB\x7A\xD9\x4E\xCE\x22\x03\xBE\xDD\x1B\x50\x06\x36\xB7\xAD\xDB\x03\x02\x41\xDA\xAF\xC6\x12\x0C\xE1\xD8\x17\x5E\x03\x1F\xDC\xD3\x1D\xA7\xD6\x5F\x22\x14\x04\xE1\xDB\x87\x2C\x03\x66\xDB\xC6\xDA\x49\xDB\x2D\xCF\x15\x05\xE2\xDA\xC5\x3B\x03\x28\xDC\xE1\x92\xD5\xCB\x2E\x05\xC6\xD1\x1A\x49\x00\x36\x11\x3D\xDB\xA9\xD9\x8C\xCF\x31\x05\xC5\xD1\x67\x37\x00\x36\x11\x0F\xDC\x41\xDC\x89\xCC\x35\x04\xC8\xD3\x5A\x29\x61\xDD\xAE\x53\x1D\x37\xD4\x55\xCD\x38\x04\xC9\xDD\x1B\x57\x01\x07\xB9\xC6\xDB\x51\xDD\x8C\xCE\x3B\x04\xCA\xD8\x2F\x47\x02\x17\xB9\xCE\xDB\x3D\x39\x8C\xCF\x3E\x04\xCB\xDF\x5C\xD6\x23\x27\xB7\x90\x71\xAA\xCA\x04\x02\xAA\x54\xBC\xD6\x06\x06\x73\xC6\xB7\xD2\xA9\x54\xC3\x0A\x02\xAA\x53\xED\x01\x02\x0A\x55\x51\x06\x75\x00\x3F\xDC\xE3\xD8\x37\xDE\x57\xC3\x02\x13", + "\x73\xFA\xDD\x76\xDC\x3F\xBB\x3C\xDC\x98\xDA\x4A\xCC\x46\xD1\x01\x3E\xB9\xD7\x0A\x80\xDD\xC5\xA2\xA0\xDE\xBA\xD0\x00\x0B\x53\xF4\x8E\x87\xDD\xCC\x7B\x44\xDC\x36\xAB\xD1\xDB\xB2\x61\x36\x6B\xA7\x4D\x00\x90\xDC\x14\x86\xA4\xDB\x20\x0D\x0A\x14\x74\xC5\xB6\x81\xD5\xBE\xC5\x2D\x03\x9A\xD8\xD5\x8B\xE9\xCF\xB9\xAE\xB9\xD7\x77\x8D\xC3\xCF\xD2\xAA\x52\xA2\xDF\xD0\xB4\xDD\x6A\x9A\x97\xDA\xFB\x21\x7B\x44\x0D\x31\xAE\xDE\xD1\xDD\x4D\xCE\xA8\x2A\xCD\x6B\x01\x55\xDE\x89\x0A\x19\x06\x47\x14\x24\x0B\xF4\x75\xD1\x40\x14\x36\x02\xAE\xDB\x2A\x1B\x0C\x1D\x75\xD9\x9E\xAC\xCF\x19\xCF\x36\x03\xB0\xDB\x1F\x2C\x0C\x06\x76\xC4\xAC\xB3\xCF\xB7\xC8\x37\x03\xB2\xD9\xCE\x2D\x0C\x0E\x76\xF6\xBA\xE4\x5B\x54\xC3\x37\x03\xB4\xDB\xB4\x2E\x0C\x16\x76\xFC\xF5\x41\xCF\x5E\xC6\x38\x03\xB6\xDD\x37\x4F\x0C\x1E\x76\xC2\xB1\x8C\x02\xC8\xCE\xAF\xC5\x1C\x03\xDC\xD8\x2F\x50\x06\x26\xBB\xFF\x7A\x24\xC8\xA4\xD2\x1C\x04\xDD\xDA\x8B\x34\x64\xDA\x87\x8B\x7A\xFC\xDA\xBF\x23\x1C\x04\xDE\xD1\x1A\x52\x06\x2F\xBB\xE4\x43\x21\x5E\xAA\xC0\x1D\x04\xDF\xD6\x4B\x53\x06", + "\x3F\xBB\x8B\x7A\xE0\xCB\x9D\x15\x1D\x04\xE0\xDB\x1D\x54\x06\x07\xBC\xF8\xC2\x54\xC2\x3B\x00\xC3\xD8\xBD\x45\x0D\x0F\x78\xD8\x94\xA7\xD3\x13\xDE\x6F\x4E\x35\x06\xE2\xDB\xBB\x54\x0A\xF8\x01\x19\xDE\xEE\x4D\x6B\x00\xC7\xDF\x41\x84\x15\xD9\x03\x20\xBC\x9C\xC2\xD8\x01\x91\xDF\xEE\x5C\x8D\xCA\x07\x0C\x77\xFB\x01\x25\xDD\x01\x03\x6C\x03\xBF\xDD\xB3\x75\xD7\xDD\x34\xFD\x01\x2A\x55\xF9\xDC\x04\xB4\x2B\xDC\xB7\x77\xA5\xBD\x34\xC8\x02\x38\xDE\x26\x0D\x73\x03\xCE\xDF\x94\xC5\xBF\xC5\x24\xD3\x02\x19\xDD\xA3\x2A\x7A\x02\xA7\xDC\xE7\xD7\x49\x92\x29\xDF\x02\x48\xDE\xBD\x42\x01\x02\xA2\x01\x16\x3D\xD9\x7D\x55\xF2\x94\xAB\x01\x50\xDE\x7C\x44\x2F\xD9\x95\x5D\xD9\x65\x56\xD9\x9C\xB7\x01\x59\xDF\x6A\xCF\xD4\xDB\xBC\x71\xB1\xB2\x38\xC3\x03\x40\xDE\x53\x12\x16\x02\x41\xD9\xB1\x76\xAD\xD2\x29\xCE\x03\x61\xDE\xA1\x43\x1C\x03\xD8\xDA\x22\x0D\xD9\x76\x6D\xF7\x92\xDA\x01\x70\xDE\x5B\x4B\x11\x03\xEE\xDC\x19\xD0\x5D\xC8\xAD\xF9\xDE\xDB\x43\x2A\x00\xDF\xDF\xBE\x75\x9A\xCC\x23\xF2\x03\x00\xDF\xE8\x4B\x31\x03\xE0\xDC\xED\xD5\xAF\xD9\x38\xFE", + "\x03\x08\xDF\xDE\x4D\x38\x03\xE2\xDC\xE9\xD2\x04\xAC\x23\xCA\x00\x60\x0E\xC3\xDA\xB0\x9F\xE4\xDC\xE8\xDF\xEC\xCA\x35\xD6\x00\x60\x0E\xE4\xDA\x8E\xDA\x85\x5D\xB3\x7B\xC4\xDD\x34\xE3\x00\x18\xDF\x6D\xD9\xCD\xDD\x67\x78\xBE\xDE\x35\xCF\x01\x28\xBE\xD3\x12\xAA\x00\xD5\xDE\x16\xDA\xD5\xCB\x03\x00\x3B\x39\xBC\x8C\x02\xB8\x01\xB5\xDC\xE5\xDF\x50\xBC\x46\xC6\x02\x36\xBE\x82\xDB\xBA\xDE\xCE\xDD\xCB\xD2\x97\xDE\xF0\x11\x02\x20\xBE\x8A\xD3\x8A\x04\x4B\x09\x67\x79\xC2\xD2\x53\xDE\x02\x07\xBF\xD3\x12\xA8\xDB\xCE\x55\x67\x79\xC3\xD4\x15\xCB\x03\x2F\xBE\xFB\x21\xF2\x00\xD9\xDF\xD1\xD2\xB5\xC7\x07\x17\x7E\xCD\x85\xB8\x55\x54\xDF\x03\xD6\xAA\xCB\x10\x0F\xFC\xDB\x87\x0E\x00\x38\x55\x7D\x55\xCE\x7A\x8C\xDE\x6B\xC0\x09\x1E\x7E\xE3\x56\x51\xDB\x5C\xDF\x1C\xDE\xAA\xCC\x13\x0E\xFE\xDD\x0D\x6B\x00\x60\xDF\x64\xDE\xB4\xD6\x6A\xC8\x15\x05\xFE\xD1\xB3\x39\x00\x38\x55\xCA\xDF\x24\xDE\x4C\xCD\x16\x0D\xFF\xDF\x61\xC0\xC0\xF9\xDF\x06\x80\xE2\xDC\x8D\x1A\x18\x05\x00\xFD\x0D\x59\x01\x07\xE0\x74\xDF\x58\xDA\xAA\xCF\x19\x0D\x00\xF8\x17\x69\x01", + "\x10\xE0\x7D\xDF\x30\xDE\xC4\xCC\x1B\x05\x01\xFA\xC5\x39\x01\x68\xDF\x08\xE1\x20\x70\x1B\xC9\x1D\x0D\x01\xE1\x0D\x48\x02\x20\xE0\x11\xE0\x69\xDA\x2A\xDD\xFE\xD0\x00\x02\x00\x3D\x0F\x11\x03\x97\x00\xFC\xDD\x0A\xE7\x4A\xD2\xC1\xDD\x1F\x2B\x1D\x10\x00\x2F\xE1\x8A\x01\x29\x02\x06\xE9\x01\xE4\x74\xEA\x96\x92\x00\x36\xE0\xA9\x5D\x0E\xE1\xCE\xAC\x03\xE4\x7C\xF9\x51\xEC\xC8\x20\x01\x20\xE0\xAB\x6B\x08\xE6\x76\xA5\x82\xCC\xBE\xBF\xD7\x9D\xCC\x17\x02\x12\xE2\x85\xBC\x04\xE3\x08\x0F\x03\x4E\xE0\xBB\xDE\x2E\x82\x6A\xCC\x07\x0D\x3F\x0A\x22\x09\x01\x55\xE0\x02\xC6\x14\xE3\x84\x7B\xE5\x3A\x6A\xCB\x02\x3D\x0F\x2C\xDD\x18\xBB\x23\x7E\x6A\xC8\xD6\xD1\x67\x2B\xF8\x5D\xF6\x5C\xDA\x24\xDA\xEC\x7D\xCB\xD4\x1D\xDD\xD6\xD8\x6A\xEE\x9B\x02\x80\x40\xDA\xBF\x20\x13\x07\x0C\xE5\xEB\xDE\x0C\xCB\x04\x99\xCE\x6C\xE1\xD1\x29\x1F\x83\x1F\x80\x07\xEA\x69\xC7\x04\xF2\x81\x19\xCF\x26\x00\x18\xE4\xA8\xDC\x11\xCA\xD0\x29\x03\xD4\xC2\x4F\x01\x45\xE1\x3E\xC0\xBD\x43\x12\x94\x0C\x85\xC2\xAF\xDA\x1E\x83\xBA\x83\xAB\xDD\x0E\xE5\xA9\xD6\x25\x4F\x9D\x3F", + "\x4D\xCA\x03\x28\x02\x24\xE1\x10\xEA\x1D\x9E\x7A\x2C\x91\xD3\x00\xA3\xE0\x4E\xE2\x15\xC8\x62\x8B\x09\xF7\x6A\xDD\xC2\xDB\x43\x2D\x85\x38\x20\xAD\xD9\x0E\xEA\x2B\x8E\x13\xAA\x96\xD5\x00\xA9\xE0\x57\xE2\x72\x02\x7A\x13\x26\x89\x22\xF9\xC2\xB1\xD1\xAC\xE1\x6E\x85\x61\xCA\x15\xE6\x62\x1E\x18\xA8\xA5\x84\xD0\x7C\xE0\x5A\xE1\xCF\x84\x56\xD4\x15\xDA\x02\x09\xC3\x86\xE1\x32\x87\x1F\xA4\x1B\xCB\x0B\x0F\x0C\xF8\x84\xD1\xC3\x8C\x02\x5E\xDE\x89\xCC\x17\x05\x1A\xEF\x80\xD8\x19\xAE\xB6\xAA\xCD\x5D\x00\x6E\xE0\x23\xE2\x39\x0E\x31\x96\x7B\xDE\x8D\xDE\x00\xE2\xE1\x49\xE2\x7F\xCF\x84\xDA\x5A\xDF\x02\x29\xC3\xA4\xE1\x3F\x87\xC2\xDE\x6A\xC8\x0C\x0F\x0E\xE4\x86\xDE\xC3\xD4\x96\xEF\xD9\x7A\xE2\x2E\xE3\x69\x82\x10\x18\x6E\xFE\x8A\xE2\x00\xFA\xE0\x60\xE3\x3D\xE7\xDC\xD9\x71\xC3\x03\x3F\xC2\xE8\x4B\xEC\x00\x5C\x54\x25\x0E\x63\x85\xFA\xD4\x0A\xE5\x01\x01\xE2\xB7\xD0\x72\xE1\x73\xD4\x8D\xC6\x06\x10\x88\xFD\xA2\xEB\xE1\x7F\x7E\x05\xE3\xCE\x17\x0C\x07\x10\xFE\x36\x6D\x03\x38\x55\x91\x02\x8F\x84\xF3\xDD\xD3\xC9\x06\x1D\x88\xEE\x9B\x6F\x01", + "\x20\xE2\x7E\xE1\x40\x04\xFA\xDE\x66\xD6\x88\xF6\xC1\x9C\xC2\x1E\x86\x11\xDD\x21\xCC\x0D\x0E\x12\xEF\x85\xE8\x97\x1E\x86\x2A\xDC\x87\x1D\x1B\x06\x24\xEC\x11\xD1\x07\x0A\xC4\xAA\xE2\x83\x8E\x7D\xD9\x4D\xE2\xAE\xD7\x0D\xE3\x08\x37\x26\xD4\xC2\x70\x01\xA1\xE1\x31\xE2\x00\xED\x69\xD1\x03\x3C\xC4\xCA\x03\xF2\x01\x94\xE3\x40\xE3\x1C\x8A\x11\xE0\x52\x33\x01\x4F\xE2\x15\x02\x7A\x02\x54\xE1\x65\x82\x01\xF9\x38\xF5\x01\x58\xE2\xA7\xB7\xAD\xE3\xCB\x81\x01\xEC\xFD\xC0\x8B\xCC\x04\x78\x01\x62\xE3\xA2\xE2\x49\xDD\xD3\xC9\x07\x06\x8B\xC3\x04\x7A\x01\x3F\xE3\xA9\xE2\x0D\x74\x8D\xCB\x07\x0E\x8B\xC2\x04\x63\xDC\xDA\xC2\x8F\x84\x9C\xDE\x57\xCD\x07\x09\x87\xFE\x01\x76\xE2\xCB\xE1\xD1\xD6\x6A\xC8\x10\x09\x0E\xE1\x04\x00\xC6\xF1\xE1\x12\x03\x30\xD6\xC4\xCB\x10\x09\x0E\xE4\x04\x07\xC6\x9E\x86\x8E\xDD\x42\xCA\x21\x01\x1D\xE7\x08\x0F\x8C\xF9\xB3\xAA\xCD\x89\x01\x74\xE2\x22\x06\x32\xEE\x05\x8A\x2D\xCC\x02\x12\xE1\x8E\x00\x49\xE0\x3F\x01\x2E\xE5\x40\x9A\x21\xAD\xC2\xDB\x43\x90\x01\xC3\xE3\xCB\x15\x70\x8A\x20\xCA\x8A\xD3\x25\x2F\x16\x8B", + "\xD2\xAA\xC3\x24\x05\x7F\x01\x48\x17\x04\x2E\xC6\xD5\x88\x89\xB2\x36\xC8\x26\x04\x36\xEE\x92\x57\x8D\xD7\x11\x83\x02\xB0\xB2\xD5\xC9\x27\x04\x37\xE6\x43\x1E\x8D\xCB\x11\xE2\xB3\x6C\xC8\x51\x00\x71\xE4\x21\x06\x0A\x06\x8E\xE6\xC6\x83\x02\xFA\xC4\x55\xCF\x29\x03\x39\xE3\x10\x0B\x05\x0E\xC7\xC6\x36\x03\x02\x80\xC7\x71\xD4\x3A\xE2\x10\x10\x05\x17\xC7\xAF\x16\x03\xB4\x55\xCD\x2C\x04\x3B\xE1\x10\x15\x05\x1F\xC7\x86\xB4\x6C\xC8\x5B\x00\x79\xE0\x00\x0A\x0B\x07\x8F\xC8\x68\xEC\xC8\xBB\x01\xF5\xE3\x2F\x06\x3D\xEC\x10\x0B\xD0\xAF\xAC\xEB\xE3\xC4\x00\xFA\xE3\x40\x05\x41\xBA\x5A\xC5\x06\x2B\xC7\xC9\x01\xFA\xE2\x81\xC7\x65\xDB\x3D\xEE\x0C\x01\x90\xC1\x04\x11\xB4\xAA\xCB\x67\x03\x7A\xE3\x1A\x06\x20\xE0\x00\x13\xA6\xAA\xCD\xD4\x01\xF5\xE0\x36\x07\x3A\xEC\x0A\x35\x79\xD4\x85\xD9\x01\xFD\x07\xDB\xDF\xFD\xB4\xCB\xDC\x0A\x3E\x6B\xF7\x92\xE4\x01\x19\xE4\x13\x0E\x02\x03\xD4\xDD\xF4\xC6\x6C\xEA\x96\xEF\x01\x53\xE1\x22\xDE\xAA\x51\x16\x3C\x0A\x2E\x6C\xF4\x38\x7B\x01\x29\xE5\xD1\x29\x09\x03\x45\xE4\xAB\xD6\x7A\xDD\x9A\x87\x00\xAD\x31", + "\xCC\xDF\x0C\x04\x46\xE5\x22\xF9\x86\xF2\x94\x93\x00\x39\xE5\xE5\xD8\x8F\xE4\x90\x86\xB1\xB2\x38\xDF\x00\x2D\x31\x1A\xE4\x26\x28\x89\xE4\x48\xEF\x0D\xF7\x4B\xC1\xC9\xD3\x12\x5C\x01\x21\xE5\x25\x88\x29\xA7\x62\xCF\x92\xFB\x43\x6A\x00\x52\xE5\x36\x8A\xDF\xD9\xBD\xD6\x25\xF1\xB3\x1F\xBC\xA9\x59\xAC\x21\x76\xD7\xEE\xCD\x4B\xE3\x5A\x26\x04\x19\xC9\x9A\x89\xCF\xDA\x55\xCE\x16\x04\x4C\xED\x1B\x54\x04\x27\xC9\xFA\x88\x95\xDE\x1C\xD4\x9B\xE0\x5F\x42\x0A\x0F\x93\xEC\x42\x60\xDB\x85\xC8\x39\x01\x2B\x34\xBC\xD0\x0B\x0A\x55\x7D\xA9\x2C\x21\x0D\xE2\x5F\xC7\x1F\x03\x4E\xEA\x8B\x3F\x05\x36\xC9\x93\xE2\xAA\xCB\x45\x00\xA1\xE1\x34\x4D\x0C\x07\x94\xD6\xA7\xCD\xDA\x48\xE4\x13\x0F\x36\x03\x49\xE3\x25\xE2\x08\x01\xB8\xB7\xC9\xA2\x01\x48\xE7\x54\x10\x1D\x04\x29\xFA\x92\xE3\xA1\x55\xE2\xDF\x0D\x56\x03\x9E\xE6\xC4\x05\x0F\x0A\x55\x56\x12\x2C\x21\x23\xE2\xEB\xD7\xA8\xE3\x2A\x15\x00\x00\x3B\x27\xCA\x95\x02\x2C\xE3\x42\xCB\x31\x03\x51\xE6\x4B\x55\x00\x20\x1D\x2C\xE4\xC2\xA2\xD5\xCB\x34\x04\x56\xE6\x79\xD7\x95\xF4\xAA\xB9\xE2\x34\x1D\x6F", + "\x03\xAA\xE1\xAD\xB0\x76\x1F\x93\xD5\x04\x6B\xDF\xFE\xCE\x76\x00\xAF\xE0\xBD\x40\x04\x1E\x95\xE5\xC8\xC7\xE2\xBE\xC4\x7C\x03\xB2\xE6\xDB\x4E\x04\x0E\x96\xCC\xC9\x83\x02\xA0\xD8\xD5\xC8\x01\x03\x4D\x54\xDE\xDC\x02\x2E\xCA\xB4\xD5\xD9\xE4\x55\xCD\x04\x04\x5B\xE6\x62\x0C\x03\x1F\xCB\xA5\xE4\x59\xDC\x89\xCE\x07\x04\x5C\xE3\x95\x1C\x03\x27\xCB\xD7\xE5\xF9\x7E\x50\xE5\xEF\x03\x05\x0C\x2E\xFB\x87\x0C\x02\x6F\xE5\x95\xE4\x08\x31\xC6\xC8\x07\x05\x2F\xF1\xB3\x34\xBF\x96\x5C\xAC\x20\x23\xD6\xAF\xC5\x08\x0D\x2F\xE3\xAD\x2B\x02\x45\xE5\xB4\xD5\xBD\xE1\x21\xCA\x0A\x0B\xA6\x4B\x3B\x1E\x01\x6B\x54\x91\x02\x5D\x02\xB5\xE1\x5F\xE1\xA2\x2C\x23\xE0\x01\x0D\xE6\x04\x90\x88\xE6\x32\xB3\x62\xEE\x29\xFE\x81\xEA\x9A\xEE\x00\x18\xE6\x89\x02\x1E\x02\x63\xE2\x11\x16\x06\x1C\xCC\xE8\xE4\x6A\xD4\x36\xC8\x1F\x01\x64\xEC\x10\x08\x04\x24\xCC\x8C\x02\xE4\x01\x93\xE4\x9C\xE4\x54\x10\x69\xCC\x99\xC3\x04\x16\x01\x2F\xE7\x77\xB6\xCC\xE4\x15\x20\xEA\xC5\x24\xD8\x02\x05\xE6\x01\x03\x52\x01\xCE\xE1\x60\x5D\xA7\x58\x26\xAC\xC6\xBE\xC5\xA7\x01\x35\x54", + "\x1A\xE6\xA0\x84\x96\xBB\x7F\xEB\xA9\x01\x09\xAC\x00\xA5\xE6\x89\x08\x9B\x8A\x98\xB4\x0A\xED\x02\x4F\xE6\xD5\xC4\xA9\xE7\x54\x10\x9B\x81\x1C\xEA\x35\xF2\x02\x58\xE6\x07\xAE\xAD\xE7\x3E\x20\x9B\x8E\x9C\xB4\x0A\xF7\x02\x60\xE6\x0C\x03\x5D\x02\xD8\xE1\xCE\x28\x4D\x91\x8E\xD9\x9C\xBC\x01\x68\xE7\x81\x00\x30\x03\x6D\xE3\x5A\x38\x26\x9A\xC7\x92\xCE\xC1\x01\xB8\xE6\x40\x05\x18\x04\x37\xFD\x0D\x58\x13\xE1\xE3\x19\xCE\x63\x02\xDE\xE7\x4D\xDD\x37\xF8\x17\x58\x13\x87\xB4\xAA\xCD\x65\x03\xE0\xE0\x00\x0F\x0C\x05\x9C\xFA\x62\x58\x89\x17\xB4\x55\xCC\x34\x03\x71\xE4\x0D\x0E\x9C\xE1\x86\x58\x89\xF6\xE2\x55\xCD\x35\x03\x71\xE9\x0D\x16\x9C\xF6\x92\x58\x89\xFC\xE2\x55\xCE\x36\x03\x71\xEE\x0D\x1E\x9C\xDB\x87\x58\x89\x03\xC6\x55\xCF\x37\x03\x71\xE3\x0E\x06\x9D\xC9\xBE\x90\xB4\x6C\xC8\x72\x03\xE2\xE0\x1D\x0E\x3A\xFE\x36\x58\x13\x8F\xE4\x19\xCF\x74\x03\xE2\xE5\x1D\x05\x3B\xEE\x37\x5F\x1E\x58\x89\x97\xE1\x6E\xE1\x62\x88\x48\xBC\x46\xCE\x07\x2B\xA9\x49\xE4\x10\x57\x2E\xE1\xF1\xCA\x4A\xBA\x5A\xD9\x07\x07\xCF\xA6\x0C\x1C\x00\xE5\xE7\x65", + "\x8D\x34\xE0\x96\xC8\x24\x19\xBE\xA9\x00\xFD\x07\x58\x30\x41\x4E\x45\xEB\xB3\x10\x00\x16\xCF\xA6\x0C\x37\x01\xEC\xE7\xF2\xE2\x20\x06\x23\xF4\x0A\xDC\x00\x5F\xE7\x53\x13\x22\x02\xF8\xE3\x7A\xE3\x10\x1E\x91\xDD\x9A\xA8\x00\xE8\xE7\x7D\x20\x2A\xE1\x95\x54\x50\x46\x6D\xD4\x85\xB4\x00\x88\x08\xE4\xE4\x44\x2A\x7A\xE3\x3C\xED\x92\xD2\x9C\xBF\x00\xF1\xE7\x38\x2E\x1B\x03\x7D\xED\x3F\xF4\x92\xE6\x9E\x81\xE8\xA3\x2A\x3E\x00\x01\xEC\xB3\x81\x8D\x4C\x23\xD7\x01\x08\xE8\xBD\x43\xCD\xE0\xFD\xE2\x1E\xEA\x6A\xC3\x03\x10\xD0\xF8\x45\xBB\xE3\x09\xE9\xE3\xDA\xE2\xCF\x06\x17\xA0\xFA\x62\x4D\xE3\x1A\xE9\x38\xE6\xAA\xCB\x0F\x0E\x41\xE1\x0D\x74\x02\x0B\xE8\x9F\x8B\xCE\xDD\xC6\xCF\x10\x08\x48\x04\x6F\xC2\x03\x7D\x07\x7D\x54\x82\x49\xA0\xE5\x90\xC4\x09\x05\xA1\xF6\x92\x51\x01\x28\xE8\x16\x50\xA2\xE2\xD5\xC0\x0A\x16\xA1\xDB\x87\x5F\x01\x39\xE9\xBC\x8B\xEC\xDF\x38\xD9\x3F\xE6\x31\x2D\x03\x7C\xE7\x0C\xE8\x4B\xE4\x1B\xCF\x16\x05\x44\xF3\x4A\x3A\x03\x48\xE8\x29\xE9\xE1\xDC\x24\xD5\x85\xE6\x62\x18\x91\xDD\xAE\x04\x4A\xA9\xE4\x5F\xC7\x33\x04", + "\x8A\xE3\x95\x17\x00\x2D\x62\x16\x09\x04\x4B\x58\xE7\x2D\xCC\x1B\x0E\x43\xE8\x2F\x67\x00\x2D\x31\xDA\xE7\x5C\xE6\xAA\xC8\x1D\x05\x46\xFE\x36\x75\x00\x68\xE8\xE3\xE7\x75\x7A\xC4\xCC\x1E\x0C\x45\xFB\x87\x03\x01\x2D\x31\x31\xE9\x63\xE4\x1B\xC9\x00\x0F\xAC\x59\x7C\xD2\x01\x70\xE8\xEC\xE6\xE5\x90\x1B\xCD\x01\x0D\x47\xE6\x31\x20\x01\x00\xE9\x05\xE9\x72\x82\xBC\xE2\x39\x09\x01\x0F\x56\x64\xB7\xEE\x00\x5F\xE9\x38\xEA\x3A\x83\x91\xE5\x1E\x0E\xA4\xE6\x18\x7E\x00\x91\xE9\x40\xE8\x0D\x84\x92\xEF\x13\x16\xA4\xD3\x25\x0E\x01\x99\xE9\x44\xEB\x26\xEA\xB5\xC0\x04\x1E\xA4\xFB\x43\x1E\x01\xA1\xE9\x24\xEA\xBE\xE2\xE2\xCD\x04\x06\xA5\xF1\x59\x2E\x01\x78\xE8\x49\xEA\xC0\xE5\x90\xCA\x05\x0E\xA5\xE3\x56\x3D\x01\xB1\xE8\x4D\xE9\x3E\xAC\x8D\xC7\x06\x05\xA4\xEA\xA0\xCF\x55\x91\x02\x66\x00\x22\xEA\x95\xE5\x31\xEA\x2D\xF5\x01\x3E\xE9\x1B\x9E\x60\xEA\x85\xB3\x98\xE1\x45\xE9\x9F\xAC\x91\x83\x01\xC8\xE9\x81\x03\x23\x02\x99\xEB\xA3\xAC\xA6\xFA\xD0\xC7\xE0\x32\xDB\x68\xEA\x94\xC4\x9A\xEC\x10\x16\x07\x16\xD3\xC2\xE8\x44\x0E\x2C\xD6\x36\xE9\x20", + "\x0B\x0A\x1C\xA6\xF2\x0B\x6B\x54\x69\xE9\xCE\xE2\xAA\xCD\x15\x06\x4B\xE1\x08\x3A\x02\x66\xE9\xA0\x55\x35\x55\x9F\x57\xB4\x86\x21\xFE\x15\xFC\x02\x4F\x55\xFA\xE7\x10\x00\xD0\xE2\xBD\x8D\xF3\xD4\x0A\xC7\x03\x78\xE9\x26\x0C\x17\x03\x3E\xEF\xB4\x87\x0C\xEE\x78\x12\x03\x63\xE9\xF8\x45\x1D\x00\x3A\xE8\xBC\x80\x2F\xF2\x29\xDE\x03\x08\xEA\xBA\x31\x24\x03\x42\xEC\xF9\xC4\xC0\xCA\x2D\xEA\x03\x10\xEA\xA1\x43\x2B\x03\x44\xE9\xBB\x8E\xD9\xD9\x38\xF6\x03\x18\xEA\xB6\x49\x32\x03\x46\xEF\xBA\x85\x24\xF2\x29\xC2\x00\x51\x49\xFA\xE7\x39\x03\x40\xED\xED\xDD\x69\xCD\x00\x11\x93\x19\xDF\x80\x01\x91\xEA\x78\x8D\x1F\xAC\x46\xD9\x00\x2F\xD4\xA6\x0C\x8E\x00\x99\xEB\x79\x8B\x4B\xEA\x6A\xC5\x01\x37\xD4\xD3\x12\x9C\x00\x9D\xE8\x3F\xEE\x85\xDA\x5A\xD1\x01\x3F\xD4\xFB\x21\xAA\x00\xA1\xEB\x69\x8B\x63\x94\x15\xDD\x01\x07\xD5\xF1\x2C\xB8\x00\xA5\xE9\x45\x06\x1F\xE5\x48\xC9\x02\x0F\xD5\xA3\x2B\x82\xE7\x54\x5B\x69\x88\x4F\xE7\x4B\xD5\x02\x11\x93\x64\xDB\x95\xE6\x0B\x5F\x69\x8B\x86\xE7\x4B\xC2\x03\x17\xD5\xBD\x43\xAD\xE6\xAD\xEB\x0E\xE9\xE3\xCE", + "\x06\x07\xAB\xF8\x8B\x71\x01\x52\xEB\x47\xE6\xAA\xCA\x0F\x08\x52\xE2\x3A\x2B\xD4\x92\x02\x97\xE4\xAF\xC5\x21\x05\xAE\xE3\x35\xD5\xA3\xE4\xD4\xD2\xE8\xAA\xCC\x48\x03\x57\xEE\xC4\x09\x01\x08\x24\x16\x12\x27\x8B\x59\xE9\x42\xC9\x27\x03\xB0\xE3\x95\x09\x01\x06\xD6\x8C\xEA\x03\x02\x31\xEA\xD7\xC2\x15\x0E\x56\xFA\xC5\x39\x00\x08\x09\xB1\x31\xD3\x8A\x4C\xE7\x96\xC6\x0B\x15\xAC\xE1\x86\x47\x00\x98\xEA\xC8\xE8\x2D\x4C\x8D\xC2\x0C\x0C\xAC\xFB\x43\x55\x00\x88\x09\x79\xEA\x1E\xE9\x41\xEE\x59\xF6\x25\x64\x01\x21\xEB\x14\xEB\xAF\xD6\x4C\xCB\x1B\x0D\x5A\xFB\x0E\x72\x01\x30\xEB\x1C\xEB\x0E\xD6\x6A\xCF\x1C\x06\x5A\xF1\xB3\x00\x02\x0F\xEB\xB1\xEA\xDD\xEA\xAA\xCC\x1E\x0D\x5B\xE3\xAD\x10\x02\x40\xEB\xB9\xEA\xC1\xD6\x6A\xC9\x00\x0A\xAC\x04\x6F\xFD\xD0\x9D\x57\xA7\x8B\x74\xE6\x4C\xCE\x01\x0D\x5C\xEC\x70\xC8\xD7\xFF\xEA\x1A\xE0\x99\xCB\x06\x05\xBA\xE5\xE1\xC9\xAD\xE2\xD6\xAC\xDA\xAA\xCA\x14\x00\x77\xEB\x1F\x2B\x45\xE2\xAB\xCD\xA9\xAA\xCB\x35\x00\x65\x17\xDA\x09\x08\x0A\xAC\x11\x0C\x1E\x03\x38\xEB\xD8\xEB\x16\x34\x1B\xCB\x08\x0A\x5E", + "\xE6\x43\x6D\xD7\x95\x02\xEC\x00\xF8\xEB\x4C\xEE\x99\xEA\x5A\xD1\x02\x35\xD7\xF2\x42\xF7\xEA\xD6\xB6\x7E\xEB\xA7\xE9\x32\xED\x87\xFF\xD7\xC5\x8F\x01\xED\x30\x57\xB3\x51\xB3\xE7\x19\xE9\x76\xC7\xD8\xA4\x9C\x09\xED\x09\x5B\x82\xEF\xBB\xE1\xD3\xC3\xA1\xE3\xD7\x83\x02\x88\x01\x08\xEF\x22\x17\x59\x5D\xA7\x45\x31\x87\xCD\x85\xC9\x8A\x00\x65\x17\xD2\xE3\x20\x05\x62\x91\x8D\xFE\x8A\x8B\x01\xCA\x15\x40\x0B\x23\x02\xC4\xE6\x62\x05\x31\x95\xCD\xBE\xC5\x90\x01\x14\xED\x45\x04\x12\x0C\x62\xF3\x4A\x25\x18\xDD\xE6\x19\xCF\x4A\x02\x8C\xEA\x5B\xA5\x63\xFB\x87\x25\x18\xE5\xE6\xBE\xC4\x4D\x03\x8E\xED\x8E\xAD\x63\xF1\xB3\x25\x18\xEE\xE6\x12\xCF\x4F\x03\x90\xEB\x20\x03\x0A\x05\xB2\xE3\x56\x25\x8C\x77\xE6\x99\xC8\x29\x03\xC9\xE2\x10\x08\x05\x0E\xD9\xBD\x43\x25\x8C\xC0\xE6\xC4\xC9\x15\x04\x65\xE1\x08\x2D\x02\x57\xEC\xF8\x45\x12\x8C\xE2\xE2\x4C\xDD\x65\xF4\xB0\xA0\xD9\xBA\x31\x25\x8D\xC8\xE5\xC6\xCB\x16\x05\x66\xF7\x05\x27\xD9\xA1\x43\x25\x8D\xCC\xE5\xC6\xC8\x17\x05\x66\xFC\x05\x2F\xD9\xB6\x49\x25\x8D\xD0\xE5\xC6\xCD\x17\x05\x66\xE1", + "\x06\x37\xD9\xDB\x43\x25\x8D\xD4\xE5\xC6\xCA\x18\x05\x66\xE6\x06\x3F\xD9\xE8\x4B\x25\x8C\x04\xE6\xAA\xCF\x18\x05\x66\xEB\x06\x07\xDA\xDE\x4D\x25\x8C\xDC\xE6\x9D\xD5\xCC\xE0\x0D\x0F\xB4\xEE\x9B\x73\x8C\x25\x8D\xE0\xE7\x38\xE7\xE0\x84\x61\xFA\xB4\xEA\xC3\xEE\x4D\x44\x8F\x16\x50\x52\xD0\x1E\xEA\x8B\x3E\x3C\xB5\xD3\x93\xD9\xCA\x14\xFD\xE7\x0C\x05\x9D\xED\x7E\xDD\xA7\xFE\x8A\xDC\x01\xA9\xEC\x13\x0D\x29\xE8\xFB\x2E\x79\x85\xA8\xF4\x38\x67\x01\x0F\xED\xD1\x29\x2B\xE9\x95\x5E\x79\x9C\x9E\xC0\x29\x73\x01\xB9\xED\xDE\x43\x16\x03\xC2\xE0\x7B\x95\xA8\xEF\xBA\xC1\xED\x16\xE0\x62\xED\xF1\x8D\x2F\xDC\x46\xCB\x00\x0D\xA7\x19\xDF\x77\x00\x65\xEC\xE8\x89\x82\xD9\x71\xD7\x00\x0D\xA7\x7A\xE7\x85\x00\x56\xEE\xE7\x8E\x31\xDE\x2B\xC2\x01\x0F\xDB\xA6\x0C\x92\x00\x69\xED\xE7\x8D\x5B\xDA\x6A\xCE\x01\x1F\xDB\xD3\x12\xA0\x00\x71\xEC\xF6\x8C\x1D\xEA\x6A\xDA\x01\x27\xDB\xFB\x21\xAE\x00\x75\xED\xAB\xEC\xA8\xEA\x6A\xC6\x02\x2F\xDB\xF1\x2C\xF7\xE8\x5E\xEC\xD9\x92\xD5\xC2\x05\x17\xB7\xE3\x56\x4A\x01\xF2\xEC\xCF\x8C\x55\xEF\x96\xCE\x05\x1E\xB7", + "\xFD\x86\x58\x01\x01\xEF\x63\xDE\x6A\xCA\x0D\x0D\x9C\x44\x6F\xE6\x03\x1C\xEC\xDB\x8E\xF4\xDA\xAA\xCF\x0E\x06\x70\xF8\x17\x75\x03\x09\xEE\x6E\x9E\xD5\xCB\x20\x05\xE2\xEA\x8B\x23\x00\x11\x93\x31\x31\x9E\x8E\xFC\xD9\xA7\xCF\x11\x07\x6D\xEF\xE5\x85\xD7\xEB\xED\x78\xEA\x36\xCA\x26\x05\xE4\xE3\x95\x1E\x00\x27\xDC\xF3\xED\x80\xEB\x8C\xCD\x29\x05\xE1\xE6\x62\x0B\x01\x11\x93\x16\x09\x9E\x8F\xC4\xEB\x2D\xCA\x16\x04\x73\xF3\x4A\x3B\x00\x37\xEE\x11\xEE\xAB\xBC\x1B\xCF\x17\x0C\x71\xE1\x0D\x4B\x01\x1F\xEE\x41\xEF\xFF\xD2\x6A\xCB\x19\x05\x74\xFD\x2E\xC8\xDD\xC5\xED\x89\xD8\x6D\xD1\xCF\xEE\xC7\xE1\x4D\x5D\x53\x5E\x1E\xC8\xE5\x48\xD2\x72\x01\xD3\xEB\x3B\x46\x07\x0F\xBA\xCB\xDB\xB2\xEB\x9D\xCC\x78\x03\xD6\xE8\xBD\x44\x08\x1E\xBA\xD3\xDB\xD8\xE5\x9C\xE8\x86\x00\x3F\x03\xEA\xE1\x67\x32\x04\x00\xDD\xD0\xEE\xC2\xEB\x8C\xCD\x02\x05\x64\x54\xDE\xC2\x05\x2F\xDD\xDF\xEE\x64\xE2\xCF\xDC\xDD\xEE\xC4\x02\x0B\x17\xBB\xE7\xDD\xF1\xE5\xAA\xCB\x11\x03\xDE\xEB\x2A\x15\x5A\xFD\x5C\x5E\x1E\xC3\xD9\x7E\x22\x18\x03\xE0\xEB\x1F\x22\x0D\x15\xBA\xC9", + "\xDD\xA2\xE0\xAA\xCB\x1E\x03\xE2\xE9\xCE\x21\x0E\x0E\xBC\xF0\xDD\x83\x02\x0A\xE7\x13\xD5\xC9\x53\xED\x06\x05\x05\x59\x51\x06\x70\x01\x66\xEF\x71\xEE\x60\xE2\xD5\xC8\x05\x1B\xBC\xF3\x2A\x1E\xEF\x34\xB9\xD0\xEC\xCA\xED\x9C\xDA\x6A\xC6\x03\x26\xDE\xBE\x96\xA8\xEE\x64\x06\xB2\x10\xE4\xE8\x4B\xBF\x51\xEF\xDE\xAF\x9D\xB1\xEE\x82\x4F\xEC\xEF\xF1\xE5\x5A\x32\x38\xC2\x02\x37\xEF\x03\x02\x47\x01\xEE\xEB\x20\x02\x5E\xFA\xB7\xEA\xD3\x99\xCE\x90\x01\xC9\xEE\x94\xC3\xF8\xE8\x77\x6A\x56\x3D\xA9\x68\x8F\xA7\xED\x5B\xCB\x27\x05\x64\x5A\x3F\xE5\x02\x17\xD8\x82\x02\xE8\x8E\x0F\xE7\x64\xEC\xFA\xE6\x62\x12\x02\x17\xDF\x99\x90\x45\xDF\x5B\xC9\x2D\x00\xF8\xE3\x5A\x3F\x02\x3B\xDE\xA6\x90\xCC\xE0\x5F\xC5\x30\x04\xFC\xED\x1B\x4D\x03\x27\xDF\xA9\x90\xC6\xED\x8C\xCD\x33\x04\xFD\xE8\x2F\x5B\x03\x2F\xDF\x8F\x90\xCC\xEC\xD5\xC9\x36\x04\xFE\xEA\x8B\x29\x04\x37\xDF\xD8\xEF\x65\xDE\x99\xC9\x39\x04\xFB\xE3\x95\x17\x04\x1F\xDF\x80\x00\xE8\x8E\x6E\xED\x21\xC8\x1E\x0C\x7F\xE1\x0D\x53\xD9\xA9\x59\xE8\x8E\x73\xE2\xFF\xCC\x1F\x0D\x80\xF6\x25\x72\x02", + "\x7F\xEF\xE0\xEE\xB2\xD0\x1B\xC8\x01\x0C\xD6\x59\x7C\xC0\x03\x18\xF0\x08\xF0\x0A\xE9\xC6\xCC\x02\x0D\x81\xE6\x31\x0E\x03\x20\xF0\xE8\x8E\xA6\xEA\xAF\xC0\x04\x05\x82\xF3\x4A\x30\xDA\x90\xF0\x53\xEA\x36\xC8\x0B\x05\x05\xFB\x0F\x2A\x07\x28\xE0\x8A\xEE\xAA\xCC\x1C\x00\x5B\x5C\xBC\xD8\x0F\x0E\xBE\xF6\x20\xA2\xE6\x46\xCC\x1A\xF1\x9C\x2F\x00\x0D\x9C\x51\xC5\x28\x1F\xAC\xDF\xFE\xCF\x28\x02\x10\xF3\xB4\x25\x01\x05\xC2\xFF\xE0\x85\xB5\x6C\xC9\x2E\x00\x5B\x5A\x7F\xE3\x02\x0C\xBB\xC0\xE0\xA9\xEE\xAA\xCA\x34\x03\x14\xF6\xC4\x00\x03\x16\xC2\xD9\xE0\xB1\xEE\x12\xCF\x39\x03\x0E\xF6\xC4\x0D\x03\x0D\x4E\x56\x12\x68\x8F\x3A\xEE\xAF\xC4\x20\x03\x0C\xF3\x95\x0D\x02\x26\xE1\xCF\xF0\x91\xEA\x36\xC9\x23\x03\x09\xFD\x1B\x5D\x02\x0E\xE1\xE8\xEF\xDB\xDE\x55\xCD\x26\x04\x0E\xF8\x2F\x4B\x03\x37\xE1\xF0\xEF\x51\xEE\x99\xC9\x29\x04\x0D\xFB\x0F\x39\x03\x0D\xA7\x4F\xEF\xAB\xEA\xAF\xE4\x1F\xF2\x17\x38\x08\x1F\xC3\xF8\xDF\xE0\xEE\x54\xC2\x5F\x03\x22\xF1\x34\x46\x09\x0E\xC4\xD7\xE1\xF1\xEE\x12\xCE\x65\x00\x21\xF1\xCE\x24\x0A\x0F\xC3\xF8\xE1\x98", + "\xF1\x32\xCB\x6B\x03\x26\xF3\xB4\x24\x0B\x1E\xC4\xC0\xE2\xF9\xEE\x19\xCE\x72\x03\x28\xF5\x37\x44\x0C\x06\xC5\xCF\xE2\xA8\xF1\x12\xCF\x78\x03\x2A\xF0\x5F\x44\x0D\x0E\xC5\xD7\xE2\xD9\xEB\x9D\xCC\x7F\x03\x2C\xF2\x17\x3A\x75\xF6\x70\x68\x1F\xB3\xE9\xB7\xC9\x05\x01\xF6\x54\xBC\xD3\x0F\x07\xC4\xF0\xE1\x9A\xD7\xAA\xCA\x0C\x01\xF6\x53\xED\x04\x02\x19\x5E\x67\x98\x25\x56\x46\xF0\xBB\xAA\x6A\xCE\x04\x0B\x8C\xF9\xBA\x4E\xE3\xFA\x08\xD0\xF1\x63\xF1\x40\x02\x31\xE2\x53\xD4\x01\x15\xE3\xEE\x70\xD7\xF0\xB5\x5D\x36\xF7\x13\xF5\x60\xEA\x35\xC2\x01\x5F\xF1\x2D\xD7\x70\xF1\xCE\x6B\x1C\xF7\x8A\xF4\x99\xEA\x9A\xD0\x00\xE8\xF1\x4E\x12\x3A\xF3\x20\x0A\x03\x0C\xC7\xEF\xE2\x80\xD5\x6C\xC8\x2F\x03\x30\xF3\xFB\x83\x8F\xF7\x1C\x65\xAC\x7D\x54\x3D\x91\x0F\xEF\x2D\xCD\x0D\x09\xBD\x43\xB1\xEB\x21\xCD\xE6\x1F\xE7\xEC\x55\x20\x0A\x0E\x05\x90\xE6\x31\x3D\x20\xAF\xEC\x85\xC9\x39\x02\x42\xF5\x22\x07\x07\x0D\xC8\xD3\x25\x3D\x90\x38\xEC\x89\xCC\x1E\x03\x22\xF2\x11\x1C\x03\x16\xE4\xFB\x21\x3D\x90\x20\xED\x21\xCD\x0F\x0C\x91\xFB\x78\x9F\xE4\xF1\x2C", + "\x3D\x90\x24\xEE\x4C\xCA\x10\x05\x92\xEB\x80\xA7\xE4\xA3\x2B\x3D\x91\x28\xED\xA7\xCF\x10\x0D\x92\xE2\x08\x0B\x02\x2F\xF2\xED\xEE\x01\xB4\x1B\xCC\x11\x05\x93\xF6\x28\xF8\xE4\xF8\x45\x3D\x91\x31\xEE\xC4\xC9\x12\x0D\x93\xE0\x00\x15\x02\x3F\xF2\xBA\x31\x1E\x92\x9A\xEA\xE2\xC6\x09\x05\xCA\xDA\x02\x48\xF2\xA1\x43\x1E\x92\x9C\xEA\xE2\xCB\x09\x05\xCA\xDF\x02\x50\xF2\xB6\x49\x1E\x92\x9E\xEA\xE2\xC0\x0A\x05\xCA\xE4\x02\x58\xF2\xDB\x43\x1E\x92\xA0\xEA\xE2\xC5\x0A\x05\xCA\xE9\x02\x60\xF2\xE8\x4B\x1E\x92\xA2\xE9\xE3\xCA\x0A\x05\xCA\xEE\x02\x68\xF2\xDE\x4D\x1E\x92\xA4\xEA\xA6\xCF\x0A\x05\xCA\xF3\x02\x70\xF2\xEE\x4C\x4D\x91\x0F\x96\xD3\xE0\x0F\xFA\x48\xA8\x1F\xFC\xF2\xF6\xE0\xFA\x93\xDF\xEB\x18\xEB\x0F\xF3\x4A\x24\x29\x82\xF2\x5E\xC6\x5A\x01\xF6\x55\x02\xDA\x8B\x24\x53\xA6\xD8\x85\xC9\xB7\x01\xEC\x56\xFF\x2D\x17\x08\x97\xFC\x08\xE4\x29\x90\xF2\xB7\xC8\x5F\x02\x64\xF6\xFD\xA5\x99\xFB\xF4\x95\x04\x19\xF2\x32\xCB\x62\x03\x66\xF2\x22\x0B\x0C\x1D\xCC\xE2\xE0\x82\x02\x22\xF3\x5B\xC8\x33\x03\x34\xFB\x95\xA6\xCD\xF4\xDB\xD0\xE3\x6C", + "\xC9\x69\x00\x6B\xF3\x20\x09\x0D\x0E\xCD\xCC\x04\x64\x94\x32\xF2\xAA\xC2\x36\x03\x36\xF2\x10\x00\x07\x36\xE6\xC7\xC3\x00\xB4\x36\xC9\x38\x04\x37\xF1\x10\x07\x07\x3F\xE6\xF1\xCC\xE8\xE2\xD5\xC8\x3A\x04\x38\xF6\xA7\xA7\xCE\xD4\x29\xB4\xB4\x32\xCB\x77\x00\x73\xF5\x1E\x0E\x9C\xE7\x6E\xF5\xC7\xEC\xC8\xF6\x00\xE6\xF0\x3F\x05\x3A\xF4\xA6\x9B\xCA\xF2\x94\xFD\x01\xCC\xF3\x01\x00\xD2\x48\x23\xC4\xA6\x83\xCB\xF2\x94\x84\x00\x48\x4E\xA1\xC7\x78\xF6\xC4\x04\xA6\x8B\xCB\xE0\xAD\xE9\xF3\x6D\x55\xF5\xF2\x61\xF2\x42\xBC\x46\xD2\x00\x30\xE7\x8D\x42\xF2\xF3\x7D\x23\xC6\x94\x7B\xDE\x17\x39\x00\x39\xE7\xF1\x58\x48\x4F\xC8\x03\x15\x05\x64\x54\x49\x12\x5E\x80\x31\x80\xF3\x85\xF3\x0F\x99\xFE\xA0\x41\xF2\x10\xEC\x08\x00\x31\xFC\xF3\x0E\x1E\x0E\x03\x7F\xF2\x20\x0D\x01\x01\xD0\xCB\x07\x84\xF4\x36\xBB\x51\x9B\x1A\xE1\x30\xF1\x67\x29\x68\xB6\x38\x8C\xF4\x11\xE3\x8A\x02\x72\x99\xFA\xEE\x35\xDF\x00\x08\x9D\x7A\xE7\x59\x00\xE5\xEC\x79\x9E\xD5\xE5\x48\xCA\x01\x27\xE8\xA6\x0C\xAE\xEE\xEC\x2E\x72\x9E\xD6\xEB\xB3\x15\x01\x08\x9D\x19\xDF\x73\x00", + "\x7B\xF3\x6D\x99\xFD\xE5\x48\xC1\x02\x37\xE8\xA6\x0C\x81\x00\x1D\xF7\x8A\xF2\x1A\xEA\x5A\xCD\x02\x3F\xE8\xE6\xD8\x42\xF4\x00\x02\x72\x9E\x7D\xE4\x15\xD9\x02\x07\xE9\xFB\x21\x9D\x01\x24\xF6\x72\x9E\x7E\xEE\x2B\xC5\x03\x2F\xE8\xD3\x12\xAB\x00\x15\xF6\x92\xF4\xA5\xE8\x14\xEF\xD2\xD0\xD5\xD2\xF4\xE4\xED\x8C\xCC\x1F\x06\x4B\xF8\x55\xE0\xD3\xDA\xE0\xAA\xCB\x88\x00\x32\xF5\x6F\x44\x1A\x06\xA6\xF7\xCD\xEC\x91\x94\x01\x6A\xF4\x7C\x46\x38\x05\x4D\xF8\x0F\xFC\xA1\xF1\xE9\xBA\x31\x0C\xF1\x54\x5A\x72\x9B\xE0\xEE\x35\xCC\x05\x37\xE9\xA1\x43\xFE\x00\x3A\xF4\x41\xE2\xE2\xC8\x0B\x08\x3A\x64\xB7\x8C\x00\x6C\x5B\x3E\x56\x72\x9C\xAC\xEE\x35\xC5\x06\x3F\xE9\xB6\x49\x1B\x00\xB6\x59\x2C\x32\xB9\x98\x84\xE8\x4A\xD1\x03\x0F\xF5\xDB\x43\x14\x02\xA4\xF2\x44\xF3\x44\xF2\x38\xDD\x03\x57\xF4\xFB\x21\x1B\x03\x2C\xF2\xB9\x99\x57\xFE\x3F\xE8\x03\x20\xF5\x71\x2C\x22\x03\xA8\xF0\xC1\xD9\x71\xD3\x07\x06\xEA\xA6\x0C\x4A\xF1\xCE\x56\x72\x99\x0D\xFE\x7F\xCC\x2E\xA4\xB7\xE1\x00\x6C\x5A\x4B\x0A\x72\x9A\xB2\xEE\x7F\xCD\x00\x01\x2D\x19\xDF\x71\x01\x4D", + "\xF4\x85\x99\x0F\xF9\x71\xD9\x00\x3F\xEA\xA6\x0C\x7F\x00\x61\xF4\x43\x02\xB9\x90\x2C\xFB\x59\x25\x00\x41\x16\xA1\xDF\x44\xF4\xA7\xF7\x37\xCC\x46\xD2\x01\x07\xEB\xC0\xEA\xCA\xF4\x03\x9E\xFC\xD9\xE3\xCE\x03\x17\xD6\xC8\xD5\xD9\xF5\x3B\xF4\xFD\xDE\xAA\xCA\x09\x00\xAD\xE6\x31\x38\x02\x39\xF5\xD3\xF4\x50\xF1\xA7\xCF\x0A\x05\xAE\xE1\x56\xE8\xEB\xC3\xF5\xB0\xF0\x26\xD9\xBB\xF5\x91\xDF\xAE\xEB\xD6\xDD\xC5\x92\xCE\x71\x01\x79\xF5\x9C\x28\x1D\x05\xAF\xFA\xD6\xD2\xE4\x1D\xCD\x7E\x00\x7D\xF7\x68\x28\x1F\x02\xAD\xF0\xD7\xD0\xDE\xAA\xCD\x8B\x00\x81\xF7\x86\xC1\x7B\x5A\xA8\xE7\xAF\xEA\x9A\x98\x01\xDE\xF4\xE9\x49\xD0\x11\x32\x06\x01\x19\x5E\x53\xEA\xD2\xF1\xAA\xCC\x53\x01\xC4\xF5\xC9\xA3\xB1\xFF\x21\x16\xEC\xE9\xF5\xFC\xEA\x55\xCC\x2D\x03\x63\xF1\x10\x00\x06\x1D\xEC\xDE\x6E\x1F\xF6\x83\xF7\x19\xAC\xB4\xE4\xB2\xFD\xC8\xA7\xEC\x81\x70\x29\xF6\x7B\xF5\x38\xEA\x72\xED\xB2\xFC\x06\x2F\xEC\xE3\x50\x31\xF6\x7F\xF7\x40\xDA\xD5\xCE\x0D\x0A\xD8\xC0\x00\x6B\x01\x37\xF7\x1F\x0C\xC3\xF4\x22\xFC\x3A\x99\x38\xED\x03\x41\x16\x06\xF3\x80\x02", + "\x47\xD2\x2D\xBA\x5A\xCE\x07\x01\x2D\x01\x09\xF2\x00\xA4\xF6\x89\x0B\x69\xF1\x10\x18\xCC\xDE\x8D\xF3\x01\x4F\xF6\xCE\xB6\xD4\xF3\x2A\x14\xB5\xE0\x00\x20\xE6\x9D\xCD\xF8\x01\xAC\xF6\x44\x04\x1F\x0B\xB5\xFB\x87\x1D\xED\xA9\xF3\x5E\xC7\x7E\x02\xD8\xF7\x3C\x4B\x57\x58\x08\xDD\xED\xAA\xF2\x9D\xCC\x01\x03\x5E\x49\x90\x06\x00\x0D\xDB\xD3\xED\xFE\xB3\x00\xD5\xB9\xF7\xA5\x56\x6E\xFC\xB5\xFA\xC9\xEA\x96\x8C\x00\x7A\xF6\x23\x08\xDF\xF6\x6C\xF9\x9C\xE2\x97\xC1\xEE\xA2\x17\x83\xF7\x38\x2D\xD7\xF3\x29\xF2\x53\xD6\x00\x07\xEE\xF1\x58\x89\xF7\xD1\x29\xD7\xF3\x2A\xFA\x5D\xEF\xDC\xE9\x05\x11\xF7\xBD\x43\xAE\xF6\x77\xF5\xD3\xC0\x02\x16\xDC\xE3\x62\x18\xF7\xF8\x45\xAE\xF6\x79\xF5\xD3\xC5\x02\x1E\xDC\xEF\xD7\x20\xF7\xBA\x31\xAE\xF6\x7B\xF2\xA6\xCA\x02\x06\xDD\xEE\x00\x28\xF7\xA1\x43\xAE\xF7\x5C\xF5\xD3\xCF\x02\x06\xDD\xF3\x00\x30\xF7\xB6\x48\x1A\x9D\xD7\xF0\x44\xF7\x11\xEE\x37\x76\x38\xCA\x9B\xBC\xF7\x97\xE2\x72\x05\xF4\xD0\x8F\xCA\xBB\x78\xEE\xDB\x43\x6B\x01\x9F\xF1\xE9\xD8\xD8\xDF\x6D\x15\x01\x07\xEF\xE8\x4B\x6C\x00\xE5\xF4\xB2", + "\xDA\xE2\xC6\x03\x0F\xDE\xF1\xE5\xD2\xF7\xD0\xDC\xAF\xC7\x0D\x06\x7A\xF9\x97\xF8\xDE\xFA\x9E\xB7\xC9\x38\x00\xEE\xF4\x47\xC7\x0D\x0E\xBD\xE0\x77\xFE\x9F\xB9\x00\xE2\xF6\xE5\x00\x1C\x05\x7C\xF4\x5C\xD9\x38\xFA\x00\x69\xF7\xA5\xD2\xF6\xF7\x72\xCF\x96\xCB\x03\x10\xDF\xFE\x2C\xF2\xF7\xD2\xCB\x5B\xC8\x0F\x06\x7E\xF6\xC0\x98\xDF\xDC\x9F\xC0\x14\x3D\x00\xFE\xF5\x25\x98\x7F\xF9\xF0\xC0\x52\x3E\x00\x02\xF8\x59\x9A\xFC\xF4\x4D\xD7\xDB\x0F\x03\x08\xE0\xE4\x37\xF8\xF7\x3A\xD3\xDE\x04\x10\x06\x81\xF9\x1C\xD8\xDF\xF7\x9F\xBD\x07\x41\x00\x0A\xFB\x46\xF2\x3B\xC5\xFA\xC7\x4A\xC4\xAE\xA1\x0E\x14\xF9\x3C\x00\xFE\xF6\x29\xD4\xE3\x03\x02\x20\xEE\xC4\x00\x7B\x4B\xC8\x02\x1E\x07\x27\xF7\x45\xA5\xDE\xF8\x2B\x14\xF8\x7B\x00\x16\xF9\x19\xCC\x2A\xC7\x04\x14\xE0\xDE\xE4\xDA\xC3\x57\xA8\x7E\xD2\xD7\xC0\x09\x04\xC1\xE4\xC9\xF8\xF0\x82\xD2\xBE\xC5\x24\x00\x05\xFE\x0F\x02\xC3\xE8\x48\xFE\x8A\xCA\x00\x14\xF9\x3F\x01\x11\xFE\x21\xDE\x2B\xCB\x02\x14\xF0\x80\x01\x4B\xF8\x8A\xD2\x6A\xCC\x09\x04\xC1\xE1\x04\x11\xF1\x9A\xD2\xB4\xCE\x0A\xF8\x4B\xF7", + "\x87\xFB\xC5\x54\x0A\xCE\x01\x14\xF8\x83\x01\x2B\xFB\x49\xD2\xE2\xCF\x04\x14\xE0\xC4\x02\x62\xF8\x2D\xD3\x77\xF0\x05\xFD\x10\x08\xC6\xEB\xE0\xFD\x0E\x51\x00\x14\xF8\x43\x00\x1A\xF9\x82\xF3\x1A\xD4\xE0\xF4\xE4\xDC\xF8\x1D\xDE\x5F\xC7\x14\x04\x82\xF8\x08\x08\xE3\xDE\xF0\xEB\x53\x54\x00\x0A\xF9\x22\x00\x8D\xF4\xC2\xFB\x59\x15\x01\x20\xF7\x56\x01\x14\xFB\x8E\x07\x27\xFE\x93\xC2\x08\x24\xE8\xFE\xCF\x58\x01\xBD\x4A\xFE\xE7\x26\xF8\x7D\x2D\xE4\xD8\x69\xEC\xC8\x63\x00\x49\xFA\x89\x08\x13\x0B\x8F\xFD\xC8\xE1\xDF\xDE\xC6\x6E\x01\xBD\x49\xE6\xDD\x2C\xF9\xCA\x56\xE4\xF3\xCC\x92\xCE\x7A\x00\x51\xFA\x89\x0F\x2E\xF5\xCA\xF1\xBF\xD2\x9C\x86\x01\xAA\xF9\xA9\x11\x30\x01\x67\xF2\x10\x06\xE5\xCC\xE9\xBE\xC5\x92\x01\x58\xF8\x79\xEC\x96\xF3\x43\xA2\x7A\x9B\xE8\x89\xF4\x71\x2C\x53\xF8\x95\xF5\x90\xCE\x09\x1A\xE4\xD3\x25\x5D\x01\x9D\xF8\x86\x02\x29\xFA\x01\xF7\x4B\xC9\x05\x3A\xF2\xF1\x2C\xEA\x00\x5E\xF8\x00\x06\x94\xF2\x81\xE8\x4A\xF5\x02\x4F\xF9\x03\xF6\x69\xFA\x29\xFF\xB7\xD4\x15\xC1\x06\x18\xF3\xBD\x43\x06\x00\xA4\x4D\x2C\x36\x94", + "\xF2\x26\xF7\x25\xCD\x03\x5F\xF9\x7C\xC4\x71\xF8\xA0\x9B\xDF\xE9\x71\xD9\x06\x28\xF3\x80\xCF\xEA\xF8\x4F\xF8\xBF\xD2\xB5\xC5\x0E\x0F\xE7\xE1\x86\x30\x00\xF1\xF8\x65\xF8\x0E\xF1\xE3\xC1\x0F\x1B\x2B\x64\xB7\xBE\x00\x48\x4F\x3E\x56\x29\xFC\x51\xFE\x7F\xDE\x07\x36\xF3\xB6\x49\x46\xF5\x56\xF9\xC6\xEA\xD5\xCA\x00\x06\x2C\x59\xBE\xDB\x00\xF9\xF9\x81\x02\x29\xFA\xE4\xE4\x15\xD6\x00\x06\x96\x7A\xE7\x69\x01\x57\xF6\x3C\xFF\x59\xBA\x5A\xC1\x01\x17\xF4\xA6\x0C\x76\x00\x8D\xFA\x3E\xF9\x23\xEA\x5A\xCC\x01\x06\x96\x64\xDB\x83\x00\xA4\x4E\x25\x0E\x94\xF4\xAB\xE8\x4A\xF9\x00\x27\xFA\x26\x0D\x49\x02\x4A\xFB\x9D\xF2\x74\xEA\x2D\xC6\x01\x0E\xFA\x05\xDD\x88\xF9\x2D\xFA\x8D\xE9\x71\xD2\x02\x38\xF4\xD3\x12\xB1\x00\x9D\xF9\x2F\xF9\x10\xFD\x69\xDE\x02\x30\xF4\xD3\x12\xBF\x01\x80\xF8\x4D\xFB\xEB\x8A\x5A\xCB\x03\x3F\xF4\xFB\x21\xCE\x00\xA1\xFB\x34\xFB\x5B\xF2\x71\xD7\x03\x0F\xF5\xF1\x2C\xDC\x00\xA9\xFA\x29\xF9\x5C\xE9\x71\xC3\x04\x07\xF5\xB5\xF0\x33\xFB\x8D\xF8\xDA\xEA\xB5\xC0\x09\x1F\xEA\xF1\x59\x7A\x01\x61\xFB\x91\xF9\xBC\xF5\xD3\xCD", + "\x09\x06\xEB\xE3\x56\x0A\x00\x41\x17\x95\xFB\xBD\xF2\xA6\xCA\x0A\x0E\xEB\xFD\x86\x1A\x00\x71\xFB\xA5\xF8\x2E\xF6\x6C\xE6\xD7\xF8\x17\x6A\x00\x41\x16\x02\xFA\x65\xDA\xAA\xCC\x18\x0D\xD7\xF6\xAC\xC0\xF6\xFA\xFA\xC8\xF0\x55\xCD\x34\x07\xAA\xF2\x30\xC6\x2C\x75\x08\x41\x16\xE3\xF8\x8C\xF5\xC6\xCF\x1B\x0C\xD8\xF8\xD2\x8E\xF6\xDE\x1E\x90\xFA\xC4\xFB\x36\xF4\x8D\xCD\x0E\x15\xEC\xC0\x00\x79\x01\x97\xFB\x7E\x05\x66\xFA\xAC\xFB\xB2\xEA\x2D\xFB\x03\x1E\xFB\x07\x00\xD1\x51\x64\x02\x0E\x03\xDA\xEA\xEB\xEE\xE3\xF2\xEE\xA2\x53\xB5\x0D\x05\x02\xB5\xF5\xEA\x8D\xED\xD2\xF4\xCA\xD7\xD5\xEC\xD1\x52\x12\x0C\x04\x04\xDB\xFB\x8A\x87\xF6\x88\x9D\x62\xB5\x69\xF2\x68\x52\x7F\xED\x09\x1E\xD9\xC4\xA5\x97\xF9\x45\xEB\xE1\xFA\x89\x0A\x15\x06\xDC\xFF\xE4\xFE\x9F\xBC\x00\xB1\xFA\x13\x0F\x2D\x06\xB6\xFB\x88\x5C\xD1\xF7\x92\xC8\x00\xD1\xFB\xA9\x11\x31\x04\xBA\xF0\x4E\xCE\xE5\xF2\x94\xD4\x00\xD9\xFB\x7D\x23\x34\x04\xBB\xF0\x00\x07\xEE\xC0\x00\x37\xF9\x85\xC8\x30\x01\x78\xFC\xF2\xE4\xDE\xE6\xEF\xC3\xF3\xB7\xC9\x6C\x00\xE5\xFA\x8A\xD5\xB9\xF9\xC1", + "\xD3\xB8\xEB\xF7\xA3\x2B\x64\xF7\x54\x5A\x79\xFD\x9A\xFF\xC1\xE3\x04\x37\xF7\xBD\x43\x0A\x01\xBD\x49\x2C\x36\xBC\xFC\xCD\xFE\x15\xCF\x02\x7F\xFB\xF8\x44\x0C\x02\x80\xFF\xE7\x97\x9A\xF2\x29\xDB\x02\x08\xFC\x45\xD1\x05\xFC\x70\xFB\x83\xE2\x53\xC7\x05\x10\xF8\xA1\x43\x34\x00\x09\xFD\x0D\xA9\x06\xFA\x5A\xD3\x05\x17\xF8\xCA\xD3\x1A\xFD\x81\x02\x79\xFC\xAB\xEE\x35\xDF\x05\x3A\xF6\xA6\x0C\x50\x01\xBD\x49\x9F\x56\xBC\xF4\xD0\xE8\x4A\xCC\x03\x1F\xFC\xDB\x43\x2F\x01\x88\xFD\xBA\xFB\xD0\xF9\x38\xD8\x03\x30\xFC\x69\xF3\x19\xFD\x77\xFA\xAE\xE9\x8A\xF2\xEF\xFB\x43\x7B\x00\xFE\xF8\x06\xFC\x16\xF2\xD5\xCF\x0E\x1E\xF1\xF1\x59\x08\x01\x41\xFD\x09\xFC\x18\xF2\xA6\xCA\x0F\x07\xF1\xD3\x25\x15\x01\x7B\x4A\x4B\x0A\x79\xFD\xA5\xFF\xC1\xE7\x00\x2F\x83\xE4\xDB\xA5\x01\x28\xFE\x90\xFD\x47\xAC\x46\xD4\x00\x2F\x83\x99\xDF\xD7\xF8\xFD\xF8\x4F\xFA\xE2\xC0\x02\x1F\xF2\xD3\xA8\xBA\xFC\xE5\xFA\xF1\xDD\xC6\xCC\x05\x07\xE5\xE6\x31\x11\x03\x2A\xFC\x5B\xFD\xA1\x8C\x1B\xC9\x07\x06\xE6\xF3\x4A\x20\x03\x68\xFC\xE6\xFA\x68\xE5\x21\xCD\x08\x05\xE7\xFB", + "\x87\x2E\x03\x78\xFC\x4C\xE2\xE8\xCD\x9B\xFB\x2A\x1C\x0F\x1A\xF2\xCA\xF9\xE3\xFA\xAA\xCC\x2F\x03\xA0\xFB\x6B\xC6\x58\x52\xF2\xF3\xF5\x9D\xCD\x6B\x01\x45\xFD\x9C\x2C\x03\x0D\xE8\xF1\xF3\xC0\xDE\xAA\xCD\x78\x00\x49\xFF\x68\x2E\xA4\xFD\xB9\x46\xEF\xC8\xDE\x8E\x1E\x85\x00\x4D\xFD\x6F\x44\x07\x06\x58\x4B\xF1\xC2\xF6\x99\xCE\x92\x00\x51\xFC\xBE\x43\x09\x05\xEA\xF6\xF4\xDB\x54\xAA\xCD\x9F\x01\x3E\xFD\x75\xE7\x1D\xC1\x19\x1A\x02\x06\x96\x03\xFC\x92\xFA\x89\xCD\x2B\x02\xD6\xF2\x10\x19\x05\x34\xFA\xA8\x8D\xB7\xFC\x57\xFD\x48\xC8\x3E\xEC\xEB\xFA\xC3\xBF\xFA\xC5\x9B\xC1\xFD\x43\xFD\x69\xFA\xD5\xC9\x0C\x05\xF6\xC0\x00\x55\x01\xC7\xFC\xC9\x9D\xB2\xFB\xC3\xF3\xB3\xF9\x38\xD7\x03\x4E\xFD\xE3\x01\x68\xFF\x40\x02\x12\x03\xED\xE2\xF1\xF8\xF6\x92\xCE\xE5\x00\x55\xFE\x3C\x02\xDB\xFD\xA2\x2D\xF5\xD2\x87\xFE\x50\x6C\xC8\x7A\x03\x3B\xC1\x69\xF2\x42\x48\xC8\xD9\x9C\xF5\x01\xEF\xC1\x40\x09\x3E\x03\xDD\xF7\x49\xF1\xCD\x92\x9C\xFA\x01\xF1\xFC\x1A\xB8\xBD\xFB\x2A\x17\xC9\x1F\xDA\xDF\x89\xF9\xFD\x14\x46\x88\x4C\x46\xC7\x92\x18\xB6\xFE\x3F", + "\xC4\x00\x10\x4E\x81\x08\x04\x02\xC0\xFD\xDE\xF5\x32\xEC\x23\xC9\x00\x08\xFE\xAD\x05\x85\xFC\xBF\xF8\x6F\xFA\x5A\xCE\x00\x10\xFC\xB1\x55\x12\xFF\x7D\x23\x25\x1A\xCB\xEF\x23\xF7\xF8\xC5\xB0\x19\xFE\x71\x2D\x4B\x1A\x50\xF2\xA6\xC8\x01\x1E\xF8\xD0\x9D\xA0\xFE\xA3\x2B\x4B\x18\xE3\xF5\xD3\xCD\x01\x06\xF9\xE5\xC5\x28\xFE\xBD\x43\x4B\x18\xE5\xF5\xD3\xC2\x02\x0E\xF9\xC5\x06\x30\xFE\xF8\x45\x4B\x1B\xE6\xF4\x2A\xC7\x02\x16\xF9\xF5\xD8\x38\xFE\xBA\x31\x4B\x1B\xE8\xF4\x2A\xCC\x02\x1E\xF9\xF0\x00\x40\xFE\xA1\x43\x4B\x1B\xEA\xF5\xD3\xC1\x03\x1E\xF9\xF5\x00\x48\xFE\xB6\x49\x4B\x1B\xEC\xF4\x2A\xC6\x03\x1E\xF9\xFA\x00\x50\xFE\xDB\x43\xAC\x9E\x79\xF9\x78\xF6\x13\xFE\x36\x59\x3D\xB0\x3B\x1F\xF8\x52\xED\x68\x43\xEB\x9A\xF8\x87\x8D\xE1\xE8\xD3\x12\x5B\x9E\x02\xCE\x6A\xCB\x07\x00\x71\x5F\x22\xEF\x02\x21\xFB\x47\xA4\x86\x03\x28\x01\xED\xED\x15\x10\x38\x55\xA0\xB1\x01\x86\x4A\x99\x03\xD6\x9C\x14\x04\xF7\xE2\x08\x00\x01\x76\xFE\x26\x0C\x5A\x01\xDE\xFC\x2B\xDF\xFD\x9D\xFB\xCB\x88\x00\xFF\x53\x13\x5B\x02\x61\x49\x90\x0B\xF5\x85\x04\x06", + "\xFE\xAB\x1F\x88\xFF\x7D\x23\x2E\x03\xF1\xF4\xF8\xF4\xF2\xEC\x77\x91\xFF\x71\x2D\x5F\x00\xE5\xFE\x48\xAF\x29\xF3\xE2\xD8\xFE\xA3\x2B\xC3\x01\xCD\xFD\xDC\xFD\x13\x1F\xF8\xEF\x02\x1F\xFE\xBD\x43\xC7\x01\xC1\xFC\xE7\xFA\x20\x03\x09\x0F\xFC\xD2\x01\x27\xFF\xF8\x44\x65\x02\xEA\xFB\xF4\xFD\xA2\x2F\xFC\xD5\x01\x30\xFF\xBA\x31\x66\x03\xEC\xFC\xD6\x95\x11\x1F\x05\x0F\xFE\xD8\x00\xB8\xFF\xD0\x40\x34\x03\xF7\xF9\xEB\x81\xC0\x8F\xFE\xDB\x00\xC1\xFF\x82\xDC\xF1\xFD\x5F\x49\x9B\xAF\xFC\xDE\x01\x49\xFF\xDB\x42\x6B\x03\xF2\xFA\xEB\x9D\x8B\x8F\xFC\xE1\x01\x50\xFF\xE8\x4B\x6C\x03\xF4\xFB\xEB\x9F\x0E\x0F\xFC\xE4\x01\x58\xFF\xDE\x4C\x6E\x02\xE8\xFC\xF7\xF2\x59\x8F\xFC\xE7\x01\x60\xFF\xEE\x4C\x70\x03\xF6\xF9\xD0\xFE\x2B\xCA\x03\x28\xFF\x9C\xC2\xE3\x01\xF1\xFD\xF1\xFA\x5C\xF9\xEC\xCF\xFF\xCA\x07\x67\x01\xF2\xFE\xE6\xFF\xBA\xB7\xF1\xF0\x07\x16\xFF\xC4\x69\xF9\xFF\xD4\x7F\xB9\x6C\xAA\x65\x73\x00\xFE\x7F\x83\x5A\x00\x80\x5B\x4F\xD2\x75\x9D\x66\x76\x00\x05\x80\x09\x5B\x07\x80\x6A\x5A\x8F\x7F\x79\x00\x0C\x80\x03\x01\xF7\x00\x0E\x80\xEC", + "\x19\x8F\x7F\x7C\x00\x12\x80\x77\x71\xEB\x7F\x10\x5C\x8F\x7F\x7F\x00\x19\x80\x01\x01\xFE\x00\xD3\x7F\xF7\x4E\x65\x7F\x80\x70\x1C\x7A\xA3\x15\xF7\x4E\x6A\x7F\xAA\x66\x82\x00\x6D\x7F\x75\x6B\xBD\x7D\x6D\x4F\x72\x7F\x8F\x7F\x84\x00\x1F\x80\x8F\x24\xA2\x29\x32\x01\xF7\x4E\x7C\x7F\xAA\x65\x87\x00\x33\x80\x06\x00\x35\x80\x5F\x4F\x84\x00\x8F\x7F\x8A\x00\x33\x80\x09\x00\xA2\x29\x81\x04\xF7\x4E\x8E\x7F\xAA\x65\x8D\x00\x33\x80\x0D\x00\x44\x80\x5F\x4F\x96\x7F\x7E\x11\x90\x00\x33\x80\x11\x00\x4C\x80\x69\x4F\x24\x7D\xAA\x66\x93\x00\x33\x80\xB3\x7D\x29\x66\xF7\x4E\x5E\x66\xAA\x65\x96\x00\x33\x80\x19\x00\x3D\x80\x54\x80\x0C\x01\xAD\x7F\xAA\x65\x99\x00\x33\x80\x1C\x00\x61\x80\x2F\x80\x31\x55\x8F\x7F\x9C\x00\x33\x80\x1F\x00\x69\x80\x3C\x4F\x12\x01\xBE\x7F\x58\x6A\x33\x80\x22\x00\x70\x80\x71\x4F\x08\x58\x8F\x7F\xA2\x00\x33\x80\x25\x00\x77\x80\x44\x4F\xCD\x7F\xAA\x65\xA5\x00\x33\x80\x28\x00\x7E\x80\x76\x4F\xCE\x48\x8F\x7F\xA8\x00\x33\x80\x2B\x00\x85\x80\xF7\x4E\xDD\x7F\xAA\x65\xAB\x00\x33\x80\x2E\x00\x53\x80\x6A\x80\xFD\x26\x8F", + "\x7F\xAE\x00\x33\x80\x32\x00\x8C\x80\xEC\x7F\x85\x64\xB1\x00\x33\x80\x35\x00\x93\x80\x71\x80\xEA\x7A\x54\x61\xB4\x00\x33\x80\x39\x00\xA0\x80\x78\x80\x6E\x6B\x8F\x7F\xB7\x00\x33\x80\x3D\x00\xA7\x80\x7F\x80\x02\x80\xAA\x66\xBA\x00\x33\x80\x41\x00\xAE\x80\x86\x80\x6B\x7D\x6C\x6A\x33\x80\x45\x00\xB5\x80\xF7\x4E\xEE\x00\x8F\x7F\xC0\x00\x33\x80\x49\x00\xBB\x80\x28\x04\x8F\x7F\xC3\x00\x33\x80\x4D\x00\x9A\x80\x1C\x80\xAA\x65\xC6\x00\x33\x80\x50\x00\x85\x80\x24\x80\xAC\x61\xAA\x65\xC9\x00\x58\x7F\x67\x7F\x0C\x01\xCF\x80\x61\x59\xAA\x65\xCA\x00\x3E\x7F\xCE\x00\xD3\x80\xDE\x26\xD6\x80\xB9\x71\x09\x72\x3E\x7F\xD3\x00\xDC\x80\xEE\x26\xDE\x80\xFE\x7E\xF6\x6B\x3E\x7F\xD8\x00\xE3\x80\x1C\x61\xDE\x80\x05\x7F\x48\x69\xD9\x00\x3E\x7F\xDD\x00\xEA\x80\xCA\x01\xDE\x80\x70\x7B\xE8\x69\x3E\x7F\xE2\x00\xF2\x80\x7B\x50\x12\x01\xB9\x79\xBE\x62\xE3\x00\x3E\x7F\xE7\x00\xF9\x80\x12\x01\xDE\x80\x1C\x7F\x9D\x66\xE8\x00\x3E\x7F\xEC\x00\x01\x81\xD5\x80\x85\x7B\x46\x7B\x3E\x7F\xF1\x00\x09\x81\x03\x01\xDE\x80\x2B\x7F\x54\x61\xF2\x00\x3E\x7F\xF6", + "\x00\x0F\x81\x02\x01\xDE\x80\x33\x7F\xA4\x6A\x3E\x7F\xFB\x00\x17\x81\x89\x4F\x3D\x5A\x19\x67\xFC\x00\x3E\x7F\x9A\x17\xA6\x64\xDE\x80\x43\x7F\xBE\x62\x01\x00\x14\x0D\x81\x04\x05\x00\x14\x0D\x18\x61\xDE\x80\x4B\x7F\x54\x61\x06\x00\x2A\x81\x75\x2A\x2D\x81\x5E\x6C\xF4\x79\xAA\x65\x0B\x00\x33\x81\xD9\x2A\x35\x81\x53\x09\x40\x5D\xB7\x7D\xBF\x7C\x0D\x7A\x71\x16\x9D\x4F\x5B\x4F\x5C\x7F\x44\x71\x00\x50\x45\x7B\x12\x67\x10\x00\x14\x0D\x8C\x79\xA1\x21\x01\x50\x8F\x79\xB7\x64\x13\x00\x14\x0D\xFE\x17\x19\x00\x3C\x81\xFB\x10\x01\x50\x56\x7B\xFE\x67\x1A\x00\x52\x81\x7C\x30\x55\x81\x71\x16\x01\x50\xE6\x80\x85\x64\x21\x00\x5B\x81\xDF\x03\x5D\x81\xA3\x15\x01\x50\xED\x80\x1F\x7C\x28\x00\x63\x81\x7F\x10\x65\x81\xBD\x21\x01\x50\xF5\x80\xBE\x62\x2F\x00\x6B\x81\x87\x59\x6D\x81\xF8\x22\x01\x50\xFC\x80\x85\x64\x36\x00\x73\x81\x46\x09\x75\x81\xBA\x18\x01\x50\x04\x81\x4D\x75\x7B\x81\x0B\x22\x7D\x81\x4D\x81\x0B\x81\x87\x69\x82\x81\xE4\x21\x84\x81\xB6\x24\x01\x50\x12\x81\x4D\x7C\x88\x81\x51\x00\x8A\x81\xDB\x21\x01\x50\x1A\x81\x2B\x64\x88", + "\x81\x58\x00\x91\x81\xE8\x25\x01\x50\x3B\x7F\xBE\x62\x59\x00\x88\x81\x5F\x00\x98\x81\xDE\x26\x01\x50\x27\x81\xE9\x7D\x88\x81\x66\x00\xA0\x81\xEE\x26\x01\x50\x30\x81\xBE\x62\x67\x00\x88\x81\x6D\x00\xA7\x81\x1C\x61\x01\x50\x53\x7F\xBE\x62\x6E\x00\x88\x81\x74\x00\xAF\x81\xCA\x01\x1D\x50\x50\x1A\xB3\x70\xF2\x73\xA2\x29\x94\x04\x1D\x50\x84\x70\x58\x6B\x26\x80\x3C\x14\xBD\x81\x77\x50\xC1\x7D\xAA\x66\x75\x00\x14\x0D\xFA\x73\x55\x00\x4E\x7E\x0C\x01\xA3\x5D\xCC\x73\xAA\x66\x80\x00\xC9\x81\x26\x06\x62\x00\xCC\x81\xC6\x6B\xCE\x7D\x48\x69\x8B\x00\x14\x0D\x99\x6F\x6F\x00\xA2\x29\xB1\x18\xCE\x81\x1D\x73\x32\x65\x97\x00\xDA\x81\x26\x06\x7D\x00\xDD\x81\xC5\x81\x44\x7A\xAA\x66\xA3\x00\xE3\x81\x53\x09\x8B\x00\xE6\x81\xED\x64\xF9\x77\xAA\x66\xAF\x00\xEB\x81\xFB\x10\x99\x00\xEE\x81\xCD\x81\x01\x78\x9D\x66\xBB\x00\xD2\x81\x53\x09\x16\x7E\xD8\x17\xDF\x81\x47\x81\xCA\x80\xF3\x81\x71\x16\xB4\x00\xF6\x81\xD6\x81\x2F\x51\x58\x65\x02\x82\xA3\x15\xC2\x00\x05\x82\x02\x01\xFF\x81\x00\x00\x05\x7E\x85\x64\xDE\x00\x09\x82\x1D\x6E\x0C\x82\x01", + "\x01\x0E\x82\xE5\x7C\x5E\x63\xEA\x00\x13\x82\x26\x6E\x15\x82\x00\x00\x0E\x82\x2A\x78\x85\x64\xF6\x00\x1B\x82\xBA\x18\xEC\x00\x1D\x82\x0E\x82\x7C\x7A\xFE\x67\x02\x00\x59\x30\x99\x6F\x4D\x7E\xA9\x2C\x0E\x82\x24\x7E\xFE\x67\x0E\x00\x59\x30\xE4\x6D\x08\x00\xEF\x60\x7D\x2A\x0E\x82\x2D\x7E\x1F\x7C\x1B\x00\x2B\x82\x99\x65\xEF\x60\xDE\x81\x6B\x75\x12\x67\x27\x00\x3C\x82\x53\x09\x25\x00\x3E\x82\xE7\x81\x50\x78\xAA\x65\x33\x00\x59\x30\xAA\x76\xAA\x7E\x0E\x82\xA5\x7A\x48\x69\x3E\x00\x4B\x82\xB2\x76\x4D\x82\xAC\x7A\x12\x67\x49\x00\x33\x82\x26\x06\x4D\x00\xEF\x60\x96\x04\x0E\x82\x4E\x80\x0E\x0F\x56\x00\x58\x82\x53\x09\x5D\x00\x5B\x82\x47\x82\x71\x78\xAA\x65\x63\x00\x43\x82\x20\x79\x46\x82\xEF\x81\xC4\x7A\x1C\x74\x69\x82\x71\x16\x7B\x00\x6B\x82\xF7\x81\x44\x7D\x54\x61\x7B\x00\x61\x82\xFB\x10\x89\x00\x36\x82\x65\x82\x6F\x47\x6C\x64\x88\x00\x6F\x82\xA3\x15\x98\x00\x72\x82\x06\x82\x82\x79\x12\x67\x94\x00\x7F\x82\xBD\x21\xA6\x00\x82\x82\x0D\x82\x9B\x80\xB7\x64\xA0\x00\x77\x82\x03\x82\x64\x82\x6C\x82\xA2\x80\xBE\x62\xAD\x00\x8F", + "\x82\xA3\x15\xC4\x00\x91\x82\x73\x82\xB7\x80\xBE\x62\xBA\x00\x96\x82\x6B\x7A\x99\x82\x83\x82\xCA\x75\x8B\x76\x9E\x82\xF8\x22\xE4\x00\xA0\x82\x8B\x82\xFF\x7A\x54\x61\xD4\x00\xA4\x82\xBA\x18\xEA\x7E\x16\x2E\x0E\x82\xC0\x78\x5E\x63\xE1\x00\xAC\x82\x66\x61\x10\x27\x37\x82\x0E\x7B\x5A\x6E\x87\x82\x00\x00\xFA\x00\x59\x30\xD3\x24\x10\x27\x3F\x82\xA3\x77\x21\x81\xBA\x82\x08\x00\x90\x13\x91\x01\x20\x00\xBF\x82\x7B\x82\x9B\x7D\xAA\x65\x0A\x00\x90\x13\x6B\x07\x16\x00\xC5\x82\xA5\x0F\xC8\x82\x92\x82\xE5\x78\x19\x67\x18\x00\xCD\x82\x3F\x04\xD0\x82\xF3\x03\xD2\x82\x9A\x82\xAF\x7D\x12\x67\x26\x00\xD7\x82\x5E\x37\xD9\x82\x0A\x3D\xDB\x82\xA1\x82\x5A\x70\xAA\x66\x34\x00\x90\x13\x4A\x04\x41\x00\xE2\x82\xB1\x41\xB6\x82\x7C\x50\xC6\x81\x19\x67\x43\x00\x90\x13\xFA\x73\xE7\x7F\xD8\x17\x7D\x50\x4E\x5A\xAA\x65\x4E\x00\xF3\x82\x26\x06\x74\x00\x10\x27\x4A\x04\xF7\x82\x99\x1A\xAA\x65\x59\x00\xE0\x82\xFB\x10\x81\x00\xE4\x82\x3E\x68\xD6\x7D\x5E\x63\x65\x00\x04\x83\x71\x16\x8F\x00\x07\x83\x01\x01\x00\x83\xE4\x73\x6C\x64\x71\x00\x0C\x83\xA3", + "\x15\x9D\x00\x0F\x83\x00\x00\x11\x83\x01\x01\xE8\x7D\xB7\x64\x7D\x00\x15\x83\xBD\x21\x90\x80\xA9\x2C\x1A\x83\x00\x00\xEF\x7D\x5E\x63\x89\x00\xFB\x82\x53\x09\xB9\x00\xFE\x82\xEF\x82\xF5\x7D\x19\x67\x94\x00\x1F\x83\xF8\x22\xCB\x80\x22\x83\x61\x7A\x5C\x79\x30\x83\xBA\x18\xD4\x00\x18\x83\x23\x83\x10\x82\xB7\x64\xAC\x00\x36\x83\xA1\x21\xF8\x80\x33\x83\xAF\x79\x84\x7A\x3E\x83\xB6\x24\xF0\x00\x39\x83\xEC\x7C\x12\x67\xC4\x00\x44\x83\xDB\x21\xFE\x00\x47\x83\xF3\x7C\x92\x73\x4B\x83\xE8\x25\x0C\x00\x14\x0D\xB1\x18\x23\x83\x30\x82\x48\x69\xDC\x00\xE9\x82\x26\x06\x5A\x81\x16\x2E\x23\x83\x39\x82\xA2\x6C\x51\x83\x9A\x68\x54\x83\x2C\x83\x14\x6B\x6C\x64\xF5\x00\x61\x83\xEE\x26\x37\x00\x63\x83\x79\x50\x9D\x7A\x32\x65\x01\x00\x63\x09\xD5\x77\x14\x0D\xFF\x82\x25\x6B\x7F\x7B\x70\x83\xDD\x77\x72\x83\x64\x83\x9D\x7F\xAA\x66\x17\x00\x63\x09\xE4\x6D\x9F\x81\x9D\x2B\x23\x83\x5E\x82\x34\x0E\x24\x00\x7D\x83\x26\x06\x6F\x00\x14\x0D\x96\x04\x23\x83\xBC\x7A\x7B\x6B\x63\x09\x99\x6F\x7F\x00\x6B\x83\x2D\x73\x63\x7E\x32\x65\x3D\x00\x8D\x83\x26", + "\x06\x8D\x00\x90\x83\x18\x76\x6A\x7E\x56\x82\x85\x83\x53\x09\x9B\x00\x14\x0D\x7D\x2A\x23\x83\x58\x77\x1F\x7C\x56\x00\x95\x83\xB0\x6F\x98\x83\x08\x83\x90\x78\xFF\x70\xA5\x83\xFB\x10\xB8\x00\xA7\x83\x10\x83\x8C\x82\xA0\x7C\x9C\x83\x53\x6B\x88\x83\x79\x83\x8A\x74\xAA\x65\x7B\x00\xB2\x83\x71\x16\xD6\x00\xB4\x83\x6C\x83\xB0\x80\x19\x67\x88\x00\xB9\x83\xA3\x15\xE6\x00\xBC\x83\x91\x83\xBE\x83\x12\x67\x95\x00\xC1\x83\xBD\x21\x22\x82\x80\x83\x3E\x6A\xAA\x66\xA2\x00\xC9\x83\xF8\x22\x06\x00\x59\x30\xA0\x83\xA7\x7E\x12\x67\xAF\x00\xD0\x83\xBA\x18\x15\x00\xD3\x83\xB5\x83\xAF\x7E\x6F\x73\xAB\x83\x5A\x60\x63\x09\x94\x0D\x59\x30\x55\x83\xB9\x7E\x32\x65\xCA\x00\xDF\x83\xE1\x66\xE1\x83\x59\x37\xE3\x83\xDC\x83\xC3\x7E\xAA\x65\xD8\x00\xE8\x83\x01\x01\xE4\x00\xEA\x83\x6E\x38\xEC\x83\xBD\x83\xEE\x6C\xAA\x66\xE6\x00\xF1\x83\x00\x00\xF2\x00\xF4\x83\x2D\x6B\xF6\x83\xC5\x83\x50\x70\x54\x61\xF4\x00\xFB\x83\x64\x61\xCC\x62\x3F\x06\x00\x84\x99\x83\xC7\x77\x12\x67\x02\x00\xAA\x21\x4A\x04\x0F\x00\xAA\x21\x91\x01\x6A\x00\xDB\x83\x12\x01\xAB", + "\x5D\xBF\x41\x25\x80\xC0\x7C\x29\x4E\x59\x30\x94\x04\x16\x84\x64\x41\x66\x7F\xBD\x7B\x1C\x61\x7A\x00\x1B\x84\xA9\x50\x03\x01\x88\x79\xFE\x67\x11\x00\xAA\x21\xEC\x7E\x43\x0F\x4F\x81\x5E\x63\x12\x00\xAA\x21\x81\x04\x16\x00\x29\x84\x32\x6B\xF6\x7E\x32\x65\x17\x00\x2F\x84\x35\x2E\x32\x84\x53\x09\x43\x0F\x60\x81\xB7\x64\x1C\x00\x37\x84\x95\x30\x39\x84\xFB\x10\x43\x0F\x68\x81\xEB\x29\x21\x00\x3F\x84\x9B\x21\x41\x84\x71\x16\x43\x0F\x70\x81\x85\x64\x26\x00\x47\x84\x0E\x36\x49\x84\xA3\x15\x43\x0F\x78\x81\xB7\x64\x2B\x00\x4F\x84\x61\x37\x51\x84\x11\x74\x7E\x7B\xAA\x66\x30\x00\x57\x84\x83\x59\x59\x84\xF8\x22\x43\x0F\x23\x7F\x9D\x66\x35\x00\x5E\x84\x84\x37\x60\x84\xBA\x18\x43\x0F\x8D\x81\x85\x64\x3A\x00\x66\x84\x3E\x00\x68\x84\xA1\x21\x43\x0F\x94\x81\x85\x64\x3F\x00\x66\x84\x43\x00\x70\x84\xB6\x24\x43\x0F\x9B\x81\x85\x64\x44\x00\x66\x84\x48\x00\x78\x84\xDB\x21\x43\x0F\xA3\x81\xB7\x64\x49\x00\x66\x84\x4D\x00\x80\x84\xE8\x25\x43\x0F\xAA\x81\xBB\x67\x66\x84\x52\x00\x88\x84\xDE\x26\x43\x0F\xB2\x81\x85\x64\x53\x00\x66\x84\x57", + "\x00\x8F\x84\xEE\x26\x30\x23\x23\x83\x45\x81\x26\x06\xF7\x50\x26\x84\x48\x69\x58\x00\x97\x84\x5D\x7F\xEE\x26\xF7\x50\x2C\x84\xFE\x67\x59\x00\x66\x84\x5D\x00\xA1\x84\xCA\x01\xF7\x50\x58\x81\x48\x69\x5E\x00\x66\x84\x62\x00\xAA\x84\x34\x83\x01\x01\x3C\x84\x5E\x63\x63\x00\x66\x84\x67\x00\xB2\x84\x07\x82\xD3\x59\x59\x78\x66\x84\x6C\x00\xBA\x84\x34\x75\x0D\x7F\xAA\x65\x6D\x00\x66\x84\x71\x00\xC0\x84\x06\x74\xFC\x59\x75\x66\x66\x84\x76\x00\xC7\x84\x02\x01\xF7\x50\x80\x81\xBE\x62\x77\x00\x66\x84\x7B\x00\xCD\x84\x32\x51\x86\x81\x82\x66\x66\x84\x80\x00\xD5\x84\xEC\x50\xD0\x79\x9D\x66\x81\x00\x66\x84\x85\x00\xDB\x84\xF7\x50\x73\x84\xB7\x64\x86\x00\x66\x84\x8A\x00\xE2\x84\x20\x81\x12\x67\x8B\x00\x66\x84\x8F\x00\xE9\x84\x12\x01\x83\x84\xEC\x6F\x66\x84\x94\x00\xEF\x84\x0C\x01\x8B\x84\xB7\x64\x95\x00\x66\x84\x99\x00\xF5\x84\x03\x01\x92\x84\xB7\x64\x9A\x00\x66\x84\x9E\x00\xDB\x84\xBF\x6D\x9E\x84\x1F\x7C\x9F\x00\xAA\x21\x4C\x81\xB6\x24\xBF\x6D\xA5\x84\x48\x69\xA2\x00\xAA\x21\xFE\x17\xA8\x00\x03\x85\x34\x84\xB1\x66\x0F\x85\x15", + "\x01\xAF\x00\x12\x85\x12\x01\xB5\x84\xFE\x67\xB0\x00\x15\x85\x07\x57\x18\x85\x0C\x01\x44\x84\x7E\x11\xB7\x00\x1D\x85\x36\x57\x1F\x85\xB0\x79\xAA\x65\xBE\x00\x24\x85\xF0\x57\x26\x85\x02\x01\x54\x84\x8D\x7A\x2A\x85\x02\x01\xCB\x00\x2C\x85\x01\x01\xD0\x84\x85\x64\xCC\x00\x30\x85\x55\x59\x33\x85\x79\x6A\xB1\x79\x38\x85\x79\x6A\x3A\x85\x6B\x84\x77\x6F\x3D\x85\xE0\x00\x3A\x85\xE4\x84\xB2\x82\x3D\x85\xE7\x00\x3A\x85\x7B\x84\xFD\x68\x3D\x85\xEE\x00\x3A\x85\xF1\x84\xFE\x67\xEF\x00\x3D\x85\xF5\x00\x3A\x85\xF7\x84\x5E\x63\xF6\x00\x3D\x85\xFC\x00\x3A\x85\xFE\x84\x69\x7B\x3D\x85\x03\x00\xBA\x0C\x18\x61\xED\x61\x0C\x01\x8F\x7C\x48\x69\x04\x00\xBA\x0C\xFA\x73\x76\x82\xD8\x17\x61\x85\xCF\x81\x19\x67\x0F\x00\x66\x85\x26\x06\x7E\x82\x69\x85\xD7\x81\x1F\x7C\x1A\x00\xBA\x0C\x99\x6F\x95\x00\x09\x84\x02\x01\x6A\x85\xE0\x81\x9D\x66\x26\x00\x75\x85\x05\x6E\x78\x85\x01\x01\x7A\x85\x01\x01\xE5\x73\xBE\x62\x32\x00\x7E\x85\x40\x7D\x80\x85\x00\x00\x82\x85\xE7\x7D\x6C\x64\x3E\x00\x87\x85\xFB\x10\xBF\x00\x89\x85\x8B\x85\x25\x83\xFE\x67\x4A", + "\x00\x6E\x85\x53\x09\xCD\x00\xA4\x82\x8B\x85\xCC\x7C\x5E\x63\x55\x00\x8F\x85\x71\x16\xDA\x00\x92\x85\xB3\x84\x9D\x66\x61\x00\x9F\x85\xA3\x15\xE8\x00\xA2\x85\x67\x7A\xF6\x6A\xA6\x85\xCA\x83\xA9\x85\x6E\x7A\xAA\x65\x79\x00\xAC\x85\xF8\x22\x04\x00\x90\x13\xB1\x18\x8B\x85\x20\x82\xB7\x64\x85\x00\xB2\x85\xBA\x18\x12\x00\xB5\x85\xF3\x5E\x1C\x7E\xAA\x66\x91\x00\xBB\x85\xA1\x21\x20\x00\xBE\x85\x5B\x51\xFB\x7C\x12\x67\x9D\x00\xBA\x0C\xE4\x6D\x2E\x00\x90\x13\x7D\x2A\x8B\x85\x5F\x83\xAA\x62\xC3\x85\xB6\x24\x3D\x00\xC6\x85\x0C\x01\x8B\x85\x95\x7A\x1F\x7C\xB6\x00\xD3\x85\xDB\x21\x4B\x00\xD6\x85\xC1\x77\x6D\x83\x9D\x66\xC2\x00\x97\x85\xFB\x10\x03\x83\x71\x85\x43\x7E\xF2\x77\xE4\x85\x71\x16\x66\x00\x5A\x83\xC7\x85\x55\x80\x36\x7E\xCB\x85\x26\x06\x73\x00\x90\x13\x96\x04\x8B\x85\x82\x83\x3B\x0B\xE5\x00\xF1\x85\x3D\x81\xF4\x85\xBF\x85\x35\x7D\xAA\x66\xF2\x00\xDC\x85\xE8\x25\x93\x00\xDF\x85\x79\x85\x92\x83\xB9\x78\x01\x86\xDE\x26\xA1\x00\x04\x86\x81\x85\x9A\x83\x32\x65\x0A\x00\x6A\x21\xE4\x6D\xAF\x00\xCE\x85\xFD\x85\x4C\x7D\x7B", + "\x83\x6A\x21\x99\x6F\xBE\x00\x0B\x86\x8A\x85\x54\x7D\x32\x65\x23\x00\x17\x86\x26\x06\xCC\x00\x1A\x86\x8B\x85\x5C\x7D\x12\x67\x2F\x00\x10\x86\x26\x06\xDA\x00\xFC\x85\xEE\x85\x93\x82\x1F\x6A\x27\x86\x53\x09\xEA\x00\x2A\x86\xD7\x85\x8F\x7E\x54\x61\x49\x00\x2E\x86\xFB\x10\xFA\x00\x31\x86\xE0\x85\xC6\x83\x32\x65\x56\x00\x36\x86\x71\x16\x0A\x00\x63\x09\xF5\x85\xCD\x83\x05\x71\x3E\x86\xA3\x15\x1A\x00\x63\x09\xCF\x85\xD5\x83\x32\x65\x70\x00\x45\x86\xBD\x21\x29\x00\x48\x86\x14\x86\x98\x77\x6C\x64\x7D\x00\x1F\x86\x15\x84\x6A\x21\x91\x01\x38\x00\x63\x09\xB6\x85\xE5\x83\x9D\x66\x8B\x00\x55\x86\x41\x52\x57\x86\x2B\x01\x5A\x86\x51\x86\x1E\x73\x19\x67\x99\x00\x5F\x86\x2C\x65\x61\x86\x62\x15\x63\x86\x2B\x86\xD4\x82\x12\x67\xA7\x00\x68\x86\x90\x56\x6A\x86\xE5\x16\x6C\x86\x32\x86\xD5\x7E\x12\x67\xB5\x00\x71\x86\x72\x57\x73\x86\x46\x71\x75\x86\x3A\x86\x3B\x7B\x19\x67\xC3\x00\x4D\x86\x00\x00\xD0\x00\x7C\x86\x76\x14\x50\x86\xF5\x61\x48\x81\x32\x65\xD2\x00\x6A\x21\xEC\x7E\xF6\x61\x66\x59\xBA\x72\x6A\x21\x81\x04\xD7\x00\x8D\x86\x26", + "\x06\x8F\x86\x9C\x59\x6C\x64\xD8\x00\x92\x86\x0C\x5A\x95\x86\x66\x6C\x9F\x79\x6C\x64\xDD\x00\x9B\x86\x1A\x5A\x9D\x86\xFB\x10\x97\x86\xA8\x79\x6C\x64\xE2\x00\xA2\x86\xD8\x70\xA4\x86\x0D\x83\x15\x01\x4C\x84\xB7\x64\xE7\x00\xAA\x86\x50\x5A\xAC\x86\xA3\x15\xA6\x86\xE6\x66\x15\x69\xB2\x86\x96\x72\xB4\x86\xBD\x21\xB6\x86\x00\x00\x35\x85\xB7\x64\xF1\x00\xB9\x86\x94\x5B\xBB\x86\xF8\x22\xBD\x86\x63\x84\x54\x61\xF6\x00\xC2\x86\xBB\x82\xC4\x86\xBA\x18\xBD\x86\x40\x85\x5E\x63\xFB\x00\xCA\x86\xFF\x00\xCC\x86\xA1\x21\xBD\x86\x45\x85\xB5\x7A\xB6\x05\x27\x2A\xB6\x05\x18\x61\xBD\x86\x4A\x85\x5E\x63\x05\x00\xD9\x86\x95\x2A\xDB\x86\x96\x86\x0E\x5A\x96\x6F\xE1\x86\x99\x02\xE3\x86\x9E\x86\x12\x01\x55\x85\xFE\x67\x0F\x00\xE7\x86\x21\x11\xE9\x86\xA5\x86\x37\x81\xAA\x66\x14\x00\xEF\x86\x78\x2B\xF1\x86\x71\x16\xFF\x61\xD2\x74\x74\x70\x19\x84\xBD\x21\x6E\x51\x8B\x85\x9B\x84\x53\x09\xDD\x51\x2E\x7C\xFF\x13\xF8\x86\xA3\x15\x8D\x00\x63\x09\x94\x04\xDD\x51\xCC\x7B\xBD\x03\x1A\x00\x06\x87\xBD\x21\x8E\x00\x09\x87\xFD\x51\xD3\x7B\xDA\x75\x0F", + "\x87\xC5\x86\x12\x87\x12\x01\xDD\x51\xFC\x61\xD3\x65\x16\x87\xBA\x18\x90\x00\x18\x87\xF7\x51\x04\x62\xBE\x62\x1D\x00\x1D\x87\xA1\x21\x91\x00\x20\x87\xDB\x7E\x09\x62\xBE\x62\x1E\x00\x25\x87\xB6\x24\x92\x00\x28\x87\x15\x52\x1E\x64\xAA\x65\x1F\x00\x2D\x87\xDB\x21\x93\x00\x30\x87\x22\x52\xF1\x6E\x1F\x7C\x20\x00\x35\x87\xE8\x25\x94\x00\x38\x87\x26\x52\x5D\x7C\xBE\x62\x21\x00\x3D\x87\xDE\x26\xC8\x83\xDA\x61\xDD\x51\xFF\x7B\xDF\x06\x22\x00\x45\x87\xEE\x26\x96\x00\x40\x87\xDD\x51\x05\x7C\xDF\x06\x23\x00\x4D\x87\x1C\x61\x97\x00\x50\x87\x10\x6F\xBE\x62\x24\x00\x55\x87\xCA\x01\x98\x00\x58\x87\x17\x6F\xBE\x62\x25\x00\x5C\x87\x3C\x62\x5F\x87\x79\x7C\x4D\x84\x63\x87\x41\x53\x65\x87\x24\x6F\xBE\x62\x27\x00\x68\x87\x3C\x1A\x6A\x87\x2B\x6F\xE1\x75\x16\x87\x29\x00\xB6\x05\x91\x01\x9C\x00\x40\x87\x12\x62\x25\x84\x65\x67\x6E\x87\x71\x16\x79\x87\x4C\x7B\xAA\x66\x2C\x00\xF6\x86\x38\x03\x7C\x87\xAC\x7F\x13\x85\x54\x61\x31\x00\x82\x87\x1B\x64\x84\x87\x11\x62\x9F\x86\xAA\x65\x36\x00\x89\x87\x2A\x66\x8B\x87\x00\x00\x7E\x87\xC8\x71\x6B", + "\x7F\x90\x87\x3F\x00\x92\x87\x94\x87\x00\x00\xAF\x86\x5E\x63\x40\x00\x90\x87\x44\x00\x99\x87\x14\x7F\xAA\x66\x45\x00\x90\x87\x49\x00\xA1\x87\xC1\x79\xAA\x65\x4A\x00\x90\x87\x4E\x00\xA7\x87\x0C\x01\xC7\x86\x18\x64\x90\x87\x53\x00\xAD\x87\x03\x01\xCF\x86\xFE\x67\x54\x00\x90\x87\x58\x00\xB3\x87\x02\x01\xD7\x86\x48\x69\x59\x00\x90\x87\x5D\x00\xBA\x87\x01\x01\xDE\x86\xFE\x67\x5E\x00\x90\x87\x62\x00\xC1\x87\x00\x00\x4F\x85\x48\x69\x63\x00\x90\x87\x67\x00\xC8\x87\xEC\x86\x48\x69\x68\x00\x90\x87\x6C\x00\xC8\x87\x5B\x85\xFE\x67\x6D\x00\x90\x87\x71\x00\x92\x87\x19\x62\x8C\x87\x40\x81\xD4\x80\x71\x16\x19\x6E\xDD\x51\x01\x87\xFB\x10\x36\x72\x63\x85\x1F\x7C\x72\x00\xB6\x05\x99\x6F\x9D\x00\x7E\x86\x12\x83\x4A\x5A\xAA\x65\x7E\x00\xE9\x87\x26\x06\xAB\x00\xEC\x87\x83\x85\x72\x85\xEB\x29\x8A\x00\xB6\x05\xE4\x6D\xB9\x00\x88\x86\x27\x62\x25\x72\x54\x61\x97\x00\xF9\x87\x26\x06\xC8\x00\xFC\x87\x37\x73\xDE\x7D\x9D\x66\xA4\x00\x01\x88\x53\x09\xD7\x00\x04\x88\xED\x87\x44\x53\xDE\x87\x20\x84\x46\x81\x96\x6D\x1D\x75\x12\x67\xB1\x00\x09", + "\x88\xFB\x10\xFA\x83\x16\x2E\x36\x72\x94\x85\x48\x69\xBE\x00\xF1\x87\x53\x09\xF5\x00\xF4\x87\x12\x88\xFE\x73\xE6\x83\x16\x88\xA5\x6C\xAA\x21\x7D\x2A\x36\x72\xFC\x7D\xEB\x29\xD7\x00\x25\x88\xA3\x15\x2E\x84\x19\x88\xEC\x76\xA9\x78\x2D\x88\xBD\x21\x46\x84\x30\x88\x42\x83\x32\x65\xF1\x00\x33\x88\xF8\x22\x5D\x84\x36\x88\x69\x72\x8E\x6F\x3A\x88\xBA\x18\x75\x84\x3D\x88\x3C\x6C\xAA\x66\x0B\x00\xE0\x03\xE4\x6D\x4E\x00\x27\x88\x06\x88\x57\x83\x1F\x7C\x18\x00\xE0\x03\x0B\x6A\xEF\x42\xAA\x21\x96\x04\x36\x72\xD1\x85\x0E\x0F\x26\x00\x47\x88\x0E\x79\x4A\x88\xE8\x81\xFD\x6C\x2F\x6C\x58\x88\xED\x72\x5A\x88\xFD\x87\x48\x82\xAA\x66\x40\x00\xE0\x03\x99\x6F\xEC\x84\xA9\x2C\x36\x72\x4F\x82\x1F\x7C\x4C\x00\x65\x88\x26\x06\xFB\x84\x68\x88\x55\x82\x32\x65\x58\x00\x4F\x88\x26\x06\xA7\x00\xAA\x21\xE9\x2A\x36\x72\xF7\x85\x40\x0A\x66\x00\x74\x88\x53\x09\xB8\x00\x77\x88\x06\x88\x8B\x83\x1F\x7C\x74\x00\x5E\x88\xFB\x10\xC9\x00\x60\x88\x05\x88\x6D\x82\x32\x65\x81\x00\x85\x88\x71\x16\xD8\x00\x88\x88\x0D\x88\x4E\x6B\x6C\x64\x8E\x00\x7D\x88\xFB", + "\x10\x48\x85\x9D\x2B\x36\x72\xA2\x83\xEB\x29\x9C\x00\x8D\x88\xA3\x15\xF7\x00\x90\x88\xF5\x87\xA9\x83\x85\x64\xA9\x00\x9D\x88\xE0\x7C\xBA\x0C\x28\x88\xB0\x83\xFE\x67\xB6\x00\x95\x88\x71\x16\x15\x00\xBA\x0C\x78\x88\xA9\x88\x48\x69\xC4\x00\xAC\x88\xA3\x15\x7D\x85\x43\x2E\x36\x72\x09\x80\xDE\x66\xB4\x88\x55\x6E\xAF\x88\x06\x88\xB9\x88\xBE\x62\xE0\x00\xBB\x88\xF8\x22\x48\x00\xBD\x88\x5B\x88\x6B\x71\x54\x61\xEE\x00\xC2\x88\xBA\x18\x59\x00\xBA\x0C\x53\x88\x4A\x86\x9D\x66\xFC\x00\xCA\x88\xA1\x21\x69\x00\xCD\x88\x06\x88\x99\x77\x5E\x63\x0A\x00\xF3\x22\x4A\x04\x17\x00\xF3\x22\x91\x01\xB1\x85\x43\x88\xF2\x75\xAA\x65\x19\x00\xDA\x88\xE5\x01\xDD\x88\x7C\x50\xA7\x88\x06\x88\xDC\x78\xEF\x73\xE4\x88\x8E\x56\xE6\x88\x12\x01\x97\x00\xE8\x88\xC6\x88\x01\x01\x91\x71\xB7\x64\x37\x00\xEC\x88\x4D\x07\xEE\x88\xCC\x71\xF1\x88\x61\x88\xDD\x82\x32\x65\x46\x00\xF7\x88\x07\x41\xF9\x88\x03\x01\xB5\x00\xFB\x88\x89\x88\x80\x86\x12\x67\x55\x00\xF3\x22\xB1\x18\x63\x00\x02\x89\xF2\x57\xD5\x88\xEF\x88\xF0\x82\x12\x67\x65\x00\xF3\x22\x99\x6F\xD4", + "\x00\xBA\x0C\xB1\x18\x2E\x62\xC8\x7D\xAA\x66\x71\x00\x14\x89\x26\x06\xE2\x00\x17\x89\xC2\x5D\xF6\x87\x7E\x11\x7D\x00\x00\x89\xA3\x15\xF0\x00\x05\x89\x02\x01\x19\x89\xA7\x7C\x32\x65\x8A\x00\x25\x89\x04\x22\x28\x89\x57\x1A\x06\x88\xFF\x87\x2E\x89\xF8\x22\x0E\x00\x6A\x21\x7D\x2A\x2A\x89\x25\x53\xE3\x87\x71\x16\x2A\x89\x1C\x83\x5E\x63\xA4\x00\x34\x89\xBA\x18\x1D\x00\x37\x89\x21\x89\x25\x75\x9D\x66\xB1\x00\x1D\x89\x69\x6F\x6A\x21\x18\x89\x5C\x7A\x8A\x68\x41\x89\xA1\x21\x3A\x00\x44\x89\x10\x89\xBB\x84\xAA\x66\xCA\x00\x4F\x89\xB6\x24\x35\x86\x16\x2E\x2A\x89\x3B\x83\x5E\x63\xD7\x00\x57\x89\xDB\x21\x58\x00\x52\x89\xCB\x5D\x37\x88\x9D\x66\xE4\x00\x5F\x89\x88\x76\x62\x89\x96\x1B\x48\x83\x38\x88\x67\x89\xDE\x26\x76\x00\x69\x89\x29\x89\xC0\x85\x8E\x6F\x6D\x89\xA8\x81\x70\x89\x31\x89\x2A\x74\x60\x6B\xEC\x35\x50\x88\x03\x01\x94\x00\x6A\x21\x96\x04\x2A\x89\x55\x88\x34\x0E\x19\x00\xEC\x35\xE4\x6D\xA4\x00\x76\x89\x00\x00\x2A\x89\xD9\x85\xEB\x29\x26\x00\x84\x89\xAB\x7C\x87\x89\x2A\x89\x14\x7D\xBE\x62\x33\x00\xEC\x35\x99\x6F\xC2", + "\x00\x4B\x89\x45\x89\x1C\x7D\xAA\x66\x3F\x00\x94\x89\x26\x06\x85\x86\xA9\x2C\x2A\x89\x7A\x88\xDF\x06\x4B\x00\x7A\x89\x26\x06\xDE\x00\x6A\x21\xE9\x2A\xA0\x89\x8F\x7F\x59\x00\xA4\x89\x2A\x6A\xA7\x89\x98\x89\x66\x82\xAA\x66\x67\x00\x8D\x89\x3E\x61\xB6\x05\x38\x89\x06\x86\x02\x6F\xB3\x89\xFB\x10\xEE\x86\x5A\x89\x0D\x86\xDE\x84\xAC\x89\xFB\x10\x2C\x87\x9D\x2B\x2A\x89\x9A\x88\x7E\x11\x8F\x00\xB9\x89\x71\x16\x2E\x00\xB5\x89\xAF\x89\x82\x74\xAA\x65\x9C\x00\xC7\x89\xA3\x15\x3D\x00\xCA\x89\x53\x89\x2C\x86\xCD\x7C\xBF\x89\x71\x16\x4C\x00\xB6\x05\xA8\x89\xB1\x88\x1F\x7C\xB7\x00\xD6\x89\xA3\x15\xC0\x87\x43\x2E\x2A\x89\xBF\x88\x85\x64\xC5\x00\xDE\x89\xBD\x21\x6E\x00\xD9\x89\xCB\x89\xA3\x74\xAA\x66\xD3\x00\xE6\x89\xF8\x22\x7F\x00\xE9\x89\xD3\x89\x7B\x7D\xE6\x68\xEE\x89\x1E\x87\xB6\x05\x7F\x89\xCF\x88\x54\x61\xEF\x00\xF5\x89\xA1\x21\xA0\x00\xF7\x89\xEA\x89\xBB\x74\xAA\x65\xFD\x00\xCF\x89\x28\x2B\x00\x36\x91\x01\xB0\x00\xD2\x89\x63\x89\x34\x70\x19\x67\x0C\x00\x00\x36\x4A\x04\x19\x00\x06\x8A\xBD\x7F\x09\x8A\x6A\x89\x89\x71\x6C", + "\x64\x1B\x00\x0E\x8A\xAD\x35\x11\x8A\x12\x01\xCE\x00\x13\x8A\x71\x89\xD8\x74\xAA\x66\x2A\x00\x18\x8A\x12\x01\x37\x00\x1A\x8A\xB1\x60\x1D\x8A\x77\x89\x02\x84\xBE\x62\x39\x00\x22\x8A\x63\x03\x25\x8A\x03\x01\xEC\x00\x27\x8A\x88\x89\xDF\x7E\x32\x65\x48\x00\x00\x36\xB1\x18\x56\x00\x2E\x8A\x77\x71\xFF\x89\x48\x52\x11\x89\x72\x88\x00\x36\x99\x6F\x46\x88\xA9\x2C\x54\x52\xDA\x77\xFE\x67\x64\x00\x3F\x8A\x84\x75\xC2\x88\x54\x52\x34\x7A\x40\x0A\x70\x00\x2C\x8A\x71\x16\x27\x00\xE0\x03\x7D\x2A\x54\x52\xBE\x76\xDF\x06\x7D\x00\x4E\x8A\xA3\x15\x36\x00\x51\x8A\x35\x62\xF2\x88\x1A\x6E\x57\x8A\xBD\x21\x45\x00\x5A\x8A\x3C\x8A\x13\x88\xE1\x81\x5E\x8A\xF8\x22\x54\x00\x61\x8A\x0C\x01\x54\x52\x1B\x88\x1F\x7C\xA4\x00\x47\x8A\x5B\x73\x49\x8A\x4D\x89\x85\x64\xB0\x00\x65\x8A\x8D\x79\x68\x8A\x88\x52\x54\x89\x7B\x76\x74\x8A\x63\x7F\x76\x8A\x71\x52\xAA\x85\x19\x67\xCA\x00\x7A\x8A\xB6\x24\x8F\x00\x7C\x8A\x9F\x52\x0D\x7E\x9D\x66\xD7\x00\x81\x8A\xDB\x21\x9E\x00\x84\x8A\x9E\x66\x6B\x89\x65\x89\x89\x8A\xE8\x25\xAD\x00\x8C\x8A\x54\x52\x28\x82\x48", + "\x69\xF1\x00\x90\x8A\xDE\x26\xBC\x00\x93\x8A\xC8\x85\x32\x65\xFE\x00\x36\x8A\x26\x06\xCB\x00\xE0\x03\x96\x04\x54\x52\x81\x89\x3B\x0B\x0C\x00\x62\x1D\xE4\x6D\xDB\x00\x9B\x8A\x35\x7E\x12\x67\x19\x00\xA8\x8A\x26\x06\xEA\x00\xAB\x8A\x62\x88\x19\x67\x26\x00\x62\x1D\x99\x6F\xF9\x00\x70\x8A\xE8\x85\x12\x67\x32\x00\xB6\x8A\x55\x74\x0A\x89\x5B\x8A\x4B\x7E\x9D\x66\x3E\x00\x62\x1D\x7B\x89\x21\x2C\xF3\x22\xE9\x2A\x54\x52\xA1\x89\xBD\x03\x4C\x00\xC4\x8A\x26\x06\x26\x00\xC7\x8A\xC0\x8A\xB0\x89\x19\x67\x5A\x00\xAF\x8A\x53\x09\xF6\x88\x16\x2E\x54\x52\x9B\x75\x5E\x63\x67\x00\xD5\x8A\xFB\x10\xFF\x88\xD8\x8A\xBD\x89\x02\x6F\xCD\x8A\x53\x09\x09\x89\x9D\x2B\x54\x52\xC4\x89\x0E\x0F\x82\x00\xDD\x8A\x71\x16\x13\x89\xE0\x8A\xA2\x88\xB7\x64\x8F\x00\xEB\x8A\xA3\x15\x74\x00\xF3\x22\x52\x8A\xDB\x89\x9B\x88\xE3\x8A\xFB\x10\x83\x00\xD0\x8A\x62\x8A\xD4\x89\x93\x75\xF9\x8A\x71\x16\x94\x00\xFC\x8A\x69\x8A\x33\x86\xBE\x62\xB8\x00\x00\x8B\xA3\x15\xA5\x00\x03\x8B\x77\x8A\x9B\x82\x85\x64\xC6\x00\x08\x8B\xBD\x21\xB6\x00\x0B\x8B\x7D\x8A\x8A\x6B\xF6", + "\x6B\x10\x8B\xF8\x22\xC7\x00\xF3\x22\xA3\x8A\xF9\x89\xBE\x62\xE2\x00\x17\x8B\xBA\x18\x5E\x89\xE6\x8A\xB8\x82\x12\x67\xF0\x00\xF2\x8A\x04\x5C\x62\x1D\x91\x01\xE7\x00\xF5\x8A\xD1\x8A\xE1\x88\xAF\x6E\x26\x8B\x6A\x07\xBB\x36\x91\x01\xF6\x00\x2B\x8B\xFD\x8A\x21\x7B\x19\x67\x0E\x00\xBB\x36\xC0\x63\x31\x8B\xB5\x03\xEC\x35\xF6\x8A\x1F\x8A\x19\x67\x1D\x00\x39\x8B\x8B\x29\x3B\x8B\xB3\x2A\x3D\x8B\x2C\x8B\x01\x01\x96\x6E\x19\x66\x42\x8B\x9F\x37\x44\x8B\x14\x33\x46\x8B\x35\x8B\xE6\x82\x19\x67\x3B\x00\xBB\x36\xB1\x18\x49\x00\x4D\x8B\x81\x56\xEC\x35\x96\x04\xC0\x52\x54\x52\x3B\x89\xA3\x15\xC0\x52\x8C\x53\x5D\x8B\xBD\x21\x25\x53\x05\x85\xEB\x29\x4B\x00\xBB\x36\xEC\x7E\x25\x53\x0C\x85\x6B\x88\xBB\x36\x81\x04\x50\x00\x67\x8B\x26\x06\x25\x53\xAD\x84\x1F\x7C\x51\x00\x6C\x8B\x27\x41\x6F\x8B\x3A\x6B\x8D\x87\xAA\x66\x56\x00\x75\x8B\x64\x1D\x77\x8B\xFB\x10\x25\x53\x21\x85\x0E\x0F\x5B\x00\x7C\x8B\x7E\x43\x7E\x8B\x71\x16\x25\x53\x9C\x87\xFE\x67\x60\x00\x84\x8B\x30\x03\x86\x8B\xA3\x15\x25\x53\x2E\x85\xFE\x67\x65\x00\x8C\x8B\x30\x47\x8E", + "\x8B\x62\x8B\x5B\x84\x19\x67\x6A\x00\x94\x8B\x8C\x48\x96\x8B\xF8\x22\x25\x53\xAF\x87\x85\x64\x6F\x00\x9B\x8B\x00\x00\x73\x00\x9D\x8B\xBA\x18\x25\x53\xB5\x87\x48\x69\x74\x00\xA3\x8B\x78\x00\xA6\x8B\xA1\x21\x25\x53\xBC\x87\x1F\x7C\x79\x00\xA3\x8B\x7D\x00\xAE\x8B\xB6\x24\x25\x53\xC3\x87\x48\x69\x7E\x00\xA3\x8B\x82\x00\xB6\x8B\xDB\x21\x25\x53\xCA\x87\xFD\x7D\xA3\x8B\x87\x00\xBE\x8B\xE8\x25\x25\x53\xD0\x87\x1F\x7C\x88\x00\xA3\x8B\x8C\x00\xC5\x8B\xDE\x26\x25\x53\xD6\x87\x48\x69\x8D\x00\xA3\x8B\x91\x00\xCD\x8B\xEE\x26\x8C\x53\x3A\x89\xC1\x81\xFD\x86\xF8\x22\x50\x62\x85\x6A\x6C\x64\x92\x00\xBB\x36\x99\x6F\x42\x00\xEE\x89\xDC\x8B\x44\x8A\x48\x69\x9E\x00\xE0\x8B\x28\x7E\xE3\x8B\x22\x89\x0E\x0F\xAA\x00\x4B\x8B\xFB\x10\x5E\x00\x4F\x8B\x0C\x01\xDC\x8B\x5C\x8B\xD9\x8B\x41\x81\xA3\x15\xDC\x8B\x60\x8B\xF5\x8B\xDF\x87\xF7\x8B\x09\x83\xFE\x67\xB7\x00\xEE\x8B\x28\x79\xF1\x8B\xE7\x53\x32\x89\xBE\x62\xC4\x00\x00\x8C\x09\x74\x02\x8C\x02\x01\xDC\x8B\xD8\x8B\x16\x6D\xC2\x81\xDB\x8B\xF0\x81\x19\x67\xD1\x00\x07\x8C\xBD\x21\x8B\x00\x09", + "\x8C\x01\x01\xDC\x8B\x6B\x8A\xEB\x29\xDE\x00\xE8\x8B\x3A\x6B\xEA\x8B\x2D\x83\x12\x67\xEA\x00\x13\x8C\xF8\x22\xA8\x00\x16\x8C\x00\x00\xDC\x8B\x2A\x88\x7E\x11\xF7\x00\x22\x8C\x65\x6D\x25\x8C\xDC\x8B\x5C\x89\x06\x7F\x99\x0A\xE4\x6D\xC6\x00\x2D\x8C\x86\x8A\x54\x61\x11\x00\x31\x8C\x26\x06\xD5\x00\x34\x8C\x14\x7E\x9D\x66\x1E\x00\x38\x8C\x53\x09\xE4\x00\x3B\x8C\x22\x74\x19\x67\x2B\x00\x3F\x8C\xFB\x10\xF3\x00\x42\x8C\xDF\x6E\x12\x67\x38\x00\x99\x0A\xC5\x8A\xE8\x24\x00\x36\x96\x04\xDC\x8B\xA5\x8A\x40\x0A\x46\x00\x46\x8C\x71\x16\x12\x00\x00\x36\x7D\x2A\xDC\x8B\x8A\x89\x7E\x11\x53\x00\x56\x8C\xA3\x15\x21\x00\x59\x8C\x2E\x29\xE1\x85\x54\x61\x60\x00\x99\x0A\x99\x6F\x30\x00\x9F\x8A\x4F\x62\x74\x83\xAA\x66\x6C\x00\x67\x8C\x26\x06\x3E\x00\x6A\x8C\xF2\x8B\x71\x88\x9D\x66\x78\x00\x4D\x8C\x26\x06\x4C\x00\x00\x36\xE9\x2A\xDC\x8B\xCA\x8A\xB8\x81\x77\x8C\x62\x82\x7A\x8C\x63\x8C\xFE\x85\x2E\x83\x5F\x8C\xE7\x89\x62\x8C\x6B\x8C\x8A\x88\x9D\x66\xA1\x00\x85\x8C\xF8\x22\x56\x8A\x16\x2E\xDC\x8B\xCD\x7A\x40\x0A\xAE\x00\x7F\x8C\xF6\x72\x50", + "\x8C\x82\x8C\x15\x86\x6F\x73\x8C\x8C\xBA\x18\x9C\x00\x87\x8C\x73\x8C\xEF\x8A\x5E\x63\xC9\x00\x9A\x8C\xA1\x21\xAB\x00\x9D\x8C\x03\x8C\xF4\x7F\x12\x67\xD6\x00\x94\x8C\x71\x16\xBA\x00\x81\x8C\x88\x8C\xFE\x8A\xFE\x67\xE4\x00\xAA\x8C\xA3\x15\xCB\x00\xAD\x8C\x9E\x8C\x0D\x8B\xB7\x64\xF2\x00\xB2\x8C\xBD\x21\xDC\x00\xB5\x8C\xA6\x8C\xB7\x8C\x5E\x63\xD7\x23\xB6\x2D\xBA\x18\xED\x00\xBD\x8C\x0A\x8C\x43\x86\x12\x67\x0E\x00\xF2\x0A\x4E\x8C\x00\x00\x9E\x8A\x9D\x2B\xDC\x8B\xB1\x82\xFE\x67\x1C\x00\xCA\x8C\x26\x06\x0E\x00\x62\x1D\x51\x8C\x23\x8B\xAC\x7B\xF2\x0A\x4A\x04\x37\x00\xF2\x0A\x91\x01\x1E\x00\x62\x1D\x5A\x8C\x5C\x86\x54\x61\x39\x00\xDA\x8C\x2B\x01\xDD\x8C\x28\x04\xE0\x8C\x97\x8C\x36\x8B\x12\x67\x48\x00\xE5\x8C\x1A\x41\xE7\x8C\xF3\x03\xE9\x8C\xAE\x8C\x6E\x86\x32\x65\x57\x00\xEE\x8C\x30\x06\xF0\x8C\xCC\x3D\xF2\x8C\xB6\x8C\xFD\x88\x9D\x66\x66\x00\xF7\x8C\x03\x01\x73\x00\xF9\x8C\x38\x15\xFB\x8C\xBE\x8C\xF8\x78\xC6\x74\xD3\x8C\x8B\x4F\x03\x8D\x30\x47\xD6\x8C\x15\x01\xEA\x88\x64\x8B\x7E\x11\x85\x00\xF2\x0A\xEC\x7E\xEA\x88\x6A", + "\x8B\xEB\x29\x86\x00\xF2\x0A\x81\x04\x8A\x00\x13\x8D\x26\x06\xEA\x88\x72\x8B\xEB\x29\x8B\x00\x19\x8D\x5D\x51\x1C\x8D\x53\x09\xEA\x88\x1A\x85\x48\x69\x90\x00\x22\x8D\x3B\x52\x24\x8D\x50\x7A\xF9\x59\x9D\x66\x95\x00\x2A\x8D\xF0\x52\x2C\x8D\x71\x16\xEA\x88\x89\x8B\x48\x69\x9A\x00\x31\x8D\x6A\x6A\x33\x8D\x16\x83\xA2\x87\x73\x6C\x39\x8D\x02\x01\xA3\x00\x3B\x8D\xBD\x21\xEA\x88\xBF\x86\x3F\x89\x3F\x8D\x01\x01\xA8\x00\x42\x8D\xF8\x22\xEA\x88\xA0\x8B\xCD\x7C\x47\x8D\xBF\x62\x4A\x8D\xBA\x18\xEA\x88\xA9\x8B\x1F\x7C\xAE\x00\x4F\x8D\xB2\x00\x51\x8D\xA1\x21\xEA\x88\xB1\x8B\xEB\x29\xB3\x00\x4F\x8D\xB7\x00\x59\x8D\xB6\x24\xEA\x88\xB9\x8B\x1F\x7C\xB8\x00\x4F\x8D\xBC\x00\x61\x8D\xDB\x21\xEA\x88\xC1\x8B\xEB\x29\xBD\x00\x4F\x8D\xC1\x00\x69\x8D\xE8\x25\xEA\x88\xC8\x8B\xEB\x29\xC2\x00\x4F\x8D\xC6\x00\x71\x8D\xDE\x26\xEA\x88\xD0\x8B\x1F\x7C\xC7\x00\x4F\x8D\xCB\x00\x79\x8D\xEE\x26\x76\x54\x10\x8D\x0E\x0F\xCC\x00\x81\x8D\xA2\x84\x1C\x61\x76\x54\x16\x8D\x7E\x11\xCD\x00\x4F\x8D\xD1\x00\x87\x8D\xCA\x01\x76\x54\x1F\x8D\x7E\x11\xD2\x00\x4F", + "\x8D\xD6\x00\x90\x8D\xB5\x77\x0C\x01\x27\x8D\x1F\x7C\xD7\x00\x4F\x8D\xDB\x00\x98\x8D\x3F\x8B\xA7\x86\xAA\x65\xDC\x00\x4F\x8D\xE0\x00\xA0\x8D\xF8\x83\x27\x85\x52\x6E\x4F\x8D\xE5\x00\xA7\x8D\xF4\x8C\x00\x00\x91\x8B\x48\x69\xE6\x00\x4F\x8D\xEA\x00\xAD\x8D\xCB\x7E\x03\x01\x45\x8D\xFE\x67\xEB\x00\x4F\x8D\xEF\x00\xB5\x8D\xF3\x88\xD7\x84\x61\x77\x4F\x8D\xF4\x00\xBD\x8D\x8D\x6E\xDD\x84\x54\x61\xF5\x00\x4F\x8D\xF9\x00\xC3\x8D\x76\x54\x5C\x8D\x7E\x11\xFA\x00\x4F\x8D\xFE\x00\xCA\x8D\xEA\x84\x85\x65\x4F\x8D\x03\x00\x7B\x37\x18\x61\x76\x54\x6C\x8D\x7E\x11\x04\x00\x7B\x37\x09\x7F\xD6\x8D\x26\x06\x76\x54\x74\x8D\x7E\x11\x09\x00\xDC\x8D\xAD\x02\xDE\x8D\x53\x09\x76\x54\x7C\x8D\xEB\x29\x0E\x00\xE4\x8D\xB1\x2A\xE6\x8D\xFB\x10\xD2\x54\x84\x8D\x34\x0E\x13\x00\xEE\x8D\xD6\x70\xDD\x83\x7F\x87\x23\x78\xEC\x8D\x4B\x31\xF4\x8D\xA3\x15\xD2\x54\x93\x8D\x0E\x0F\x19\x00\xF9\x8D\xF2\x61\xFB\x8D\xBD\x21\xD2\x54\x9B\x8D\xEB\x29\x1E\x00\x01\x8E\xFF\x05\x03\x8E\xF8\x22\xD2\x54\x81\x8B\x34\x0E\x23\x00\x09\x8E\xB7\x06\x0B\x8E\xBA\x18\xD2\x54\x36", + "\x8D\x69\x81\x11\x8E\xFD\x36\x13\x8E\xA1\x21\xD2\x54\xB0\x8D\x1F\x7C\x2D\x00\x18\x8E\x31\x00\x1A\x8E\xB6\x24\xD2\x54\xB8\x8D\x48\x69\x32\x00\x18\x8E\x36\x00\x22\x8E\xDB\x21\xD2\x54\x4D\x8D\xDA\x7B\x18\x8E\x3B\x00\x2A\x8E\xE8\x25\xD2\x54\x54\x8D\xEB\x29\x3C\x00\x18\x8E\x40\x00\x31\x8E\xDE\x26\xD2\x54\xCC\x8D\x0E\x0F\x41\x00\x18\x8E\x45\x00\x39\x8E\xEE\x26\xD2\x54\x64\x8D\xEB\x29\x46\x00\x18\x8E\x4A\x00\x41\x8E\x1C\x61\xD2\x54\xD9\x8D\x0E\x0F\x4B\x00\x18\x8E\x4F\x00\x49\x8E\xCA\x01\xD2\x54\xE1\x8D\x0E\x0F\x50\x00\x18\x8E\x54\x00\x51\x8E\xD8\x8C\x0E\x72\x6C\x64\x55\x00\x18\x8E\x59\x00\x59\x8E\xC1\x82\xD0\x80\x6A\x72\x60\x8E\xFB\x10\x2E\x55\x8B\x8D\x82\x8B\x18\x8E\x5F\x00\x64\x8E\x34\x55\x76\x59\x16\x73\x18\x8E\x64\x00\x6B\x8E\x2D\x8B\xC0\x71\x9B\x6B\x18\x8E\x69\x00\x71\x8E\x62\x55\xA2\x8D\xAA\x66\x6A\x00\x18\x8E\x6E\x00\x77\x8E\xC5\x74\x0C\x01\x16\x8E\xEB\x29\x6F\x00\x18\x8E\x73\x00\x7E\x8E\x2E\x55\x1D\x8E\xEB\x29\x74\x00\x18\x8E\x78\x00\x86\x8E\x98\x8B\x12\x67\x79\x00\x18\x8E\x7D\x00\x8D\x8E\x04\x5A\x6C\x64\x7E", + "\x00\x18\x8E\x82\x00\x93\x8E\x0C\x01\x34\x8E\x7E\x11\x83\x00\x18\x8E\x87\x00\x99\x8E\x03\x01\x3C\x8E\x34\x0E\x88\x00\x18\x8E\x8C\x00\xA0\x8E\x02\x01\x44\x8E\x7E\x11\x8D\x00\x18\x8E\x91\x00\xA7\x8E\x01\x01\x4C\x8E\x34\x0E\x92\x00\x18\x8E\x96\x00\xAE\x8E\x00\x00\x54\x8E\x34\x0E\x97\x00\x18\x8E\x9B\x00\xB5\x8E\xE9\x8D\x7E\x11\x9C\x00\x18\x8E\xA0\x00\x7E\x8E\x62\x0F\xF1\x8D\x3B\x0B\xA1\x00\x7E\x8E\xBA\x18\x62\x0F\x67\x8E\x34\x0E\xA2\x00\x18\x8E\xA6\x00\xC2\x8E\x86\x87\x48\x73\x18\x8E\xAB\x00\xCF\x8E\x19\x85\x6C\x64\xAC\x00\x18\x8E\xB0\x00\xD4\x8E\x20\x85\x6C\x64\xB1\x00\x18\x8E\xB5\x00\xDA\x8E\xA9\x8D\x19\x67\xB6\x00\x18\x8E\xBA\x00\xE0\x8E\x2D\x85\xF0\x71\x18\x8E\xBF\x00\xE6\x8E\x34\x85\x6C\x64\xC0\x00\x18\x8E\xC4\x00\xEB\x8E\x3B\x85\xFD\x71\x18\x8E\xC9\x00\xF1\x8E\x9B\x8E\x0E\x0F\xCA\x00\x18\x8E\xCE\x00\xF1\x8E\xA2\x8E\x3B\x0B\xCF\x00\x18\x8E\xD3\x00\xF1\x8E\xA9\x8E\x0E\x0F\xD4\x00\x18\x8E\xD8\x00\xF1\x8E\xB0\x8E\x3B\x0B\xD9\x00\x18\x8E\xDD\x00\xF1\x8E\xB7\x8E\x3B\x0B\xDE\x00\x18\x8E\xE2\x00\xF1\x8E\xBD\x8E\x0E", + "\x0F\xE3\x00\x18\x8E\xE7\x00\x7E\x8E\x73\x62\x03\x01\xE6\x87\xEB\x29\xE8\x00\x7B\x37\xFA\x73\x79\x00\x2F\x8B\x1B\x8F\x56\x5A\xAA\x65\xF3\x00\x20\x8F\x26\x06\x86\x00\x23\x8F\xEB\x8B\x34\x0E\xFE\x00\x7B\x37\x99\x6F\x93\x00\x17\x8B\x24\x8F\x28\x73\x12\x67\x0A\x00\xCA\x08\x99\x6F\xA1\x00\x32\x8F\x04\x8C\x85\x64\x16\x00\x37\x8F\x26\x06\xAF\x00\x3A\x8F\x63\x8A\x34\x7F\x3E\x8F\x53\x09\xBD\x00\x41\x8F\xCC\x71\xFC\x86\xF6\x8B\xBD\x21\x33\x8F\x24\x83\x6C\x64\x2E\x00\xCA\x08\xFA\x73\xCB\x00\x2B\x8F\x1F\x8C\x32\x65\x39\x00\x44\x8F\x8D\x6C\x47\x8F\xC8\x84\x19\x67\x45\x00\x57\x8F\x71\x16\xE6\x00\x59\x8F\x59\x51\x6C\x64\x51\x00\x5D\x8F\x49\x6F\x60\x8F\xCF\x79\x62\x66\x64\x8F\x51\x6F\x54\x8B\x15\x01\x4C\x8F\xB8\x85\x5E\x63\x69\x00\x69\x8F\x5A\x6F\x6B\x8F\x12\x01\x4C\x8F\x95\x8A\x1F\x7C\x75\x00\x71\x8F\xD5\x66\x73\x8F\x0C\x01\x4C\x8F\x4C\x88\xEB\x29\x81\x00\xCA\x08\xE4\x6D\x2C\x00\xBB\x36\x7D\x2A\x4C\x8F\x53\x8C\xDF\x06\x8E\x00\x79\x8F\xA1\x21\x53\x8B\xA9\x2C\x4C\x8F\x5C\x8C\x0E\x0F\x9A\x00\x8A\x8F\x58\x89\x7B\x8F\x88\x55\x64", + "\x8C\xBE\x62\xA6\x00\x50\x8F\x26\x06\x57\x00\x22\x8C\x4C\x8F\x6A\x88\xEB\x29\xB1\x00\x99\x8F\x53\x09\x64\x00\x9C\x8F\x74\x8C\x54\x61\xBC\x00\x81\x8F\xEC\x79\xBB\x36\x96\x04\x4C\x8F\x7D\x8C\xED\x58\xA8\x8F\x53\x09\x81\x00\xAA\x8F\x6C\x8F\xB0\x72\x6C\x64\xD6\x00\x92\x8F\xDB\x21\xD4\x8B\x8D\x8F\xB7\x89\x1D\x8B\xB7\x8F\x32\x8E\x94\x8F\x02\x01\x4C\x8F\x91\x8C\xDF\x06\xEE\x00\xAF\x8F\xFB\x10\xAD\x00\x84\x8F\xB3\x8F\xD4\x7A\xA6\x7D\xBD\x8F\x99\x8A\xBF\x8F\x01\x01\x4C\x8F\x7A\x7E\xB7\x64\x07\x00\xF1\x22\x99\x6F\xCA\x00\xCE\x8F\xAB\x66\xF7\x8A\x7E\x11\x13\x00\xF1\x22\xE4\x6D\xD8\x00\xB2\x8F\x74\x8F\xD9\x8F\x0E\x0F\x20\x00\xDC\x8F\x26\x06\xE8\x00\xDF\x8F\x7C\x8F\x05\x8B\x85\x64\x2D\x00\xE4\x8F\x53\x09\xF8\x00\xE7\x8F\x95\x8F\x3B\x86\x9D\x66\x3A\x00\xEC\x8F\xFB\x10\x08\x00\x99\x0A\xAB\x8F\xC7\x8C\x32\x65\x47\x00\xF4\x8F\x71\x16\x18\x00\x99\x0A\x85\x8F\x1C\x8B\x85\x64\x54\x00\xFC\x8F\x4D\x6E\xFF\x8F\xC9\x8F\xD8\x54\x6C\x64\x61\x00\xD4\x8F\x38\x48\xF1\x22\x91\x01\x36\x00\xBA\x8C\xD8\x8F\x61\x8E\x32\x65\x6F\x00\x0B\x90\xC6", + "\x4E\x0D\x90\x28\x06\x10\x90\x4C\x8F\xEA\x88\x54\x61\x7D\x00\x15\x90\x0C\x01\x89\x00\x17\x90\xEF\x40\x19\x90\x99\x8D\x19\x67\x8B\x00\x1E\x90\x96\x1B\x21\x90\xB0\x06\x23\x90\x77\x86\x32\x65\x99\x00\x27\x90\x02\x01\xA5\x00\x29\x90\xB3\x48\x2B\x90\x07\x89\x15\x7E\x04\x90\xDB\x56\x32\x90\xB5\x7C\x06\x90\x8A\x55\xD7\x55\x0F\x88\xC2\x7B\x05\x6E\x15\x01\x8F\x62\x18\x84\x4A\x8F\xF8\x22\x93\x55\x1D\x8F\x7E\x11\xB6\x00\xF1\x22\x93\x7C\x8C\x8C\x93\x55\xE5\x8B\x1F\x7C\xC1\x00\x4A\x90\x9B\x7C\x4C\x90\x2C\x8F\x3B\x0B\xCC\x00\x2F\x90\xBD\x21\xA5\x00\x10\x90\x93\x55\x54\x8A\xBD\x03\xD8\x00\x57\x90\xF8\x22\xB3\x00\x5A\x90\x3B\x8F\x1F\x72\x5F\x90\xBA\x18\xC1\x00\x62\x90\x42\x8F\x54\x61\xF0\x00\x65\x90\xA1\x21\xCF\x00\x68\x90\xD4\x76\x12\x67\xFC\x00\x51\x90\xC7\x7C\x53\x90\x54\x8F\x37\x72\xB6\x37\x99\x6F\xEA\x00\x6F\x90\x5A\x8F\x12\x67\x13\x00\x78\x90\x26\x06\xF8\x00\x7B\x90\x61\x8F\x33\x87\x7F\x90\x53\x09\x06\x00\x09\x8D\x96\x55\x35\x8C\xBE\x62\x2B\x00\x85\x90\xFB\x10\x14\x00\x88\x90\xD2\x25\x8E\x8A\x54\x61\x37\x00\x8D\x90\x71", + "\x16\x22\x00\x90\x90\xB0\x55\x43\x8C\x12\x67\x43\x00\x95\x90\xA3\x15\x30\x00\x98\x90\xF7\x25\x9C\x8A\x9D\x66\x4F\x00\xB6\x37\xFF\x7C\xF2\x0A\x7D\x2A\x93\x55\x87\x8F\x60\x64\x9D\x90\xBD\x21\x4D\x00\xA0\x90\xDC\x55\x40\x82\x32\x65\x68\x00\xAC\x90\xF8\x22\x5B\x00\xAF\x90\x93\x55\x91\x89\x85\x64\x74\x00\xB6\x37\x18\x7D\x00\x8D\x99\x90\xBC\x6F\xAA\x65\x7F\x00\xBC\x90\x20\x7D\xBE\x90\xA1\x90\xEF\x85\x12\x67\x8A\x00\xA5\x90\x26\x06\x83\x00\xF2\x0A\x96\x04\x93\x55\xAD\x8F\xEF\x88\xCA\x90\x53\x09\x93\x00\xCD\x90\x3D\x90\x5C\x7E\xAA\x65\xA4\x00\xB4\x90\xBA\x18\x41\x8D\xA9\x2C\x93\x55\xDA\x8A\x1B\x85\xDA\x90\xA1\x21\xB1\x00\xB7\x90\xE1\x8A\xF6\x74\xD2\x90\x90\x85\xA7\x90\xD6\x90\x72\x7E\xD1\x80\xE1\x90\xB6\x24\xCE\x00\xE4\x90\x9F\x8C\xFE\x67\xD5\x00\xED\x90\xDB\x21\xA4\x8D\xDD\x90\xE1\x8F\x34\x0E\xE1\x00\xE7\x90\xD0\x7C\xD5\x90\x8C\x55\xF8\x90\x3B\x0B\xEE\x00\xFB\x90\xA3\x15\xCE\x8D\x9D\x2B\x93\x55\xE3\x89\xB7\x64\xFB\x00\x02\x91\x00\x7E\x7B\x37\xCE\x90\xE9\x8F\xB7\x64\x08\x00\xFA\x09\xE4\x6D\x1A\x00\x0C\x91\xEA\x90\xC7", + "\x88\xBE\x62\x15\x00\x11\x91\x26\x06\x2A\x00\x7B\x37\xA8\x90\x01\x90\xB7\x64\x22\x00\x19\x91\x7D\x5D\x1C\x91\x15\x91\xF6\x8D\x32\x65\x2F\x00\xFA\x09\x6B\x07\x3B\x00\xFA\x09\x35\x02\x7B\x37\xB1\x18\x93\x55\x7B\x6E\x85\x64\x3D\x00\x28\x91\xC0\x22\x2B\x91\x5E\x0F\x2D\x91\x24\x91\xEE\x83\x65\x70\x33\x91\x38\x41\x35\x91\xFD\x02\x37\x91\xFE\x90\xA1\x8D\x32\x65\x59\x00\x3B\x91\xD4\x27\x3D\x91\x61\x4B\x3F\x91\x89\x90\x2C\x90\x9D\x66\x67\x00\x44\x91\x01\x8D\x46\x91\xB4\x4E\x48\x91\x91\x90\x0B\x84\x32\x65\x75\x00\x21\x91\xD5\x80\x4F\x91\x79\x85\x23\x91\x12\x01\x88\x62\xBF\x90\x12\x67\x62\x7F\xB6\x24\x5C\x91\x01\x01\x42\x90\x5E\x91\x0E\x8C\x1F\x74\x8A\x86\x9D\x66\x84\x00\xFA\x09\xEC\x7E\x63\x91\xD7\x80\xAA\x66\x85\x00\xFA\x09\x81\x04\x89\x00\x6A\x91\x26\x06\x6C\x91\xDF\x80\xAA\x66\x8A\x00\x70\x91\xF3\x5E\x73\x91\x53\x09\x75\x91\x06\x8E\xC5\x89\x79\x91\x12\x01\x93\x00\x7B\x91\xFB\x10\x75\x91\x0E\x8E\x3B\x0B\x94\x00\x80\x91\x69\x8A\x83\x91\x71\x16\x75\x91\x81\x8E\x7E\x11\x99\x00\x89\x91\xE9\x53\x8B\x91\xA3\x15\x75\x91\x88", + "\x8E\x7E\x11\x9E\x00\x91\x91\xC0\x8F\x93\x91\x88\x82\x8E\x8E\x32\x65\xA3\x00\x99\x91\x01\x01\xA7\x00\x9B\x91\xF8\x22\x75\x91\x2D\x8E\xFE\x67\xA8\x00\xA0\x91\x33\x65\xA3\x91\x66\x91\xEF\x71\xAA\x65\xAD\x00\xA9\x91\xB1\x00\xAB\x91\xA1\x21\x75\x91\xFD\x8E\x40\x0A\xB2\x00\xA9\x91\xB6\x00\xB2\x91\xB6\x24\x75\x91\x03\x8F\x34\x0E\xB7\x00\xA9\x91\xBB\x00\xBA\x91\xDB\x21\x75\x91\x09\x8F\x40\x0A\xBC\x00\xA9\x91\xC0\x00\xC2\x91\xE8\x25\x75\x91\x0F\x8F\x40\x0A\xC1\x00\xA9\x91\xC5\x00\xCA\x91\xDE\x26\x75\x91\x15\x8F\x34\x0E\xC6\x00\xA9\x91\xCA\x00\xD2\x91\xEE\x26\x96\x62\x01\x01\x47\x90\x0E\x0F\xCB\x00\xFA\x09\xC4\x7D\x7B\x37\x4A\x04\xDC\x91\x3F\x7B\xB5\x8F\xE1\x91\xCB\x7D\xE3\x91\xF1\x58\xD4\x73\x54\x61\xE1\x00\x4D\x91\xA3\x15\xB7\x00\x51\x91\x09\x6D\xFD\x8B\x48\x69\xED\x00\xEF\x91\xBD\x21\xC5\x00\xF2\x91\xA1\x91\x63\x90\x5E\x63\xF9\x00\xF7\x91\xF8\x22\x01\x8F\xA9\x2C\xE5\x91\x3E\x89\xFE\x67\x05\x00\xAE\x29\x99\x6F\xE1\x00\xFA\x91\x00\x00\xE5\x91\x19\x8C\x7E\x11\x11\x00\xAE\x29\xFA\x73\xEF\x00\xEA\x91\x33\x57\x02\x50\x6C", + "\x64\x1C\x00\x07\x92\x26\x06\xFC\x00\x0A\x92\xE5\x91\x28\x8C\x0E\x0F\x28\x00\x18\x92\xAA\x6D\xCA\x08\xB1\x18\xE5\x91\x2F\x8C\x48\x69\x34\x00\x20\x92\xFB\x10\x18\x00\x22\x92\xEB\x91\xC0\x79\x63\x88\x28\x92\x95\x5D\x2B\x92\x14\x92\x6E\x8F\xFE\x67\x4C\x00\x2F\x92\xA3\x15\x34\x00\x31\x92\x0C\x01\xE5\x91\x76\x8F\xEB\x29\x58\x00\x36\x92\xBD\x21\x42\x00\x39\x92\x03\x01\xE5\x91\x7E\x8F\x7E\x11\x64\x00\xAE\x29\xE4\x6D\x50\x00\xCA\x08\x7D\x2A\xE5\x91\xAA\x90\x9B\x5E\x3F\x92\xF8\x22\x5F\x00\x42\x92\xF3\x91\xAC\x8A\x32\x65\x7D\x00\x50\x92\x49\x79\x53\x92\xFB\x91\x3C\x7E\x12\x67\x89\x00\x10\x92\x26\x06\x7B\x00\xC5\x8F\x43\x92\x6C\x8C\x2E\x83\x5F\x92\xF3\x69\x62\x92\x54\x92\xC1\x8A\x54\x61\x9F\x00\x48\x92\x26\x06\x95\x00\xCA\x08\x96\x04\xE5\x91\xD0\x90\xB0\x6A\x6D\x92\x53\x09\xA5\x00\x70\x92\x2C\x92\xD1\x6B\x6C\x64\xB9\x00\x58\x92\xA1\x21\xB5\x00\x5A\x92\x0B\x92\xBB\x8F\xE4\x89\x7D\x92\xB6\x24\xC3\x00\x80\x92\xE5\x91\xC2\x8F\xBD\x03\xD1\x00\x75\x92\xFB\x10\xD1\x00\x4B\x92\x79\x92\xE6\x67\x6C\x64\xDE\x00\x84\x92\xDB\x21\xE0", + "\x00\x87\x92\x1C\x86\x9D\x66\xEA\x00\x94\x92\xE8\x25\xC4\x8F\x02\x92\xFF\x90\x40\x0A\xF6\x00\x8C\x92\x71\x16\xFC\x00\x78\x92\x14\x92\x24\x86\x32\x65\x03\x00\xDA\x56\x87\x7A\xF1\x22\x71\x92\x0E\x91\x5E\x63\x10\x00\xAA\x92\xD0\x73\xAC\x92\x90\x92\x38\x40\x8F\x7F\x1D\x00\xB1\x92\x69\x6F\xB3\x92\x14\x92\x9F\x7E\x34\x0E\x2A\x00\xB8\x92\xFB\x10\x3C\x00\xF1\x22\x4C\x92\x1E\x91\xDA\x7B\xBF\x92\x71\x16\x4B\x00\xC2\x92\xB4\x92\xD7\x88\xFE\x67\x44\x00\xDA\x56\x6B\x07\x50\x00\xDA\x56\xB5\x7E\xF1\x22\x23\x92\xE2\x8C\x2B\x64\xCE\x92\x23\x43\xD1\x92\xA8\x46\xD3\x92\xB4\x92\x1B\x90\x78\x64\xD7\x92\x26\x48\xD9\x92\xC5\x4D\xDB\x92\x14\x92\xF4\x88\xA0\x7C\xDF\x92\x31\x68\xE1\x92\x92\x4F\xE3\x92\x3A\x92\x0D\x76\x12\x67\x7C\x00\xE7\x92\x18\x76\xE9\x92\xDB\x7E\xEB\x92\x63\x92\x53\x91\x1A\x6E\xC6\x92\x29\x89\xF2\x92\x2D\x1A\xC9\x92\x12\x01\x73\x69\x5E\x76\x49\x8F\xFB\x8B\xBD\x21\xFE\x92\x00\x00\xA4\x62\x64\x91\xDA\x8B\xBA\x18\x05\x93\xDD\x91\x6C\x64\x99\x00\xDA\x56\xFA\x73\xAF\x00\x37\x90\x04\x93\x2C\x7A\xB7\x64\xA4\x00\x0D\x93\x26", + "\x06\xBC\x00\x10\x93\x09\x93\x26\x72\xF1\x81\xF0\x92\xA3\x15\xC9\x00\xF4\x92\xC3\x6B\xF4\x91\x1F\x7C\xBB\x00\x1C\x93\xBD\x21\xD7\x00\x1F\x93\x01\x01\x19\x93\x84\x85\xB2\x72\x24\x93\xF8\x22\xE5\x00\x27\x93\x11\x93\x69\x90\xBE\x62\xD3\x00\x2C\x93\xBA\x18\xF3\x00\x2F\x93\x19\x93\x0D\x92\x0E\x0F\xDF\x00\x15\x93\x53\x09\x01\x00\x0A\x91\x30\x93\x23\x88\x99\x92\x34\x93\xA1\x21\x0E\x00\xB6\x37\xB1\x18\x19\x93\x1D\x92\x34\x0E\xF6\x00\x43\x93\xB4\x62\x46\x93\xF6\x55\x31\x88\x0C\x84\xB9\x27\x99\x6F\x2A\x00\x4E\x93\xF9\x55\x8A\x90\x85\x64\x0E\x00\x52\x93\x26\x06\x38\x00\x55\x93\x0C\x01\x19\x93\x33\x92\x48\x69\x1A\x00\x5A\x93\x53\x09\x46\x00\x5D\x93\x03\x01\x19\x93\x3C\x92\x7E\x11\x26\x00\x63\x93\xFB\x10\x54\x00\x66\x93\x20\x93\x78\x89\xCE\x6A\xB9\x27\xE4\x6D\x62\x00\xB6\x37\x7D\x2A\x19\x93\x4E\x92\xA0\x0C\x6C\x93\x71\x16\x71\x00\x6F\x93\x28\x93\xB1\x90\x9D\x66\x4B\x00\x7B\x93\xA3\x15\xC2\x90\xA9\x2C\x19\x93\xB9\x90\xB7\x64\x57\x00\xB9\x27\xFA\x73\x8D\x00\x3F\x93\x19\x93\x9E\x8F\x7E\x11\x62\x00\x8B\x93\x70\x8B\x8E\x93\xA5", + "\x8F\xBE\x62\x6D\x00\x73\x93\x75\x88\xB6\x37\x96\x04\x19\x93\x73\x92\x03\x01\x7A\x00\x99\x93\x89\x7F\x9B\x93\x4F\x93\x83\x8C\x12\x67\x87\x00\x83\x93\xA8\x7F\x7E\x93\x40\x93\x21\x6E\x6C\x64\x93\x00\xA8\x93\xF8\x22\xF3\x90\x86\x93\xE5\x90\x85\x64\x9F\x00\xA1\x93\xFB\x10\xE3\x00\x76\x93\xA4\x93\x98\x8C\x12\x67\xAC\x00\xAF\x93\xBA\x18\xF2\x00\xAA\x93\x19\x93\xD1\x8F\x5E\x63\xB8\x00\xBE\x93\x25\x61\xFA\x09\x47\x93\x9F\x92\xDF\x06\xC4\x00\xB6\x93\x71\x16\x0E\x00\xFA\x09\x9C\x93\xCA\x93\x8A\x92\xCD\x93\xA3\x15\x1E\x00\xD0\x93\xBA\x93\xA2\x82\x19\x67\xDE\x00\xD4\x93\x49\x6A\xD7\x93\x56\x93\xF1\x8F\x0F\x69\xDC\x93\xF8\x22\x3E\x00\xDE\x93\x5E\x93\xF9\x8F\x60\x7B\xE2\x93\xBA\x18\x4E\x00\xFA\x09\x77\x93\xC4\x92\x05\x92\x9F\x25\xE4\x6D\x5D\x00\xEC\x93\xD8\x93\x89\x7D\x19\x67\x12\x00\x9F\x25\x6B\x07\x1E\x00\x9F\x25\x91\x01\x6C\x00\xC8\x93\xF4\x93\x78\x8E\x32\x65\x20\x00\xF8\x93\xC0\x36\xFB\x93\x3A\x4E\xFE\x93\xDF\x93\xAC\x77\x19\x67\x2E\x00\x03\x94\xF4\x59\x05\x94\x79\x50\x07\x94\xE6\x93\x41\x91\x9D\x66\x3C\x00\x0C\x94\x77", + "\x0A\x0E\x94\x5B\x5F\x10\x94\x67\x93\xED\x92\x32\x65\x4A\x00\x15\x94\x18\x06\x17\x94\xD2\x25\x19\x94\x70\x93\x35\x90\x9D\x66\x58\x00\xF0\x93\x81\x45\x20\x94\x4D\x56\xF3\x93\x12\x01\xAB\x62\x02\x01\xB2\x62\x1F\x84\x3F\x90\xB0\x6F\x03\x56\x00\x93\x10\x88\xF2\x87\x3D\x8A\x4B\x91\x9F\x25\xFA\x73\xCF\x91\xD8\x17\x2F\x94\x6B\x85\x12\x67\x72\x00\x39\x94\x26\x78\x56\x91\xD5\x71\x54\x90\x40\x0A\x7D\x00\x1E\x94\xA3\x15\xDB\x00\x22\x94\xE4\x74\x21\x93\xEB\x29\x89\x00\x48\x94\xBD\x21\xE9\x00\x4B\x94\x00\x00\x3D\x94\x91\x88\xC7\x83\x50\x94\xF8\x22\xF7\x00\x53\x94\x55\x94\x1B\x83\x6C\x64\xA1\x00\x58\x94\xBA\x18\x06\x92\xA9\x2C\x5C\x94\x4D\x8F\xAE\x91\x41\x94\x53\x09\x13\x00\xA2\x92\x2E\x94\x71\x8A\xB7\x64\xB8\x00\x60\x94\xC4\x85\xAE\x29\xB1\x18\x64\x94\x49\x93\x3B\x0B\xC4\x00\x6F\x94\xB6\x24\x2E\x00\x71\x94\xFF\x55\x50\x93\x32\x65\xD0\x00\x77\x94\xDB\x21\x3C\x00\x7A\x94\x12\x01\x64\x94\x18\x82\xFE\x67\xDC\x00\x7F\x94\xE8\x25\x4A\x00\x82\x94\x0C\x01\x64\x94\x60\x93\x1F\x7C\xE8\x00\x88\x94\xDE\x26\x3E\x92\x63\x94\x72\x89\x73", + "\x74\x91\x94\xEE\x26\x66\x00\x8B\x94\x44\x94\x71\x93\x9D\x66\x0D\x6D\xA6\x26\xDB\x21\x74\x00\xAE\x29\x7D\x2A\x64\x94\x79\x93\xBD\x02\xDA\x37\x99\x6F\x83\x00\x9A\x94\x6B\x94\x55\x92\x9D\x66\x19\x00\xA7\x94\x26\x06\x91\x00\xAA\x94\x4C\x94\x5C\x92\x32\x65\x25\x00\xDA\x37\xFA\x73\x6C\x92\x3C\x94\x64\x92\x12\x67\x30\x00\xB7\x94\x26\x06\xAC\x00\x6A\x94\xB3\x94\x6A\x92\xBE\x62\x3B\x00\xDA\x37\xFA\x87\xAE\x29\x96\x04\x64\x94\x9E\x93\x97\x23\xC6\x94\x26\x06\xC9\x00\xC8\x94\x7B\x94\xA5\x93\xE6\x6A\xAF\x94\x53\x09\xD9\x00\xB2\x94\x54\x94\x82\x92\xB7\x64\x61\x00\xD4\x94\x96\x88\xD7\x94\x64\x94\x89\x92\xCA\x01\x6D\x00\xCD\x94\x1F\x88\xA2\x94\xD1\x94\xBB\x93\x32\x65\x7A\x00\xDC\x94\x71\x16\x04\x00\xDA\x56\x72\x94\x98\x92\x54\x61\x86\x00\xEA\x94\x2E\x88\xED\x94\xE6\x94\x88\x7E\xA8\x7E\xE3\x94\xB0\x5E\xDA\x56\xC9\x94\xD2\x93\x52\x8E\xF8\x94\x71\x16\x30\x00\xFA\x94\xF5\x94\x97\x7E\xC7\x69\xFE\x94\x96\x6B\x01\x95\x83\x94\xAE\x92\xFE\x67\xB9\x00\x05\x95\xBD\x21\xD0\x92\x9D\x2B\x64\x94\xBC\x92\x3B\x0B\xC6\x00\x0C\x95\xF8\x22\x60", + "\x00\xDA\x56\xA3\x94\xEE\x93\x48\x69\xD3\x00\x14\x95\xBA\x18\x6F\x00\x17\x95\x02\x95\x25\x91\x9D\x66\xE0\x00\xF2\x94\x5A\x5A\xDA\x37\x91\x01\x7E\x00\xF4\x94\x08\x95\x12\x90\x9D\x66\xEE\x00\x24\x95\xBB\x82\x26\x95\x11\x51\x29\x95\x8C\x94\x0E\x8D\x6C\x64\xFC\x00\x2E\x95\x08\x00\xA4\x27\x91\x01\x9A\x00\x32\x95\x9B\x94\xA8\x8D\x35\x8F\xA4\x27\xCE\x82\x39\x95\xF2\x55\x3C\x95\xAB\x94\x29\x8A\x85\x64\x18\x00\x40\x95\x3F\x04\x42\x95\x07\x57\x44\x95\xC2\x94\x07\x8D\xC6\x6A\xA4\x27\x4A\x04\x33\x00\x4B\x95\xE9\x57\x1F\x95\x12\x01\xB9\x62\x3D\x95\x43\x90\x01\x93\xF8\x22\x58\x95\x02\x01\xC0\x62\x5A\x95\x35\x94\x53\x09\x5F\x95\x62\x8E\x19\x67\x35\x00\xA4\x27\x09\x85\xDB\x21\x63\x95\x6D\x91\xFB\x72\xA4\x27\xFE\x17\x3E\x00\xA4\x27\x18\x61\x6A\x95\x76\x91\x19\x67\x3F\x00\x6D\x95\x7B\x3A\x70\x95\x26\x06\x72\x95\x7E\x91\x0E\x0F\x46\x00\x76\x95\x12\x01\x4C\x00\x78\x95\x62\x95\x2E\x8D\x54\x61\x4D\x00\x7E\x95\x03\x41\x81\x95\xC6\x8F\xAE\x86\x6C\x64\x54\x00\x86\x95\x38\x15\x88\x95\x71\x16\x72\x95\x96\x91\x82\x8B\x8D\x95\x73\x11\x8F", + "\x95\xA3\x15\x72\x95\x25\x8E\x1F\x7C\x62\x00\x94\x95\x01\x01\x68\x00\x96\x95\xBD\x21\x72\x95\xA6\x91\x48\x69\x69\x00\x9C\x95\x2F\x49\x9F\x95\xF8\x22\x72\x95\xF7\x8E\x34\x0E\x70\x00\xA5\x95\x76\x00\xA7\x95\xBA\x18\x72\x95\xB5\x91\xDF\x06\x77\x00\xA5\x95\x7D\x00\xAF\x95\xA1\x21\x72\x95\xBD\x91\x3B\x0B\x7E\x00\xA5\x95\x84\x00\xB7\x95\xB6\x24\x72\x95\xC5\x91\xDF\x06\x85\x00\xA5\x95\x8B\x00\xBF\x95\x69\x95\xB0\x73\x9E\x71\xA5\x95\x92\x00\xC7\x95\x91\x8A\xF3\x86\x19\x67\x93\x00\xA5\x95\x99\x00\xCD\x95\xDE\x26\xC9\x62\x1A\x57\x30\x94\x1C\x61\x9A\x00\x54\x95\x71\x16\xCB\x62\x1C\x8F\x6C\x64\x9C\x00\xA4\x27\xFA\x73\x33\x93\xD8\x17\xDD\x95\x25\x8F\xD2\x71\xE1\x95\x26\x06\xE0\x00\xF8\x92\x01\x01\xE5\x95\x0C\x44\xAA\x65\xB2\x00\x49\x95\x53\x09\xED\x00\x4D\x95\x00\x00\xED\x95\x2B\x89\x9D\x66\xBE\x00\xF1\x95\xFB\x10\xFB\x00\xF4\x95\xF6\x95\x2A\x93\xB7\x64\xCA\x00\xFA\x95\x71\x16\x09\x00\xB9\x27\xB1\x18\xF6\x95\x04\x92\x48\x69\xD6\x00\x02\x96\xA3\x15\x17\x00\x05\x96\x16\x85\xF8\x81\x54\x61\xE2\x00\xE8\x95\x44\x82\xE2\x93\xF6", + "\x95\x9C\x85\xFE\x67\xED\x00\x0B\x96\xBD\x21\x32\x00\x0E\x96\x07\x56\xA3\x85\x54\x61\xF9\x00\x1A\x96\xF8\x22\x40\x00\x1D\x96\x30\x60\x7C\x94\xC0\x6D\x1E\x27\x99\x6F\x4E\x00\x25\x96\x03\x01\xF6\x95\x85\x94\x48\x69\x11\x00\x29\x96\x26\x06\x5C\x00\x2C\x96\x02\x01\xF6\x95\x8E\x94\xEE\x60\x32\x96\x53\x09\x6A\x00\x35\x96\xEC\x95\x95\x94\x32\x65\x29\x00\x3A\x96\xFB\x10\x78\x00\x3D\x96\xF5\x95\xA2\x90\x54\x61\x35\x00\x1E\x27\xE4\x6D\x86\x00\xB9\x27\x7D\x2A\xF6\x95\xA5\x94\x82\x0A\x42\x96\xE0\x87\x45\x96\xF6\x95\x8F\x8F\x34\x0E\x4E\x00\x52\x96\xA3\x15\xA3\x00\x54\x96\x96\x8F\xB4\x74\x1E\x27\xFA\x73\xB1\x00\x15\x96\xBB\x94\x32\x65\x65\x00\x5F\x96\x26\x06\xBE\x00\x62\x96\xC7\x90\x4B\x86\x4A\x96\xA0\x8A\xB9\x27\x96\x04\xF6\x95\xCB\x94\xE0\x64\x6C\x96\x53\x09\xDB\x00\x6E\x96\x0F\x96\xD2\x94\x1A\x6E\x59\x96\xBD\x21\xEB\x00\x5C\x96\x89\x8C\x54\x61\x96\x00\x7A\x96\xF8\x22\xF9\x00\x7D\x96\x20\x6D\xCE\x83\x73\x96\xFB\x10\x07\x00\x9F\x25\x4E\x96\x89\x78\x19\x67\xAF\x00\x81\x96\x8A\x62\x9F\x25\x06\x96\xEF\x94\xBE\x62\xBB\x00\x8F", + "\x96\xA1\x21\x24\x00\x91\x96\x77\x96\xAF\x8C\x48\x69\xC7\x00\x87\x96\x71\x16\x32\x00\x9F\x25\x6F\x96\xFC\x94\x9F\x79\x9E\x96\xA3\x15\x42\x00\xA1\x96\x9A\x96\xD9\x93\x12\x67\xE1\x00\xA5\x96\xBD\x21\x52\x00\xA8\x96\x1E\x96\xE0\x93\xBE\x62\xEE\x00\xAD\x96\xF8\x22\x62\x00\xB0\x96\x26\x96\xA9\x82\xBE\x62\xFB\x00\xB5\x96\xBA\x18\x40\x94\x16\x2E\xF6\x95\xD0\x8C\x48\x69\x08\x00\xE2\x08\xE4\x6D\x81\x00\x8A\x96\xA9\x96\xF5\x93\x12\x67\x15\x00\xE2\x08\x74\x6E\xE2\x08\x91\x01\x90\x00\x99\x96\xB1\x96\x0B\x8A\x12\x67\x23\x00\xCD\x96\x7A\x37\xCF\x96\xB4\x54\xD2\x96\xB9\x96\x09\x94\x12\x67\x31\x00\xD7\x96\x57\x05\xD9\x96\x57\x95\xDB\x96\x2D\x96\x24\x90\xFF\x73\xE0\x96\xCC\x3D\xE2\x96\x2A\x57\xE4\x96\x36\x96\x1B\x94\x9D\x66\x4D\x00\xE8\x96\x28\x42\xEA\x96\x5A\x60\xEC\x96\x3E\x96\xF6\x92\x54\x61\x5B\x00\xC5\x96\xA8\x46\xF3\x96\xE1\x66\xC8\x96\x09\x56\x15\x01\x06\x57\xD8\x95\x11\x88\xBA\x18\xE3\x5D\x03\x01\xD6\x62\x60\x95\x31\x94\xFB\x10\x07\x97\x8E\x7C\x6C\x64\x6A\x00\xE2\x08\xFA\x73\xE5\x00\x27\x94\x0B\x56\x12\x93\x5E\x63\x75", + "\x00\x0F\x97\x26\x06\xF2\x00\x12\x97\x0C\x01\x0B\x97\xEE\x95\xD0\x81\xF1\x96\x3D\x17\xF5\x96\x00\x00\x1C\x97\xF7\x95\x0F\x6D\x1F\x97\x79\x63\xDA\x37\xB1\x18\x23\x97\xFF\x95\x5E\x63\x98\x00\x26\x97\xF1\x6A\x28\x97\xD5\x62\x10\x8C\x12\x67\xA4\x00\x2E\x97\xF9\x6A\x30\x97\x13\x97\x46\x89\x54\x61\xB0\x00\x17\x97\xD6\x8A\x14\x95\x23\x97\x17\x96\x48\x69\xBB\x00\x35\x97\xA1\x21\x44\x00\x37\x97\x1B\x97\x1F\x96\xBE\x62\xC7\x00\x43\x97\xB6\x24\x52\x00\x46\x97\x06\x97\x27\x96\x54\x61\xD3\x00\x4B\x97\xDB\x21\x60\x00\x4E\x97\x02\x01\x23\x97\x2F\x96\x1F\x7C\xDF\x00\x53\x97\xE8\x25\x6E\x00\x56\x97\x01\x01\x23\x97\x38\x96\x7E\x11\xEB\x00\x5C\x97\xDE\x26\x7C\x00\x5F\x97\x22\x97\x3F\x96\x9D\x66\xF7\x00\x65\x97\xEE\x26\x8A\x00\x68\x97\x23\x97\x45\x92\x0E\x0F\x03\x00\x47\x09\xE4\x6D\x98\x00\xDA\x37\x7D\x2A\x23\x97\x50\x96\x87\x04\x47\x09\x99\x6F\xA7\x00\x70\x97\x80\x93\xE6\x73\x7D\x97\x26\x06\xB5\x00\x80\x97\xB4\x94\xEF\x73\x47\x09\xFA\x73\xC3\x00\x3E\x97\x63\x96\x9D\x66\x33\x00\x89\x97\x9D\x89\x8C\x97\x6A\x96\xC2\x8A\x75\x97\x26", + "\x06\xDD\x00\xDA\x37\x96\x04\x23\x97\x71\x96\xA7\x64\x95\x97\xF2\x95\x98\x97\x31\x97\x78\x96\x54\x61\x58\x00\x83\x97\x53\x09\xFD\x00\x86\x97\x4A\x77\xAA\x66\x64\x00\xA4\x97\xFB\x10\x0B\x00\xA4\x27\x29\x97\xB3\x93\xB7\x64\x70\x00\x9D\x97\xFB\x10\x19\x00\xA4\x27\x79\x97\x8C\x96\x12\x6E\xAB\x97\x71\x16\x28\x00\xAE\x97\xA0\x97\x84\x82\x32\x65\x89\x00\xBA\x97\x58\x8A\xBD\x97\x38\x97\x9B\x96\x1F\x7C\x95\x00\xB3\x97\xA9\x7A\xA4\x27\x99\x97\xA3\x96\x74\x8F\xC9\x97\xBA\x65\xCB\x97\xBE\x97\xAA\x96\x74\x79\xCF\x97\xBD\x21\x64\x00\xD1\x97\xC5\x97\xD3\x97\x9D\x66\xBC\x00\xD5\x97\x57\x6C\xD8\x97\x47\x97\xBA\x96\x85\x64\xC9\x00\xDD\x97\xBA\x18\xBE\x95\x16\x2E\x23\x97\xC2\x96\x1F\x7C\xD6\x00\xE4\x97\xA1\x21\xD1\x95\xE7\x97\x5A\x8E\x54\x61\xE3\x00\xC2\x97\x01\x01\xEF\x00\x47\x09\x91\x01\xA2\x00\xC4\x97\xE0\x97\xD4\x96\x38\x88\xF3\x97\x00\x00\xFD\x00\xF6\x97\x15\x01\xB0\x00\xF9\x97\x4F\x97\x15\x8A\x6B\x70\xFD\x97\x0B\x00\x0A\x0A\x91\x01\xF9\x95\xA9\x2C\x23\x97\xE5\x92\xBD\x7A\x0A\x0A\x6B\x07\x19\x00\x09\x98\xF5\x58\x03\x98\x57", + "\x97\xEE\x96\x54\x61\x1B\x00\x10\x98\x81\x01\x13\x98\x08\x5A\x15\x98\x60\x97\x33\x8A\x9D\x66\x29\x00\x0A\x0A\x4A\x04\x36\x00\x1C\x98\x3E\x5A\xB6\x97\x51\x56\xA2\x56\x06\x93\x44\x90\xBA\x18\x1E\x56\x01\x97\x08\x97\x88\x8D\x11\x88\x7E\x56\xDE\x91\x34\x0E\x38\x00\x0A\x0A\xFA\x73\xF7\x00\x51\x95\x2A\x98\x1A\x89\xF1\x82\x37\x98\x26\x06\x04\x00\xB5\x96\x7E\x56\x4B\x8A\xDF\x06\x4E\x00\x1A\x98\x7E\x6B\x1E\x27\xB1\x18\x7E\x56\x5C\x90\x3B\x5E\x46\x98\xFB\x10\x1F\x00\x48\x98\x3B\x98\x22\x88\x19\x67\x66\x00\x4D\x98\x71\x16\x2D\x00\x50\x98\xB7\x56\xED\x73\x75\x66\x55\x98\xA3\x15\x3B\x00\x58\x98\x0C\x01\x7E\x56\x39\x93\x34\x0E\x7E\x00\x3E\x98\x53\x09\x49\x00\x41\x98\x6C\x94\x26\x83\x5C\x98\xBD\x21\x56\x00\x5F\x98\x03\x01\x7E\x56\x74\x94\x40\x0A\x95\x00\x6B\x98\xF8\x22\x64\x00\x6E\x98\xAE\x56\x7E\x8A\x12\x67\xA1\x00\x74\x98\xBE\x96\x77\x98\x01\x01\x7E\x56\x59\x97\xEB\x29\xAD\x00\x7C\x98\x63\x7F\x7E\x98\x78\x56\x92\x90\xBE\x62\xB9\x00\x84\x98\xB6\x24\x8E\x00\x86\x98\x7E\x56\x69\x93\x0E\x0F\xC5\x00\x8B\x98\xDB\x21\x9C\x00\x8E", + "\x98\x47\x96\xBE\x62\xD1\x00\x23\x98\xCB\x7D\x1E\x27\x7D\x2A\x7E\x56\x7B\x97\x02\x01\xDE\x00\x93\x98\xE8\x25\xB9\x00\x96\x98\xAC\x94\x09\x69\xA2\x98\xDE\x26\x9D\x96\xA9\x2C\x7E\x56\x88\x93\x56\x85\x65\x98\xFB\x10\xD5\x00\x68\x98\xBA\x8A\x6E\x83\xBD\x37\xFA\x73\xE2\x00\xB2\x98\xC3\x94\x85\x64\x0C\x00\xBD\x37\xE4\x6D\xEF\x00\x1E\x27\x96\x04\x7E\x56\x9B\x97\x19\x00\xBC\x98\x42\x07\xBF\x98\x51\x98\x82\x88\x8B\x89\xBD\x37\x99\x6F\x0F\x00\xE2\x08\x49\x98\xD9\x94\x5E\x63\x32\x00\xCA\x98\x26\x06\x1D\x00\xCD\x98\x51\x98\xE0\x94\xA7\x37\xC4\x98\x53\x09\x2B\x00\xE2\x08\x9D\x98\xB8\x97\x32\x65\x4B\x00\xD2\x98\x53\x09\x3A\x00\xD5\x98\x59\x98\xCC\x89\xAA\x66\x57\x00\xE1\x98\xFB\x10\x48\x00\xE4\x98\x60\x98\xCD\x97\xFC\x44\xD9\x98\xFB\x10\x56\x00\xE2\x08\xC0\x98\xEE\x98\x46\x71\xF0\x98\xEB\x85\xF3\x98\x51\x98\x07\x91\x5E\x63\x7D\x00\xF7\x98\xA3\x15\x76\x00\xF9\x98\xE5\x98\xEB\x89\x19\x67\x8A\x00\xFE\x98\xBD\x21\x86\x00\x01\x99\xED\x98\xE1\x97\xB7\x64\x97\x00\x06\x99\xF8\x22\x96\x00\xDC\x98\x51\x98\xE9\x97\xEB\x29\xA4\x00\x0E", + "\x99\xBA\x18\xA5\x00\x11\x99\x02\x99\x01\x8A\xE2\x71\xE9\x98\x3D\x57\xBD\x37\x91\x01\xB4\x00\xEC\x98\x6F\x98\xD5\x92\x85\x64\xBF\x00\x1D\x99\x31\x85\x1F\x99\xBF\x57\x22\x99\x78\x98\xDD\x96\x32\x65\xCD\x00\x27\x99\x31\x6F\x29\x99\x12\x01\xD0\x00\x2B\x99\x7F\x98\xE6\x96\xB3\x75\x30\x99\x00\x00\xE7\x00\x32\x99\xF6\x84\x35\x99\x87\x98\x4A\x91\x03\x69\x39\x99\xF5\x00\x3C\x99\x2F\x8A\x3E\x99\x7E\x56\x3D\x73\xB7\x64\xF7\x00\x0E\x99\x04\x00\xA1\x0C\x91\x01\xFA\x00\x19\x99\xDC\x62\x1A\x99\x61\x8B\xF8\x22\xD2\x56\x2F\x98\x2B\x98\x5B\x95\xBA\x18\x56\x99\xA0\x43\xAA\x65\x06\x00\xA1\x0C\x68\x95\xE8\x25\x5A\x99\x00\x00\xCA\x8E\x3B\x0B\x09\x00\xA1\x0C\xFE\x17\x0F\x00\xA1\x0C\x18\x61\x61\x99\xFE\x8D\x8C\x5C\x66\x99\x34\x2B\x69\x99\x84\x97\x79\x8B\xD5\x76\x6E\x99\x6A\x62\x70\x99\x53\x09\x61\x99\x86\x91\x40\x0A\x1E\x00\x74\x99\xA9\x0A\x76\x99\xFB\x10\x61\x99\x8E\x91\x0E\x0F\x25\x00\x7C\x99\x03\x01\x2B\x00\x7E\x99\x71\x16\x61\x99\x92\x95\x34\x0E\x2C\x00\x84\x99\xBA\x5B\x87\x99\xA3\x15\x61\x99\x99\x95\xEB\x29\x33\x00\x8D\x99\xEC", + "\x56\x8F\x99\xBD\x21\x61\x99\xA2\x95\x1F\x7C\x3A\x00\x95\x99\x36\x38\x97\x99\xF8\x22\x61\x99\xAA\x95\x3B\x0B\x41\x00\x9D\x99\x47\x00\x9F\x99\x59\x99\x0A\x5A\x6C\x64\x48\x00\x9D\x99\x4E\x00\xA7\x99\x7E\x92\xD2\x8D\xA3\x90\x9D\x99\x55\x00\xAE\x99\xB6\x24\x61\x99\xC2\x95\xBD\x03\x56\x00\x9D\x99\x5C\x00\xB4\x99\xDB\x21\x61\x99\xCD\x91\xDF\x06\x5D\x00\x9D\x99\x63\x00\xBC\x99\x60\x99\xCF\x95\x12\x67\x64\x00\x9D\x99\x6A\x00\xC4\x99\xDE\x26\x7B\x69\xF6\x96\x02\x97\x7D\x70\x02\x01\x20\x57\xEC\x92\x3E\x90\x31\x98\xE6\x7A\x15\x01\xD6\x95\x57\x99\x61\x95\xFB\x10\x4F\x57\x0C\x01\xD2\x99\x30\x98\x03\x97\xA1\x21\xDE\x62\x00\x00\x25\x57\xDF\x99\xD0\x99\x01\x01\x30\x57\x03\x01\x35\x57\xE5\x99\xB0\x47\x4D\x99\x16\x93\x67\x91\x27\x68\xCB\x99\x09\x97\xE9\x99\x69\x59\x32\x65\x6E\x00\xA1\x0C\x0B\x79\xF1\x99\x1C\x61\xEA\x99\x02\x01\x6C\x99\x3B\x0B\x73\x00\xF7\x99\x14\x79\xF9\x99\xCA\x01\xFB\x99\xB4\x84\x6C\x64\x78\x00\x00\x9A\x1D\x79\x02\x9A\xE0\x6B\x83\x95\x7C\x71\x08\x9A\x1B\x4F\x0A\x9A\x12\x01\x04\x9A\x9B\x87\x6C\x64\x82\x00\x0E", + "\x9A\x0B\x50\x10\x9A\x31\x57\x3D\x8D\xA6\x93\x16\x9A\x36\x79\x18\x9A\xF3\x99\xA8\x87\xAA\x66\x8C\x00\x1C\x9A\x16\x65\x1E\x9A\x02\x01\x12\x9A\x9A\x99\xEB\x29\x91\x00\x23\x9A\x46\x79\x25\x9A\x34\x57\xC5\x8D\x23\x6E\x2B\x9A\x9A\x00\x2D\x9A\x00\x00\x12\x9A\xB2\x95\xBD\x03\x9B\x00\x2B\x9A\x9F\x00\x33\x9A\x12\x9A\xBA\x95\x40\x0A\xA0\x00\x2B\x9A\xA4\x00\x3B\x9A\xE5\x86\x81\x80\x2B\x9A\xA9\x00\x42\x9A\xEB\x86\x1E\x6B\x2B\x9A\xAE\x00\x47\x9A\x0C\x01\xD5\x91\x3B\x0B\xAF\x00\x2B\x9A\xB3\x00\x33\x9A\x42\x57\x53\x57\xCF\x99\xC8\x56\xED\x99\x53\x09\x55\x9A\x7A\x87\xAA\x65\xB6\x00\x33\x9A\xBA\x18\x5A\x9A\xF7\x8D\x12\x67\xB7\x00\x2B\x9A\xBB\x00\x33\x9A\x60\x9A\x55\x7B\x6C\x64\xBC\x00\x2B\x9A\xC0\x00\x66\x9A\x72\x99\x78\x73\x2B\x9A\xC5\x00\x6D\x9A\xBC\x84\xAA\x66\xC6\x00\x2B\x9A\xCA\x00\x72\x9A\x80\x8E\x6C\x64\xCB\x00\x2B\x9A\xCF\x00\x78\x9A\xD9\x71\x6C\x64\xD0\x00\x2B\x9A\xD4\x00\x7E\x9A\x02\x01\x92\x99\x7E\x11\xD5\x00\x2B\x9A\xD9\x00\x84\x9A\x31\x6F\x6C\x64\xDA\x00\x2B\x9A\xDE\x00\x8B\x9A\x00\x00\xA2\x99\x40\x0A\xDF\x00\x2B", + "\x9A\xE3\x00\x91\x9A\x36\x9A\xCA\x01\xE4\x00\x2B\x9A\xE8\x00\x91\x9A\x3D\x9A\xDF\x06\xE9\x00\x2B\x9A\xED\x00\x91\x9A\xB7\x99\xCA\x01\xEE\x00\x2B\x9A\xF2\x00\x91\x9A\xBF\x99\xBD\x03\xF3\x00\x2B\x9A\xF7\x00\x91\x9A\x4E\x9A\x40\x0A\xF8\x00\x2B\x9A\xFC\x00\x33\x9A\x5B\x57\xC4\x73\x02\x8A\xA1\x0C\xFA\x73\x09\x00\xDD\x97\xB7\x9A\xF8\x82\xAA\x66\x08\x00\x13\x38\xFA\x73\x16\x00\xBD\x9A\x45\x94\xDF\x06\x13\x00\x13\x38\x99\x6F\x23\x00\x47\x09\xB1\x18\xBE\x9A\x14\x73\x54\x61\x1F\x00\xC9\x9A\xEE\x68\xCC\x9A\xBD\x7F\xFC\x91\xFE\x67\x2B\x00\xD2\x9A\x53\x09\x3F\x00\xD4\x9A\x72\x80\x32\x97\x32\x65\x37\x00\xD9\x9A\xFB\x10\x4D\x00\xDC\x9A\x0C\x01\xCE\x9A\x02\x01\x62\x98\x3B\x0B\x43\x00\xC2\x9A\x26\x06\x5B\x00\xC5\x9A\x76\x90\x5E\x7C\xE1\x9A\x71\x16\x68\x00\xE4\x9A\x03\x01\xE6\x9A\xD6\x84\xAA\x65\x5A\x00\xF1\x9A\xFF\x98\xF4\x9A\x02\x01\xF6\x9A\x0F\x82\x14\x71\xFA\x9A\xBD\x21\x84\x00\xFC\x9A\x01\x01\xFE\x9A\x81\x98\x7E\x11\x72\x00\x01\x9B\xF8\x22\x92\x00\x04\x9B\x00\x00\xFE\x9A\x62\x97\x0E\x0F\x7E\x00\x0A\x9B\xBA\x18\xA0\x00\x0D", + "\x9B\xFE\x9A\x90\x98\x34\x0E\x8A\x00\x13\x9B\xA1\x21\xAE\x00\x16\x9B\x97\x98\x85\x64\x96\x00\x13\x38\xE4\x6D\xDC\x97\x16\x2E\xFE\x9A\x9F\x98\x01\x01\xA3\x00\x1B\x9B\xB6\x24\xCB\x00\x1E\x9B\xA6\x98\xBE\x62\xAF\x00\x2A\x9B\xDB\x21\xD9\x00\x2D\x9B\xB3\x8A\x12\x67\xBB\x00\xEB\x9A\x53\x09\xE7\x00\xEE\x9A\x99\x89\x81\x73\x38\x9B\xFB\x10\xF4\x00\x3B\x9B\x7A\x83\x11\x8C\x22\x9B\x75\x6B\x0A\x0A\x96\x04\xFE\x9A\x9B\x97\xDE\x00\x44\x9B\x7E\x6B\x46\x9B\xD5\x9A\xA1\x97\xBE\x62\xEB\x00\x31\x9B\xE8\x25\x21\x00\x0A\x0A\xCD\x9A\xCF\x98\xFE\x67\xF7\x00\x52\x9B\xDE\x26\x2F\x00\x55\x9B\x4E\x9B\x85\x96\x19\x67\x03\x00\xD1\x0C\xE4\x6D\x3D\x00\x0A\x0A\x7D\x2A\xFE\x9A\xE8\x8A\x8C\x5C\xD1\x0C\x99\x6F\x4C\x00\x5D\x9B\xDD\x9A\xF1\x90\x48\x69\x1C\x00\x6A\x9B\x26\x06\x5A\x00\x6D\x9B\xE5\x9A\xF5\x98\x02\x01\x28\x00\x62\x9B\x26\x06\x68\x00\x4D\x9B\x6E\x9B\xC6\x97\xEB\x29\x35\x00\x7A\x9B\x53\x09\x78\x00\x7D\x9B\x76\x9B\xB2\x96\x85\x64\x42\x00\x82\x9B\xFB\x10\x88\x00\x85\x9B\xF5\x9A\x09\x95\x48\x69\x4F\x00\x8A\x9B\x71\x16\x98\x00\x8D\x9B\xFD", + "\x9A\xE7\x93\x54\x61\x5C\x00\x92\x9B\xA3\x15\xA8\x00\x65\x9B\x5E\x9B\x07\x7B\x19\x67\x69\x00\x9A\x9B\xBD\x21\xB7\x00\x9D\x9B\x7E\x9B\x52\x86\xAA\x65\x76\x00\x72\x9B\x02\x81\xD1\x0C\x91\x01\xC6\x00\x75\x9B\x8E\x9B\x2B\x95\x54\x61\x84\x00\xAA\x9B\x0C\x01\x90\x00\xAC\x9B\x9F\x79\xAF\x9B\x96\x9B\x05\x98\xAA\x66\x92\x00\xB4\x9B\x6A\x6A\xB7\x9B\x1F\x5A\xB9\x9B\x05\x9B\x37\x99\x9D\x66\xA0\x00\xBE\x9B\x02\x01\xAC\x00\xC0\x9B\xB5\x5A\xC2\x9B\x0E\x9B\x17\x98\xBE\x62\xAE\x00\xC7\x9B\xEE\x74\xCA\x9B\x03\x01\xFE\x00\xCC\x9B\xFE\x9A\x48\x99\x5E\x63\xBC\x00\xA2\x9B\x00\x00\xC9\x00\xD3\x9B\x5F\x07\xBD\x37\x7D\x2A\x5D\x57\x8D\x43\x4B\x77\xD1\x0C\x5F\x99\xDE\x26\xE2\x9B\x90\x86\xAA\x66\xCE\x00\xD1\x0C\xFE\x17\xD4\x00\xD1\x0C\x18\x61\xE8\x9B\x98\x86\xAA\x65\xD5\x00\xEC\x9B\x0A\x5A\xEF\x9B\x26\x06\xF1\x9B\x02\x01\x7B\x95\x34\x0E\xDC\x00\xF5\x9B\x1F\x5A\xF7\x9B\x15\x6E\x0C\x9A\x85\x64\xE3\x00\xFE\x9B\x62\x85\x00\x9C\xFB\x10\xF9\x9B\x01\x01\x81\x99\x34\x0E\xEA\x00\x05\x9C\x87\x5A\x07\x9C\x71\x16\x09\x9C\xAF\x8D\x6C\x64\xF1\x00\x0E", + "\x9C\x02\x01\xF7\x00\x10\x9C\xA3\x15\x12\x9C\x86\x9A\x0E\x0F\xF8\x00\x16\x9C\x20\x80\x19\x9C\xBD\x21\x12\x9C\x28\x9A\x51\x12\x1F\x9C\x12\x08\x78\x0B\xF0\x9B\x2F\x9A\x85\x64\x06\x00\x78\x0B\xFE\x17\x0C\x00\x28\x9C\xF8\x9B\xA9\x99\xAA\x65\x0D\x00\x2D\x9C\x22\x03\x30\x9C\x01\x9C\xAC\x60\x5D\x7E\x35\x9C\xBA\x2C\x37\x9C\x08\x9C\x43\x9A\xAA\x66\x1B\x00\x3B\x9C\x9C\x14\x3D\x9C\x11\x9C\xC9\x95\xAA\x66\x22\x00\x42\x9C\xC4\x77\x44\x9C\x1A\x9C\xC6\x99\x40\x96\x49\x9C\x61\x37\x4B\x9C\xBD\x21\xEF\x5D\x12\x9C\x53\x99\xBA\x18\x84\x57\xC4\x8E\x40\x0A\x30\x00\x78\x0B\xE6\x9B\xEE\x26\x84\x57\x63\x99\x40\x0A\x33\x00\x4F\x9C\xEC\x56\x51\x9C\xF8\x22\x84\x57\xFD\x99\x40\x0A\x3A\x00\x62\x9C\x36\x38\x64\x9C\x56\x9C\x6E\x9A\x32\x65\x41\x00\x6A\x9C\x47\x00\x6C\x9C\xA1\x21\x84\x57\x79\x99\xDF\x06\x48\x00\x6A\x9C\x4E\x00\x73\x9C\xB6\x24\x84\x57\x0B\x9C\x3B\x0B\x4F\x00\x6A\x9C\x55\x00\x7B\x9C\xDB\x21\x84\x57\x8A\x99\x3B\x0B\x56\x00\x6A\x9C\x5C\x00\x83\x9C\xE8\x25\x84\x57\x1C\x9C\x34\x0E\x5D\x00\x6A\x9C\x63\x00\x8B\x9C\xDE\x26\x84\x57\x24", + "\x9C\x0E\x0F\x64\x00\x6A\x9C\x6A\x00\x93\x9C\x5D\x9C\x2A\x9C\xB7\x64\x6B\x00\x6A\x9C\x71\x00\x9B\x9C\x1C\x61\x84\x57\x99\x9A\x50\x4B\x6A\x9C\x78\x00\xA2\x9C\xCA\x01\x84\x57\x9F\x9A\xBD\x03\x79\x00\x6A\x9C\x7F\x00\xA9\x9C\xBF\x57\x3F\x9C\x19\x67\x80\x00\x6A\x9C\x86\x00\xB1\x9C\x50\x60\x46\x9C\x2B\x74\x6A\x9C\x8D\x00\xB8\x9C\x9A\x57\x4D\x9C\x9D\x66\x8E\x00\x6A\x9C\x94\x00\xBE\x9C\xD9\x57\xB2\x9C\xD4\x99\xE0\x99\xB6\x24\xF5\x57\x04\x87\x2B\x71\xC5\x9C\x89\x25\xBD\x37\x94\x04\xF5\x57\x0C\x87\xFD\x6D\xCE\x9C\x83\x64\xD0\x9C\xFC\x57\xB6\x66\x4D\x6D\xD5\x9C\x42\x25\xD7\x9C\xFE\x57\x71\x64\x3E\x73\xDB\x9C\x1E\x00\xDD\x9C\xFD\x57\xDF\x7B\x5E\x63\x99\x00\xDB\x9C\x1F\x00\xE3\x9C\xF0\x57\x2A\x87\x85\x64\x9A\x00\xDB\x9C\x20\x00\xEA\x9C\xF2\x57\x79\x66\xAA\x65\x9B\x00\xDB\x9C\x21\x00\xF1\x9C\xF4\x57\x3A\x87\x9B\x88\xDB\x9C\x22\x00\xF8\x9C\xF6\x57\xD5\x67\xBE\x62\x9D\x00\xDB\x9C\x23\x00\xFE\x9C\xF5\x57\x4A\x87\xBD\x03\x9E\x00\xDB\x9C\x24\x00\x05\x9D\xE2\x67\xBE\x62\x9F\x00\xDB\x9C\x25\x00\x0C\x9D\x29\x66\x54\x61\xA0\x00\xDB", + "\x9C\x26\x00\x12\x9D\x1F\x63\x8A\x8C\xDB\x9C\x27\x00\x18\x9D\xC9\x2B\x72\x62\xDB\x9C\x28\x00\x1D\x9D\xD6\x3F\x79\x62\xDB\x9C\x29\x00\x22\x9D\x01\x01\x85\x7C\x40\x0A\xA4\x00\x64\x9C\xA5\x00\x78\x0B\x91\x01\x2A\x00\xFE\x9C\x0F\x58\x64\x95\x6F\x86\x5B\x9C\xE6\x99\x00\x00\x32\x9D\x6B\x95\x12\x67\xAA\x00\x6A\x9C\xB0\x00\xDB\x9C\x38\x9D\x73\x95\x14\x88\x6A\x9C\xB7\x00\x3E\x9D\x6E\x9C\x9D\x66\xB8\x00\x6A\x9C\xBE\x00\x44\x9D\x73\x9A\x19\x67\xBF\x00\x6A\x9C\xC5\x00\x4A\x9D\x79\x9A\xCA\x80\x6A\x9C\xCC\x00\x50\x9D\x7F\x9A\xAA\x65\xCD\x00\x6A\x9C\xD3\x00\x55\x9D\x85\x9A\x6C\x64\xD4\x00\x6A\x9C\xDA\x00\x5B\x9D\x8C\x9A\xAA\x65\xDB\x00\x6A\x9C\xE1\x00\x61\x9D\x92\x9A\xA8\x86\x6A\x9C\xE8\x00\x67\x9D\xA5\x9C\x40\x5A\x6A\x9C\xEF\x00\x67\x9D\xAC\x9C\xCA\x01\xF0\x00\x6A\x9C\xF6\x00\x67\x9D\xA5\x9A\x9C\x5B\x6A\x9C\xFD\x00\x67\x9D\xAB\x9A\xCA\x01\xFE\x00\x6A\x9C\x04\x00\x84\x16\x18\x61\x3F\x9D\xB1\x9A\xDF\x06\x05\x00\x84\x16\xFE\x17\x0B\x00\x82\x9D\x26\x06\x1C\x59\x58\x9C\xDF\x06\x0C\x00\x84\x16\x5C\x9C\x1C\x61\x1C\x59\x5F\x9C\xDF", + "\x06\x0F\x00\x88\x9D\xA3\x2A\x8B\x9D\x53\x09\x1C\x59\x67\x9C\xDF\x06\x16\x00\x98\x9D\xA4\x29\x9A\x9D\x53\x6B\x45\x9D\x54\x61\x1D\x00\xA0\x9D\x14\x33\xA2\x9D\x71\x16\x1C\x59\x76\x9C\xBD\x03\x24\x00\xA7\x9D\x0E\x36\xA9\x9D\x58\x75\x8A\x95\xAA\x65\x2B\x00\xAF\x9D\x38\x26\xB1\x9D\xBD\x21\x1C\x59\x86\x9C\x40\x0A\x32\x00\xB6\x9D\x7F\x37\xB8\x9D\x31\x83\x9D\x91\x9D\x66\x39\x00\xBE\x9D\x5B\x64\xC0\x9D\xBA\x18\x1C\x59\x96\x9C\x34\x0E\x40\x00\xC5\x9D\x46\x00\xC7\x9D\xA1\x21\x1C\x59\x93\x9A\xDF\x06\x47\x00\xC5\x9D\x4D\x00\xCF\x9D\xB6\x24\x1C\x59\x6D\x9D\x2D\x6B\xC5\x9D\x54\x00\xD7\x9D\xDB\x21\x1C\x59\x72\x9D\x27\x41\xC5\x9D\x5B\x00\xDE\x9D\xE8\x25\x1C\x59\x78\x9D\x0D\x03\xC5\x9D\x62\x00\xE5\x9D\xDE\x26\x1C\x59\x7D\x9D\xEE\x44\xC5\x9D\x69\x00\xEC\x9D\xEE\x26\x1C\x59\x85\x9D\xBD\x03\x6A\x00\xC5\x9D\x70\x00\xF3\x9D\x1C\x61\x37\x58\x1C\x59\x55\x9C\xA1\x21\x96\x58\xCC\x9C\x7D\x4A\xFB\x9D\xD3\x63\xFE\x9C\x96\x58\xD3\x9C\x50\x4B\x04\x9E\xC0\x36\x06\x9E\x14\x87\x9D\x66\x73\x00\x0A\x9E\xEC\x19\x0C\x9E\xD9\x7B\xFE\x67\x74\x00\x10", + "\x9E\x7F\x10\x12\x9E\xE5\x9C\xFE\x67\x75\x00\x16\x9E\x51\x37\x18\x9E\xE6\x7B\x48\x69\x76\x00\x1C\x9E\x38\x03\x1E\x9E\xED\x7B\x55\x7D\x22\x9E\x01\x01\x31\x00\x24\x9E\xF3\x7B\x5E\x63\x78\x00\x27\x9E\xE8\x58\x2A\x9E\xF9\x7B\x5E\x63\x79\x00\x2E\x9E\x33\x00\x30\x9E\x07\x9D\xC3\x7B\x2E\x9E\x34\x00\x30\x9E\x52\x87\xBD\x03\x7B\x00\x2E\x9E\x35\x00\x30\x9E\x6E\x7C\xCA\x01\x7C\x00\x2E\x9E\x36\x00\x30\x9E\x74\x7C\x3F\x4F\x2E\x9E\x37\x00\x30\x9E\x17\x7C\xCA\x01\x7E\x00\x2E\x9E\x38\x00\x30\x9E\x7F\x7C\x7E\x11\x7F\x00\x2E\x9E\x39\x00\x30\x9E\x29\x9D\xDF\x06\x80\x00\xC0\x9D\x81\x00\x84\x16\x91\x01\x3A\x00\xFE\x9C\xF8\x5D\x5B\x9A\xE3\x6F\x91\x9D\x36\x9D\x62\x9E\x61\x9A\x32\x65\x86\x00\xC5\x9D\x8C\x00\x2E\x9E\x67\x9E\x68\x9A\x48\x80\xC5\x9D\x93\x00\x6D\x9E\xA4\x9D\xBE\x62\x94\x00\xC5\x9D\x9A\x00\x73\x9E\x4B\x9D\x54\x79\xC5\x9D\xA1\x00\x79\x9E\x51\x9D\xCE\x83\xC5\x9D\xA8\x00\x7E\x9E\x56\x9D\xAA\x66\xA9\x00\xC5\x9D\xAF\x00\x83\x9E\x5C\x9D\xAA\x65\xB0\x00\xC5\x9D\xB6\x00\x89\x9E\x62\x9D\xAA\x66\xB7\x00\xC5\x9D\xBD\x00\x8F\x9E\x68", + "\x9D\x28\x85\xC5\x9D\xC4\x00\x95\x9E\xDA\x9D\x0E\x58\xC5\x9D\xCB\x00\x95\x9E\xE1\x9D\x12\x01\xCC\x00\xC5\x9D\xD2\x00\x95\x9E\xE8\x9D\x7A\x59\xC5\x9D\xD9\x00\x95\x9E\xEF\x9D\x08\x5A\xC5\x9D\xE0\x00\x95\x9E\xF6\x9D\xCA\x01\xE1\x00\xC5\x9D\xE7\x00\x2E\x9E\xF0\x58\xE3\x9B\x6B\x74\x65\x9E\xCA\x70\x00\x00\xB6\x9E\xE9\x9B\x19\x67\xEB\x00\xC5\x9D\xF1\x00\xB5\x9E\xD0\x8E\x85\x64\xF2\x00\xC5\x9D\xF8\x00\xC2\x9E\xD5\x8E\xCD\x73\xC5\x9D\xFF\x00\xC8\x9E\xDB\x8E\xAA\x65\xCD\x39\x42\x64\xD7\x21\xBD\x0C\x18\x61\xBC\x9E\xE1\x8E\x12\x67\x07\x00\xBD\x0C\xFE\x17\x0D\x00\xD3\x9E\xBB\x6E\x1A\x9A\xD3\x75\xD9\x9E\x58\x1D\xDC\x9E\x53\x09\xD5\x9E\x8A\x9E\xAA\x66\x15\x00\xE0\x9E\x51\x2E\xE2\x9E\xFB\x10\xE4\x9E\x90\x9E\x19\x67\x1C\x00\xE8\x9E\x3F\x32\xEA\x9E\x71\x16\xEC\x9E\x96\x9E\xAA\x66\x23\x00\xF0\x9E\xFC\x35\xF2\x9E\xFF\x76\x32\x9C\x20\x8A\xF8\x9E\x38\x03\xFA\x9E\xBD\x21\xF4\x9E\xA0\x9E\xB4\x37\xFE\x9E\x7C\x37\x00\x9F\xB1\x7F\xB3\x9C\x4B\x8C\x05\x9F\xBC\x37\x07\x9F\xBA\x18\xF4\x9E\xAB\x9E\x58\x02\x0B\x9F\x45\x00\x0D\x9F\x86\x6C\xC0", + "\x9C\x54\x61\x46\x00\x0B\x9F\x4C\x00\x14\x9F\x2B\x9B\x55\x58\x34\x94\xF2\x99\xA3\x15\x1A\x59\x96\x58\xFF\x9D\xB6\x24\xF9\x58\xF2\x58\xC8\x9C\x36\x9D\x34\x59\x02\x9E\x4D\x00\x1B\x9F\xDB\x21\x3B\x00\xFE\x9C\x34\x59\x08\x9E\x7F\x3F\x2C\x9F\xE8\x25\x3C\x00\x2F\x9F\x0D\x9E\x90\x70\x33\x9F\xDE\x26\x3D\x00\x36\x9F\x13\x9E\x48\x69\x50\x00\x39\x9F\xEE\x26\x3E\x00\x3C\x9F\x19\x9E\x48\x69\x51\x00\x40\x9F\x1C\x61\x3F\x00\x43\x9F\x1F\x9E\x1F\x7C\x52\x00\x47\x9F\xCA\x01\x40\x00\x4A\x9F\x25\x9E\x32\x65\x53\x00\x4E\x9F\xF6\x38\x51\x9F\x2B\x9E\xB6\x87\x55\x9F\xD7\x1A\x57\x9F\x31\x9E\xFE\x67\x55\x00\x5A\x9F\x87\x21\x5C\x9F\x37\x9E\x5E\x0F\x60\x9F\x5F\x13\x5C\x9F\x3C\x9E\xCA\x01\x57\x00\x65\x9F\xDD\x60\x5C\x9F\x42\x9E\xCB\x41\x6B\x9F\x88\x06\x5C\x9F\x48\x9E\x35\x42\x70\x9F\x51\x3B\x5C\x9F\x4D\x9E\x68\x42\x75\x9F\x48\x00\x5C\x9F\x53\x9E\x82\x8B\x75\x9F\x49\x00\x5C\x9F\x59\x9E\x60\x64\x07\x9F\x5D\x00\xBD\x0C\x91\x01\x4A\x00\xFE\x9C\xF4\x62\x63\x9E\x19\x67\x5F\x00\xBD\x0C\x92\x9D\xCA\x01\x8A\x9F\x68\x9E\x9D\x66\x62\x00\x0B\x9F\x68", + "\x00\x75\x9F\x91\x9F\x6F\x9E\xAA\x66\x69\x00\x0B\x9F\x6F\x00\x97\x9F\x74\x9E\x54\x6C\x0B\x9F\x76\x00\x9E\x9F\x7A\x9E\x32\x65\x77\x00\x0B\x9F\x7D\x00\xA3\x9F\x7F\x9E\x19\x67\x7E\x00\x0B\x9F\x84\x00\xA9\x9F\x84\x9E\x19\x67\x85\x00\x0B\x9F\x8B\x00\xAF\x9F\xE5\x9E\x19\x67\x8C\x00\x0B\x9F\x92\x00\xB5\x9F\xED\x9E\x12\x67\x93\x00\x0B\x9F\x99\x00\xBB\x9F\xF5\x9E\x19\x67\x9A\x00\x0B\x9F\xA0\x00\xC1\x9F\x9B\x9E\x79\x02\x0B\x9F\xA7\x00\xC1\x9F\x03\x9F\x03\x01\xA8\x00\x0B\x9F\xAE\x00\xC1\x9F\xA6\x9E\x2D\x96\x0B\x9F\xB5\x00\xC1\x9F\x10\x9F\x16\x57\x0B\x9F\xBC\x00\xC1\x9F\xB0\x9E\x3B\x57\x0B\x9F\xC3\x00\x75\x9F\x3E\x59\x31\x67\x05\x8C\x75\x9F\xE0\x98\xDA\x61\xE2\x9F\xFE\x63\xCC\x66\x75\x9F\x4C\x00\xFE\x9C\xE8\x9F\xD9\x9C\x74\x9A\x75\x9F\x4D\x00\xED\x9F\x40\x7C\xB2\x72\x75\x9F\x4E\x00\xF3\x9F\x46\x7C\x85\x64\xC8\x00\x75\x9F\x4F\x00\xF8\x9F\x4C\x7C\xE2\x97\x75\x9F\x50\x00\xFE\x9F\x52\x7C\x55\x89\x75\x9F\x51\x00\x03\xA0\x58\x7C\xB7\x64\xCB\x00\x75\x9F\x52\x00\x08\xA0\x13\x2E\x54\x61\xCC\x00\x75\x9F\x53\x00\x0E\xA0\x60\x66\x12", + "\x67\xCD\x00\x75\x9F\x54\x00\x14\xA0\x68\x9F\x2A\x59\x75\x9F\x55\x00\x14\xA0\x6E\x9F\x12\x01\xCF\x00\x75\x9F\x56\x00\x14\xA0\x73\x9F\x0C\x01\xD0\x00\x75\x9F\xE8\x98\xE7\x9F\x40\x69\x98\x98\x75\x9F\x58\x00\x14\xA0\x7D\x9F\x34\x0E\xD2\x00\x75\x9F\x59\x00\x14\xA0\x82\x9F\xCA\x01\xD3\x00\x07\x9F\xD4\x00\x86\x9F\x68\x42\xFE\x9C\x02\x5E\x8E\x9D\xBD\x03\xD6\x00\x75\x9F\xF5\x6E\xF4\x99\x87\x8A\xBD\x0C\x81\x04\xDB\x00\x75\x9F\x02\x5E\x9D\x9D\xBD\x03\xDC\x00\x47\xA0\x14\x5A\x4A\xA0\x9F\x9F\xB7\x64\xE1\x00\x4F\xA0\x30\x5A\x51\xA0\xA4\x9F\x9D\x66\xE6\x00\x55\xA0\x0C\x01\xEA\x00\x57\xA0\xAA\x9F\x12\x67\xEB\x00\x5B\xA0\x7F\x5A\x5E\xA0\xB0\x9F\x24\x8B\x62\xA0\x27\x5E\x64\xA0\xB6\x9F\x12\x67\xF5\x00\x67\xA0\x2C\x5E\x69\xA0\xBC\x9F\x4C\x7E\x6D\xA0\xCC\x8C\x6F\xA0\xC2\x9F\x5E\x91\x72\xA0\x03\x00\xD4\x39\x18\x61\x02\x5E\xC8\x9F\x63\x04\xD4\x39\x09\x7F\x79\xA0\x6E\x7E\xB0\x99\x54\x61\x09\x00\x7E\xA0\xAD\x02\x80\xA0\x1A\x6A\x09\x9F\xD3\x75\x85\xA0\xB1\x2A\x87\xA0\x8D\x92\xBA\x9C\x7D\x90\x8B\xA0\x05\x2C\x8D\xA0\x71\x16\x02\x5E\xDD", + "\x9F\x0D\x21\x91\xA0\x50\x67\x93\xA0\x8A\x6D\x07\x90\xEB\x99\xD0\x70\x99\x9F\x03\x01\xDC\x99\x9D\xA0\xF5\x8D\x5E\x7B\x51\x57\x27\x9F\xBA\x9E\xCE\x59\xE8\x99\xD9\x99\x1F\x9F\xBD\x21\x70\x7B\x42\x57\x23\x9F\xDB\x21\x32\x79\xFE\x9A\xAF\xA0\xE8\x25\x04\x81\xDE\x57\xB3\xA0\xDE\x26\x63\x84\xF5\x57\xB7\xA0\xEE\x26\x2B\x7F\xF4\x58\xA6\xA0\x9E\xA0\xA6\x60\xFA\x58\xBF\xA0\xA3\xA0\x9B\x7B\x25\x9F\x56\x9A\xC0\xA0\xA3\x7B\x34\x59\xBB\xA0\x1C\x61\x4B\x7F\xEE\x9F\xAA\xA0\xD5\x99\x53\x09\xB3\x7B\x9A\x28\x5E\x63\xF0\x70\x5B\x00\xFE\x9C\xB3\x7B\xB2\x70\x23\x26\xAB\xA0\xE7\x04\xFE\x9C\x07\x5E\xDE\x95\xD0\x6D\xD4\x39\xFA\x73\x5D\x00\x0E\x99\xDE\xA0\xE6\x95\x19\x67\x28\x00\xE1\xA0\x26\x06\x6A\x00\xE4\xA0\xC6\x9A\xBD\x03\x33\x00\xD4\x39\xD0\x76\xBD\x37\xB1\x18\xE5\xA0\x34\x8F\x32\x65\x3F\x00\xF0\xA0\x26\x06\x85\x00\xF2\xA0\x14\x5A\xD6\x9A\x48\x69\x4B\x00\xF8\xA0\xD3\x90\xFB\xA0\x18\x5A\xDE\x9A\xEB\x7A\x00\xA1\xFB\x10\xA1\x00\x02\xA1\x0C\x01\xF4\xA0\x65\x94\x15\x74\xE9\xA0\x53\x09\xAF\x00\xEC\xA0\xEF\x9A\xB3\x81\x06\xA1\xF8\x76\x09", + "\xA1\x03\x01\x0B\xA1\x71\x98\xDF\x06\x7A\x00\x14\xA1\xFF\x76\x16\xA1\xBD\x79\x50\x97\xBE\x62\x86\x00\x1C\xA1\x07\x77\x1E\xA1\xC0\x60\x57\x93\xB7\x64\x92\x00\x23\xA1\xF8\x22\xE6\x00\x25\xA1\x00\x00\x0B\xA1\x10\x9B\x34\x0E\x9E\x00\x2A\xA1\xAD\x82\x2D\xA1\x0B\xA1\x18\x9B\x3B\x0B\xAA\x00\x33\xA1\xF8\x61\xA1\x0C\xF3\xA0\x1F\x9B\x9C\x75\xD4\x39\xE4\x6D\x10\x00\xA1\x0C\x7D\x2A\x0B\xA1\x27\x9B\xDF\x57\x3A\xA1\xB6\x24\x1F\x00\x3C\xA1\xFC\xA0\x2E\x9B\x85\x64\xCF\x00\x48\xA1\xDB\x21\x2D\x00\x4B\xA1\x03\xA1\x87\x97\x82\x6A\x0E\xA1\xFB\x10\x3B\x00\xA1\x0C\x4A\x04\x0B\xA1\x90\x93\x0E\x0F\xE6\x00\x57\xA1\x71\x16\xAB\x99\xD8\x17\x0B\xA1\x9B\x97\xF1\x00\x40\xA1\x26\x06\xB3\x99\x9D\x2B\x64\xA1\x8F\x7F\xFE\x00\x67\xA1\x53\x09\x65\x00\xA1\x0C\x96\x04\x0B\xA1\xC8\x98\x7E\x11\x0B\x00\x00\x0D\x99\x6F\x75\x00\x53\xA1\x0A\xA1\x57\x9B\x48\x69\x17\x00\x77\xA1\xCB\x90\x7A\xA1\x17\xA1\xB0\x97\x66\x63\x00\x0D\xE4\x6D\x2A\x9A\x16\x2E\x0B\xA1\x68\x9B\x3B\x0B\x30\x00\x7F\xA1\xE8\x76\x81\xA1\x1F\xA1\x6F\x9B\x1F\x7C\x3C\x00\x8D\xA1\xF0\x76\x8F", + "\xA1\x26\xA1\xA7\x8C\x34\x8A\x85\xA1\x16\x93\x71\xA1\x4C\xA1\x7F\x9B\x7E\x11\x55\x00\x9A\xA1\x53\x09\xCC\x00\x9C\xA1\x54\xA1\xBF\x8C\xFE\x67\x62\x00\xA1\xA1\xFB\x10\xDC\x00\xA4\xA1\x7B\xA1\x87\x9B\xB7\x64\x6F\x00\xA9\xA1\x71\x16\xEC\x00\xAC\xA1\x82\xA1\x0B\x99\x5E\x63\x7C\x00\xB1\xA1\xF8\x7D\x43\xA1\x9D\xA1\x9F\x9B\x5D\x92\xB9\xA1\xBD\x21\x0B\x00\x13\x38\x44\xA1\xF0\x97\x23\x6E\x94\xA1\x88\x55\x00\x0D\x91\x01\x1A\x00\x13\x38\x3D\xA1\xB1\x9B\xBE\x62\xA4\x00\xC6\xA1\xDD\x71\xC8\xA1\xAD\x35\xCB\xA1\xBC\xA1\x65\x86\x12\x67\xB2\x00\xD0\xA1\x01\x01\xBE\x00\xD2\xA1\x77\x25\xD4\xA1\xA5\xA1\xAE\x8D\x54\x61\xC0\x00\xD9\xA1\x07\x59\xDC\xA1\x4D\x07\xDE\xA1\xAD\xA1\x46\x95\xB7\x64\xCE\x00\xE3\xA1\xDA\x00\xE5\xA1\xD8\x72\xE7\xA1\xB5\xA1\x24\x94\xE0\x68\xBF\xA1\x85\x6A\xEE\xA1\xD5\x13\xC2\xA1\x1D\x5A\xEF\x99\x50\x9B\x00\x0D\xEC\x7E\x15\x63\x92\x9F\x54\x61\xEC\x00\x00\x0D\x81\x04\xF0\x00\xFC\xA1\x26\x06\xFE\xA1\x9F\xA0\xB1\x78\x02\xA2\x5F\x5B\x05\xA2\x53\x09\x07\xA2\xA4\xA0\xAA\x65\xF6\x00\x0A\xA2\xAC\x5B\x0C\xA2\xFB\x10\x0E", + "\xA2\xAC\x9D\xCA\x01\xFB\x00\x12\xA2\x19\x01\x14\xA2\x94\x77\xB3\x9D\xAA\x66\xAE\x6E\x3C\x64\x26\x2A\x58\x3B\x18\x61\x0E\xA2\xBB\x9D\x86\x9D\x58\x3B\x29\x67\x23\xA2\x06\xA2\xC2\x9D\x54\x61\x0A\x00\x28\xA2\x8F\x02\x2A\xA2\x0D\xA2\xBF\x8D\x54\x61\x0F\x00\x2F\xA2\x50\x07\x31\xA2\x15\xA2\x9D\x9C\x5E\x63\x14\x00\x36\xA2\x4B\x31\x38\xA2\x1D\xA2\x12\x01\x7C\xA0\x70\x3D\x3D\xA2\xF2\x61\x3F\xA2\xA3\x15\x0E\xA2\xCD\x9F\xBB\x2F\x44\xA2\xFF\x05\x46\xA2\xBD\x21\x0E\xA2\xD3\x9F\x3D\x15\x4B\xA2\xB7\x06\x4D\xA2\xF8\x22\x0E\xA2\xD8\x9F\x78\x9B\x52\xA2\xFD\x36\x54\xA2\xBA\x18\x0E\xA2\x96\xA0\x76\x08\x59\xA2\x31\x00\x5B\xA2\x3F\x83\xFA\xA1\x85\x64\x32\x00\x62\xA2\xDA\x8B\xEE\x5C\xBD\x9E\x12\x67\x33\x00\x59\xA2\x37\x00\x67\xA2\xDB\x21\x69\xA2\xF2\x9B\x39\x78\x59\xA2\x3C\x00\x6F\xA2\xE8\x25\x71\xA2\xFA\x9B\x6C\x64\x3D\x00\x59\xA2\x41\x00\x76\xA2\xDE\x26\x78\xA2\x95\x87\xE6\x78\x59\xA2\x46\x00\x7E\xA2\xEE\x26\x80\xA2\x13\x9A\xAA\x65\x47\x00\x59\xA2\x4B\x00\x85\xA2\x1C\x61\x87\xA2\x26\xA2\xCB\x8A\x59\xA2\x50\x00\x8D\xA2\xCA\x01\x87", + "\xA2\x8E\x9C\x3B\x0B\x51\x00\x59\xA2\x55\x00\x94\xA2\x15\x01\x87\xA2\xCA\x9D\x87\x9C\x59\xA2\x5A\x00\x9C\xA2\x22\x5A\xAD\x91\xAA\x66\x5B\x00\x59\xA2\x5F\x00\xA3\xA2\x0C\x01\x87\xA2\x42\xA2\x60\x00\x59\xA2\x64\x00\xAA\xA2\x03\x01\x87\xA2\x49\xA2\x2C\x28\x59\xA2\x69\x00\xB1\xA2\x02\x01\x87\xA2\x50\xA2\xE6\x67\x59\xA2\x6E\x00\xB8\xA2\x01\x01\x87\xA2\x57\xA2\x15\x49\x59\xA2\x73\x00\xBF\xA2\x00\x00\x87\xA2\x5E\xA2\x95\x4C\x59\xA2\x78\x00\xC6\xA2\xE8\x5C\x8B\x9F\x8F\x8E\xC6\xA2\xBA\x18\xCE\xA2\xFF\xA1\xBE\x62\x7A\x00\x59\xA2\x7E\x00\xCD\xA2\xC3\x9E\xB7\x64\x7F\x00\x59\xA2\x83\x00\xD9\xA2\xC9\x9E\xAA\x66\x84\x00\x59\xA2\x88\x00\xDF\xA2\xCE\x9E\x98\x71\x59\xA2\x8D\x00\xE5\xA2\xD6\x9E\x32\x65\x8E\x00\x59\xA2\x92\x00\xEA\xA2\xE7\x8E\xAA\x65\x93\x00\x59\xA2\x97\x00\xF0\xA2\xEC\x8E\xAA\x65\x98\x00\x59\xA2\x9C\x00\xF6\xA2\xF2\x8E\xAA\x66\x9D\x00\x59\xA2\xA1\x00\xFC\xA2\xD2\x9D\xBD\x03\xA2\x00\x59\xA2\xA6\x00\xFC\xA2\x42\xA2\xA7\x00\x59\xA2\xAB\x00\xFC\xA2\xB4\xA2\x33\x65\x59\xA2\xB0\x00\xFC\xA2\xBB\xA2\x22\x97\x59\xA2\xB5", + "\x00\xFC\xA2\xC2\xA2\x00\x00\xB6\x00\x59\xA2\xBA\x00\xFC\xA2\xC9\xA2\x2F\x57\x59\xA2\xBF\x00\xC6\xA2\x2F\x5A\x90\x43\x2F\x6B\xD1\xA2\xA1\x21\x23\xA3\x68\x59\xAA\x65\xC1\x00\x59\xA2\xC5\x00\x22\xA3\xDA\xA2\x5E\x63\xC6\x00\x59\xA2\xCA\x00\x2E\xA3\xE0\xA2\x19\x67\xCB\x00\x59\xA2\xCF\x00\x34\xA3\xE6\xA2\x19\x67\xD0\x00\x59\xA2\xD4\x00\x3A\xA3\xEB\xA2\x9D\x66\xD5\x00\x59\xA2\xD9\x00\x40\xA3\xF1\xA2\xA2\x73\x59\xA2\xDE\x00\x46\xA3\xF7\xA2\xAA\x73\x59\xA2\xE3\x00\x4B\xA3\xFD\xA2\xA9\x78\x59\xA2\xE8\x00\x50\xA3\x03\xA3\xCA\x01\xE9\x00\x59\xA2\xED\x00\x50\xA3\x42\xA2\xEE\x00\x59\xA2\xF2\x00\x50\xA3\x0E\xA3\xF3\x00\x59\xA2\xF7\x00\x50\xA3\x13\xA3\xF8\x00\x59\xA2\xFC\x00\x50\xA3\x18\xA3\xFD\x00\x59\xA2\x01\x00\x6F\x0B\x18\x61\x28\xA3\xB6\x5E\x6C\x64\x02\x00\x6F\x0B\x74\x7B\x6F\xA3\x26\x06\x0F\x5E\x03\x01\x71\xA3\x84\x79\x2C\x98\xA1\x21\xEE\x73\x34\x98\x3B\x0B\x07\x00\x6F\x0B\xFA\x73\x6F\x00\x4B\x9B\xD8\x70\x14\x97\xFE\x67\x12\x00\x83\xA3\x26\x06\x7C\x00\x86\xA3\x5A\x98\x11\x44\x32\x65\x1D\x00\x6F\x0B\x99\x6F\x89\x00\xF0", + "\xA1\x02\x01\xEE\x73\x4B\x98\x3F\x24\x93\xA3\x26\x06\x97\x00\x96\xA3\x5D\x94\x5C\x8A\x48\x96\x9B\xA3\x76\x92\x9E\xA3\x8C\x85\x31\x93\x3D\x7A\xA2\xA3\xFB\x10\xB3\x00\xA4\xA3\xEE\x73\xE8\x9A\x40\x0A\x4D\x00\x8B\xA3\xB2\x7C\x8E\xA3\x97\xA3\x69\x98\x90\x7C\xA8\xA3\x71\x16\xCE\x00\xAB\xA3\x48\x97\x85\x64\x64\x00\xB6\xA3\xA3\x15\xDC\x00\xB9\xA3\x79\x98\x4B\x86\xBD\xA3\xBD\x21\xEA\x00\xC0\xA3\xAF\x85\xAA\x66\x7C\x00\xC3\xA3\xF8\x22\xF8\x00\xC6\xA3\x75\x7A\xBF\x83\xCA\xA3\xBA\x18\x06\x00\xD1\x0C\xB1\x18\xEE\x73\x37\xA1\x40\x0A\x94\x00\xD0\xA3\xC5\x5E\xD3\xA3\x04\xA1\x72\x97\x34\x0E\xA0\x00\x6F\x0B\xE4\x6D\x22\x00\xD1\x0C\x7D\x2A\xEE\x73\x46\xA1\xAD\x00\xD9\xA3\xB6\x24\x31\x00\xDB\xA3\x42\x8F\x56\x96\x3B\x0B\xB9\x00\xE8\xA3\xDB\x21\x3F\x00\xEB\xA3\x87\xA3\x55\xA1\xBE\x62\xC5\x00\xB0\xA3\xE2\x9A\xDB\x9B\xEE\x73\x5D\xA1\x34\x0E\xD0\x00\xF8\xA3\x71\x16\x5A\x00\xFA\xA3\x96\x93\x85\x64\xDB\x00\xE0\xA3\x2D\x76\xD1\x0C\x96\x04\xEE\x73\x9B\x97\xE8\x00\x06\xA4\x5C\x7B\x08\xA4\x04\xA1\x74\xA1\x4F\x69\xF0\xA3\xE8\x25\x87\x00\xF3", + "\xA3\x8F\xA3\xA8\x97\x19\x67\x01\x00\xDA\x22\x76\x85\x16\xA4\xB3\xA3\x74\x82\xBE\x62\x0D\x00\xDA\x22\xE4\x6D\xA3\x00\xE3\xA3\x04\xA1\x8A\xA1\x40\x0A\x1A\x00\x1B\xA4\x7C\x77\x1D\xA4\x9F\xA3\xBF\x97\x7C\x85\x2A\xA4\x15\x6E\x2C\xA4\xA5\xA3\x9E\xA1\x0E\x0F\x32\x00\x22\xA4\x26\x78\x0F\xA4\x42\x8F\xA7\x92\x9D\x66\x3F\x00\x37\xA4\x53\x09\xDE\x00\x39\xA4\xF4\xA3\xA6\xA1\x48\x69\x4C\x00\x3E\xA4\x7E\x7E\x41\xA4\x17\xA4\xDA\x97\x4D\x7A\x46\xA4\x71\x16\xFE\x00\x48\xA4\x1E\xA4\x15\x8B\x85\x64\x66\x00\x4C\xA4\xA3\x15\x0E\x00\x78\x0B\xE4\xA3\x19\x95\x1F\x7C\x73\x00\x54\xA4\xBD\x21\x1D\x00\x57\xA4\x04\xA1\xCB\x92\x48\x69\x80\x00\x30\xA4\xFD\x50\xDA\x22\x91\x01\x2C\x00\x78\x0B\xD4\xA3\x24\x99\xB7\x64\x8E\x00\x64\xA4\x6D\x53\x66\xA4\xEC\x37\x69\xA4\x04\xA1\xDD\x92\x85\x64\x9C\x00\x6E\xA4\x55\x76\x70\xA4\xE7\x05\x72\xA4\x42\x8F\x0E\x98\x48\x69\xAA\x00\x77\xA4\x01\x01\xB6\x00\x79\xA4\xA0\x0A\x7B\xA4\x42\xA4\xFD\x8C\x83\x6C\x80\xA4\xF6\x57\x83\xA4\x30\x03\x85\xA4\x49\xA4\x51\x8B\x12\x67\xC6\x00\x5C\xA4\x89\x59\x8B\xA4\x02\x01\x72", + "\x00\x5F\xA4\x12\x01\x3A\x5A\x62\x85\x6C\x64\xD5\x00\xDA\x22\xEC\x7E\x99\xA4\x3E\x94\x32\x65\xD6\x00\x9D\xA4\x36\x9D\x9F\xA4\xFA\x43\xAA\x66\xD7\x00\x94\xA4\xBD\x21\x81\x00\x64\x9C\xA5\xA4\xF5\xA0\x9D\x66\xD9\x00\xA9\xA4\xF8\x22\x82\x00\xAC\xA4\xFD\xA0\x1F\x7C\xDB\x00\xB1\xA4\xBA\x18\x83\x00\xB4\xA4\xA6\xA3\xB7\x64\xDD\x00\xB8\xA4\xA1\x21\x84\x00\xBB\xA4\x70\x90\x32\x65\xDF\x00\xA3\xA4\xBA\x9E\xAD\xA4\x15\x92\xAA\x65\xE0\x00\xBF\xA4\x8B\x81\xC2\xA4\x7C\x90\x32\x65\xE2\x00\xCC\xA4\xDB\x21\xB7\x9C\xDA\x61\xC8\xA4\x25\x92\x1F\x7C\xE4\x00\xD2\xA4\x14\xA4\xCE\xA4\xC8\x79\xAA\x65\xE6\x00\xDA\xA4\xDE\x26\x88\x00\xDC\xA4\x4B\x4B\xCA\x79\xE0\xA4\xEE\x26\x89\x00\xE3\xA4\xB5\x69\x16\x75\xE6\xA4\x1C\x61\x8A\x00\xE9\xA4\xDD\xA3\x3B\x0B\xEC\x00\xDA\x22\x15\x68\x8B\x00\x2E\x9D\x39\x5A\x12\x77\x28\x69\xEC\xA4\xCA\x01\xBD\x9C\xD5\xA4\x81\x97\x0C\x67\xFA\xA4\xF3\x5E\xE9\xA4\xAD\x98\xFE\x67\xF3\x00\xC6\xA4\xC0\xA0\xC8\xA4\xFC\xA3\x3B\x0B\xF4\x00\x06\xA5\xA3\xA0\xC8\xA4\x9B\x97\xF5\x00\xF3\xA4\x96\x86\x35\x9D\x98\xA4\x03\xA4\xB7", + "\x64\xF8\x00\x11\xA5\x02\x87\x13\xA5\x0C\x01\xC8\xA4\x11\xA4\x2F\x72\x00\xA5\x56\x5F\xE9\xA4\xDF\x90\x48\x69\xFD\x00\x1F\xA5\x5B\x5F\xE9\xA4\xD7\x98\x2F\x01\x18\xA5\xFB\x10\x97\x00\xF6\xA4\x14\xA5\xCA\x8F\xAA\x66\x02\x00\xEF\x21\x5F\x64\xE7\x9C\xFD\xA4\x91\xA1\xEB\x29\x04\x00\x32\xA5\x70\x8B\xE9\xA4\x3B\xA4\x31\x81\xEF\x21\x15\x68\xF5\x9C\x4B\x61\xC8\xA4\x3C\xA5\xBE\x62\x09\x00\x3E\xA5\xDF\x8D\x1A\xA5\x03\x01\xC8\xA4\xFB\x98\xFE\x67\x0C\x00\x46\xA5\x53\x09\xA1\x00\x48\xA5\x17\x63\xAE\xA1\x5E\x63\x0F\x00\x4E\xA5\xFB\x10\x2B\x9D\x41\xA5\x97\x9B\xBE\x62\x12\x00\x56\xA5\x71\x16\xA7\x00\x2D\xA5\x1B\xA5\x59\xA4\x98\x5C\x5D\xA5\xA3\x15\xA9\x00\x60\xA5\x49\xA5\xC4\xA1\x47\x95\x39\xA5\xBA\x2C\x6B\xA5\x8C\x94\xE9\xA4\x30\x91\x3D\x84\x6D\xA5\x3B\x2F\x72\xA5\xC8\x9B\xE9\xA4\x74\xA4\xB7\x64\x20\x00\x74\xA5\x81\x0B\x7A\xA5\xBF\x62\xE9\xA4\x7D\xA4\x1F\x7C\x24\x00\x7C\xA5\x26\x00\x7C\xA5\xAE\x00\xE9\xA4\x49\x8B\x1E\x92\x7C\xA5\x2A\x00\x7C\xA5\xAF\x00\xE9\xA4\xD8\x9B\xFE\x67\x2C\x00\x64\xA5\x82\x37\x7C\xA5\x3D\x9D\x5A\x64\x35", + "\x6F\x80\xA3\x40\x0A\x31\x00\xEF\x21\x18\x61\xB2\x00\x64\x9C\x35\x6F\x4E\x90\xEB\x29\x32\x00\x9A\xA5\xAB\x7C\x9D\xA5\xED\xA0\x7E\x61\x7C\xA5\xBA\x18\xB4\x00\x67\xA5\x0C\x97\xFE\x87\xE1\x6D\xA7\xA5\xA1\x21\xB6\x00\xAA\xA5\x0A\x93\xA0\xA3\xBE\x62\x37\x00\xAE\xA5\xB6\x24\x47\x9D\x95\xA5\x04\xA1\xE3\x8C\xB6\xA5\xDB\x21\xBA\x00\xB1\xA5\xDD\x8B\x39\x97\xC4\x94\xA2\xA5\x53\x09\xBC\x00\xA4\xA5\x12\xA1\x1F\x6A\xBC\xA5\xE8\x25\xBD\x00\xBF\xA5\x35\x6F\x19\xA1\xBD\x03\x3E\x00\xC9\xA5\xDE\x26\x4D\x9D\xB9\xA5\xC1\xA3\x9D\x66\x40\x00\xD1\xA5\xEE\x26\xC1\x00\xCC\xA5\x27\xA1\x5E\x63\x42\x00\xD8\xA5\x1C\x61\xC3\x00\xDB\xA5\x3C\x8C\x94\x61\xDF\xA5\xCA\x01\x4F\x9D\xD4\xA5\x9A\x90\xFE\x88\xE5\xA5\x55\x58\xE2\xA5\xD7\x6E\x34\x8A\x91\xA5\xF8\x22\xC9\x00\x51\xA5\xB2\xA5\x31\x68\x6C\x64\x4B\x00\xEB\xA5\xA1\x9E\xED\xA5\x5C\x88\x45\x7A\xF8\xA5\x0C\x01\xCE\x00\xFA\xA5\x26\x63\x54\x66\xC3\xA5\xFB\x10\xD0\x00\xC6\xA5\x3C\x9B\x12\x67\x50\x00\x03\xA6\x94\xA0\x06\xA6\x42\x9B\x12\x67\x51\x00\xF0\xA5\xBA\x18\xD2\x00\x78\x0B\x81\x04\x35\x6F\x9B", + "\x97\x54\x00\x10\xA6\xA1\x21\xD6\x00\x13\xA6\x37\x94\x1D\xA5\x3B\x0B\x57\x00\xFD\xA5\xB4\x87\x00\xA6\x81\x6C\x6C\x64\x59\x00\x20\xA6\xA8\x8E\x22\xA6\xE6\x3C\x19\x67\x5B\x00\x18\xA6\xB6\x24\xDE\x00\xF3\xA5\xC0\xA5\xE7\x94\x45\x7D\x26\xA6\x01\x01\x66\x9D\xE8\xA5\x46\x71\x16\x73\x33\xA6\x00\x00\xE3\x00\x28\xA6\x43\xA5\x85\x64\x62\x00\x2C\xA6\xDB\x21\xE5\x00\x1B\xA6\xB8\x9A\x34\xA4\x34\x0E\x65\x00\x40\xA6\xE8\x25\xE9\x00\x43\xA6\x9A\xA4\x53\xA5\xFE\x67\x68\x00\x48\xA6\x1E\x71\x4B\xA6\xDF\xA0\x43\xA4\x1F\x7C\x6B\x00\x50\xA6\xEE\x26\xF1\x00\x52\xA6\xAB\xA5\x51\xA4\xD1\x6E\x57\xA6\x1C\x61\xF5\x00\x2F\xA6\x35\x6F\x13\x99\x7E\x11\x71\x00\x5E\xA6\xCA\x01\xF8\x00\x61\xA6\x69\xA5\xB7\x64\x74\x00\x7C\xA5\x76\x00\x7C\xA5\xFB\x00\x28\xA6\x70\xA5\x2C\x9E\x7C\xA5\x7A\x00\x7C\xA5\x7B\x9D\x36\xA6\xD6\xA1\x82\x66\x7C\xA5\x7E\x00\xA7\xA5\x28\xA6\x7F\xA5\xEB\x29\x80\x00\x7C\xA5\x82\x00\x7C\xA5\x01\x00\x5E\x9E\x37\x94\x87\xA5\x34\x0E\x84\x00\x7C\xA5\x86\x00\x7C\xA5\x03\x00\x86\xA6\x44\xA6\x4F\x95\xBF\x83\xF0\xA5\x8B\x00\x7C\xA5\x87", + "\x9D\x4B\x61\x43\x5A\x3B\x5A\x72\x78\x66\xA6\x26\x06\x5F\x69\x97\xA5\xDF\x06\x90\x00\x0A\xA6\xA3\x15\x08\x00\xC0\x9D\x5F\x69\x9F\xA5\x7E\x11\x91\x00\xA1\xA6\xBD\x21\x09\x00\xA4\xA6\xA5\xA5\xFD\x51\x39\xA6\x0A\x00\x8F\xA6\xBF\x9A\xCF\x9A\x75\x9E\x39\xA6\x90\x9D\x5A\x64\x5F\x69\x2B\x97\xFE\x67\x96\x00\x39\xA6\x0E\x00\xB1\xA6\xA0\xA4\x33\xA4\x19\x67\x98\x00\x39\xA6\x10\x00\xBE\xA6\xE6\xA0\xE7\x9A\x2A\x77\xA9\xA6\xF8\x22\x12\x00\xAC\xA6\xC7\xA5\xB7\x64\x9B\x00\x39\xA6\x13\x00\xC5\xA6\x3C\x98\xCE\x84\x6C\x64\x9D\x00\x39\xA6\x15\x00\xD2\xA6\xE6\x91\xD5\xA5\x6B\x92\x39\xA6\x17\x00\xD9\xA6\x5F\x69\x07\x9B\x0E\x0F\xA1\x00\x39\xA6\x19\x00\xDF\xA6\x88\x98\x85\x64\xA3\x00\x39\xA6\x1B\x00\xE6\xA6\x4F\x83\x32\x77\x39\xA6\xA6\x9D\xB7\xA6\x3E\xA1\x5E\x63\xA7\x00\x9B\xA6\xEE\x08\xB9\x9E\xB2\xA6\x02\x01\x46\xA1\xAA\x00\x39\xA6\x22\x00\xEC\xA6\x65\x83\xAA\x65\xAC\x00\x39\xA6\xAE\x9D\xF1\xA6\xF5\xA3\x85\x64\xAE\x00\xC9\xA6\x45\x68\xCC\xA6\x07\xA6\x74\x79\x08\xA7\x6F\x68\x0A\xA7\x0D\xA6\x32\x65\xB0\x00\xF5\xA6\x0C\x01\x28\x00\x84", + "\x16\x81\x04\x5F\x69\x9B\x97\xB3\x00\x13\xA7\x33\x37\x16\xA7\x3D\x6F\x1D\xA6\x40\x0A\xB6\x00\x39\xA6\x30\x00\xFE\xA6\xAC\x93\xAA\x65\xB8\x00\x39\xA6\xBD\x9D\x04\xA7\x5F\x9B\x12\x67\xBA\x00\x1B\xA7\xCC\x59\xF7\xA6\xBF\xA6\x27\xA4\xDF\x06\xBD\x00\x39\xA6\x37\x00\x24\xA7\xE6\x98\x4C\x9D\x39\xA6\xC4\x9D\x2A\xA7\xF6\x94\x78\x73\x2E\xA7\x91\x17\x1D\xA7\xEE\x87\x45\xA6\x75\x94\x3F\xA7\xC6\x9D\x29\x66\x5F\x69\x4B\xA5\x9C\x96\x45\xA7\x43\x00\x41\xA7\xF8\xA6\x03\x99\x99\x78\x45\xA7\xD4\x9D\x47\xA7\x5A\xA5\x85\x64\xCD\x00\x45\xA7\x4B\x00\x30\xA7\xC6\xA6\xE0\x75\x92\x73\x45\xA7\x4E\x00\x59\xA7\xD3\xA6\x21\x95\x51\x97\x7C\xA5\xD5\x00\x7C\xA5\x51\x00\x37\xA7\x00\x94\x87\x8A\x7C\xA5\xD9\x00\x7C\xA5\x53\x00\x67\xA7\x39\x91\x19\x67\xDB\x00\x7C\xA5\xDD\x00\x7C\xA5\x55\x00\x6E\xA7\x7F\xA6\x7E\x11\xDF\x00\x7C\xA5\xE1\x00\x7C\xA5\x57\x00\x6E\xA7\x88\xA6\x3B\x0B\xE3\x00\x7C\xA5\xE5\x00\x7C\xA5\x59\x00\x6E\xA7\x8E\xA5\x48\x69\xE7\x00\xF0\xA5\xEA\x00\x7C\xA5\xE4\x9D\x4B\x61\x5F\x5A\x3E\x5A\x15\x69\x45\xA7\xC3\x8C\x37\x94\xFA\x89\x0D", + "\xA7\xB6\x24\x5E\x00\xC0\x9D\x9B\x69\xBF\xA6\x6A\x90\x96\xA7\x31\x7E\x99\xA7\xAD\xA6\xEB\x5A\x39\xA6\x60\x00\xD9\xA6\x9A\xA7\x7B\x85\x41\x69\x39\xA6\xEB\x9D\x5A\x64\xA5\xA7\xA1\x88\xAA\x66\xF5\x00\x39\xA6\x64\x00\xA4\xA7\xBA\xA5\xBE\x62\xF7\x00\x39\xA6\x66\x00\xB1\xA7\xC1\xA5\xB7\x6D\x9D\xA7\xE8\x25\x68\x00\x9F\xA7\xCD\xA6\x5E\x63\xFA\x00\x39\xA6\xF2\x9D\xAA\xA7\xBA\xA3\xB7\x64\xFC\x00\x39\xA6\x6B\x00\xB7\xA7\x3C\x75\x8E\x6F\x39\xA6\x6D\x00\xC9\xA7\x2D\x92\x19\x67\xC2\x6F\x10\x2A\x86\x83\xCE\xA7\x95\xA4\x73\xA3\x98\x3D\x5F\x64\x71\x00\xD4\xA7\xD7\x6D\x6C\x64\x04\x00\xD7\xA7\xF2\x85\xDA\xA7\x00\x6F\x5C\x99\x98\x3D\x15\x68\x1B\x9E\x4B\x61\xAB\xA7\x00\x00\x46\xA1\x09\x00\xDE\xA7\x83\x9B\xE0\xA7\xED\xA3\x40\x0A\x0B\x00\xEB\xA7\xFB\x10\x7A\x00\xE0\xA7\x03\xA5\x48\x69\x0D\x00\x98\x3D\x18\x61\x44\x9E\xDA\x61\xE7\xA7\x09\xA5\x40\x0A\x0E\x00\xF8\xA7\xE4\x81\xBD\xA7\xB9\x98\xB7\x64\x0F\x00\xE3\xA7\x97\x74\x4D\xA7\x03\x01\xE7\xA7\x9B\x97\x12\x00\x06\xA8\x53\x09\x82\x00\x08\xA8\x02\x01\xE7\xA7\x1F\xA7\xDF\x06\x15\x00\xF1", + "\xA7\x71\x16\x6A\x9E\xC3\xA7\x7E\x96\xB1\x65\x16\xA8\xF4\x6D\xE0\xA7\x28\xA5\x42\x0D\x0D\xA8\x42\x84\x5F\xA7\x00\x00\xE7\xA7\x32\xA7\xBD\x03\x1C\x00\x1C\xA8\xBD\x21\x8D\x00\xE0\xA7\xC3\x93\xFE\x67\x1E\x00\x29\xA8\xC5\x86\xE0\xA7\x3D\xA6\x78\xA5\x21\xA8\x71\x16\x91\x00\x10\xA8\x01\x01\xE7\xA7\x33\xA8\x66\x63\x35\xA8\xA3\x15\x95\x00\x38\xA8\x24\xA8\x8F\x9B\x1F\x7C\x26\x00\x3D\xA8\xBD\x21\x99\x00\x40\xA8\xE7\xA7\x49\xA7\x1F\x7C\x29\x00\x45\xA8\x4B\x8D\x48\xA8\x54\xA7\xB7\x64\x2C\x00\x4D\xA8\xC8\x8E\x23\xA8\xE7\xA7\x63\xA6\x0E\x0F\x2F\x00\x53\xA8\x0E\x78\x55\xA8\x6A\xA6\xD0\x98\x30\xA8\x34\x00\x30\xA8\xA7\x00\xE0\xA7\x72\xA6\xFE\x67\x36\x00\x30\xA8\x38\x00\x30\xA8\x86\x9E\x19\xA8\x2D\x99\xF2\x8F\x30\xA8\x3C\x00\x30\xA8\xAB\x00\xE0\xA7\x77\xA7\x0E\x0F\x3E\x00\x30\xA8\x40\x00\x30\xA8\xAD\x00\xE0\xA7\x7F\xA7\x40\x0A\x42\x00\x30\xA8\x44\x00\x30\xA8\x88\x9E\x6B\xA8\x91\xA6\x12\x67\x46\x00\x4D\xA8\x49\x00\x30\xA8\xB1\x00\x23\xA8\x75\x5A\x1E\x63\x19\x67\x4B\x00\x5A\xA8\xDA\x8B\x22\x77\xE7\xA7\xCB\xA0\x73\x9D\x44\x61\x9D", + "\x66\x4E\x00\x00\xA8\x53\x09\xB4\x00\xC0\x9D\x97\x5A\x31\x9F\x8F\x1D\x98\xA8\x7F\x99\x9B\xA8\x37\x9F\xBE\x62\x50\x00\x9F\xA8\x71\x16\x8E\x9E\xDA\x61\x97\x5A\x1B\x87\xB7\x64\x51\x00\xA5\xA8\xF0\x91\xA1\xA8\xF9\x9F\xB7\x64\x52\x00\xAD\xA8\xBD\x21\xB8\x00\xAF\xA8\xFF\x9F\xB7\x64\x53\x00\xB3\xA8\xF8\x22\xB9\x00\xB6\xA8\x04\xA0\x19\x67\x54\x00\xBA\xA8\xBA\x18\xBA\x00\xBD\xA8\x09\xA0\x9D\x85\xC1\xA8\xA1\x21\xBB\x00\xC4\xA8\x0F\xA0\xBE\x62\x56\x00\xC7\xA8\xB6\x24\xBC\x00\xCA\xA8\x15\xA0\xF5\x8C\xCE\xA8\xDB\x21\x94\x9E\xA8\xA8\x0D\x9D\x85\x64\x58\x00\xD4\xA8\xE8\x25\xBE\x00\xD1\xA8\x20\xA0\x26\x42\xDB\xA8\xD2\xA5\xD1\xA8\x26\xA0\x38\x15\xE1\xA8\xEE\x26\xC0\x00\xD1\xA8\x78\x9F\x40\x03\xE6\xA8\x1C\x61\xC1\x00\xD1\xA8\x31\xA0\x3B\x0B\x5C\x00\xEC\xA8\xAA\x9C\xD1\xA8\x37\xA0\xE7\x42\xBA\xA8\x5E\x00\x30\xA8\xC3\x00\xC0\x9D\x1F\x5E\xF4\xA5\x19\x67\x60\x00\xF3\xA8\xEE\x57\xFC\xA8\x88\xA3\x48\x69\x61\x00\x01\xA9\xFF\x57\x03\xA9\x90\xA3\x93\x9F\x30\xA8\xC8\x9D\xD9\xA6\xFD\xA8\x24\x97\x92\x64\x0C\xA9\x00\x9E\x0E\xA9\xB5\xA4\xEB", + "\x29\x66\x00\x12\xA9\xB6\x24\xCA\x00\x14\xA9\xBC\xA4\x5E\x63\x68\x00\x18\xA9\xDB\x21\xA2\x9E\x5A\x64\x0F\xA9\xAD\xA3\xDF\x06\x6A\x00\x07\xA9\xFE\xA5\x09\xA9\x41\x93\xD5\x6F\x1F\xA9\xE8\x25\xCF\x00\x1B\xA9\xC1\x84\xF6\x6A\x2C\xA9\xDE\x26\xD1\x00\x2F\xA9\x0D\x74\xFA\x6C\x32\xA9\xEE\x26\xD3\x00\x35\xA9\xDD\xA4\x1B\x89\x38\xA9\x1C\x61\xD5\x00\x3B\xA9\xE4\xA4\xAA\x66\x73\x00\x3E\xA9\xCA\x01\xD7\x00\x41\xA9\xEA\xA4\xC7\x81\x45\xA9\x06\x5A\x48\xA9\xF0\xA4\x40\x0A\x77\x00\x8F\xA8\xDB\x21\xDB\x00\x23\xA8\x0F\xA9\x46\xA1\x7A\x00\x4B\xA9\xEB\x86\x48\xA9\xEE\xA7\xDF\x06\x7C\x00\x58\xA9\x0A\xA1\x48\xA9\xF5\xA7\x1F\x7C\x7E\x00\x27\xA9\xB2\xA2\x29\xA9\xC0\x90\xAA\x66\x7F\x00\x64\xA9\x02\x01\xE3\x00\x66\xA9\x3D\x3F\x8F\x7F\x80\x00\x51\xA9\xD2\x6A\x40\xA8\x0F\xA9\x9B\x97\x83\x00\x71\xA9\xDE\x26\xE8\x00\x73\xA9\xB4\x8F\xAA\x65\x86\x00\x5E\xA9\x2F\x8A\x48\xA9\x22\xA5\xC9\x8B\x7E\xA9\x72\x5A\x48\xA9\x1F\xA8\x89\x18\x77\xA9\xEE\x26\xF0\x00\x54\xA9\xDE\x98\x9D\x66\x8D\x00\x83\xA9\x01\x01\xF3\x00\x48\xA9\x2D\xA8\x48\x69\x8F\x00\x8F", + "\xA9\x87\x5B\x48\xA9\x3B\xA8\xFE\x67\x91\x00\x88\xA9\x1C\x61\xF7\x00\x7A\xA9\x98\xA1\x9D\x66\x94\x00\x9C\xA9\x18\xA2\x9F\xA9\x54\xA6\x2D\x62\xA3\xA9\x20\x01\xA5\xA9\x4A\xA4\x41\x76\xA8\xA9\x14\x23\x72\xA0\x0F\xA9\x11\x95\x40\x0A\x9D\x00\xAD\xA9\x51\x2A\x8E\x9F\xE9\x5A\x62\xA5\x65\x62\xB4\xA9\xB7\x2A\xB6\xA9\xEB\x5A\x5D\xA8\xFE\x67\xA3\x00\x30\xA8\xA5\x00\x30\xA8\xDB\x9E\x22\xA9\x6B\xA4\xF3\xA6\x69\xA8\x30\xA8\x0F\x00\x3C\xA0\xBD\xA9\xBB\x9B\x19\x67\xAB\x00\x78\xA8\x30\xA8\x11\x00\xCB\xA9\xED\x5A\xC4\x9B\x54\x61\xAF\x00\x88\xA8\x30\xA8\x13\x00\xD3\xA9\x6E\x6B\xCE\x9B\x85\x64\xB3\x00\x30\xA8\xB5\x00\x30\xA8\xE7\x9E\xC5\xA9\xF7\x96\xBE\x62\xB7\x00\x4D\xA8\xBA\x00\x30\xA8\x17\x00\xBC\xA9\x01\x5B\x90\xA7\xAA\x65\xBC\x00\xBA\xA9\xA3\x15\xA6\x6D\x9E\xA6\xBD\x03\xBF\x00\x6A\xA9\x12\x21\x07\x9F\xA6\x6D\xA6\xA6\x0E\x0F\xC0\x00\xF7\xA9\x10\x2E\xF9\xA9\xA0\xA7\x66\x57\x96\xA9\xEF\x9E\x5A\x64\xA6\x6D\x99\xA3\xD5\x57\x96\xA9\x1E\x00\xDB\xA9\xC7\xA6\xB3\xA5\xE4\x89\x96\xA9\x20\x00\x0B\xAA\x90\xA9\xB2\xA7\xB2\x72\x96\xA9\x22", + "\x00\x11\xAA\x0C\xA1\x12\x5B\xCC\x7E\xFE\xA9\x24\x00\x00\xAA\xBE\xA7\xFE\x67\xCA\x00\x96\xA9\x25\x00\x17\xAA\xA6\x6D\xCE\xA5\xCA\x01\xCC\x00\x96\xA9\x27\x00\x23\xAA\x20\xA1\x85\x64\xCE\x00\x96\xA9\x29\x00\x2A\xAA\x64\x89\x54\x61\xD0\x00\x96\xA9\x2B\x00\x30\xAA\x3E\x88\x12\x67\xD2\x00\x96\xA9\x2D\x00\x36\xAA\x44\x88\x19\x67\xD4\x00\x96\xA9\x2F\x00\x3C\xAA\x83\x7A\xA1\xA4\xF1\xA9\x28\x9E\xEC\xA9\x19\xAA\x9F\x93\x6C\x64\xD9\x00\x96\xA9\x34\x00\x42\xAA\x7E\x66\x6C\x64\xDB\x00\x96\xA9\x36\x00\x4E\xAA\x00\x00\x61\xA9\xEB\x29\xDD\x00\xFE\xA9\x38\x00\x1D\xAA\x0B\xA7\x9D\x66\xDE\x00\xFE\xA9\x39\x00\x5B\xAA\x10\xA7\x9D\x66\xDF\x00\x45\xAA\x2A\x66\x72\xA0\xA6\x6D\x9B\x97\xE2\x00\x65\xAA\x3E\x00\x67\xAA\x7B\xA9\xAA\x66\xE5\x00\x96\xA9\x42\x00\x54\xAA\x81\xA9\xEB\x29\xE7\x00\x96\xA9\x44\x00\x54\xAA\x86\xA9\x8E\x7C\x65\xAA\x18\x9F\x4B\x61\xA6\x6D\x26\xA8\xCA\x01\xEC\x00\x96\xA9\x49\x00\x54\xAA\x93\xA9\x1F\x7C\xEE\x00\x96\xA9\x4B\x00\x54\xAA\x99\xA9\x48\x69\xF0\x00\x65\xAA\x2B\x9F\x29\x66\xA6\x6D\x8C\xAA\x1F\x7C\xF3\x00\x65", + "\xAA\x46\x9F\x91\xAA\x42\xA8\xEB\x29\xF6\x00\x65\xAA\x5F\x9F\x98\xAA\x4D\xA6\x48\x69\xF9\x00\x65\xAA\x59\x00\x6D\xAA\xB6\xA1\x13\x78\x65\xAA\x85\x9F\x7E\xAA\xB8\xA9\xF2\x16\x65\xAA\x60\x00\x47\xAA\x0C\xAA\x08\x90\xAA\x65\x02\x00\x1F\x3E\xE5\x02\xB3\xAA\xEE\x44\x54\xAA\x64\xA8\x48\x69\x06\x00\xB5\xAA\xC4\x2A\xBB\xAA\xD4\x27\x54\xAA\x77\xA5\xD8\x88\xBD\xAA\x91\x04\xC2\xAA\x02\x01\x67\x00\x54\xAA\x73\xA8\x34\x0E\x0E\x00\xC4\xAA\x6C\x04\xCB\xAA\x00\x00\x9B\x9F\x05\xAA\xDD\xA9\xB7\x64\x12\x00\xCD\xAA\x14\x00\xCD\xAA\x6B\x00\x54\xAA\x87\xA7\x1F\x7C\x16\x00\x1F\x3E\x32\x01\x19\x00\xCD\xAA\x6D\x00\xAE\xAA\x01\x01\x28\x5E\xEE\xA9\x40\x9C\xDC\xAA\x36\x9D\x72\x5B\x8C\xA8\xEA\x72\xCD\xAA\xF0\x70\x30\x63\x5B\xA6\x19\x67\x20\x00\xEB\xAA\xA1\x21\x70\x00\x07\x9F\xED\xAA\x60\xA7\x34\x7F\xF1\xAA\xB6\x24\x71\x00\xF4\xAA\x01\xAA\x8A\x1B\xE6\xAA\x53\x09\x72\x00\x17\xAA\xF5\xAA\x10\xA9\x85\x64\x27\x00\xFE\xAA\xFB\x10\x74\x00\x01\xAB\x15\xA9\x7E\x11\x2A\x00\x06\xAB\x71\x16\xA2\x9F\x5A\x64\x02\xAB\x08\x96\x1E\x8E\x0D\xAB\xA3\x15\x78", + "\x00\x09\xAB\xB8\xA7\xB7\x64\x30\x00\xF8\xAA\xDB\x21\x7A\x00\xFB\xAA\x1E\xAA\x26\x8E\x14\xAB\xBD\x21\x7B\x00\x17\xAB\x30\xA9\x65\x95\x21\xAB\x8D\x8C\x24\xAB\x36\xA9\x39\x78\x27\xAB\xBA\x18\x7F\x00\x29\xAB\x3C\xA9\x52\x8B\x2C\xAB\xA1\x21\x81\x00\x2F\xAB\x42\xA9\xDC\x7A\x32\xAB\xB6\x24\x83\x00\x35\xAB\x49\xA9\x19\x67\x41\x00\x38\xAB\x92\x81\x3B\xAB\x4E\xA9\xDF\x06\x44\x00\x1F\x3E\x6E\x7C\x87\x00\xE1\xAA\x13\x67\xF8\xA4\xEC\x8C\x3F\xAB\x89\x84\x3B\xAB\x5B\xA9\xBD\x03\x4B\x00\x4C\xAB\xDE\x26\xB8\x9F\x10\xAB\x5D\x96\xF1\x6D\x1B\xAB\xE8\x25\x8E\x00\x1E\xAB\x5C\xAA\x8F\x69\x58\xAB\xDE\x26\x8F\x00\x5B\xAB\x62\xAA\xD6\x67\x45\xAB\x26\x06\x90\x00\x72\xA0\x02\xAB\x9B\x97\x56\x00\x64\xAB\x53\x09\x94\x00\x67\xAB\x6E\xAA\xD3\x8A\x52\xAB\xEE\x26\x98\x00\x3B\xAB\x74\xAA\x7E\x11\x5D\x00\x71\xAB\xD9\x95\x3B\xAB\x7A\xAA\x5E\x11\x6B\xAB\xFB\x10\x9C\x00\x48\xAB\x02\xAB\x80\xAA\xB3\x0A\x78\xAB\x52\x8E\x3B\xAB\x86\xAA\xEB\x29\x67\x00\x84\xAB\xB2\x0C\x3B\xAB\x93\xAA\xEB\x29\x6A\x00\x7D\xAB\x71\x16\xA3\x00\x6E\xAB\xA0\xA9\x54\x61\x6E", + "\x00\x90\xAB\xA3\x15\xCB\x9F\x29\x66\x02\xAB\x4A\xA8\xEB\x29\x72\x00\x97\xAB\x20\x83\x93\xAB\xA6\xA9\x7E\x11\x76\x00\x9F\xAB\xF8\x22\xAF\x00\xA1\xAB\xF3\x89\x85\x64\x7A\x00\xA5\xAB\xBA\x18\xB3\x00\x80\xAB\xAA\xAA\x63\x98\xAC\xAB\xAF\xA5\xAF\xAB\x2A\x70\x19\x67\x82\x00\x27\xAB\x85\x00\xCD\xAA\xB9\x00\x3B\xAB\xB8\xAA\x1F\x7C\x87\x00\x27\xAB\x8A\x00\xCD\xAA\xBB\x00\x3B\xAB\xC0\xAA\xFE\x67\x8C\x00\x27\xAB\x8F\x00\xCD\xAA\xBD\x00\x3B\xAB\xC8\xAA\x3B\x0B\x91\x00\x27\xAB\x94\x00\xCD\xAA\xBF\x00\x3B\xAB\x7B\xA8\xDF\x06\x96\x00\x27\xAB\x99\x00\xCD\xAA\xC1\x00\x3B\xAB\xD9\xAA\xEB\x29\x9B\x00\xA5\xAB\x9F\x00\xCD\xAA\xE0\x9F\x4B\x61\xA1\x5B\x4C\xA6\xAA\x66\xA1\x00\x1F\x3E\x18\x61\xC6\x00\x07\x9F\xE5\xAB\x9B\xA7\xBE\x62\xA2\x00\xE9\xAB\x26\x06\xC7\x00\xEC\xAB\xFC\xAA\x40\x8D\x5E\xAB\xEE\x26\xFB\x9F\x5A\x64\xED\xAB\xA6\xA7\xBE\x62\xA5\x00\xF7\xAB\x1C\x61\xCA\x00\x17\xAA\xFB\xAB\xAC\xA7\x19\x67\xA7\x00\xFF\xAB\x26\xAA\x02\xAC\x13\xAA\xCD\x7C\x07\xAC\x1C\xA0\xFA\xAB\x10\x96\xBE\x62\xAB\x00\xF1\xAB\x53\x09\x28\xA0\xDA\x61\x03", + "\xAC\xC9\xA4\xAA\x66\xAC\x00\x0C\xAC\x43\x59\x09\xAC\x78\x8A\x12\x67\xAE\x00\x1A\xAC\x7A\x59\x1C\xAC\xCA\xA7\x12\x67\xB0\x00\x20\xAC\xC2\x59\x22\xAC\xCF\xA7\xD7\xA1\x26\xAC\x2D\x85\x28\xAC\xD5\xA7\xAA\x65\xB4\x00\x2B\xAC\x31\x6F\x2D\xAC\xDB\xA7\x5C\x9A\x31\xAC\xA6\x60\x33\xAC\xE1\xA7\xAA\x66\xB8\x00\x8A\xAB\xF0\x84\x48\xAB\x16\xAC\x46\xA1\xBB\x00\x36\xAC\xE0\x00\x38\xAC\x4F\xAB\xCA\x01\xBD\x00\x36\xAC\xE2\x00\x38\xAC\x56\xAA\x7E\x11\xBF\x00\x12\xAC\xFB\x10\xE4\x00\xF4\xAB\xB3\x98\x9D\x66\xC0\x00\x4E\xAC\x71\x16\xE5\x00\x51\xAC\x03\xA8\x5E\x63\xC1\x00\x3C\xAC\xD8\x70\x72\xA0\x16\xAC\x9B\x97\xC4\x00\x5C\xAC\x03\x01\x5D\xA0\x29\x66\x16\xAC\x13\xA8\xBD\x03\xC7\x00\x36\xAC\xEE\x00\x38\xAC\x75\xAB\x0E\x0F\xC9\x00\x36\xAC\xF0\x00\x38\xAC\x7B\xAB\x00\x00\xCB\x00\x62\xAC\x02\x01\xF2\x00\x3E\xAC\x8C\xA9\x54\x61\xCE\x00\x36\xAC\x6C\xA0\x0E\xAC\x36\xA5\x7E\x11\xD0\x00\x36\xAC\xF7\x00\x38\xAC\x8D\xAB\x94\x8D\x76\xAC\x6E\xA0\x65\xAC\x77\x9B\xE2\x59\x88\xAC\xFE\x97\x5E\xAC\x99\xAA\x7E\x11\xD8\x00\x8D\xAC\x01\x00\x98\xA0\x02", + "\x01\x16\xAC\x9C\xAB\x7E\x11\xDB\x00\x8D\xAC\x05\x00\x95\xAC\x01\x01\x16\xAC\xB1\xA9\xDF\x06\xDE\x00\x8D\xAC\x84\xA0\xE4\xAB\xB0\xAB\x3B\x0B\xE1\x00\x8D\xAC\x0C\x00\xD4\x39\x32\x01\x16\xAC\x61\xA4\xD8\xA4\xCD\xAA\xE6\x00\xCD\xAA\x0F\x00\xD4\x39\x91\x01\x16\xAC\xBD\xAB\x1E\x8F\xCD\xAA\xEA\x00\xCD\xAA\x11\x00\xB4\xAC\xA0\x5B\x34\x95\xAA\x65\xEC\x00\xCD\xAA\xEE\x00\xCD\xAA\x13\x00\xBD\xAC\x9E\x5B\xD5\xA9\xBE\x62\xF0\x00\xCD\xAA\xF2\x00\xCD\xAA\x15\x00\xC6\xAC\x67\x71\xD1\xAA\x5E\x63\xF4\x00\xCD\xAA\xF6\x00\xCD\xAA\x17\x00\xCF\xAC\x03\x01\x97\xAC\x6C\x64\xF8\x00\x27\xAB\xFB\x00\xCD\xAA\x19\x00\xAB\xAC\xA5\x5B\x9C\x5B\x6C\x64\xFD\x00\x8D\xAC\xBA\x18\x2D\x5E\x6F\x71\x6C\x64\x94\x3E\x18\x65\x06\x00\x8C\x3E\x18\x61\xAD\x5B\xD0\xAC\xC3\xA0\xC2\x73\xE6\x5B\xE3\xAC\xAA\x65\x07\x00\xEE\xAC\x36\x9D\xC6\x5B\xF0\xAC\x19\x67\x08\x00\x8C\x3E\x81\x04\x0C\x00\xF8\xAC\x84\x7E\x94\xA7\x20\xA4\x8C\x3E\x15\x68\x1C\x00\xD8\xAC\x02\x01\x33\x63\x4E\xA7\x9D\x66\x10\x00\x05\xAD\x26\x06\x1E\x00\x08\xAD\x32\x63\xF5\xAB\xCF\x0D\xFE\xAC\x26", + "\x06\x20\x00\xE1\xAC\x63\x7B\x4D\x94\x7E\x11\x17\x00\x15\xAD\x53\x09\x23\x00\x18\xAD\x6A\x77\x0A\xAB\x0E\x0F\x1B\x00\x1D\xAD\xFB\x10\x26\x00\x20\xAD\x03\x01\x0A\xAD\x8E\xA4\x32\x65\x1F\x00\x25\xAD\x71\x16\x29\x00\x28\xAD\x09\xAD\x0F\xAC\x85\x64\x23\x00\x0E\xAD\x69\x6F\x11\xAD\x00\x00\x2A\xAD\xFE\x4F\x6C\x64\x26\x00\x2E\xAD\xA3\x15\x2E\x00\x31\xAD\x12\xAD\x1D\xAC\xAC\x7B\x3E\xAD\xBD\x21\x31\x00\x41\xAD\x39\xAD\x2B\xAA\xB7\x64\x2E\x00\x45\xAD\xF8\x22\x34\x00\x48\xAD\x3A\xAD\x67\x8F\xAA\x66\x32\x00\x4D\xAD\xBA\x18\x37\x00\x50\xAD\xE7\xA6\xB7\x64\x36\x00\x55\xAD\x50\x89\x58\xAD\xED\xA6\x12\x67\x3A\x00\x5C\xAD\xD4\x85\x5E\xAD\xEE\xA5\xC2\x8A\x8C\x3E\x3C\x9E\x40\x00\x9D\xAC\x49\xAD\x40\x78\xAA\x65\x43\x00\x62\xAD\xDB\x21\x44\x00\x64\xAD\xFB\xA5\xAA\x66\x47\x00\x6F\xAD\xE8\x25\x47\x00\x72\xAD\x01\xA6\xA6\x67\x36\xAD\xFB\x10\x4A\x00\x38\xAD\x51\xAD\x00\x00\xFD\xA7\x44\x98\x7C\xAD\xD7\x89\x7F\xAD\x15\xA5\x5E\x63\x51\x00\x67\xAD\x26\x06\x4E\x00\xD4\x39\xB6\x03\x80\xAD\x69\xAB\x8A\xAD\x53\x09\x53\x00\x8D\xAD\x15\x01\x80", + "\xAD\x67\xAC\xCA\x01\x5B\x00\x76\xAD\x92\x94\x79\xAD\x23\xA6\xED\x70\x9A\xAD\xEE\x26\x5B\x00\x9C\xAD\x29\xA6\x12\x67\x63\x00\x91\xAD\xEF\x8B\x6A\xAD\x80\xAD\x82\xAB\xA5\x46\x9F\xAD\x1C\x61\x62\x00\xA2\xAD\x87\xAB\x7E\x11\x6C\x00\xAC\xAD\xCA\x01\x65\x00\xA2\xAD\x86\xAC\x0E\x0F\x70\x00\xA6\xAD\xF2\x9A\x94\xAD\x19\xAD\x94\xAB\xBE\x62\x75\x00\xBA\xAD\x30\x79\xBC\xAD\x21\xAD\x9F\xAA\x1F\x7C\x7A\x00\xC1\xAD\xBD\x21\x72\x00\xC3\xAD\x29\xAD\x90\xAC\x0E\x0F\x7F\x00\xC8\xAD\xA1\x7B\xCB\xAD\x32\xAD\xA5\xAA\x48\x69\x84\x00\xD0\xAD\xBA\x18\x7C\x00\xA8\xAD\xA6\xAC\x40\x0A\x89\x00\xD7\xAD\x63\x7F\xDA\xAD\xB5\xAB\x12\x67\x8E\x00\x4D\xAD\x92\x00\x8C\x3E\x91\x01\x84\x00\xA2\xAD\xB7\xAC\x7E\x11\x94\x00\x4D\xAD\x98\x00\xE6\xAD\x77\x50\xA2\xAD\xC5\xAB\x37\x8D\x4D\xAD\x9E\x00\xEF\xAD\x57\x08\xA2\xAD\xCD\xAB\x3E\x9A\x4D\xAD\xA4\x00\xF6\xAD\xB0\x6B\xA2\xAD\xD5\xAB\xBD\x03\xA6\x00\x4D\xAD\xAA\x00\xFD\xAD\x03\x01\x90\x00\xA2\xAD\xDD\xAB\x7E\x11\xAC\x00\xD0\xAD\xB1\x00\x05\xAE\xAC\x7F\x6A\xAD\x35\x5C\x90\xA6\x12\x67\xB3\x00\x0E\xAE\xBD", + "\x21\x97\x00\x38\xAD\x11\xAE\x0B\xAD\x54\x61\xB5\x00\x15\xAE\xF8\x22\x99\x00\x18\xAE\x13\xAD\x00\x00\xB7\x00\x84\xAD\xA3\x15\x9B\x00\x48\xAD\x19\xAE\xB3\xA6\x85\x64\xBA\x00\x24\xAE\xBD\x21\x32\xA1\x4B\x61\x28\xAE\x56\x94\x32\x65\xBD\x00\x2C\xAE\xF8\x22\xA1\x00\x27\xAE\x0A\xAC\x5E\x63\xC0\x00\x34\xAE\xBA\x18\xA4\x00\x37\xAE\x18\xAB\x5E\x63\xC3\x00\x1D\xAE\xBA\x18\xA7\x00\x20\xAE\x1F\xAB\x1F\x7C\xC5\x00\x3B\xAE\xA1\x21\xA9\x00\x3E\xAE\x25\xAB\x12\x67\xC8\x00\x49\xAE\xB6\x24\xAC\x00\x4C\xAE\x2A\xAB\x36\xA3\x50\xAE\xDB\x21\xAF\x00\x53\xAE\x30\xAB\x12\x67\xCE\x00\x56\xAE\xE8\x25\xB2\x00\x59\xAE\x36\xAB\x12\x67\xD1\x00\x5D\xAE\xDE\x26\xB5\x00\x60\xAE\x3C\xAB\x4A\x6E\x64\xAE\xEE\x26\xB8\x00\x67\xAE\x42\xAB\xBD\x03\xD7\x00\xB3\xAD\x15\x01\xBB\x00\x10\xAE\x4A\xAB\xB3\x75\x6A\xAE\x1C\x61\xBF\x00\x67\xAE\x45\xAC\x10\x5A\x77\xAE\xAA\x9C\x67\xAE\x4B\xAC\x0E\x0F\xE1\x00\x42\xAE\xA1\x21\xC5\x00\x45\xAE\x5C\xAB\xFD\x80\x83\xAE\xB6\x24\xC7\x00\x86\xAE\x62\xAB\xBE\x62\xE5\x00\x71\xAE\x6D\x60\xD2\xAD\x20\x80\x87\xAD\xFE\x67\xE9", + "\x00\x90\xAE\xFE\xA5\x92\xAE\xCC\x8C\x6F\xAB\x12\x67\xED\x00\x7D\xAE\x6B\x59\x67\xAE\x6D\xAC\x34\x0E\xF0\x00\x9E\xAE\x25\x73\x67\xAE\x73\xAC\xF3\x00\x97\xAE\xB4\x79\x74\xAE\x2F\xA5\x19\x67\xF7\x00\xA4\xAE\xB1\x60\x67\xAE\xB0\xAD\x0E\x0F\xFA\x00\xAF\xAE\x17\xA1\x67\xAE\xB7\xAD\x34\x0E\xFD\x00\xA9\xAE\x6B\xA9\x99\xAE\x30\xAE\x54\x71\xCB\x75\x07\x3F\x6E\x7C\xE8\x00\xBD\xAE\xCD\xAD\x34\x0E\x05\x00\xC1\xAE\x46\x74\xC4\xAE\xC5\xAD\xEB\x29\x09\x00\xC8\xAE\x53\x09\xF2\x00\xCA\xAE\x5C\xA6\x5E\x63\x0D\x00\xCE\xAE\xFB\x10\xF7\x00\xAB\xAE\x01\x38\x6C\x64\x11\x00\xD5\xAE\x71\x16\xFB\x00\xD8\xAE\xA7\x9B\xE6\x9E\x07\x3F\x32\x01\x18\x00\x07\x3F\x1F\x1A\x67\xAE\xEA\xAD\x0E\x0F\x1A\x00\xE2\xAE\x2D\x25\xE5\xAE\x38\x24\x00\x0D\x32\x01\xBE\xAE\x6F\xA7\x46\x72\xEB\xAE\x1C\x04\xED\xAE\x2E\x0E\xEF\xAE\x34\x5C\xC8\xAC\x85\x64\x24\x00\xF4\xAE\x0D\x02\xF6\xAE\x61\x2A\xF8\xAE\x12\x01\xF1\xAE\x00\xAE\xCA\x01\x29\x00\xFD\xAE\x33\x37\xFF\xAE\x88\x2A\x01\xAF\x0C\x01\xF1\xAE\x09\xAE\x0E\x0F\x2E\x00\xDC\xAE\xBA\x5B\x09\xAF\xEE\x28\x1A\xA2\x72", + "\x5C\x13\x5C\x6C\x64\x34\x00\x07\xAF\xF3\xAC\x5E\x5C\xA3\x02\x6B\x04\x93\x90\x07\x3F\xFE\x17\x3D\x00\x07\x3F\x1F\x61\xB5\x03\x1E\xAF\xBE\x62\x3E\x00\x20\xAF\x28\x06\x23\xAF\x42\x07\xB3\x14\x26\xAF\x7B\x7E\x29\xAF\x74\x6F\x2B\xAF\x3E\x61\x6B\x04\xF4\xA9\xCA\x01\x4C\x00\x13\xAF\xBD\x21\x12\x00\xF6\xA1\x1A\x62\xFB\xA9\x57\x96\x38\xAF\x7C\x62\x3B\xAF\xC3\x62\x43\x98\xBD\x03\x50\x00\x1A\xAF\xBD\x21\x16\x00\x0B\xAF\x01\x2A\x07\xAA\x03\x41\x46\xAF\xF8\x22\x19\x00\x49\xAF\x90\x61\xB9\xA6\x48\x69\x56\x00\x4D\xAF\xBA\x18\x1C\x00\x50\xAF\x1A\x62\x12\xAB\xEB\x29\x59\x00\x55\xAF\x03\x67\x58\xAF\xC3\x62\x24\xA9\x60\x64\x3F\xAF\x80\x67\x41\xAF\xE2\x63\x40\x97\x1F\x7C\x5E\x00\x5D\xAF\xA2\x63\x5F\xAF\xE2\x63\x25\xAA\x32\x0D\x6A\xAF\xDB\x21\x27\x00\x6C\xAF\x6B\x04\xD7\xA4\xEB\x29\x64\x00\x70\xAF\xE8\x25\x2A\x00\x73\xAF\x31\xAA\xAB\x81\x78\xAF\xDE\x26\x2D\x00\x7B\xAF\x37\xAA\x32\x65\x6A\x00\x7E\xAF\xEE\x26\x8C\xA1\x4B\x61\xE2\x63\xD6\xA3\xDF\x06\x6D\x00\x85\xAF\x1C\x61\x33\x00\x81\xAF\x4A\x8C\x4B\x86\x11\xAF\xBD\x21\x36\x00\x15", + "\xAF\x90\x61\x46\xA1\x74\x00\x8D\xAF\xCA\x01\x3A\x00\x90\xAF\x02\x01\x7B\xAE\x12\x01\x77\x00\x9A\xAF\x7F\x03\x9D\xAF\xF4\x97\x2C\x6F\x63\xAF\xA1\x21\x40\x00\x65\xAF\x6B\x04\x82\xAD\xBD\x03\x7C\x00\xA7\xAF\xCA\x69\xAA\xAF\x93\x97\x54\x61\x7E\x00\x93\xAF\xF8\x22\x44\x00\x00\x0D\xB6\x03\xE2\x63\x9B\x97\x82\x00\xB5\xAF\x11\x75\xB8\xAF\xB1\x5D\x4F\x9B\x92\x71\xA2\xAF\x7F\x3F\xA4\xAF\xAA\x51\x42\x68\xC3\xAF\x88\x40\xC5\xAF\x73\xAC\x8C\x00\xBD\xAF\xA1\x21\x54\x00\x96\xAF\x1A\x62\xAA\xAD\xB5\x9B\xC8\xAF\xB1\x41\xC5\xAF\xB2\xAE\x34\x0E\x93\x00\xD4\xAF\x10\x06\xC5\xAF\xB8\xAE\x3B\x0B\x96\x00\xCD\xAF\x97\xA7\xBF\xAF\xF8\x29\xDD\xAF\x40\x0A\x9A\x00\xE0\xAF\xA7\x73\xE2\xAF\x0C\x61\x98\xAC\x0E\x0F\x9E\x00\xE7\xAF\xBB\xA7\xE9\xAF\x01\x2A\xEB\xAF\xCB\x8E\xEE\xAF\x71\x79\xF0\xAF\x90\x61\xA0\xAC\x01\xAE\xF4\xAF\xEE\x26\x72\x00\xD0\xAF\xC3\x62\x57\xA8\x34\x0E\xAA\x00\xFA\xAF\x1C\x61\x76\x00\xFD\xAF\xE2\x63\xAE\xAC\xEB\x29\xAE\x00\x4D\xAF\xB1\x00\x3F\xAF\x7A\x00\xC5\xAF\xE8\xAE\x34\x0E\xB3\x00\x4D\xAF\xB6\x00\x3F\xAF\x7D\x00\xC5", + "\xAF\xF2\xAD\x65\x8D\x4D\xAF\xBB\x00\x3F\xAF\x80\x00\xC5\xAF\xF9\xAD\x33\xA7\x4D\xAF\xC0\x00\x3F\xAF\x83\x00\xC5\xAF\x04\xAF\xBF\x57\x4D\xAF\xC5\x00\x3F\xAF\x86\x00\xC5\xAF\x0E\xAF\x34\x0E\xC7\x00\xB5\xAF\xCB\x00\x3F\xAF\x89\x00\xFD\xAF\x01\x00\x6B\x04\x0B\x5C\x54\x61\xCD\x00\xDA\xAF\xBD\x21\x34\xB0\xA6\x04\x2E\xAF\xB7\x64\xD0\x00\x30\xAF\x80\x8E\x32\xAF\xFB\x10\x3B\xB0\x79\x11\x3D\xB0\x5D\x89\x40\xB0\x03\x01\xDD\x00\x42\xB0\x71\x16\x44\xB0\x09\x26\x46\xB0\xFE\x67\xDE\x00\x48\xB0\x02\x01\xE4\x00\x4B\xB0\xA3\x15\x78\x5C\x12\xAE\x02\x78\xAF\xAF\xDB\x21\x8D\x00\x41\xAF\x57\xB0\x1A\xAE\xBE\x62\xE7\x00\x5A\xB0\xE8\x25\x8F\x00\x5D\xB0\x6B\x04\x43\xAF\x57\xA3\x39\xB0\xAA\x51\x5F\xAF\x5E\xB0\x29\xAE\xB7\x64\xEC\x00\x69\xB0\x94\x00\x6B\xB0\x6B\x04\x52\xAF\x1F\x7C\xEF\x00\x69\xB0\x97\x00\x72\xB0\x1C\xA9\xFE\x67\xF2\x00\x69\xB0\x9A\x00\x79\xB0\xC3\xA4\x9D\x66\xF5\x00\x62\xB0\x7A\x8D\x65\xB0\x46\xAE\xEB\x29\xF7\x00\x69\xB0\x9F\x00\x7F\xB0\xCF\xA4\x9D\x66\xFA\x00\x69\xB0\xA2\x00\x8B\xB0\x83\x90\xAA\x66\xFD\x00\x69\xB0\xA5", + "\x00\x91\xB0\x52\xAD\xD0\xA7\x8D\x1D\x15\x68\xA8\x00\x97\xB0\x00\x00\x30\xA1\x3B\x0B\x03\x00\x9A\xB0\xF2\x87\x9D\xB0\x8A\xAF\xBD\x03\x06\x00\xA2\xB0\x53\x09\xAE\x00\x9D\xB0\x6E\xAE\xCA\x01\x09\x00\x8D\x1D\x6E\x7C\xB1\x00\xFD\xAF\x6C\xB0\xF9\xA6\x83\x74\xA8\xB0\x7F\x99\x9D\xB0\x9F\xAF\x5C\x04\xB6\xB0\x50\x75\x9D\xB0\x80\xAE\xF2\x8D\x8D\x1D\x5F\x64\xBB\x00\x85\xB0\x87\xAE\x85\x64\x15\x00\xC0\xB0\x26\x06\xBD\x00\xC3\xB0\x8D\xAE\x85\x64\x17\x00\xAF\xB0\x26\x06\xBF\x00\xF6\xAF\xE8\x24\x6B\x04\x9B\x97\x1B\x00\xCE\xB0\x53\x09\xC4\x00\xD1\xB0\x2D\x70\x6B\x04\x97\xAD\xCE\x13\xBB\xB0\x1D\x93\x9D\xB0\xA1\xAE\x3B\x0B\x22\x00\xDE\xB0\xBD\x21\xCC\x00\x9D\xB0\x73\xAC\x25\x00\xD6\xB0\xE4\x75\xB2\xB0\x6B\x04\xD2\xAF\xFC\x35\xE4\xB0\x00\x92\x9D\xB0\xD7\xAF\x6C\x67\xF0\xB0\xBA\x18\xD6\x00\x9D\xB0\xE4\xAF\xDF\x06\x2F\x00\xEA\xB0\x71\x16\xD9\x00\xD9\xB0\xB3\xB0\xBF\xAE\xAA\x66\x33\x00\xFC\xB0\xA3\x15\xDE\x00\xFF\xB0\x6B\x04\xF2\xAF\x3B\x0B\x37\x00\x04\xB1\x68\x75\x07\xB1\xCB\xAE\x7E\x11\x3B\x00\x0C\xB1\xF8\x22\xE8\x00\x0E\xB1\xD2", + "\xAE\xFE\x67\x3F\x00\x12\xB1\xC3\x8C\xEC\xB0\x68\x6E\xAA\x66\x43\x00\x19\xB1\xA1\x21\xF1\x00\x1B\xB1\xB0\xAA\x74\xAD\xF0\xB0\x4A\x00\xC7\xB0\x80\x5B\x9D\xB0\x0F\xB0\x3B\x0B\x4C\x00\xF0\xB0\x4F\x00\x27\xB1\x67\x71\x9D\xB0\x17\xB0\xEB\x29\x51\x00\xF0\xB0\x54\x00\x2F\xB1\xE6\x5B\x9D\xB0\x1E\xB0\xB8\x99\xF0\xB0\x59\x00\x37\xB1\x02\x01\xFE\x00\x9D\xB0\x25\xB0\x40\x03\xF0\xB0\x5E\x00\x3E\xB1\xF9\x29\x58\x3B\x32\x01\x00\xB1\x15\x76\xFF\xA8\x12\xB1\x64\x00\x46\xB1\x73\x04\x59\xA2\x03\x00\x35\xB0\x14\x71\xF5\xB0\x0E\x8C\x52\xB1\x3C\xB0\xAA\x65\x69\x00\x8D\x1D\xFE\x17\x6F\x00\x8D\x1D\x58\x61\x6B\x04\x05\x00\x4F\xB0\x48\x69\x70\x00\x5B\xB1\x22\x7A\x5E\xB1\x26\x06\x57\xB1\xD7\x21\x62\xB1\x1F\x7C\x77\x00\x65\xB1\x88\x4E\x67\xB1\x53\x09\x40\x63\x02\xAF\x1E\x9F\xD0\xA0\xFB\x10\x61\xB1\xF8\x29\x93\xA8\x2D\xAF\x13\x28\x6B\xB1\xBB\x81\xA3\xA0\x07\x00\x53\xB1\xEF\x87\x70\xB1\xC0\xA0\x7F\xB1\x58\xB1\x68\xA9\x12\xB1\x83\x00\x82\xB1\x43\x78\x60\xB1\x7C\xB1\x7E\x11\x84\x00\x12\xB1\x88\x00\x89\xB1\xA3\x15\x84\xB1\x6A\xB1\xAA\x65\x89", + "\x00\x12\xB1\x8D\x00\x91\xB1\xBD\x21\x08\x00\x34\xAF\x93\x88\x1F\xB1\xB6\x24\x08\x00\x48\xB1\xB5\x2A\x6B\x04\x3D\xAF\x3B\x0B\x92\x00\x9E\xB1\xDB\x21\x0B\x00\xA1\xB1\xC4\x2A\x66\xB0\x6C\x64\x96\x00\x8D\x1D\x3C\x9E\x0E\x00\x59\xA2\x9B\xB1\xAC\xA5\x85\x64\x9B\x00\xAF\xB1\xAA\x5C\xB2\xB1\x73\xB0\x6C\x64\xA0\x00\xB7\xB1\x53\x09\x16\x00\xB9\xB1\x7A\xB0\x48\x69\xA5\x00\xBD\xB1\xFB\x10\x1A\x00\xC0\xB1\x80\xB0\x54\x61\xAA\x00\xA7\xB1\xE8\x25\x1E\x00\xAA\xB1\x61\x2A\x6B\x04\x67\xAF\x08\xB0\xC4\xB1\x5C\x67\xC7\xB1\x8C\xB0\x54\x61\xB3\x00\xD3\xB1\x32\x72\xD5\xB1\x92\xB0\x73\x76\xD9\xB1\x4E\x86\xDB\xB1\x98\xB0\x12\x67\xBD\x00\xDE\xB1\xF8\x22\x2D\x00\xE0\xB1\x9E\xB0\xA4\x75\xE4\xB1\xBA\x18\x61\xA2\x29\x66\xB3\xB1\xE9\xA5\x9D\x66\xC7\x00\xEA\xB1\xA1\x21\x35\x00\xE7\xB1\xAC\xB0\xF5\x58\x6E\xB1\xFB\x10\x39\x00\x58\x3B\xB6\x03\xEE\xB1\x49\xAA\xAA\x65\xD2\x00\xF2\xB1\xB6\x24\x3E\x00\xE7\xB1\xB9\xB0\xD9\x71\x01\xB2\xDB\x21\x42\x00\xE7\xB1\xBE\xB0\x3B\x0B\xDC\x00\xCB\xB1\xDE\x26\x84\xA2\x4B\x61\xFD\xB1\x4A\x74\xCA\xA4\x0E\xB2\xEE", + "\x26\x49\x00\xCE\xB1\x25\x26\xD3\xB0\x8F\x7F\xE4\x00\xF8\xB1\xD7\x89\x58\x3B\xFE\x17\x12\xB2\x0F\x3F\x8F\x7F\xEA\x00\x1D\xB2\xA3\x15\x52\x00\x1F\xB2\xA2\xB1\xC1\xAF\xB7\x64\xF0\x00\x07\xB2\xE8\x25\x58\x00\xE7\xB1\xE1\xB0\x40\x0A\xF5\x00\x2D\xB2\xDE\x26\x5C\x00\xE7\xB1\x73\xAC\xFA\x00\x25\xB2\xBD\x21\xAE\xA2\x04\x61\x19\xB2\xAC\xAE\x12\x67\x4B\xB1\x3A\x2A\xFB\x10\x65\x00\xE7\xB1\xF3\xB0\x40\x0A\x05\x00\xFE\x3F\x3C\x9E\xB7\xA2\xED\xB1\x6B\x04\xF9\xB0\xBD\x03\x0A\x00\xFE\x3F\x11\x7C\x6D\x00\x28\xB2\xAB\xB1\xBE\xAD\x85\x64\x10\x00\x51\xB2\xF2\x85\x54\xB2\xCF\xB1\x0F\xB1\x0E\x0F\x16\x00\x59\xB2\x53\x09\x79\x00\x5B\xB2\x3E\xB2\xA2\xAB\x11\x7A\x60\xB2\xFB\x10\xDC\xA2\x18\x65\x21\xB2\x0D\x39\x47\x9C\x67\xB2\x5E\x81\xFB\xB1\x29\xB2\xD9\xAE\xE1\x75\x6E\xB2\x52\x84\x70\xB2\x55\xB2\x23\xB1\x0A\x94\x49\xB2\xFC\x0D\xFE\x3F\x91\x01\x8F\x00\xE7\xB1\x2A\xB1\x40\x0A\x35\x00\x7A\xB2\xF4\x59\x7C\xB2\x15\x01\xF3\xA2\x4C\xB2\xCD\xA9\x12\x67\x3C\x00\x83\xB2\x16\x03\x85\xB2\xEF\x88\xE7\xB1\x3A\xB1\xCA\x01\x43\x00\x8C\xB2\x78\x12\x8E", + "\xB2\x3C\x1A\xE7\xB1\x42\xB1\x0A\x3D\x94\xB2\x4C\x14\x96\xB2\x98\x77\xE7\xB1\x2C\xB0\x98\xA2\x74\xB2\x6A\x41\x9D\xB2\x40\x8D\x76\xB2\xA7\x2A\x9C\xB1\x02\x83\xFE\x3F\x9B\xB0\x18\xB2\xC6\x2A\xA3\xB1\x12\x68\xAA\xB2\xF2\x87\xAC\xB2\x28\x2B\xAC\xB1\xED\x70\xFE\x3F\x6E\x7C\xAE\x00\x59\xA2\x43\x63\xB4\xB1\xB7\x64\x63\x00\xB6\xB2\x7C\x77\xB9\xB2\xBA\xB1\xAA\x65\x67\x00\xBE\xB2\x7A\x69\xC0\xB2\xC1\xB1\x55\xA6\xC4\xB2\xFB\x10\x1C\xA3\x29\x66\xBA\xB2\xC8\xB1\xBE\x62\x6F\x00\xB0\xB2\x59\x9A\xB2\xB2\x7B\x2B\xD0\xB1\x75\x66\xC9\xB2\x71\x16\x2B\xA3\xCC\xB2\x6B\x04\x6E\xAF\xC5\x4D\xD7\xB2\xA3\x15\x2D\xA3\xDA\xB2\xDB\xA6\xD5\xA2\xDE\xB2\xBD\x21\xC9\x00\xC6\xB2\xC7\xA3\xAB\x9F\xE4\xB2\xF8\x22\xCD\x00\xE7\xB2\xCE\xA3\xBE\x77\xEA\xB2\xF5\x6E\xED\xB2\xFD\x70\x6C\x64\x86\x00\xF0\xB2\xA1\x21\x43\xA3\xE1\xB2\x65\xAD\x54\x61\x8A\x00\x9B\xB2\xBD\x21\x45\xA3\x3D\xB2\xAD\xB2\x6C\xAD\xAA\x66\x8F\x00\xF6\xB2\x2D\xA6\xF2\xB2\x4F\xAA\xF2\xA2\x05\xB3\x70\xA2\x07\xB3\x55\xAA\x6C\x64\x97\x00\xD1\xB2\x17\x88\xD3\xB2\xCD\xB2\x67\xA9\xC3\x9F\x10", + "\xB3\x71\x16\x58\xA3\x4B\x61\x13\xB3\x6E\xA9\xC2\x71\xFD\xB2\xF8\x22\xEC\x00\x63\xB2\x01\xB3\x59\xAC\xFE\x67\xA2\x00\x1D\xB3\xBF\x93\x20\xB3\xB3\xB2\x2A\xB2\xF3\xA6\x0A\xB3\xE8\x25\x67\xA3\xF9\xB2\x25\xA7\xCB\x6B\x2B\xB3\xDE\x26\x69\xA3\x2E\xB3\xA3\x75\xAA\x65\xAF\x00\x25\xB3\x25\x61\x6F\x0B\xB6\x03\x1A\xB3\x91\x92\x2F\xAC\x31\xB3\xEE\x26\x05\x00\x75\xA3\x75\x2A\x6B\x04\x46\xB2\xDF\x06\xB8\x00\x3F\xB3\x1C\x61\x09\x00\x42\xB3\x86\x2A\x4D\xB2\x8F\x7F\xBC\x00\x38\xB3\xB6\x24\x0D\x00\x6F\x0B\x42\x63\x4D\xB3\x2A\xA3\x50\xB3\xDB\x21\x13\x00\x53\xB3\x43\xB3\x5D\xB2\xD6\x91\x57\xB3\xE8\x25\x19\x00\x5A\xB3\x4C\xB3\x5C\xB3\x3B\x0B\xCB\x00\x5E\xB3\xDE\x26\x1F\x00\x61\xB3\xA7\xB2\xD4\xAD\x1F\x7C\xD0\x00\x66\xB3\xEE\x26\x25\x00\x3A\xB3\x5B\xB3\x72\xB2\x9A\x73\x6E\xB3\xCC\x63\x71\xB3\x62\xB3\x78\xB2\x40\x6B\xEA\xB2\xDE\x00\xA4\xB2\x82\x37\x4B\xB3\x6A\xB3\xFB\x97\x22\x95\xEA\xB2\xE4\x00\x7D\xB3\xD9\x0E\x7F\xB3\xB7\x2A\x6B\x04\x32\xB1\x7E\x11\xE6\x00\xEA\xB2\xEA\x00\x85\xB3\x37\x00\x87\xB3\x21\xB3\xE0\xA1\xF0\x69\xEA\xB2\xF0", + "\x00\x85\xB3\x3B\x00\x91\xB3\x28\xB3\xE9\xA1\x5E\x63\xF2\x00\xEA\xB2\xF6\x00\x85\xB3\x3F\x00\x99\xB3\xD4\xB2\xE5\xA9\x85\x64\xF8\x00\x1D\xB3\xFD\x00\x85\xB3\x43\x00\x77\xB3\x77\x2A\x6B\x04\x09\x00\x8C\xB1\xF2\x16\x16\xB3\x1B\xAF\xB9\x2A\x6B\x04\x12\x00\xAF\xB3\x34\x0E\x02\x00\x78\x40\x20\xB2\x78\x40\x3C\x63\x6B\x04\x13\x00\xB6\xB3\x64\x99\xB9\xB3\x6A\x2A\xBB\xB3\x26\x06\x0B\x00\x6B\x04\x14\x00\xBF\xB3\x40\x0A\x10\x00\xC1\xB3\x6F\x2C\xC3\xB3\x53\x09\xC5\xB3\x24\x2B\xC8\xB3\xDF\x06\x17\x00\xCB\xB3\x0C\x01\x1D\x00\xCD\xB3\x5B\x63\xA8\xB2\xAA\x66\x1E\x00\x78\x40\x15\x68\x48\x00\x6F\x0B\x32\x01\x0C\x00\xAE\xB2\x1D\x7D\xDC\xB3\x26\x06\x4B\x00\xDF\xB3\xA8\x02\xB4\xB2\xAA\x66\x24\x00\x78\x40\x6E\x7C\x4E\x00\xA2\xB3\xE1\xB3\xBB\xB2\x5E\x63\x28\x00\xEC\xB3\xDD\x77\xEF\xB3\xC1\xB2\x80\x87\xF4\xB3\x53\x09\x56\x00\xF6\xB3\xC7\xB2\x38\x5D\xF9\xB3\xFB\x10\x5A\x00\xFC\xB3\xCE\xB2\x85\x64\x34\x00\xE4\xB3\xDA\x69\xE7\xB3\xC8\x02\xD5\xB2\x7F\x69\xFF\xB3\x71\x16\x61\x00\x02\xB4\xD6\xB1\xC4\x94\x0C\xB4\xA3\x15\x65\x00\x0F\xB4\xDC", + "\xB1\xFF\x73\x12\xB4\xBD\x21\x69\x00\x15\xB4\xE1\xB1\x32\x65\x43\x00\x18\xB4\x40\x79\x1B\xB4\xE8\xB1\x89\xA2\x1F\xB4\x8D\x79\x21\xB4\xA5\xB0\xCA\x01\x4B\x00\x24\xB4\xA1\x21\x75\x00\x21\xB4\xF6\xB1\xDE\x3F\x78\x40\x3C\x9E\x79\x00\xAB\xB3\x91\x04\x6B\x04\x46\xA1\x54\x00\x2A\xB4\x51\x7F\x21\xB4\x05\xB2\xD6\x41\x38\xB4\xDB\x21\x82\x00\x21\xB4\x0B\xB2\x40\x0A\x5C\x00\x06\xB4\xFB\x10\x86\x00\x08\xB4\xD9\x02\xAB\xAF\x6C\x64\x5F\x00\x44\xB4\x71\x16\x89\x00\x47\xB4\x34\xB4\xB2\xAF\xFF\x70\x30\xB4\x9C\x84\x69\xB3\x50\xB4\x22\xB3\x48\x69\x67\x00\x53\xB4\x02\x87\x55\xB4\x5F\x07\xDB\xB0\x6C\x64\x6C\x00\x3D\xB4\xFB\x69\x21\xB4\x31\xB2\xDF\x06\x70\x00\x61\xB4\xDE\x26\x9C\x00\x21\xB4\x73\xAC\x74\x00\x5A\xB4\x65\x8E\x33\xB4\x5D\xB4\x3F\xB2\x32\x65\x79\x00\x67\xB4\xEE\x26\xA5\x00\x21\xB4\x45\xB3\xBD\x03\x7D\x00\x74\xB4\x1C\x61\xA9\x00\x21\xB4\x4E\xB2\xCA\x01\x81\x00\x6D\xB4\x90\x95\x5C\xB4\xBE\x0B\x55\xB3\xAA\x66\x86\x00\x82\xB4\xA3\x15\xB3\x00\x84\xB4\x6A\x07\x08\xB1\x8F\x7F\x8B\x00\x89\xB4\xBD\x21\xEF\xA3\x8D\x65\x8E\xB4\x64", + "\x7D\x91\xB4\xF8\x22\xBF\x00\x8C\xB4\xF0\xB3\x16\xB1\x48\x69\x95\x00\x97\xB4\xBA\x18\xF7\xA3\x00\xB3\x85\xB4\x1C\xB1\xC3\x9F\x9F\xB4\x86\x6C\x6F\xB4\xA3\xB4\x79\xB3\x4E\x6F\x1F\xB4\xA3\x00\x78\x40\x91\x01\xCF\x00\x21\xB4\x80\xB2\xDF\x06\xA5\x00\x1F\xB4\xA9\x00\xAE\xB4\x6B\x59\x21\xB4\x8A\xB3\x0E\x0F\xAB\x00\x1F\xB4\xAF\x00\xB7\xB4\xFB\x80\x21\xB4\x91\xB2\xD5\x62\x1F\xB4\xB5\x00\xBF\xB4\xF5\x71\x21\xB4\x99\xB2\x1F\x57\x1F\xB4\xBB\x00\xC6\xB4\xFD\x84\x21\xB4\xA0\xB2\x40\x0A\xBD\x00\x97\xB4\xC2\x00\xCD\xB4\x6B\xA9\xA8\xB4\x93\x02\xAD\xB3\xD1\xB3\xBD\x03\xC4\x00\x4C\xB4\xB2\xB3\xD8\xB4\xB1\x2A\xDA\xB4\xCA\x01\xC7\x00\xD4\xB3\x03\x01\xCD\x00\xD7\xB3\x71\x16\x0D\x00\xBD\xB3\xE1\xB4\x2A\x59\xE4\xB4\xFA\x9B\xE7\xB4\xA3\x15\xE9\xB4\xB3\x2A\xEB\xB4\xB6\x59\xED\xB4\x01\x01\xDB\x00\xEF\xB4\x79\x63\x6B\x04\x15\x00\xF3\xB4\x0C\x01\xDC\x00\xF5\xB4\xC7\xA2\xF8\xB4\x35\x89\xD9\xB3\x19\x67\xE3\x00\xDD\xB4\xBD\x21\x0C\xA4\x4B\x61\x0E\x00\xE2\xB3\xF9\x83\x06\xB5\xF8\x22\xEB\x00\x4F\xB4\xEE\x28\xE9\xB3\xB9\x73\x7B\xB4\xA6\x9A\xA2", + "\xB3\x0A\xB5\xF1\xB3\x18\x96\x14\xB5\xF1\x5A\x16\xB5\xF7\xB3\xFC\x7C\x1A\xB5\xA7\x5B\x1C\xB5\xFD\xB3\x7E\x11\xF5\x00\x1F\xB5\xA9\x5B\x21\xB5\x03\xB4\xB7\x64\xF9\x00\x0D\xB5\xBA\x18\xFE\x00\x10\xB5\x4F\x63\x86\xB0\x7E\x11\xFC\x00\x25\xB5\x3D\x24\xDA\x22\x81\x04\x17\xB5\x4D\xAE\x32\x65\xEA\x40\x13\x9D\xBB\x61\x35\xB5\x8F\x02\x74\xAF\xDC\xA7\xE6\x40\x6E\x7C\x09\x00\x3D\xB5\x99\x02\x6B\x04\xE1\xA6\x34\x0E\x08\x00\x41\xB5\x26\x06\x21\xA4\x29\x66\x37\xB5\xEE\xB2\x32\x65\x0C\x00\x4A\xB5\x7E\x6B\x44\xB5\xCC\x02\x6B\x04\x27\xB4\x7A\x04\x52\xB5\xFB\x10\x15\x00\x54\xB5\xDD\x02\x6B\x04\x2E\xB4\xD2\x2A\xE6\x40\x3C\x9E\x19\x00\xDA\x22\xB6\x03\x4E\xB5\xB4\xB0\xE2\x88\x59\xB5\x71\x16\x1E\x00\x5C\xB5\x11\xB5\x4D\xA1\xB7\x64\x1D\x00\x69\xB5\xA3\x15\x22\x00\x6C\xB5\x2F\xB5\x35\x9B\x32\x65\x21\x00\xE6\x40\x15\x68\x26\x00\x2A\xA5\x5D\xB5\x52\xAC\x69\x61\x79\xB5\x26\x06\x29\x00\x7C\xB5\x6D\xB5\x57\xB4\x1F\x7C\x27\x00\x61\xB5\x6E\x5D\xDA\x22\xFE\x17\x66\xB5\x22\xB2\x25\x7D\x88\xB5\x53\x09\x36\xA4\x18\x65\x8C\xB5\x46\x79\x85\x6E\x71", + "\xB5\xBD\x21\x38\x00\x74\xB5\x2C\x2B\x6B\x04\x64\xB4\xBD\x03\x35\x00\x96\xB5\xF8\x22\x3C\x00\x99\xB5\x93\xB5\x73\xAC\x39\x00\x8F\xB5\xFB\x10\x40\x00\x64\xB5\x3E\xB5\x71\xB4\xC2\x8A\x9F\xB5\xBA\x18\x45\x00\xA2\xB5\x44\xB3\x6C\x64\x42\x00\xAD\xB5\xA1\x21\x49\x00\xB0\xB5\x56\xB2\xB7\x64\x46\x00\xA6\xB5\x71\x16\x4D\x00\x8A\xB5\xAA\xB5\x43\xA7\x40\x0A\x4B\x00\xBB\xB5\xA3\x15\x53\x00\xBE\xB5\x45\xB5\x63\xB3\x40\x0A\x50\x00\xC3\xB5\x0E\x70\xC6\xB5\x55\xB5\xC8\xB5\xDF\x06\x55\x00\xCB\xB5\x51\x92\xCD\xB5\x7D\xB5\x9C\xB4\x1F\x7C\x5A\x00\xD2\xB5\xBA\x18\x65\x00\xA9\xB5\xC7\xB5\x73\xB3\x8C\x9F\xD9\xB5\xA1\x21\x6A\x00\xDC\xB5\xCE\xB5\xAA\xB4\x9D\x66\x64\x00\x9F\xB5\x68\x00\xE6\x40\x09\x68\xB7\xB5\x81\xB3\x54\x61\x6A\x00\x9F\xB5\x6E\x00\xEA\xB5\xE9\x4B\xEC\xB5\xEB\x8C\x4B\x86\x9F\xB5\x74\x00\xF2\xB5\xA0\xAF\xF4\xB5\xB6\x8D\x12\x67\x76\x00\x9F\xB5\x7A\x00\xF9\xB5\x14\x6B\xFB\xB5\x48\x8B\x2A\x73\x9F\xB5\x80\x00\x01\xB6\xBE\x4E\x03\xB6\x41\xB2\x2B\x79\xD2\xB5\x87\x00\x08\xB6\x88\x6A\xE3\xB5\xAE\x2A\xD9\xB4\x95\xB1\x80\xB5\xBA", + "\x9E\x0F\x00\xB4\xB3\xFC\xB4\x48\x51\xE6\x40\xFE\x17\x92\x00\xE6\x40\x18\x61\x17\xB6\x50\x07\x19\xB6\xAC\x7F\x1B\xB6\x3C\x62\x1E\xB6\x26\x06\x20\xB6\xD2\x2A\x22\xB6\x01\x01\x9A\x00\x24\xB6\x73\x55\x26\xB6\x53\x09\x28\xB6\xCF\x29\x2A\xB6\x8B\x0E\x2D\xB6\x3A\x92\x2F\xB6\xFB\x10\x10\x00\x03\xB5\x12\x67\xA8\x00\x15\xB6\x8B\x9B\x83\xB5\x6C\x04\x0B\xB5\xCE\xA9\x3D\xB6\x71\x16\x8B\x00\x3F\xB6\x95\x04\x12\xB5\x1E\xAC\xB4\xB5\x8C\x98\x99\xB5\x39\xB6\x18\xB5\x48\x69\xB2\x00\x4A\xB6\x9E\x6A\x4C\xB6\x1D\xB5\x12\x67\xB6\x00\x51\xB6\xE8\x25\x96\x00\x53\xB6\x22\xB5\x0E\x0F\xBA\x00\x57\xB6\xCE\x8B\x5A\xB6\x28\xB5\x5E\x63\xBE\x00\x43\xB6\xA3\x15\x9E\x00\x46\xB6\x4D\xB6\x2A\xA9\xEA\x77\x5E\xB6\xEE\x26\xA1\x00\x60\xB6\x10\xB4\xE4\x89\x6B\xB6\x1C\x61\xA5\x00\x6E\xB6\x16\xB4\x32\x65\xC9\x00\x71\xB6\xCA\x01\xA9\x00\x74\xB6\x1C\xB4\x9D\x66\xCD\x00\x78\xB6\x03\x56\x7B\xB6\x22\xB4\x8A\x7D\x7F\xB6\x0B\x56\x81\xB6\x57\xB5\xB6\x59\x84\xB6\x05\x57\x81\xB6\x5F\xB5\xB4\x79\xE0\xB5\xB6\x24\xB9\x00\x11\xB6\x4F\x04\x35\xB4\x92\x92\x89\xB6\x03", + "\x01\xBE\x00\x81\xB6\x3B\xB4\xC0\xA2\x95\xB6\x02\x01\xC2\x00\x81\xB6\x41\xB4\xDF\x06\xE6\x00\x64\xB6\xB9\x9D\x67\xB6\x49\xB4\xAA\x65\xE9\x00\xA2\xB6\xF1\xA5\xA4\xB6\x51\xB4\x85\x64\xEC\x00\x8E\xB6\x20\xA9\xD4\xB5\x92\xB6\xAB\xB6\xC0\x86\xAE\xB6\xE8\x25\xD2\x00\xB0\xB6\x40\xB6\x29\xB3\xFE\x67\xF6\x00\x9B\xB6\x34\x85\x81\xB6\x9C\xB5\xCA\x01\xFA\x00\xBC\xB6\x00\x00\xDC\x00\x81\xB6\x73\xAC\xFE\x00\xB4\xB6\xDE\x26\xCB\xA4\x12\x01\x5A\x33\x04\x00\xC3\xA5\x00\x00\x05\x00\x01\x82\x80\x00\x09\x03\x81\x80\x6A\x07\x81\x9F\x7C\x85\x84\x86\x85\x10\x82\x83\x13\x2A\x84\x00\x88\x87\x0E\x91\xA5\x69\x25\x88\x89\x82\x85\x70\x17\x98\x8F\x81\x88\x8B\x02\x8A\x07\x96\x8A\x83\x94\x92\x85\x74\x8E\x29\x9E\x86\x87\x82\x2A\x03\x94\x96\x25\x90\x8B\x08\x93\x80\x83\x9B\x91\x11\xED\x70\x83\x86\x02\x9A\x85\x9A\x3F\x98\xB9\x8A\x80\x0C\x9E\x80\x9F\x07\xAC\xBF\x71\x83\x7B\xA2\x81\xA2\x4C\xB3\x83\x90\x26\x99\xA8\x9D\xA5\x03\x95\x0E\xA1\x80\xAB\x82\xA9\x88\xF9\x56\x81\x98\xA7\x87\x8F\x82\xAE\x49\x99\xA0\xA2\x8A\x0B\xB0\x01\xB2\x02\xE7\x97\x8A\xB0", + "\x04\xB7\x80\xB7\x03\xC1\x22\x80\xA3\xB9\x83\x0E\xBB\x78\x8B\x9F\xAA\x85\x02\x24\xC6\xA3\x07\xC0\x03\xCA\xA5\xC0\x00\x12\xC4\x93\xF2\x8A\x8A\x0E\xC7\x81\xC4\x82\x5A\x82\x9F\x59\xCD\x85\xC8\x01\x14\x76\xAA\x87\x8D\x16\xBD\xAF\x83\x07\x9D\x83\xAA\xDF\xB1\xD1\x80\x50\xD2\x2D\xF3\xAF\x09\xD0\x8B\x19\xD6\x88\x13\x31\xC2\x93\xD2\x80\xC2\x81\x4E\xB8\xD3\x95\xD5\x1C\xDA\x85\x1D\xDF\x0A\x97\x02\xE1\x84\xE1\x82\xE3\x80\x9E\x49\xE6\xDB\x1D\xE7\x83\x1E\xE8\x07\x9B\x13\xE0\x05\xE8\xD2\x85\x50\xDA\x95\xC1\x3D\xE3\x85\x20\xF1\x81\x1F\x63\xE5\xF7\xE0\x00\x29\xF5\xC2\x47\x18\xCA\x8C\x2F\xF2\x83\x11\xF1\x9F\x51\x05\x6C\x00\x09\x03\x8A\x5D\x61\x4E\x36\x53\x03\x7D\x5E\x44\x6A\x42\x80\x0A\x52\x06\x83\x62\x73\x51\x16\x5E\x5F\x02\x57\x16\x5F\x80\x00\x07\x87\x40\x84\x07\x53\x03\x86\x83\x73\x58\x17\x84\x44\x5E\x1B\x8C\x83\x40\x20\x83\x44\x07\x88\x94\x45\x6F\x17\x89\x0A\x65\x1A\x89\x5C\xA5\x50\x4D\x8A\x40\x15\x30\x8A\x67\x5C\x66\x34\x87\x40\x1B\x37\x8D\x81\x8F\x41\x12\x9B\x6E\x8D\x8E\x85\x5E\x86\x58\x85\x4F\xA4\x83\x42\x88\x0A\x4C\x0B", + "\x91\x6E\x60\x4E\x99\x5C\x94\x5B\x92\x92\x43\x8B\x0A\x4E\x07\x96\x72\x4D\x9C\x9A\x62\x97\x67\x87\x91\x5B\x80\xF4\x5A\x99\x4E\x9B\x1D\xA6\x91\x9C\x9A\x00\x16\x03\x81\x81\x38\x98\x9B\x51\x1B\x45\x91\x9A\x99\x97\x7F\x81\x46\x9D\x84\x63\xA6\x6E\x18\x7B\x02\x72\x1D\x9C\xA0\x3F\x83\x43\xA1\x88\x85\x95\x63\x1C\xA2\x01\x77\x1B\xA1\x9A\x8D\x82\x4F\xA2\x8B\x91\x85\x68\x1C\xA5\x00\x3C\x17\xA7\x9C\x81\xB5\x93\x81\x8F\x79\xA4\x93\x5D\x1F\xA0\x81\x23\xA8\x9C\x17\x03\x89\x3B\x8A\x4B\x42\x2A\x7E\x91\x99\x81\x48\x0A\x7C\x10\x71\xAA\x43\x3A\xB4\xB9\x47\x23\xAD\x7E\xB9\xA0\x00\x0B\xBC\x91\x73\x80\x18\xC1\xA5\x4C\x22\x90\xC5\x8C\x97\x40\x0C\x00\xBD\xA3\x82\x18\xCD\x91\x42\x24\xB4\x8C\x92\xB3\x41\x0D\xD5\x8A\xBA\x42\x25\xD9\x90\x48\x24\xB7\x98\x9E\xB2\x42\x0E\xE1\x87\x4E\xAF\x41\xE6\x25\xBA\x42\x27\xE8\xA4\xA6\xB3\x0F\xED\x83\x4F\xBB\x40\xF3\x32\xB7\x40\x29\xC4\x9D\xBA\x9D\x40\x44\x09\xBE\xBB\x80\x85\x3E\xB3\x41\x2A\xF5\xB0\x98\x11\xBE\x02\x7B\xB2\x40\x23\x0A\xC2\x4F\x29\xC3\x72\x8D\x10\xC5\x40\x12\xC1\x4D\x21\xC5\x01\x75\x28\xC4", + "\x9D\x52\x1B\xC0\x01\xC7\x00\x31\x10\xC8\x00\xBB\x23\xC5\xAB\x15\x26\xE8\xC2\x1F\xCA\xC1\x2E\xC6\xB0\x17\x31\xC3\x86\x23\xCA\xC7\x36\xCA\xB9\x40\x61\x39\xCA\x43\x78\xF6\xBF\xC5\x49\x33\x76\x47\x0D\xB2\x19\xE3\x58\x8C\xC7\x80\x7A\x2B\xC4\x36\xCF\x03\xC0\x0C\x1A\xD0\x07\x7B\x1B\xCA\x36\x54\xEA\xA3\x41\x1C\x58\xC3\x4F\x3B\xCA\xE0\x01\xC9\xB9\xD5\x76\x06\xCA\xBF\x80\xF0\x2B\xC5\x3A\xD9\x45\xD5\xDA\x1E\xDA\x11\xC3\x8E\x12\x6B\x02\xDE\xDB\x52\x3A\x49\xCD\xBE\x1F\x78\x4A\xE2\xB7\x43\xDD\xA9\xA6\x61\x3D\xDF\x85\xD0\x45\x20\xE0\xD6\x8A\x45\x27\xCA\xF8\x1D\xD1\x44\x23\x61\xC2\x41\x27\xCA\xFE\x12\xE0\x45\x24\x95\xC1\x4C\x5D\xDC\x7A\xF9\x44\x00\x15\x0A\x41\xE8\xAE\xD1\x96\x0D\xDD\xE3\x41\x09\x49\xE5\x63\x02\xA4\xC7\x4E\xD0\xE8\x11\x5C\x2D\xE4\x00\x21\x6E\xE3\x5D\x04\xB1\xC4\x5D\xB1\x28\xB7\xC8\x57\xE9\xD5\x11\x57\x0D\xEE\x40\xA6\xD1\xB5\xD6\x29\x8C\xC2\xE3\x42\xF0\xCA\xE1\xE5\x4A\x07\xC7\xC1\x49\xF1\xDE\x11\x6D\x2D\xF3\xC1\x0A\x70\x53\xF2\xF4\x11\x65\x05\xF4\x00\xD7\xE7\xD2\xF4\x2D\xDB\xEB\xDD\xF4\xDE\xE6\xE6\x6C\x0B\xF8", + "\xE5\xF4\xE0\x47\x2E\xE9\xF5\xDA\x42\x60\xBA\xE0\x53\x0C\xFC\xCD\x82\x3A\xEA\xF3\x02\x32\x31\xFE\x4B\x2A\x06\xFE\x43\x81\x20\xC8\x1F\x7C\xF7\x07\x23\x35\x03\xA5\x21\x08\xE3\x73\x77\x11\x63\x7C\x7D\x80\x0E\x1F\x76\xB7\x2E\x81\x44\x49\x01\x82\x88\x0F\x0C\x82\x10\x33\x1B\xED\x48\x3A\x82\x88\x11\x0D\x83\x0A\x37\x08\x08\x8A\x28\x1B\xDB\x59\x3D\x84\x0A\x39\x08\x0A\x87\x2F\x0B\x15\x87\x25\x1B\xB7\x68\x3C\x0C\x87\x21\x0D\x19\x83\x27\x0C\x36\x83\x22\x38\x37\x76\x3F\x1D\x83\x21\x0D\x06\x87\x20\x1C\x41\x82\x21\x73\x0A\x83\x20\x19\x12\x57\xCA\x72\x03\x7D\xF2\x30\x4D\x1D\x74\x61\x21\x14\xBF\x5B\x64\x3B\x15\x8D\x59\xF1\x19\x88\x00\x5B\x87\x20\x66\x46\x8A\x20\x7A\x03\x7F\x67\x70\x45\x1E\x93\x64\x8B\x20\xD8\x47\x8D\x40\x7F\x0A\x8D\x66\x7A\x1E\x8D\x03\x44\x5E\x1C\x80\x04\x11\x3A\x8E\x87\x1F\x78\x8A\x21\xBC\x7B\x89\x10\x3F\x9F\x79\x22\x04\x0B\x0B\x63\x0A\x2F\x8C\x81\x3D\x5B\x8F\x8E\x1F\x8A\x03\x89\x0A\x91\x98\x0C\x90\x61\x2B\x72\x12\x21\xD1\x71\x23\x06\x15\x95\x27\x10\x2D\x91\x40\x14\x6B\x8F\x4B\x1B\x90\x7B\x10\x32\x03\x27\xCF", + "\x21\x95\x01\x5F\x63\x8F\x9C\x07\x95\xFB\x3D\x5B\x94\xB2\x2D\x92\x21\x2A\x7B\x8D\x28\x32\x92\x7E\x85\x1C\x05\x96\x77\x37\x97\x41\x33\x6B\x8E\x53\x3C\x90\x4E\x21\x00\x9B\x67\x22\x90\x01\x9D\x7B\x8B\x15\xC7\x92\x4E\x09\x4A\x92\x99\x81\x04\x68\x4E\x11\x30\x16\x0F\xA8\x9A\x21\x15\x00\x9B\x76\xCC\x91\x6B\x1E\xB6\x11\x9A\x3A\x71\x04\x9A\x97\x8A\x22\xD6\x7B\x8B\x17\x72\xA5\x56\x06\xE8\x87\x20\x33\xE3\x6B\x8E\x60\x12\x97\x90\x10\x3B\x04\x30\xE5\x3C\x99\xB6\x7B\x8C\x18\xF7\x9C\x90\x44\x3F\x0B\x9F\x6A\x82\x24\x70\xF8\x85\x30\x32\x5B\x93\x96\x85\x03\x08\x98\xF1\x6C\x98\x42\x82\xA5\x30\x67\x0C\xA5\x97\x07\x2A\x08\x44\x86\xA1\x21\xC7\x7B\x8C\x1A\xEE\x86\x59\x14\x71\x90\x8B\x01\x57\x73\x8F\xD9\x01\xA6\xD1\x56\x04\xA4\x81\x0C\x9F\x73\xD8\x90\x22\x37\x17\xA0\x4F\x2D\x1F\x9C\xA3\x00\x0D\x75\x42\xF3\x24\x1C\x95\x95\x69\x0C\x2D\xBA\x8B\x80\x39\x7B\xA6\xB0\x29\x1E\xA7\xD2\x66\x0D\x50\xE3\x83\x40\xE8\x5C\x9B\x2E\xEE\x14\xA6\x9C\x6B\x0B\xA3\x74\xB4\x25\x82\x31\xAA\x20\x3D\x52\xA4\x4E\x39\x15\xAA\x9E\x03\x5E\x78\x45\xF3\x2A\x1E\xAE", + "\xA5\x51\x0F\x5F\xA5\xA7\xFA\x7B\x80\x01\x2A\x0A\x23\x76\x70\x40\x11\x5A\xAE\xA3\x40\xFC\x45\xAB\x29\x06\x0E\xAE\xEC\x4D\x57\x11\x9B\x96\xAB\x20\x02\x97\xAD\x4E\x0C\x0A\xAE\xDF\x4E\x85\x11\x7E\xA0\xAE\x42\x0D\x82\xB1\x92\x12\x05\xB0\xAC\x91\x38\x64\x81\x25\x82\x00\x13\x13\xA9\xCC\x99\x81\x63\x91\x29\x03\xC9\x81\x9A\x21\x1E\x1E\xB1\x65\x98\x18\xB3\x01\x64\x83\xB3\x10\x20\x06\x67\x9F\x35\x04\xD1\x90\x25\x13\xA5\xB3\x5F\xCA\x27\x0B\xB4\x88\x2C\x06\xB5\x0A\x22\x15\x6C\x87\x2A\x86\xD4\x8A\x26\x05\xB5\xAA\x23\x0C\x38\xB7\x21\x53\x3B\xB3\x2B\x2B\x75\x06\x67\xB3\x7B\x06\xE2\x83\x24\x15\x89\xA3\x22\x06\x03\x48\x03\x4E\x73\x2D\x07\x9E\xAB\x43\x1F\xF2\x43\xBA\x85\x1D\x06\xBA\x60\x20\x0B\x72\x90\x26\x08\xCF\x9C\x40\x4E\xDD\xA7\x22\x07\x60\xBB\x29\x23\x23\xBA\x21\x4D\x06\xBD\xB3\x1B\x02\x8B\x3D\x8E\x0E\xB3\x56\x92\x4E\x2C\x05\xAA\x20\xFA\x9C\x8B\x8F\x52\x18\xBD\xB3\x36\x1C\xBF\xF0\x0B\x5B\x65\x56\x01\xB9\x63\xBA\x1B\xA8\xFF\x87\x21\x8E\xBE\xA7\x23\x16\x0A\xC3\xAD\x81\x3F\x15\xC1\x79\x8B\x64\x18\x14\xCF\xA9\x81\x04\x18\xC3", + "\x82\x8B\x65\x19\x1C\xCD\xA1\x83\x09\x18\xC4\x07\x2F\x91\x84\x83\x2A\x0C\x01\xCE\x86\x19\x05\xC3\x22\x83\x83\x29\x61\x3D\xAE\x0C\xC4\x18\xA3\x22\x34\x28\xC3\x20\x52\xAB\xC2\x20\x73\x18\xC4\x9C\x57\x1C\xC6\x81\x2F\x97\xC7\x01\x38\x0E\x90\xF2\x4C\x1B\x22\xC1\x21\x97\x48\xC0\x01\x1F\x4B\xC4\x4F\x70\x0E\xC8\x00\xC4\x91\xCA\x20\x54\xC5\x54\x73\x17\xCE\x99\x51\xC7\x10\x97\xC6\x5B\x1D\x2B\xD7\x9A\x4E\x93\x6F\xBD\x63\xF0\x11\xBA\x81\x33\xC0\x8D\x99\x83\xCE\xD1\x76\x17\xCB\x75\x91\xCF\x12\x72\xD5\x6B\x3E\x57\xC4\x9F\x28\xDC\x16\xC5\x9B\xAC\x09\x47\x7D\xBC\x6D\x95\x60\x10\xD0\x15\xC3\x3A\xA0\x96\x96\xC0\x85\x13\xA5\xC3\x4B\x24\x16\x9A\x89\xD1\x20\x04\x0B\xD3\x20\xF1\x6F\xCD\x40\x0F\xD5\xC4\xB0\x2A\x13\xD2\x90\xC1\x23\x03\x17\xD8\x78\x88\x1A\xD0\x00\x1E\xB1\xC8\x2C\x79\xC2\x7A\x0B\x24\xD6\x96\x84\xCA\x23\x49\xD1\xC5\x16\x56\xD1\x23\x03\xAF\xDF\xB1\xA3\x87\x20\xA6\x34\xD0\x22\x17\xA0\xDD\xD2\x40\x20\x09\xD7\xD9\x67\xD2\xA7\x94\xC5\x24\x30\x36\xD0\x22\x13\x39\xD7\x33\xA7\xC4\xA9\xB2\x91\x25\x18\x66\xDD\x9F\xD9\xA6\xCD\xA8", + "\x56\xBE\xDA\x20\x65\x01\xD9\xC7\x02\x30\x05\xAE\x99\xDA\xDB\x3D\x90\x1F\xDB\x70\x57\x07\xB8\xD9\xDB\xAD\x28\xD6\x18\xDD\x72\x5E\x07\xBA\xB1\xDF\x2D\x6D\xF4\x49\x22\xDC\x10\xDC\x9D\x45\x03\xDF\x5D\xC1\x33\x65\xE2\x1A\xDD\xA9\x4C\x05\xD8\x76\xD1\x33\x65\xE8\x02\xE2\xB1\x52\x05\xE0\x7A\xC3\x24\xB1\xD3\xD0\x22\x3B\x38\xC3\x1E\xE7\x82\x20\x0B\xD8\xCE\xE2\x40\x1A\xB1\xE2\x85\x35\x18\xC7\xFA\x16\xE1\x40\x5D\x09\xE2\x7F\xC7\x3B\x65\xFC\x18\xC5\x00\x56\x0A\x21\xCA\xA2\x0D\xE4\x32\xC3\x43\x0B\xD1\xC3\x00\x96\xDE\x30\x22\x08\x16\xE7\x40\x15\xB7\x0C\x98\xEE\xCB\x40\xBD\xBD\xE3\x41\x0A\x0A\xE7\xC8\xAF\x35\xE8\x94\xB0\x20\x1B\x3E\xE1\x21\x53\xC5\x89\xCA\x11\x08\xE9\x5F\x3D\x52\xEB\xCA\xB1\x0D\xE1\x07\x3C\x00\x75\xEC\xB9\x27\x0C\x12\xEA\xBB\x8D\xB0\x4E\xD6\xDE\xBC\xEB\x92\x1C\x02\xEA\xB3\x62\x06\xD4\xE7\xB2\x4F\xB1\xEA\xBD\xEC\x11\x23\x04\xDA\x90\x29\x05\xB5\xCD\x5F\xBB\x7F\xA1\xD5\x49\x70\x4C\xEE\x39\x6B\xBA\xE3\xC2\xCF\x4E\x9C\x7D\xE4\x4F\x0F\x1B\xEB\x8F\x2A\x16\xEF\x76\x85\xF3\x40\xBC\xD1\xCB\x05\x52\xE5\x3F\x0B\x0A\xFD", + "\xB0\xC3\xE0\xB0\xEE\x10\x30\x05\xE4\x90\x24\x06\xCA\xC9\xD8\x04\xF5\xB1\xC9\x0D\x73\xEE\x81\x3B\x0C\xE8\x00\xA0\xFF\xBD\x94\xBB\x04\xF5\xC6\xBC\x0F\xF4\xA9\xE5\x8F\xCA\x41\x02\xEB\xF8\x70\x49\x10\x58\xE3\x21\xEC\xF0\x8B\x64\x24\x35\xF4\xAF\xB9\xE3\xD9\x86\xFB\x8F\x09\xDF\xC7\xB1\xF8\x01\x3B\xF6\x40\x03\x91\xCA\x2B\x06\xFD\xB1\x93\x08\xF8\xEA\x83\x4A\xC4\xA1\xC3\x25\x0B\xAD\xE9\xD9\x26\x30\xF8\x93\x3D\xA3\x0F\xF9\xC9\xDE\x12\xF4\xCA\xF3\x95\x95\x6A\x08\xFC\x7A\xE4\x17\xF8\xAE\x9B\x65\x38\x28\xF9\xF0\x00\x0A\x17\xFA\xB8\x9B\x64\x3C\x2F\xF8\xDC\x01\x30\x17\xFC\xC3\x9B\x65\x3F\x37\xF8\x4E\xB6\x0B\x7F\x03\x10\x66\xD6\x72\x10\x86\x0F\x7F\x72\x2C\x0B\x02\x82\x10\x67\x67\x6F\x10\x1D\x08\x52\x78\x00\xFD\x3D\x6F\xBA\x70\x35\x2B\x35\x09\x08\x84\x27\xC9\x0B\x80\x01\x16\x67\x05\x81\x10\x9C\x09\x81\xA5\x2F\x0C\x1C\x80\x00\x7D\x6F\x81\x00\x03\x0A\xD9\x7A\x77\xD5\x0C\x7D\x0A\x1E\x4F\x51\x69\x0A\x2B\x80\x7F\xDA\x0E\x82\x83\x36\x6F\xA5\x21\x11\xAF\x01\x81\xCD\x2F\x0D\xB9\x62\x81\x0A\x14\x7E\x00\x0C\x69\xF8\x75\x12\xB7\x0C\x83", + "\x0E\x47\x0E\x3F\x89\x5A\x03\x29\x6A\x28\x8F\x0B\x22\x86\x2C\xEF\x05\x82\xB3\x68\x82\xC6\x01\x85\x46\x35\x0F\x25\x8D\x6B\x0E\x8A\x10\xCD\x08\x84\x8D\x5B\x0F\x14\x82\x7C\x0A\x18\x6C\x7A\x71\x11\xD5\x08\x85\x55\x32\x00\x4D\x0F\x56\x4C\x80\x12\x2B\x3C\x0D\x6A\x82\x3D\x08\x0D\x86\x7B\x51\x84\xE5\x61\x65\xE3\x00\x86\xC9\x6E\x00\x76\x83\x10\x40\x87\x10\x42\x8E\x54\xF0\x71\x11\xEB\x0C\x87\x7A\x76\x01\x7F\x82\x10\x81\x85\x81\xED\x68\x82\xF3\x08\x88\xF0\x7E\x01\x8B\x85\x69\x6F\x85\x6F\x7B\x4B\x0F\x92\x85\x84\x26\x05\x89\x00\x0D\x88\x64\x87\x10\x76\x58\x82\x03\x07\x05\x0A\x10\x8A\xF0\x7E\x02\x9E\x81\x3F\x42\x81\x58\x28\x8B\x00\xA6\x87\x10\xA8\x85\x84\x35\x0B\x8A\x97\x8F\x70\x2B\x33\x01\xB1\x88\x69\x10\x1A\x01\xBB\x82\x10\x95\x5C\x03\x9E\x83\x3B\x42\x8C\x71\x67\x80\x11\x1C\x0F\x8B\xD6\x30\x11\x23\x0A\x8C\x00\x05\x59\x42\x03\x8C\xB7\x87\x72\x7B\x45\x02\xCE\x81\x3F\x2C\x0E\x8C\x95\x58\x04\xD2\x88\x87\xB2\x5B\x47\x2E\x07\x8D\x10\x15\x03\xDA\x80\x11\x4E\x0D\x8D\x82\x80\x74\x2B\x37\x03\xE2\x8A\x10\x3E\x05\x8E\x0A\x14\x05\xE8", + "\x8E\x88\x6F\x1B\x32\x40\x0E\x8C\xB3\x88\x04\xF0\x87\x10\x5A\x06\x8B\x0A\x12\x02\xA1\x78\x82\x4A\x0E\x8C\x6B\x42\x27\x61\x0E\x89\x9F\x10\x90\xAA\x78\x82\x4F\x04\x90\x4B\x38\x90\x10\x1A\x90\xB2\x7B\x47\x54\x0E\x8C\x70\x53\x55\xF3\x82\x10\x12\x9C\x7B\x7B\x4A\x05\x16\x9D\x2C\x71\x09\x91\x01\x1B\x91\x02\x1A\x47\x51\x60\x06\x1F\x95\x7A\x22\x90\x00\x24\x91\x10\xCC\x78\x82\x66\x09\x92\x8D\x5D\x07\x2B\x9D\x92\x00\x05\x7D\xC7\x8A\x10\x6C\x0E\x90\x0E\x43\x08\x10\x9F\x8F\xDD\x71\x65\x71\x02\x93\xC9\x68\x08\x35\x93\x20\x3E\x68\x82\x77\x04\x94\x7A\x7E\x08\x47\x9A\x10\x47\x68\x82\x7D\x0C\x94\xF0\x74\x09\x4F\x97\x10\x50\x68\x82\x83\x04\x95\x45\x8A\x09\x57\x93\x10\x59\x68\x82\x89\x0C\x95\x70\x20\x0A\x5F\x96\x80\x2B\x3F\x08\x64\x92\x27\xA6\x07\x96\x01\x1D\x80\x39\x80\x11\x95\x0D\x8E\x8D\x5C\x0A\xFE\x87\x10\x36\x92\x4E\x7E\x6B\x96\x74\x23\x0B\x6E\x90\x00\x1E\x89\x93\x07\x12\x0A\x7C\x95\x2A\xB9\x0F\x97\x27\x82\x98\x03\x18\x0A\x3C\x9D\x58\xBF\x0F\x93\x78\x95\x68\x7B\x4D\x0A\x8D\x99\x6C\xC4\x00\x99\x03\x16\x93\x44\x89\x55\x07\x12", + "\x0B\x74\x99\x6C\xC9\x0E\x89\xB3\x8A\x99\x38\x86\x2C\x11\x19\x0B\x9F\x9A\x77\xD1\x02\x9A\x11\x9D\x84\x2B\x30\x0C\x85\x96\x2C\xD9\x0F\x97\x55\x8A\x98\x02\x16\x0C\xB1\x96\x34\xDF\x0F\x97\x5C\x81\x97\x0A\x1C\x0C\xA9\x90\x7F\xE5\x07\x97\x99\x93\x20\x66\x85\x88\x21\x49\x9B\x55\x3C\x0E\x7F\x92\x6D\xB6\x91\x10\xD9\x0A\x9C\xD2\x32\x0F\x7F\x94\x88\x45\x81\x11\xDF\x01\x9C\x45\x88\x0F\xAC\x90\x94\x47\x15\x9A\x46\x31\x11\xE6\x0A\x9D\xD8\x4E\x04\xA7\x8D\x9A\x8F\x8F\x9C\x00\x0D\x0E\xE4\x92\x27\x08\x06\x9E\xB2\x88\x9E\x98\x81\x65\xF4\x0D\x9E\x74\x20\x01\xF0\x90\x88\xF2\x9F\x6F\x99\x86\x9F\xA5\x28\x01\xF9\x95\x6A\xDE\x97\x70\x7B\x42\x00\x58\x05\x3A\xCD\x2F\x01\x01\xAB\x8C\x03\xA8\x8B\x7B\x49\x00\x07\xA7\x87\xAF\x11\xA1\x3B\x7D\x6C\x0B\xA3\x75\x0D\xAB\x71\x2B\x31\x01\x14\xA7\x15\xBD\x2D\xA1\x49\x7A\x10\x2C\x07\xA1\x69\x76\x5A\x2B\x39\x01\x20\xA8\xA1\x07\x1F\x01\x29\xA5\x59\x32\x04\xA2\xFB\x92\x10\x33\x78\x82\x21\x09\xA2\xB3\x37\x02\x2D\xA0\x11\x38\x00\xA3\x19\xA1\x10\x41\x7A\x9E\x29\x06\xA3\x10\x1F\x02\x39\xAE\x8E\x3C\xA1\x99", + "\xDD\x3B\x32\x31\x09\xA2\xF1\x38\x03\x45\xA7\x10\x44\x07\xA1\xF1\x33\x02\x03\x21\x02\x98\x7A\x10\x3A\x09\xA2\x60\x79\x6C\x70\x24\xA5\xBF\x57\xA5\x07\x1D\x03\x42\xAE\x50\x29\xAC\x76\x74\x2E\xA5\x07\x1F\x02\x60\xA3\x10\x44\x03\xA6\x19\x55\xA6\xCD\x28\xA6\x03\x10\x03\x6B\xA2\x10\x4B\x0E\xA6\x03\x11\x05\x70\xAE\x40\x72\xA2\x10\x31\x05\xA7\x01\x12\x05\x78\xA7\x71\x7B\xAD\x58\x7D\xA1\x10\x32\x00\xA8\x00\x09\x05\x83\xA1\x10\x5F\x05\xA8\xC9\x67\xA8\x00\x03\x03\x8A\xA0\x06\x8D\xA0\x00\x66\x00\xA9\x7A\x74\x02\x01\x9A\x9E\x67\x09\xA2\x05\x94\x27\x4B\x07\xA1\x9F\x1C\xA9\x0B\x9A\x9E\x6C\x00\xAA\xCD\x20\x05\xA4\xA0\x11\xA6\xA3\x91\x42\x97\xA9\x70\x25\x05\x47\xA3\x10\xAF\xAC\x91\x51\x67\x07\xB2\xA2\x27\x5B\x05\xAB\x02\x17\xAB\x25\x9B\x32\x7D\x0B\xAB\x74\x21\x06\xBE\xA1\x10\xC0\xAE\x92\x2B\x33\x08\xC4\xA5\x2A\x67\x07\xAC\x96\x14\x7D\x2B\x39\x08\xAA\xAE\x40\x6D\x0D\xAA\x0A\x19\xAC\x00\x05\x63\x51\x6E\x08\xCD\xA6\x2C\x72\x00\xAD\xDA\xA9\x94\xEA\x94\x09\xDF\xA6\x34\x78\x02\xAE\xEC\x7B\x47\x9A\x07\xAE\x55\x3E\x07\xEA\xA4\x7F\x7B", + "\x40\x0A\xEE\xA2\x3D\x84\x01\xAF\xFC\x75\x4C\xF5\xA1\x11\x8A\x08\xAF\x03\x8B\x32\xAC\x0B\xAF\x10\x10\x09\xFE\xAC\x80\x2B\x32\x0B\x4C\xAD\x2C\x96\x02\xA5\xAE\xA6\x81\x7B\x49\x0B\x02\xBA\x10\x9D\x05\xB0\x1D\x8B\x32\xBF\x01\xB1\x07\x13\x0A\x14\xB6\x82\x2B\x35\x0C\xD5\xAD\x58\xA9\x08\xAD\x07\x1A\xAD\x30\x88\x82\xCA\x0F\xB1\xC9\x6E\x0A\x22\xB6\xAB\x76\x30\x9E\xC4\x30\x11\xCF\x09\xB0\x0E\x43\x0B\x17\xA3\x8B\xDA\xAB\x99\xDC\x67\x10\xD6\x02\xB3\x8D\x5B\x0B\x35\xBD\xB0\x8E\x3B\x32\xDD\x08\xB1\x03\x13\x0C\x1B\xB5\x9B\xC8\x9A\x10\xE3\x04\xB4\x02\x19\x0C\x1B\xBD\x9B\xA6\x90\x11\xE9\x0C\xB3\xC9\x6F\x0C\x0C\xB9\xAD\xC6\x9B\x32\xF0\x0C\xB4\x01\x16\x0D\x1B\xBE\x9C\x49\xB7\x10\xF6\x0C\xB5\x00\x0C\x0D\x1B\xB6\x9D\x9C\x93\x10\xFC\x04\xB5\x7A\x72\x0E\x3F\xB8\xB5\xDF\x9B\x47\x03\x09\x05\x08\xAE\x40\xEA\x0F\xB6\x23\xB1\x56\x2E\xB0\x3E\x10\x1A\x00\x74\xB7\x10\xB6\x72\x27\xF2\x08\xB7\x2C\xB9\x9E\x61\xBC\x22\x7F\xBC\x8B\x0E\x4A\x0F\x84\xBF\xAB\x75\x5B\x32\x18\x09\xB8\x02\xAD\x58\x02\x0F\x04\x75\xB9\xB7\x0A\x1E\x8A\xEA\x9F\x01\x92\xBC", + "\xA0\x8D\x59\x00\x96\xB0\xB8\x40\xBC\x40\x2B\x36\x02\x9D\xBA\xA2\x03\x1C\x02\xA7\xB5\x59\x10\x01\xBA\x86\x58\xB9\x07\x16\x8C\x87\xB2\x10\x2E\x07\xBA\xB3\x34\x03\xAB\xB0\x11\x16\x0E\xBA\x1E\xA0\xB7\x07\x17\x5A\x28\x86\x03\xB6\xB0\x11\x3C\x09\xBB\xBE\x4C\xBB\x6B\x13\xBA\x03\x13\xA3\xEA\x9E\x03\xC3\xBA\x10\x44\x06\xBC\x78\x98\xBC\xA8\xBE\xB8\xE7\x1B\x32\x46\x0F\xBC\x07\x1C\x04\xD2\xB3\x10\x28\x04\xBD\xB3\x3A\xAD\x4F\x78\x82\x4E\x07\xBA\xF1\x35\x05\xDD\xB4\xBB\xD4\xB1\x3F\x25\x05\xA5\x8A\xA7\x05\xA7\xBB\xA5\x7A\x70\x27\xED\xBF\xA5\x1D\x9A\xBD\x03\x10\x06\xA7\xB6\xA6\xA5\x25\xBF\x69\xAA\xA8\x61\x08\xBF\x02\x17\x06\xFB\xBD\x2C\xFE\xB3\xA7\x8A\xA8\x06\x02\xC1\x10\x6E\x05\xC0\x0E\x47\xC0\x7E\xAA\xA8\x6F\x0B\xC0\x00\x05\x07\x0E\xCD\x58\x10\xC8\xA8\x8A\xA6\x07\x14\xCC\x07\x17\xC9\x6C\x19\xC3\xA9\x8A\xAD\x07\x14\xC3\x08\x1F\xCA\x77\x26\x0D\xA9\xB3\xB1\x10\x84\x07\xBA\xA1\xA5\x2A\x35\x04\xBD\x9F\x19\xC2\xA7\xAB\xC2\x00\x09\x08\x2E\xCD\x2C\x3A\x02\xC3\xCD\x67\x60\x90\x44\xC1\x70\x2F\x03\xE0\xBD\xC3\x0A\x10\x61\x28\x84\x09", + "\x40\xC2\x27\x45\x03\xC4\x0A\x14\xC3\x07\x16\x92\x28\x8A\x09\x49\xC2\xAA\x4C\xC7\x10\x4E\xC3\x10\x2F\x9A\x9E\xA0\x03\xC5\xA5\x21\x05\x55\xC3\x10\x57\xCE\x48\x2B\x36\x0A\x39\xCE\x40\x57\x0C\xC3\x4D\xC1\x94\x28\x8B\x0A\x5C\xC7\x33\x5F\xC2\x10\x61\xC5\x7E\x7B\x41\x0B\x6D\xC6\x34\x62\x0F\xC6\x01\x11\xC7\x00\x01\x95\xEA\x97\x0B\x75\xC5\x35\x68\x08\xC7\x00\x0A\xC7\x59\x9A\x9E\xBD\x0F\xC7\xD2\x3E\x06\x82\xCA\xC7\x61\x9A\x9E\xC3\x08\xC8\x11\x14\x07\x8B\xCA\x33\x2B\x39\x0C\x90\xC0\x11\x7A\x03\xC9\x43\x3B\x32\xCF\x06\xBE\xCD\x20\x08\xEB\xB4\xC4\x07\x1A\x97\x28\x86\x0D\x97\xCA\x10\x87\x0A\xC9\x59\x31\x87\xA7\xC7\x10\x8D\x0A\xCA\x62\x30\x70\x65\xC0\x7D\x68\xC6\xC5\x92\x91\x65\xE7\x03\xCB\xC9\x68\x09\xB5\xC0\xC6\x2D\xBB\x47\xEC\x0E\xC9\x0E\x4D\x09\xD4\xB3\x8B\x7A\xC8\xB3\x5D\x89\x62\xC2\xCD\x58\xA5\x05\xCC\xA2\xC3\x10\x4E\x8A\x9E\xFA\x0D\xCA\x03\x1D\x0A\xB0\xC6\x39\x2B\x30\x00\x5A\x0E\x86\x33\xB7\xCD\x9E\x3B\x32\x06\x0B\xCD\xA2\xBE\x40\xB9\x01\xCA\x69\xC5\x86\x2B\x3D\x00\xE2\xCF\xBA\xC9\x60\x0C\xDE\xC8\x3B\xB9\x8B\xCE\xBD", + "\xBD\x58\xC6\x0F\xCE\x68\xB9\xB3\x50\x42\xCF\x9E\xB9\x6C\xCC\x0E\xCC\xE7\xC7\x55\x7B\x40\x02\xFA\xC4\x3E\xCD\x24\x0D\xFE\xC6\xCB\x86\xB7\x9D\x10\x17\x02\x03\xD1\xB8\x74\x2C\x0D\x07\xDE\xCB\x09\xD9\xB6\xB4\xBD\xD0\xCD\x24\x0E\x11\xD0\xC7\x8F\xBB\x47\x35\x06\xD1\x0E\x4C\x0E\xE6\xC8\xD0\x04\xA1\x65\x3C\x0E\xD1\x8D\x53\x0F\x21\xD2\xD1\xA4\xBB\x47\x43\x03\xD0\xB3\x39\x04\x03\xD5\x59\xFA\x0F\xCE\xB2\xBA\xD0\x0A\x1B\x04\x2E\xD6\x42\x31\xD1\x11\xE3\xB9\xBC\xFF\xC3\x10\xC0\xBA\x9E\x53\x09\xD3\x31\x4B\xD3\x6F\x5D\xD3\xD5\xB9\xC7\x32\x7B\x32\x5B\x04\xD4\x3C\x46\xD4\x07\x1C\x00\x48\xD3\x3B\x7A\xCF\xA3\x36\xC3\x06\x4E\xD7\x44\x50\xD3\x10\x12\x03\xD5\xCF\xC2\x10\x48\xD6\xD3\x07\x1B\x06\x26\xD0\x96\x5B\xD2\x10\x18\x08\xD4\xF1\x37\x02\xEE\xBB\x47\x74\x03\xD0\xF2\xB0\x7F\x70\x2C\xD6\xF6\xB9\xAB\x59\xD2\x10\x7D\x03\xD0\xFC\xB6\x2C\x74\xDF\xBF\x7B\x4E\x07\x77\xDC\xC2\x7A\xDD\x2C\x7D\xD8\xC0\x7B\x45\x08\x81\xD0\x00\x8B\x03\xD8\x0E\x45\xD8\x11\xCB\x47\x8C\x09\xD8\x92\x0C\xD8\x8D\x5E\xD8\x1A\xCB\x47\x93\x09\xD8\x99\x04\xD9\xC9\x66", + "\xD9\x22\xCC\xAE\x89\xD0\x0A\x9C\xDA\x77\x28\x0A\xC2\x62\xD3\x10\xA1\x03\xD0\x2F\xC6\x2C\x1F\x08\xD4\x9F\x15\xDA\x35\xC7\xDA\x02\x16\x0A\xAA\xDD\x2C\x24\x0E\xDA\x10\x10\xDB\xB0\xAB\xC6\x89\xD0\x27\x29\x0E\xD5\x0A\x1A\xDB\xB8\xA8\x82\xB1\x0D\xDB\x72\x2F\x02\xC0\xD7\x10\xC2\xD1\xAC\x7B\x47\x0B\xC6\xD4\x27\x35\x09\xDC\xDE\xB3\x20\x59\xC6\xC3\xBD\x0F\xDC\xA5\x2B\x03\xD2\xD2\x10\xCB\xD1\x10\x38\x96\xC3\xC3\x05\xDB\x0E\x41\x04\xB8\xD1\xDC\x6A\xCA\x9E\xC8\x08\xDD\xC6\x26\x04\xDB\xDA\x2B\x48\x9B\x32\xCE\x0A\xDE\x46\x3C\x04\xED\xD0\x00\xDD\xDB\xC7\x52\x32\xDF\x55\x32\x05\xF5\xD7\xDF\x85\xC6\xC3\xDA\x0A\xDF\xD2\x38\x05\xFD\xD3\x20\x8D\xC6\xC3\xE0\x02\xE0\x11\x1E\x05\x05\xEA\x10\x04\x8A\x9E\xE6\x0A\xE0\x10\x14\x06\x0D\xE9\x51\x2B\x3C\x0E\x65\xDA\x77\x6A\x0A\xD6\xB9\xDE\xB0\x51\x63\x0F\x12\xE8\x4B\x15\xE3\x10\x81\x96\xC3\xF9\x01\xE2\x07\x17\x07\x23\xE2\x10\x89\x96\xC3\xFF\x02\xDE\x33\x95\xDE\xCA\xD7\xCB\x28\x84\x00\x5B\x0B\x48\x8D\x52\x08\x32\xE3\xDD\x8E\x6B\xB7\xA6\x19\x00\x37\xE3\xCE\x8D\x57\x08\x48\xD3\x8B\xF7\xD8\xCC", + "\xBE\x9D\x16\x41\xEA\xB8\x8D\x5F\x08\x45\xED\xE1\x41\xBB\x47\x17\x0B\xE4\xF3\xC9\x6C\x97\x0B\xE2\x01\x18\xB4\xB2\xD1\x10\x1D\x04\xE5\x3E\xDD\x58\x9D\x08\xE5\x00\x00\xB5\xE1\x9C\x8C\x5E\xE4\xD0\x0E\x43\x0A\x1C\xE6\xDE\xE8\xC8\x78\x67\xE7\x91\x74\x2A\x0A\x62\xE0\xB6\x5B\xE0\x00\x30\x0F\xE6\xCD\x20\x0B\x62\xE7\xCF\xC9\xC3\x10\x36\x07\xE6\x0E\xD5\x2A\xB6\x0F\xE4\x6C\xE0\xD0\x51\x6D\x03\x80\xED\x2C\xBE\x04\xE8\x33\xE3\xD1\xF8\xC2\x10\x44\x09\xE8\x0E\x46\x0C\x8C\xEC\xE3\xF3\x98\x82\x4B\x02\xE9\x8D\x5E\x0C\x95\xEC\xDD\x1B\xD1\x65\x52\x0A\xE9\xC9\x66\x0D\x6B\xED\xE8\x23\xD8\x82\x59\x02\xEA\x7A\x7D\x0D\xA5\xE6\xE9\x0E\xA7\x92\x78\xEA\x10\x66\x07\xE6\x95\x54\x0E\x62\xE5\xD3\x14\xD1\x10\x68\x01\xEB\x07\x1E\x06\xB4\xE0\x11\xEA\x02\xE6\x41\xD6\xC3\x70\x0C\xEB\x03\x16\x07\xBF\xEF\x82\x62\xEC\xBC\x36\xC8\x07\xC6\xE2\x10\x7E\x09\xEC\x62\xB2\xE6\x56\xD5\xE7\x80\x0F\xEC\x01\x16\x08\xD2\xEA\xB6\x62\xE1\xD6\xB9\xE0\x00\x88\x0A\xEA\x01\x1F\x08\xDB\xE0\x8C\x51\x07\xB9\x03\x19\x02\x6D\xD1\x65\x91\x07\xE6\x71\xD5\x84\xBE\xD3\x20\x2E", + "\x0A\xA8\x94\x08\xED\x00\x0A\x09\x67\xEB\xD7\x46\x3A\xEE\x0A\x1A\xA6\x7B\x4B\x09\xF6\xE1\x0A\xF9\xED\x2C\xFC\xE3\x2D\x8A\xA2\x0A\xF6\xE8\x0A\x03\xFE\x40\x05\xF3\x10\x7F\xAB\x47\xA9\x06\xEF\xAF\x0B\xF0\x8D\x5D\xF0\x02\x19\xA8\x7B\x40\x0B\xF6\xE6\x0B\x14\xF9\x6C\x16\xF1\x10\x94\xAD\xDC\xF6\xED\x0B\x1D\xFA\x77\x2A\x06\xDA\xDF\xEE\x0B\x67\xEB\xDA\x46\x39\x00\xE7\xE7\x73\x0A\x17\xF2\xB1\xDF\xED\xC3\x0B\xF2\xCD\x2E\x00\x2F\xF0\x4A\x31\xFE\xC3\x51\x68\x0C\xF6\xE0\x27\x13\x09\xF3\x55\xE2\x10\x32\xFF\x60\xF0\xDF\xF3\x72\x29\x01\x42\xFF\xE5\x03\x15\xF4\x03\x10\xC5\xEA\x94\x0D\x48\xF5\x78\x4B\xF9\xD4\x00\x0E\xF4\xCB\x7B\x35\x53\xFD\xBF\x55\xF3\x3B\x58\xFE\xDD\x64\x36\xF3\x0E\x4B\x02\x55\xFF\x19\x5F\xFB\xAD\x6E\x3B\xF5\xC6\x20\x03\x5D\xF0\x11\x67\xF4\xAE\x36\xCB\x0E\x6A\xF6\x34\x36\x0D\xF6\x3B\xF0\x95\x2B\x31\x0F\x73\xF5\x35\x3C\x06\xF7\x07\x17\xF6\xFF\xD5\xE7\xF7\x0B\xF7\xD2\x32\x04\x7E\xFD\xF4\x06\xEB\x32\xFD\x04\xF8\x11\x18\x04\x87\xF4\xF4\x94\xC2\xB7\x5C\x0C\xCD\x8D\x5E\x04\x8F\xF1\x10\x67\xF0\x97\x51\xBA\x10\x09\x03", + "\xF9\x42\xE9\x6C\x54\x05\xF5\xF1\x37\xF6\xA4\xCA\x9E\x10\x0E\xF9\xEC\xCA\x77\x5B\x07\xF9\x57\xF3\x20\x25\xE5\xE7\x16\x08\xFA\x43\xF0\x7F\x61\x0C\xFA\x67\xFD\xE2\x75\xEC\x01\xB2\xF0\x6B\x8D\x57\x06\x65\xFE\xF6\x34\xEA\x9E\x21\x0B\xFB\xBA\x69\x6C\x6C\x0F\xFB\x77\xF7\x83\x7B\x46\x02\xC4\xF1\xE8\xC6\x21\x07\x55\xF3\x8B\x67\xF8\xE4\x9B\xFB\x1A\xCD\xFD\x2C\x79\x01\xFD\xC0\xF1\xE5\x51\x64\x03\xC4\xF0\xE7\xA5\x21\x08\xB6\xF6\x52\x2B\x3A\x03\xDF\xFC\x57\xE3\xFA\x10\x64\xEF\xB2\x99\xB7\xFD\x87\x52\xFA\xDB\xFC\x3A\x2B\x37\x04\xE7\xFE\x40\x94\x09\xFE\x4A\x4B\x32\x4D\x05\xFF\x8D\x5A\x09\xF8\xFF\x3C\x3E\x75\x32\x13\x02\xF7\x7D\x58\x20\x06\xF6\x69\x7E\x00\x85\x23\x44\x81\x64\x38\x0A\x07\x83\xDF\x7A\x5B\x7B\x21\x0C\x0B\x80\xBD\x30\x0B\x0E\x80\xE2\x6E\x74\x7D\x72\x20\x28\x03\x09\x80\x7F\x38\x06\x05\x90\x7C\xF7\x1B\x65\x2F\x02\x0E\x85\x84\x40\x04\xFC\x68\x80\x01\x25\x8B\x24\x80\x38\x17\x0C\x27\x83\x03\x8B\x2C\xC2\x54\xFF\x43\x09\x41\x04\xFC\x15\x2E\x33\x1F\x7F\x1A\x57\xB0\x72\x80\x81\x0B\x08\x35\x80\x44\x14\x06\x38\x81\x20\x03", + "\x77\x3A\x7D\x08\x3B\x81\x40\x13\x04\x3E\x82\x21\x1A\x07\x20\x80\x00\x4C\x75\x9D\x75\x04\x46\x80\x00\x1B\x05\x24\x87\x10\x60\x04\x13\x95\x76\xDF\x75\x13\x11\x83\x51\x04\x05\xD8\x60\x13\x9E\x76\x8F\x71\x20\x25\x04\x12\x8C\x0A\x5D\x82\x40\x0C\x07\x2E\x83\x20\x2B\x01\x75\x78\x82\x2E\x04\xF1\x6F\x77\x84\x3D\x54\x2B\x83\xBA\x64\xDC\x51\x83\x2D\x04\x7E\xFA\x75\x6A\x33\x82\xBF\x61\x65\x38\x05\x14\x9E\x05\x78\x85\x59\x3B\x82\xC3\x61\x65\x3F\x05\x14\x85\x06\x81\x83\xEC\x43\x11\x87\x71\x65\x46\x05\x14\x8C\x06\x89\x85\xB1\x03\x85\x8B\x7A\xA8\x4D\x05\x14\x93\x06\x91\x81\xD9\x13\x84\x90\x7A\xA8\x54\x05\x14\x9A\x06\x99\x82\xEF\x2C\x00\x94\x71\x06\x80\x03\x36\x04\x7E\x2C\x7D\x6A\x33\x06\xE4\x77\x10\x23\x87\xCC\x65\x85\xE0\x00\x15\x8D\x16\x7C\x0C\x0A\xA9\x5C\xCF\x68\x41\xE5\x01\x0A\xB0\x13\x7E\x0C\xFA\x2E\x86\xD1\x7B\x23\xEB\x02\x17\xB2\x13\x01\x02\x05\x14\x7E\x2D\x83\x17\x79\x7A\x18\xB4\x13\x04\x05\x0C\x92\x53\x31\x90\x17\x2B\x1F\x1E\x0A\x87\x52\x1F\x00\x4D\x85\xEA\x61\x08\xBE\x84\x5F\x0A\x7C\x59\x8E\x40\x15\x02\x35\x86\x3A", + "\xCF\x84\xC6\x2B\x18\x01\x0D\x05\x46\x86\xDE\x3A\x00\xDF\x84\xE9\x42\x09\x6C\x83\x31\x2B\x18\x02\x05\x87\xCE\x82\xEF\x20\x01\x74\x86\xF5\x6C\x86\xC7\x0B\x19\x0E\x00\x1E\x97\x86\x4E\x44\x0F\xB3\x1E\x3D\x89\x19\x2B\x1C\x02\x3A\x87\xD9\x75\x84\x2C\x01\x3F\x96\x2D\x89\x7B\x8F\x1A\x01\x81\x8A\x0E\xF0\x3E\x0C\x07\x88\x22\x51\xF2\x51\x32\x10\x0C\x10\xD6\x78\x9C\x18\x01\x10\x8D\x15\x83\x10\xCD\x75\xE6\x4D\x61\x45\x8E\x7E\x46\x1E\x07\x34\x86\x6C\x4E\xE1\x28\x41\x0B\x15\x88\xE0\x7E\x58\x05\x03\x8C\x81\x0E\x82\x0B\xEB\x7F\x76\x33\x00\x25\x8D\x17\x25\x0C\x12\xEB\x87\x80\x18\x7D\xDF\x71\x07\x15\x89\x54\x82\x3D\x51\x00\x3D\x9F\x0C\xFF\x85\x64\x4D\x5F\x9D\x8D\x2C\x56\x03\x4F\x88\x88\x3D\x74\xA5\x5F\x89\x66\x1B\x05\x74\x87\x2C\x5F\x87\xD4\x7D\x23\x99\x29\xA5\x8E\x40\x63\x02\x53\x88\x8A\x07\x09\x9A\x76\x61\x28\x02\x13\x8E\x23\x1A\x15\x89\xD8\x84\xFC\x7B\x23\x2B\x0D\x15\x8D\x2D\x1C\x00\x8B\xC7\x13\x40\x2B\x7E\xBE\x5A\x10\x5D\x00\x55\x8D\x2C\x77\x03\x24\x98\x8A\x16\x3B\x32\x64\x01\x59\x89\x36\x7E\x00\x2D\xBF\x86\x3A\x7F\xED\x6A", + "\x03\x5D\x9A\x3B\x84\x02\x2F\xB9\x42\x14\x40\x07\x6F\x89\xB2\x2A\x04\x57\x89\x22\xB1\x5B\x5C\x56\x18\xFA\x3A\x24\x09\x8C\x1A\x88\x03\x89\x73\x81\x0E\x07\x0D\x8C\xFC\x3A\x04\x90\x8D\x25\x81\x08\xB1\x2A\x9E\x05\x06\x65\x85\x42\xA2\x01\x33\xB6\x89\x10\x80\xD9\x1F\x8C\x9C\x0A\x05\x72\x8A\x31\xA7\x74\xF5\x43\x09\x26\x8E\x9C\x11\x05\xA9\x89\x32\xAB\x69\x28\x3A\x09\x7F\x8A\x6D\x15\x88\x95\x28\x17\x02\x8C\x85\x08\xEB\x25\x86\x28\x16\x8D\x00\x00\x15\x38\x8C\x88\x0E\x0B\x3B\x8F\xEF\x4B\x19\xAA\x00\x38\xB0\x05\xE1\x8A\x10\x44\x06\x71\x8B\x5E\x07\x58\x38\xB8\x04\xE6\x87\x10\x4A\x07\x73\x82\x08\x58\x85\x14\xBA\x04\xE0\x80\x0C\x54\x8F\x40\x10\x06\xD7\x8B\x33\xAB\x18\x61\x0F\x19\xC9\x06\x77\x82\x08\xD6\x01\x36\x83\x09\x16\x0C\x06\xEA\x4F\x32\x15\x88\x70\x83\xF0\x32\x12\xF6\x84\x07\xEA\x4E\x33\x00\x8E\xD4\x05\x22\xB9\x82\xE9\x14\x1F\xFC\x80\x0A\x55\x06\xC0\x8B\x1B\x3A\x8F\x66\x1D\x1F\x84\x84\x0A\x5C\x06\xC0\x8A\x1C\x03\x90\x07\x25\x20\x8F\x6E\x1E\x40\x8E\xE9\x03\x41\x8D\x2D\x06\x97\xD9\x51\x32\x3A\x00\x8E\xF0\x02\x42\x89\x36", + "\x0A\x9F\xD9\x51\x31\x3C\x00\x8E\xF7\x02\x43\xBA\x3B\x79\x7D\xA3\x75\x71\x1C\x86\x16\x70\x16\xDF\x70\x5C\x14\x47\x22\xC6\x18\x9C\x14\x53\x3F\x6A\x3D\x6D\x91\xAA\x10\x27\x0C\x86\xAB\x72\x91\xF2\x8C\x4E\x30\x12\x8C\x7F\x02\xD1\x33\x8C\x92\x1E\x70\x11\xE4\x72\x8C\x16\x99\x23\xA5\x14\x9C\x14\x01\xED\x8E\x86\x78\x06\x11\x92\xD7\x72\x10\x92\x95\x8F\x26\x75\x22\xA5\x0F\x7E\x0C\x24\xC5\x43\x93\x9E\x8F\xEA\x4E\x1F\x12\x92\x88\x02\x00\x5E\x02\x42\x1B\x8F\x11\x0F\x4A\x86\x90\xF5\x43\x00\x5E\x90\xA3\x38\x34\x66\x93\x20\x20\x92\xCE\x3B\x08\x8A\x54\x02\x09\x93\xC3\x08\x22\x0C\x00\x38\x91\x10\x6B\x92\x42\x02\x93\x94\x83\x8F\x0D\x00\x3A\x94\x1E\x3A\x10\x9F\x96\x93\x07\x08\x4F\x9C\x85\x3D\x22\x01\x7C\x91\x79\x16\x00\x7F\x95\x59\x35\x00\x52\x89\x01\x9C\x18\x9F\x80\x89\x55\x1D\x1B\x28\x8B\x45\x9F\x0A\x8D\x94\x00\x1E\x00\x8F\x95\x59\x23\x07\x49\x97\x0B\xEA\x4D\x09\x1C\x93\xB3\x40\x4E\x29\x06\xF5\x82\x10\x14\x97\x2F\x91\x32\x2D\x00\x54\x8D\x16\x78\x04\x2A\x81\x0A\xA9\x8F\x7A\xC9\x2A\x55\x8E\x21\x7B\x0D\x2A\x80\x03\xAB\x99\x7A\x7B", + "\x25\x07\x32\x95\xC6\x2E\x0F\x35\x97\xAD\x80\x7B\x7B\x25\x08\x19\x94\x07\x25\x00\x75\x17\xAF\x88\x7B\x7B\x24\x09\x3B\x95\x64\x3B\x13\x68\x75\xA9\x8F\x6F\x14\x4B\x59\xBA\x3A\x09\x08\x38\x07\x0B\xB1\x9C\x63\x36\x64\x0B\x12\x96\xF8\x39\x01\x55\x97\xB7\x03\x10\x81\x7F\xDB\x64\x03\x6D\x95\x84\x20\x02\xB7\x8F\x96\x0A\x0F\xC0\x75\x72\x36\x04\x2E\xF3\x6B\xB9\x8E\x95\x12\x88\x05\x74\x03\x76\x92\x27\x2E\x03\xBB\x96\x95\x1B\x8B\x65\x3C\x02\x3E\x99\x00\x0A\x96\x5D\x13\x45\xC7\x95\xF4\x76\x61\x42\x04\x2F\xF4\x11\x0F\x17\x97\xC7\x97\x25\xA5\x85\x46\x05\x30\xA5\x14\x11\x08\x98\x37\x8F\x02\x43\x97\xC6\x2B\x04\x46\x95\xF0\x76\x61\x9C\x03\x62\x89\x36\x0B\x16\x0E\xF0\x95\x52\x91\x32\xA3\x04\x5F\x8D\x16\x0D\x1C\xF9\x63\x47\x2F\x71\x32\xAC\x02\x64\x8E\x20\x30\x06\x17\x7D\x96\x42\x07\x96\x5A\x8D\xCE\x75\x05\x86\x96\x2C\x69\x00\xC4\x92\x35\x2B\x1D\x17\x34\x98\xA3\x10\x07\x37\x98\xAF\x3D\x58\x2A\x98\x2E\xBF\x96\x93\x9D\xE6\x51\x32\x33\x1B\x99\x55\x1F\x0F\x3E\x99\x81\x0C\x17\xA5\x86\x35\x08\x9A\xD2\x1E\x10\x0B\x9A\x81\x0C\xE7\x13\x8E", + "\x40\x1E\x06\x41\x99\xD9\x0D\x05\x96\x94\x34\x86\x74\x0A\x47\x07\x59\x9A\xEF\x16\x04\xAE\x9F\x32\x90\x81\x94\x30\x07\x61\x98\xFE\x1F\x04\xB2\x96\x2D\xE6\x98\x0A\x59\x07\x69\x9D\x08\x68\x04\xB6\x9F\x2D\xA4\x8D\x94\x22\x00\x5F\x05\x64\x8E\x21\x58\x03\x34\xE5\x99\xE6\x4B\x19\x0B\x01\x6F\x87\x08\x97\x9D\x58\x39\x05\xDF\x8D\x9B\x30\x83\x8F\x14\x00\xC1\x9A\x9F\x3E\x24\xE3\x80\x46\x10\x0D\x66\x0E\x96\x8F\x91\xBB\x2B\x1A\x07\x0F\x9C\x96\x45\x89\x58\x9D\x67\x40\x11\x48\x07\xD4\x82\x82\x2B\x18\x05\x1B\x9D\x59\x40\x03\x1B\x9D\x65\x2F\x06\x9F\x9D\x09\xAB\x18\x19\x03\x3A\x90\x0A\x0E\x06\x9D\x10\x0E\x1A\x29\x9D\xEC\x86\x29\xBC\x01\xEB\x90\x5E\xB0\x9A\x21\x1D\x07\xD4\x90\x06\x96\x96\x11\x1B\x9C\x84\x9B\x20\x0F\x03\xDC\x97\x10\x64\x07\xE1\x83\x08\x37\x04\x51\x96\x9B\x80\x01\x05\x1B\x9D\x4A\x86\x1A\xEC\x05\x5E\x09\x9F\x4A\x9B\x3C\x80\x03\x15\x0E\x9E\xCD\x12\x1E\x12\x9F\x4E\x96\xC3\x5D\x03\xE6\x90\x94\xD2\x19\x72\x13\x9C\x00\x03\x3D\xA7\x94\x0A\x44\x03\xDF\x9D\x59\x3F\x07\x7B\x95\x3E\xB0\x97\x1E\x2B\x03\xE9\x9E\x81\x06\x01\x24", + "\x28\x3C\xD4\x6F\x14\x31\x9F\x8D\x2D\x01\x34\x9E\x81\x0D\x3E\xE2\x63\x1E\x39\x03\xD8\x9E\x81\x14\x01\x8B\x2D\x3F\x81\x08\xB7\x48\x41\x7F\x00\x7F\x89\x36\x0D\x0B\x3F\x81\x09\x01\xA0\x00\x70\x7D\xCE\x46\x04\x05\xAA\x77\x21\x01\x03\xA4\x9F\xEB\x51\xCA\x0D\x04\x0A\xA0\x7F\x28\x03\x05\xAF\xA0\xE1\x95\x14\x94\x04\x0E\xA5\x84\x2F\x03\x07\xA9\x88\x51\x33\x13\x24\xA0\x38\x16\x03\x27\xA2\x83\x6B\x19\xA2\x03\x85\xB2\x13\x1E\x0E\x42\x96\x70\xC4\x77\x9D\x8D\x2C\x08\x23\x1F\x59\x4F\x40\x82\x99\x9D\x71\x05\x32\xA4\x4E\x0C\x03\x1A\xA4\xE2\x2B\x18\x2E\x01\xA2\xA5\x13\x0A\x04\xA2\x16\x76\xB1\x01\xA1\x63\x3A\x02\x04\xA7\x62\xB5\x73\x62\x0E\x44\xC9\x34\x18\x11\xA2\x1F\x98\x05\x4B\x06\x1C\xA9\x6C\x66\x03\xF8\x01\x9E\xFC\x9F\x64\xA8\x41\x69\x0C\x45\xFA\x3B\x1B\x1F\xA2\x10\x0F\x81\xB1\x99\x6F\x7B\x0D\x48\xA2\xB1\x18\x03\x4B\xA1\xCB\x40\x38\x37\xA6\x34\x74\x23\xF8\x8F\xA0\x6B\x8E\x34\x29\x07\x32\xA0\x7F\x06\x07\x0E\xA9\xA3\x59\x5B\x8F\x31\x06\x3A\xA5\x35\x11\x27\x1D\xA3\x2A\x90\x1C\x90\x92\x1F\x4A\x01\x47\x80\x01\xD5\x95\x7E\x66\x0C", + "\x8F\x85\x43\x58\x2A\x37\x87\x0B\x03\xAF\xA4\x52\x88\xD3\x26\x23\xC6\x9C\xCC\x68\xA2\x42\x0F\xA0\x9C\x8E\x86\x4F\x01\x4D\xAC\x88\x4D\x16\x2B\x1E\xA4\x96\xA6\x6D\xAA\x4F\x0B\x04\x4A\x99\x9D\x63\x37\x05\xA8\xA5\x7E\xB6\x9A\x14\x4F\x01\x2D\xA7\x27\x4D\x16\xF6\x27\x3C\x5F\xA5\x01\x1A\xB9\x36\x63\x09\x16\xA5\xA1\x92\x4E\x0B\x28\x5D\xA9\x4A\x89\x9D\x94\x2F\x01\xB6\xA1\x7E\x36\x00\x5B\xA5\x59\x50\x05\x23\xBD\x8D\x96\x90\x07\x09\xA7\x81\x2C\x4C\x90\x0B\x35\x0D\xA4\x43\x87\xDB\x41\x03\x69\xAA\x10\x48\x01\x35\xAA\x08\x33\x2F\x90\x9F\x47\x28\x3A\x04\x5C\xA7\x41\x11\x02\xDF\xA7\x20\x25\x07\x46\xA4\x3B\xD5\x9F\x14\x06\xA7\x03\x0A\x0B\x29\xA7\x81\x0C\x0E\x0D\xA5\xEF\x95\x9E\x5C\x00\x98\x93\x71\x79\xAE\x48\x7F\xA2\x42\x18\x01\x03\x16\x06\x0A\x54\x33\x06\x4B\xF1\x8E\x8E\x92\x13\x00\xAE\x39\x0A\x55\x34\x06\x4B\xB3\x1F\x1B\x16\xA5\x80\x93\x20\x39\x01\x01\x1F\x40\xDF\x77\x8F\x91\x08\x70\x12\x07\x01\xA8\x45\x50\x07\x10\xAA\xFA\x92\x13\x1A\xAA\xA1\xBB\x23\x38\x06\x4B\xE5\x0D\x1D\x1E\xA8\x0E\x23\x07\x0A\x9E\x48\xA2\x10\x76\x02\x3E", + "\xAE\x20\xFB\x07\x82\xAA\xA8\xEA\x9C\x52\x81\x0A\x1F\x0F\xA9\x94\x5E\xB3\x31\x1F\x99\xAB\xDB\x6A\x4E\x21\x16\xA5\x60\xA0\xFE\x09\x00\xCF\x23\x8B\x3C\xAB\x70\x6A\x4F\x8F\x00\xA8\x8D\x17\x08\x04\x54\xF9\x27\xF0\x31\x32\x98\x02\xA9\x8E\x21\xCE\x24\x4C\x83\x0A\x51\xB8\x95\x51\x31\x14\x12\xAB\xC6\x21\x02\x4D\xAA\x42\x17\xAA\xC0\x91\xCA\x2A\x04\x9C\xAE\xF1\x3A\xAA\x53\xAA\x08\x07\xA2\x3D\x72\x05\xAD\xA9\x6C\x30\x02\x57\xA7\x08\x60\xA8\x82\xAB\x19\x5D\x0C\x56\xFA\x38\x0E\x0F\xAB\x56\xA9\x83\xA8\x40\x62\x05\x57\xF0\x3E\x78\x35\xAA\x02\x09\xAE\xA1\xA0\x4B\x9D\x0C\x7D\xA9\x11\x48\x02\x78\xA9\xB0\xA8\xA1\x52\x66\x58\xF0\x10\x14\x09\xAC\x01\x09\xAE\x8F\x70\x1B\x6F\x0D\x0D\xAE\x9C\x18\x02\x90\xA8\x00\x31\xAA\x8E\x8C\xFE\x07\x08\x3A\x16\xA5\x0A\x05\x59\x1B\x31\x4A\xA9\x57\x8A\x0A\x0F\xBF\x76\xF2\x06\xB2\xB4\x13\x34\x09\x59\xF1\xAA\xC2\x96\x94\xFB\x02\xB5\xA5\x15\x38\x0D\x5A\x91\x9B\x1E\x24\x00\x61\x00\xB0\xB0\x3F\x3C\x06\x56\xDF\xAA\x14\xBF\x76\x0C\x01\xB7\xB1\x4E\x07\x20\x08\x3D\xAC\x5C\xA2\xA3\xEA\x4C\x02\x02\xAF\x81\x01", + "\x5A\x8E\x22\x98\x3B\x0C\x67\xAA\xF9\x51\x32\x0F\x0B\x5C\x82\x09\x73\xAD\x2C\x91\x06\xB3\x17\xAF\xD2\xA9\x15\xA1\x9D\x75\xA1\x08\x41\xAD\x08\x5B\x05\xDA\xA8\x33\xFB\x21\x0C\x1F\xAE\x04\x15\x59\x23\x04\xF2\xAF\x33\xFB\x22\x0E\x08\xAF\xDB\xAA\xEF\x2B\x04\xCF\x21\x5E\xF1\xAB\x71\x55\x73\x44\x00\xBD\xA1\xAE\x38\x14\x0B\x6C\xAC\xD3\x9A\x7F\xFA\xAD\x59\x3C\x04\xFF\xA4\x35\x81\x81\x61\x16\x02\xF0\xAD\x59\x04\x06\xED\xA1\x5D\x89\x83\x49\x49\xB0\x2F\x34\xC1\xBE\xAC\xC9\x85\x53\xB9\x28\x84\xAD\x2C\xD8\x02\xC2\x87\xAE\x0A\xB9\x49\x82\x08\x1D\x17\xB0\xC9\x31\xE0\x10\xAF\x09\xB2\x8A\x2B\x1A\x1F\x00\xB1\x7A\x3C\x1D\x34\xAF\x06\xB9\x02\xFB\x20\x22\x08\xB1\xF0\x3F\xE3\x24\xAC\xC5\xA6\x4C\xA8\x42\x24\x01\xB0\x0A\x0B\x13\x28\xAF\xCA\x2E\x0F\x04\xB2\x6D\x0B\x19\x9D\x00\xC7\x87\x08\x53\x0B\x63\x90\x0A\x01\x1B\x44\x71\xA9\x9B\xA5\x84\x54\x02\x64\x83\x09\x2C\x05\xB2\x61\x10\xC9\x8B\x6B\x3D\x23\x0B\x4D\xB2\x40\x1C\x05\x50\xB7\x20\x16\x00\x29\xB7\xBD\x7B\x22\x2F\x16\xB2\x01\x0F\x18\x19\xB3\x81\x0E\x01\x5C\xB1\x3D\x5B\x23\xC9\x00\xC6", + "\x80\x01\x69\x03\x66\xF0\x62\xD4\x21\xAF\x3D\x03\xA5\x9D\xB1\x80\x05\x0D\x68\xAC\xF8\x91\x08\x93\x3B\x7C\xB1\xB2\x9A\xA3\x67\xE5\x5A\x9D\xAD\x16\x36\x07\xFE\x3B\xB3\x9E\xA6\xC3\x63\x04\x7A\xA1\xA6\x06\x9B\x13\x43\xB5\xA3\xA1\xF7\x07\xB5\xB3\x05\x02\x8A\xB7\xA9\x90\x44\x47\xBE\x40\x4D\x01\xA4\xA1\x31\x99\x44\xD2\x8D\x2D\x2A\x07\x69\xA9\x33\xCA\x03\x00\x46\x63\x9F\x7A\x3A\xEC\x3A\x67\xE7\x6E\x0D\x6A\x00\xA1\xB7\x96\x8E\x20\x32\x0D\x69\xBD\x33\xCA\x12\x00\xA9\xB0\xD1\xA5\x14\x36\x0D\x6A\xC6\x33\xCA\x1A\x00\xB1\xB5\x59\x34\x03\x5A\xBF\x64\x2B\x1A\x08\x19\xB5\x0E\x24\x0F\x3C\xB4\x2C\x3B\x32\x2A\x00\xB0\xAD\x2C\x84\x03\xD8\x93\xAD\x3A\x72\x03\x47\xB5\xB2\x2C\x04\xC3\xB4\xB3\xAC\x8B\x83\x0A\x03\x29\xB7\x7E\xB2\x13\x94\x07\xCD\x90\x09\x45\xB0\x67\x2C\x6A\xB3\xBA\x3B\x9D\x03\xD8\xAF\xAD\xEA\x9B\x04\x5F\xB4\xFC\x25\x05\xC3\xB0\x27\xA5\x85\x29\x09\x6A\xF7\xB0\x44\x0D\x05\x82\xB7\xB7\xA5\x84\x2D\x0D\x6E\xCD\x14\x2D\x11\xB7\x59\xA2\x3D\x61\x02\x6B\xBD\x2C\x3B\x06\xD4\x31\xAF\x01\x0C\xDB\x9B\x34\x03\xB3\x17\x6A\x00\xBF\xAE", + "\x20\xC5\x07\xDF\x9B\xB6\xD7\x4B\x47\x73\x02\xB9\xA5\x42\xCF\x03\xD8\x9A\x73\x6F\x7B\x07\x0F\xBB\x90\x23\xB6\x79\xA5\x32\x03\x05\x83\xBD\x58\x5F\x06\xB6\xAA\x08\x02\xB9\xA7\x2B\x18\x46\x06\x71\xF2\x10\x3A\x03\xB6\x4D\x9E\x52\x94\x05\x92\xB4\x27\x70\x07\xB0\xB8\xA4\x9D\xAB\x20\x1C\x04\x8E\xB9\x6C\x78\x06\xC2\xA0\xB9\x83\x8A\x3D\x65\x04\x9A\xBA\x77\x02\x02\x33\x40\xB8\x00\x01\xE4\xA1\xA5\x3A\x7E\x0A\x3C\xB8\xFC\x2C\x00\x3F\xBB\xE1\x9C\xB1\x98\xB2\x10\x37\x06\xD1\xA5\x42\x16\x01\xE9\xB8\xB9\x59\xAA\x9E\x40\x07\xD3\xB0\x13\x20\x06\x19\x70\xB2\x5E\xA5\xC9\x57\xBA\x9C\x09\x01\x5A\xBA\xE9\xB3\x8C\x14\x42\x0D\x0F\xBA\x36\x09\xB5\x2E\x50\x1F\x62\xBB\x81\x00\x4D\xD5\x9C\x37\x0F\xB8\xE4\x00\xED\xAE\x9C\xB5\xB3\x75\xC7\x8F\x1E\x26\x07\x0F\xBE\x1D\x32\xBA\x85\x02\x04\x74\xB9\x98\x53\xB2\x67\x9F\xE1\xB8\x07\xBD\xB9\x51\x7E\xBB\x40\x01\xB9\xED\xA5\xC2\xBA\x07\x87\xB2\x00\x63\x01\xCB\x30\x08\x52\x06\xF0\x82\x08\xA1\xBB\x32\x04\x02\xE3\xA3\x9C\x10\x0D\x01\x17\xBD\x0A\x5A\x10\x1E\x4B\x8C\xA1\x08\x3E\x03\x40\x3C\x00\x45\x5F\x00", + "\x1B\xBE\x44\x1F\xA8\x74\x11\xF4\x8A\x09\x1F\x0A\xA8\x12\x02\xE9\xAD\x88\x00\x00\x03\x2F\xBC\x00\x01\x51\x82\x08\xEB\xB5\xBB\x44\x97\xA0\xBA\xBD\x52\x10\x04\x22\xBE\xA2\x59\x00\xB3\xBD\xF6\xBE\xAB\x01\x17\x7B\xD1\x32\x06\x13\xBD\xE5\x0E\x03\x01\xBF\x66\x11\x04\x72\xB0\xD3\xA6\x0C\xB3\xBF\xDA\xB4\x13\x31\x02\x79\x81\x09\xF3\xBC\xB3\xCF\xBE\xBE\x51\xBF\x66\x1B\x06\x55\xBC\x00\x17\xBE\x84\xB5\xCE\x71\x01\xD9\xB0\x74\xF0\x13\x1C\x01\xBB\xF7\x1F\x5A\x2B\x19\x1D\x04\x7E\xCD\x14\x1F\x08\xBF\xA2\x42\xD2\xAA\x4F\x22\x0D\x7E\x8E\x21\x21\x10\xBF\x81\x0E\x7E\x84\x3F\xFA\xBD\x58\x0E\x04\xFE\xA2\x08\xE0\xBA\x1B\xBB\x23\x2C\x0B\x7D\x8E\x23\x25\x1E\xBE\x01\xC2\x20\x29\xAA\x1B\x62\x06\x7C\xBD\xB2\x3F\x04\xFF\xBE\xFA\x90\x97\x28\x3C\x06\x0E\xC2\xDE\x2C\x4C\x9F\xBF\xFB\xBA\xAA\xF5\x46\x07\x16\xC0\xFC\x31\x05\x11\xC2\x03\xF2\x57\x28\x30\x08\x1E\xC1\x11\x5A\x05\x21\xC1\x01\xC1\x08\x75\x9F\xED\x0A\x06\x09\xD0\x13\xC3\x01\x05\xF1\x97\x72\x5F\x82\xF2\x10\x70\x59\xC0\x2A\xC0\x00\x12\xB6\xD3\x0E\x09\x33\xBF\x02\x0D\x16\xD5\x02\xEA\xB1", + "\xBE\xD3\xAB\x32\x29\x05\x0D\xD4\x13\xD9\x48\x07\xEE\x7D\x95\x13\x0B\x47\xC1\xA9\x08\x07\x32\xC2\x21\x2A\xB6\x4B\x9D\x0B\x05\xC1\x63\x31\x07\x08\xC2\xDE\x96\x94\x63\x06\x85\xC9\x35\x3E\x19\xC2\xF9\xB6\x86\x4F\x06\x1F\xCD\x2C\x01\x01\x8A\x5F\xC1\xE9\xB9\x0C\xF5\x72\x6D\x04\x86\x8E\x20\x03\x07\xC3\x10\x09\x07\xEB\xA3\x52\x85\x0E\x4E\xC2\xB1\x17\x00\x29\x51\xBC\xB9\xC1\x89\xB5\x0A\xEF\x06\x1D\xC6\x1A\x20\x01\x0F\xF1\xC2\xB5\x8B\x32\x79\x05\x1B\xD5\x78\x29\x50\xE8\xB9\xC1\xFB\xAF\xED\x04\x00\x19\x03\xB1\x8D\x2B\x06\x02\xC5\x34\xC9\xFF\x7B\x22\x03\x0F\xC4\x43\x3D\x59\x3C\x01\x49\xC3\x84\xDE\x9A\x7A\x58\x00\x98\xC3\x20\x28\xC3\xC6\x25\x04\x70\xC0\x25\xCE\xB0\x28\x43\x04\x21\xC4\x81\x03\x8A\xC9\x34\x14\x06\xC5\x9D\xC3\x2B\x04\xB8\xB0\x0E\x02\x2B\xC5\x40\x0D\xC5\xAA\x78\x16\xF9\xBF\xA5\xB3\x6D\x92\xAA\x2D\xC0\x00\xB8\xC0\xFE\x19\x54\x85\x01\x8C\xA2\xC1\x89\xBB\x23\x44\x07\x17\xC5\xC6\x38\x11\x07\x09\xC7\x20\xDF\x9B\xC4\x3A\x19\xCD\x17\x3D\x0E\x8C\xA7\xC6\x68\x0B\x19\x5A\x07\x17\xC0\xBA\x32\x0F\x8B\x95\x2D\x21\x1C\xC4", + "\xBB\xC5\x72\xBB\x22\x33\x0A\x8D\x90\x08\x1C\x1D\xC6\x10\x0E\x5B\x4A\xC2\x89\x53\x45\x65\xC6\x42\x1C\x03\xE8\xC2\x21\x17\x04\x70\xC0\x80\x80\xBC\x0A\x5E\x03\xEE\xC7\x20\x08\x05\x78\xC1\xBB\x74\xC6\x04\xDD\xB2\x51\x32\x11\x39\xC7\x81\x04\x09\x7C\xC7\xC2\x1E\xC7\xC6\xC0\xB9\x3B\x22\x4B\x02\x8D\xE7\x0E\x41\xC2\x08\x08\x58\x12\xC3\x09\x21\x0E\x7C\xBD\xC6\x40\x03\x05\xBF\xC2\xD6\x86\x16\x5E\x09\xA2\x33\x44\x45\xD8\xBE\x16\xC9\x20\x2B\x05\x8C\xCA\x60\x9D\xC8\x44\x1F\xC8\xE1\xBF\xDB\x73\x05\x5F\xC2\x7D\xA5\x14\x33\x08\xC8\x28\xCC\xD1\xB5\x72\x5E\x0C\x92\xC0\xC0\x4C\xD2\xBF\x36\x65\x18\x35\xC8\x07\x2E\x0D\x37\xC8\xA6\xA6\x9A\x3B\xCD\xB1\x27\x06\x9F\xCE\x69\xFB\x23\x35\x04\xC9\x0E\x23\x6B\x7A\xAC\x00\x01\x93\x8A\xC3\xCA\x1F\x06\x41\xCD\xE6\x84\xCA\x57\xBB\x47\x68\x05\x54\xDA\x3B\x01\x07\x74\x61\xAF\xA6\xC7\x0F\x82\xA7\x55\xD0\x3F\x7E\x59\x03\xDC\xCA\x80\x8B\x47\x7A\x07\x57\xC5\x42\x13\x02\x2B\xE7\xC9\xC5\xA4\x26\xE5\x01\x06\xC2\x3B\x6A\xCE\xA1\x33\xC0\x1B\x6C\x00\x6E\xC8\xE6\xAF\x60\x71\xCF\x20\x23\xCB\x1D\xC5\x19\x15", + "\x02\x5D\xCC\xAE\xCD\x15\x76\x52\xC8\x81\x03\x96\xA7\xAD\x29\x9F\x00\x7F\xCA\x20\x2D\xC8\x63\x18\x03\x79\xCB\x44\xCB\xC2\x7B\x20\x05\x09\xCC\xF0\xAC\x7C\x8E\xCC\x61\xD6\xAD\x51\x31\x06\x13\xCC\x55\xBD\x58\x4A\x03\xE9\x5E\xC8\x5A\xC5\x7A\xB9\x01\xCD\xCA\x91\xC6\x1A\x14\x1F\xCC\x6B\xCA\x0D\xDA\xA7\xCD\xC5\x7E\xF2\x12\x16\x07\x5D\xC5\xC3\x2C\xD1\x8B\xEC\xBB\x04\x2C\xCD\xB3\x05\x03\xB0\xC9\x35\xDD\xAF\x3D\x25\x05\x1B\xCF\x62\xDC\x99\x96\xC9\x20\x23\xCA\x3E\xC6\x29\xDE\x02\x6F\xD8\x7E\xC1\xCC\x29\xC4\xC5\x3D\x27\x06\x36\xCE\x03\x22\x04\xA7\x58\xE8\xA3\xCA\x46\xC5\x0A\xF1\x03\x71\xCE\x20\x8C\x01\x39\xE3\xCB\x94\xB5\x3D\xFA\x03\x75\xCD\x2C\x95\x02\x3B\xF9\xB8\x1B\x63\x08\x4E\xCD\x63\x3E\x04\xB9\xCA\x2E\xCB\x8C\x14\x4D\x08\x66\xCD\xB2\x29\x05\xE9\xCA\x2F\xEA\xA4\x1B\x67\x09\x6E\xCE\xDE\x34\x05\xF1\xCF\x31\xFC\xC4\xD3\x01\x0A\x76\xCC\xFC\x3F\x05\xF9\xCF\x32\xD4\xBA\x1B\x6B\x0A\x7E\xCD\x11\x4A\x06\xD1\xCA\x37\xC0\x2D\x95\x15\x0B\x06\xD0\x9C\x14\x06\x09\xD2\x3D\xE3\xBA\xF5\x4F\x0B\x5F\xCF\x40\x08\x06\x9B\xCD\xB2\x1E\x06", + "\xF1\xCC\x1B\xAB\x1A\x32\x16\xD0\x02\x0B\x1A\x19\xD0\x88\x09\xCB\x62\xCA\x89\x5B\x23\xD5\x00\x44\xC1\x08\x6F\x03\xA2\xAF\x40\x87\xC7\x08\x4E\x87\xDB\x60\x06\x15\xD0\x00\x69\x05\x8B\xC7\x08\xF9\x07\x45\xE8\x6D\x95\x1B\x0E\x34\xD0\x3D\x17\xD1\x3B\x3B\xA0\x5B\xCB\xB0\x2B\x32\x76\x06\x81\xD8\x54\x8F\xBC\x18\xC3\x68\xA0\xB4\x04\x03\x12\x10\x0A\x54\x02\x06\x0C\x0A\x08\x83\xA6\x24\xF2\x11\x93\xCA\x08\x45\x02\x51\x45\x00\x29\xD1\x0F\xB7\xC4\x97\xCA\x93\x8F\xB3\x40\x23\xCA\x8B\xA5\x24\xA8\x92\x9C\x06\x02\x4E\xD2\x51\x4C\x01\x2F\xD2\x10\x42\xBD\x11\x48\xD3\x58\xD2\x51\x4D\x00\x36\xD4\x1D\x3A\x10\x9D\xD4\xBD\xCD\x17\x08\x15\xC8\xD3\x02\x01\x77\xD1\x6B\xD4\x13\x15\x02\x48\xD0\x08\x3D\xD0\x92\xA6\x0C\x07\x1E\xD3\xCD\x16\x03\x02\xD4\x85\x04\xA8\xA9\xC9\x29\x86\x01\x77\xD3\x19\xF2\x12\x86\x63\x98\x81\x09\xA3\xD2\xC9\xDF\x71\x06\x11\xD5\x66\x11\x03\x4B\xD3\xA0\xD8\xC9\x75\x74\x07\x1B\xD5\x94\xAE\xA9\x8C\xD6\xFE\xB1\x32\x47\x03\x54\xE4\xC5\x52\xD7\x10\x17\xD6\xFF\x80\x75\x88\xD6\x81\x0F\x03\x45\xDD\xAA\xA6\xB5\x9D\x7C\x02\xAA", + "\xD1\xD9\x18\x02\x56\xD3\x10\x2E\xD6\x1C\x71\x32\x67\x01\x57\xFA\x3A\x31\x0C\xAB\x82\x0A\xAF\xD8\x6F\x7B\x22\x0E\x02\xD6\xF8\x3C\x06\x45\xD6\xA5\xC0\x97\xC2\x53\x59\xC5\x42\x3B\x0E\xAC\x80\x03\xB1\xCC\xC1\xA5\x80\x11\x12\xD7\xB8\x25\xAD\xC7\xD7\xB2\xBF\x76\x93\x03\x5B\xF2\x12\x45\x0D\xAD\xF9\x97\x1E\x3E\x04\x77\xD4\x01\x0D\x16\x4A\x03\xD0\x45\xC7\xB1\xC6\xCC\x96\x92\x15\x22\xD6\x3A\x1F\x09\x65\xD6\x3A\x2C\xD0\xF3\xD5\x54\x29\x04\x7B\xD7\x10\x53\xC1\xF5\x80\x06\xB1\xD5\xB1\x33\x04\x5A\xDD\xAB\xA1\xCD\x85\xAA\x06\x01\xD9\xD9\x3C\x04\x82\xD6\xAC\xC8\xAE\x0D\x74\x06\xE9\xD5\x59\x05\x07\x81\x6A\xAE\xA6\xD6\x6A\xD0\x85\x11\xDE\x81\x11\x06\x8A\xDF\xA9\xDC\x7C\x0A\x4C\x07\xF9\xD6\x58\x1D\x06\x7E\xD3\x10\x44\xCD\xF5\x97\x07\x21\xDE\x68\x27\x06\x92\xD2\x10\x19\xB9\x61\x02\x00\x67\x05\x4A\x20\x23\x76\xDD\xB1\xF2\x7E\x25\xD1\xD9\x07\x0A\x52\xF4\x12\x7E\x0C\xB2\x81\x08\x77\xD5\xB0\x19\x00\x67\xE2\xC5\x66\x16\x00\x67\x70\xD0\xA7\xD6\x30\xB9\x24\xD6\x0C\xA1\xD2\x10\x15\xD9\x63\x30\x00\x67\x76\x69\xC5\xD9\xF5\xCA\x9E\x30\x00", + "\xD3\xC1\x08\x52\xDA\xEF\x1C\x01\xA8\xD5\xB3\xB2\xC7\x1E\x3C\x01\x57\xD8\x00\x19\xDB\x0E\xAC\xB5\x96\xDB\xA5\x6A\x4F\x48\x01\x6C\xE3\xDA\x2B\x95\xB6\xB5\xD7\x80\xD5\x73\x54\x02\x6D\xCD\x16\x20\x07\xE6\x6E\xD4\xD7\xBB\x23\x60\x02\x6E\xCE\x21\x4C\x74\x8C\xDD\xDB\x35\xDB\x23\x6C\x01\x6C\xC5\xC7\x3B\x01\xB6\x95\x2E\x15\x06\xDA\x7E\xDF\xC7\xBF\x9E\xC1\xD0\x11\x04\x05\xE1\xD0\x08\x60\x00\x71\xE6\xDA\xA0\x6B\x32\x06\x04\xE3\xD2\x35\x8F\xDD\x0C\x52\xDC\xB7\xD0\xA3\xAB\x1B\x24\x17\xDC\x30\xD1\x73\xC7\x08\x3A\x0B\xB9\xD3\xD8\x6F\x26\x34\xA0\xDB\x20\x2B\x04\xD1\xD4\x19\xA5\xDD\xC3\xC9\x52\x93\x4A\x6F\xC7\x09\x5C\x0C\xBA\x82\x09\xB8\x7D\xDB\xEA\x7B\x4F\xD5\x0D\x5D\x01\xB6\xBF\xCD\xD5\x13\x04\x67\x71\xBC\x89\x03\x01\x10\x2C\x7F\x25\xEF\xCD\x16\x9C\x01\x78\xD0\x09\xE1\xDA\x10\x36\xA5\x9D\x6D\x06\x61\xDF\x4F\xE5\x15\x52\x0E\xBA\x9E\x1E\xFA\xA6\xCA\xD1\xDD\x59\x13\x79\x4A\xD3\xE6\x20\xD7\xB7\x61\x07\xD9\xDC\x9C\x55\xDF\xEE\xDF\x93\xA8\x43\x3A\x01\xDF\x8D\x2D\xE6\x5C\xDE\xE6\xD5\x94\xD1\x31\x3D\x07\xDE\x0E\x25\x19\x0A\xDF\xDC", + "\xD8\x56\x98\x1C\xFA\xC3\x75\xE3\xDC\x7D\xD4\xCB\x28\x38\x00\x68\x00\xF7\xD0\x13\xE0\x01\x7F\xDB\xC0\x1B\x62\x01\x7E\xDD\x26\xD6\x5B\x02\xE3\x04\xE8\x40\x0E\x06\xC0\x80\xCE\x03\x34\x07\x09\xE1\x5F\x51\x32\x13\x0D\xC0\xD6\xAD\xB3\x1E\x07\x11\xE7\x5F\x7B\x22\x18\x05\xC1\x81\x0A\xF4\xC6\x16\x08\x04\xF8\x40\xBA\xFD\xD6\xB0\x6E\xAD\x07\xE0\xC6\xCD\x12\x02\x04\x7F\x62\xC4\xC2\x81\x08\xBC\xD5\x9E\x45\x07\x84\xDF\xE0\xA3\x1D\x01\x22\xE3\xF2\xD0\xCC\x51\x37\x09\x32\xE0\xC2\x66\xC3\xF4\xDD\xBF\xCB\x19\x59\x07\x84\xFE\xDC\xE9\x11\x03\x44\x7E\xF0\xC6\xD8\x7D\xB2\x0C\x02\xE2\x1D\x66\xC4\xB7\xE3\xC5\xD6\x94\x6B\x07\x84\xFA\xD9\x52\x13\x04\x44\x7F\xDA\xCD\xE1\x43\x43\x16\xCB\x0A\x3B\x02\xC5\xCD\x17\x13\x16\xE2\x4E\xE3\x37\xD1\x33\x40\x0B\xC3\x8E\x23\x16\x1D\xE1\xBC\x32\x2C\x91\x33\x45\x05\xC6\x8D\x2D\x19\x08\xE3\x03\x08\x8B\xEE\xD9\xB9\x05\x09\x5D\xE2\x03\x23\x81\xB8\xD9\x8D\xC5\x9A\x14\x40\x0A\x6D\xE1\xB2\x3A\x03\x70\xE5\x65\xC8\xA5\x3D\x2A\x0A\x7E\xE0\x60\x81\xE4\xD6\xDC\x6A\xF6\x60\x5A\x06\xC7\xFD\xBC\x18\xFE\xE1\xA8\xC4", + "\x42\xCD\xE5\x64\x3A\x09\x0F\xE6\x1E\xE7\xDB\x36\x62\x19\x13\xE4\xBD\x36\x0A\x16\xE5\x1C\xF3\xCF\x75\x75\x1A\x1B\xE4\xF8\x32\x0B\x1E\xE6\x20\xEF\xDB\x32\xD3\x94\xC5\x42\x40\x89\xC7\x9F\xE4\x34\xD1\x32\xEB\x02\x95\xF0\x13\x64\x0B\xC2\xE1\xE3\xAB\x68\x41\xF6\x06\x90\xC2\x09\x34\x09\xA4\x87\x0A\x27\x8B\xDF\x03\x15\xED\x95\xB0\x01\x0C\xCB\x87\xE1\x54\x65\xE6\x9C\xBF\x20\x1E\x06\x44\xE4\xBE\xF6\xB9\x94\x2E\x00\xC8\xE6\x82\xCA\x08\x0C\x01\xCD\xA1\x52\x67\xAC\xE6\x58\xE1\x46\xE5\x84\x0D\x05\xCD\x80\x00\xD0\xA4\x01\xDD\xE5\xB2\x32\x06\x6C\xEA\x8E\x4B\x7D\x37\xE0\xBA\x30\x01\x9C\xD0\x08\x7E\x04\xCE\xB0\xDD\x94\x32\x01\xDD\xE5\x18\xFD\x00\x75\xEF\x56\x15\x89\x31\xCA\x02\x03\x10\x09\x0A\x55\x1F\x0D\xCD\xD4\xD2\x99\xD4\x13\xF8\xE7\xA6\x4A\x54\x21\x0D\xCD\xB3\x1C\x12\x1D\xE6\x6E\xD3\x09\x2A\x8A\x45\x57\x51\xCD\x14\x13\x19\xE7\x8A\x51\x09\x08\xE8\xD4\xB3\x70\x03\x12\x42\xFB\x23\x4A\x05\x9B\xE5\x0E\x27\x03\xD1\x95\xB6\xEE\xC5\x0C\x4F\x07\x9C\xCB\xAB\x8A\x80\x74\xCD\x00\xF1\xC0\xE2\x22\xEE\x81\x1B\x00\x92\xE0\x11\x26\xE9\xF3", + "\xCB\x19\x63\x01\x9E\xC6\x60\x7B\xED\xD2\xD7\xDD\x94\x2E\x03\x32\xEE\x81\x30\x00\x9A\xE0\x5F\x5E\xDD\x29\x99\x03\x39\xED\xB1\x3B\x00\x9E\xE7\x10\x2E\xE8\x34\x9B\x23\x84\x01\xA8\xC9\x36\x23\x04\xD4\x83\x0A\x51\xE2\xC0\x51\x37\x11\x29\xE9\xC6\x2C\x15\xDC\xDF\x53\xEE\xCA\x7B\x21\x13\x0A\xEA\xD5\x7D\xD4\x82\x0B\x55\xFF\xD5\x28\x44\x14\x1B\xEA\x61\xCD\xD5\x81\x0B\x57\xE8\xD6\x51\x37\x15\x23\xEB\x22\x41\x07\x65\xE8\x00\x07\xEB\x83\xAD\x7A\xBA\x05\xB5\xE0\x27\x7C\x02\x5B\xE7\xEB\xD8\xD6\x52\x85\x06\xBA\xE2\x27\x07\x07\x5D\xF3\xCB\x75\x70\x1A\x3C\xEA\x3A\x12\x09\x7F\xEB\x26\x7B\x23\xDB\x05\x9B\xEB\xDA\x38\x1D\x09\x15\x8B\xDA\xC7\xEB\x2F\xE5\xC2\xA7\x07\xC1\xEA\xAF\x86\xEF\x2A\x7B\x23\xF2\x04\xB2\xC6\x16\x5A\x06\xD9\xB1\x67\x1E\x3D\x07\x53\xE9\xD9\x3F\x04\x96\xED\xD3\xAF\x43\xCA\x07\x00\xC7\x4B\x86\xD5\x1A\xF3\x86\xD5\x8E\xD9\x9D\x71\x00\xC7\x4B\xB1\xF2\x13\x69\x05\x11\x8D\x01\x4D\xEF\xE2\xD5\x9D\x03\x31\xED\x66\x10\x0E\x35\xEF\x6D\xE2\xE3\x28\x41\x05\x07\x4F\x29\xE6\x2C\x6D\x05\x67\xF8\x66\x7B\x24\x06\x03\xEF\x59\x87", + "\xDC\xDF\x67\x1E\x3F\x01\xBB\xEE\x81\x25\x92\x99\xD5\xDA\xB6\xD9\x94\x2B\x02\xCB\xEE\x81\x0F\x00\x3E\x95\x8C\xE7\xEB\xCF\xDD\xB3\x56\x01\xBB\xCD\x2C\x0D\x0C\xDD\xBF\xED\x24\xF6\x61\x61\x01\xBA\xD8\x60\x3E\x96\xDB\xD5\xEF\x79\xF5\x73\x6D\x02\xBD\xC9\x36\x19\x0C\xDE\xE6\xEC\x58\x7A\xE2\x39\x09\x0F\x32\xEE\xBD\x3F\x03\x75\xEE\x7B\xF7\xEF\x87\x6B\xBF\xF0\x3E\x65\x9A\x10\x6D\xED\x51\xFF\x74\x28\x41\x12\x02\xF1\x22\x49\x05\x7C\x93\x63\xF7\xDB\x51\x35\x13\x0B\xF0\x38\x15\x06\x0E\xF2\x7D\xE1\x08\x10\x3A\x3D\x69\x04\xF1\xE3\x10\x34\x07\x71\x56\x3A\xE5\xEF\xBF\xCA\xDD\x28\x36\x0B\x1C\xF2\x40\x01\x06\x1F\xF0\x22\x3B\x97\x56\xEE\xD5\xA7\xD1\x94\x23\x06\x26\xF6\x82\x29\xF0\x54\x61\xE2\x87\xF3\x38\xA8\x41\xD0\x01\xC6\xE6\x85\x19\xF7\x10\x12\x05\x8D\xEE\xEA\xE5\xE1\xCA\x1D\x06\x1D\xF8\x0E\x3C\xF0\x50\x7F\xF1\x2D\xF6\x9D\xE8\x40\x75\x0B\xE0\xF6\x06\x91\xE2\x08\xA8\x06\xC2\xCA\x09\x27\x0F\xD1\xF3\x08\x3E\x09\xED\xF6\xB0\xC9\xC1\x08\x2A\xF5\xA8\x95\x0E\x00\x0B\x03\xFF\xDA\x4E\x3F\x04\x2D\xF0\x00\x5C\xF2\xA3\xD6\x94\x0C\x00\xCC", + "\xF9\xD9\x66\x1A\x0C\x52\xF3\x41\x06\xF3\x98\xD5\x14\x97\x00\x35\xF3\xB4\x8E\x23\xD3\x94\xEE\x6F\xF6\xA7\xD6\x94\x11\x04\xE7\xAC\xC5\xB3\x02\x07\x6E\xF2\x78\xA7\xD4\x93\x8D\xE7\xB7\xC5\xB3\x0E\x07\x81\xF2\x20\x30\xF3\x57\xD8\x82\x38\x01\xA1\xFE\xE6\x76\x24\xCC\xCB\xF4\x03\xAB\x32\x42\x03\xA3\xE4\xEE\x46\x1D\x00\x1B\x9D\xB5\xD3\xE9\xF2\xAB\x1E\x2D\x02\x97\xF3\xA9\x9B\xF4\x0F\x23\xC0\xF5\x70\x16\x01\xF5\x0E\x25\x03\x23\xF5\x29\xF0\xAD\xDE\x3C\xAA\xF5\x78\xAB\xF1\xCF\xE9\x97\x95\x1E\x06\x2F\xF5\xB2\x35\x01\xB1\xF2\xD0\xEF\xA1\xFF\x96\xEB\xFA\x39\x10\x19\xF5\x8A\xF6\x5C\xD1\x32\x42\x0F\xE8\xB2\xEC\x9D\x0D\x02\x9B\x9E\xC0\xFA\xF5\x51\x6B\x32\x10\x05\xAF\xF0\x3F\x5A\x00\xD8\xDB\xF2\x1C\xE8\x82\x1B\x07\xB3\xE5\x42\x66\x02\xDA\xE5\xF2\xCC\xC8\x82\x26\x07\xA3\xEA\xED\xD2\x1A\x0E\x1B\x9D\x62\xCD\xE9\xC2\x8A\x0D\x70\x05\xDF\xF5\x59\x3D\x03\x71\xF4\xEA\xB8\xED\x85\xBA\x05\xC5\xF5\x59\x08\x05\xCD\x9E\x00\x6D\xF6\x74\xB6\x42\xF1\xF6\x81\x16\x04\x7A\xF6\xEF\xD0\x67\xCA\x12\x06\xD7\xF0\x4E\x24\x04\x6D\xFD\xE9\xA6\xD9\x85\xBD", + "\x06\x01\xFA\x4E\x30\x04\x82\xFB\x9C\xD1\x30\x3A\x19\xF7\x8D\x2C\x17\x09\xF7\x7E\xF2\x10\x54\xCE\xA5\x94\x07\x09\xFA\x03\x4C\xF8\x38\x4B\x47\x7F\x05\xC6\xE5\x15\xD5\x03\xE3\xDE\xC5\x53\xBC\x06\x78\xF1\xB2\x21\x07\xFC\xF4\xD5\xCA\xE4\xD8\x75\xF2\xD1\x69\xB3\x0F\x07\x29\xFA\xD6\xD8\xE5\x3A\x72\x02\x2D\xFB\x40\x06\xF6\xA5\x15\x1F\x31\xF9\x65\xFE\xB5\xD1\x32\x0B\x16\xF9\x4D\xDD\x59\x0B\x00\x5B\xA5\xEF\xAA\xFB\x31\xD1\x32\x3A\x00\xE8\xD8\xDB\x66\x19\x01\x36\xA6\xB2\xE1\xF6\xAF\xE0\x05\x46\x02\xA5\xF2\xB6\xCD\x16\x09\x0E\xFA\x14\xF8\xC3\xEB\x18\x29\x04\xF5\xC5\xC5\x17\x14\xFA\x95\x2B\x06\x36\xA4\x4E\xF1\xCC\xAB\x1B\x17\x1D\xFA\x10\x0A\x0D\x20\xFA\x6A\xA6\xF2\xD0\xFA\x33\xE8\x41\x6C\x00\xED\xCA\x09\x3B\x0B\xF6\xB7\x6B\xD8\xF9\xFA\xAA\x9F\x7F\xB2\xFB\x83\x04\x08\x75\xFB\x41\x17\x02\x77\xFE\xE8\xFB\xD1\x3D\x26\x08\x7B\xF9\xC9\xDE\xFB\x03\x0B\x0C\x01\xFC\x99\xFA\x90\xD1\x33\x24\x14\xFA\x6B\xDF\x13\x08\xFC\x81\x0F\x50\x85\xF0\x44\x10\x02\x55\xF0\x2C\x21\x04\xAA\xF0\xEE\x91\x08\x1F\x16\xA5\xC5\xC0\xF3\xDD\xF3\xC2\x0B\x0A", + "\x1C\xFC\x5F\x20\xFD\x97\xFC\x7B\xB2\x98\xC3\xFE\x18\x8B\xFF\x56\x16\xE9\x28\x40\x18\x2C\xFC\xF8\x3E\x09\x2E\xFC\x58\x7A\xF3\xD5\x9B\x19\x33\xFD\x22\x43\x56\xED\xFB\x66\x83\xF4\xEA\x4E\x1A\x3B\xFC\x00\x46\xFB\xBF\xFE\x42\x1F\x6E\x75\x71\x1C\x26\xFC\x07\x22\x0C\x28\xFD\xF7\x16\xD5\xDF\x73\x1D\x03\xFE\x39\x15\x58\xBE\xFD\x7D\x13\xC0\xB8\xE3\xFA\xF4\x13\x6C\x05\xFC\xD7\xFC\xDE\x7B\x23\x01\x05\x0D\x2C\xF0\xE1\x4D\xFD\xA2\xFC\x56\x4B\x19\x0C\x02\xFC\xEB\xF2\x07\x21\x0F\x65\xFC\x5B\xD6\x61\x17\x02\xFD\xF5\xF3\xC6\x2D\x0F\x6E\xFF\xAE\xF1\x32\x22\x02\xFE\xFE\xF3\x49\x28\x5E\xEB\xDA\xF9\xF6\x26\x2B\x0D\x0B\x0A\xFF\x4B\x7D\xDD\x40\x7A\x5F\xF4\x46\x7F\xCC\x7B\x1E\x19\x03\x03\x80\x28\x72\x03\x12\x02\x3D\x7F\xA9\x7F\xBD\x68\x8C\x4C\x80\x98\x79\xD5\x0E\x02\x10\x80\xCF\x7E\x14\x6B\x32\x0F\x01\x0C\x81\xE7\x7E\x3A\x68\x57\xA1\x7C\x12\x79\x7D\x59\x01\x1D\x83\xA3\x50\x02\x91\x80\xF7\x7A\x7A\x23\x06\x0C\x80\x38\x7E\xB1\x00\x05\x28\x57\x45\x7F\x5B\x0E\xDA\x5F\x3B\x6F\x00\x0B\x8D\x2C\x1E\x01\x30\x80\x0A\x8E\xEF\x7B\x11\x7B\x00\x05", + "\x8D\x2C\x2C\x01\x18\x82\x0C\x85\x5E\x51\x19\x86\x02\x0F\x8E\x40\x38\x01\x41\x83\xEB\x7A\xFE\x2B\x0C\x91\x02\x0D\x8E\x40\x04\x02\x06\x82\x0E\x85\xF1\x40\x59\x46\x80\x76\x59\x04\xB7\x7E\x1C\x7D\x94\x18\x0A\x15\x81\xC9\x19\x90\x56\xFD\x7F\x7F\x05\x58\x95\x5E\x04\xA0\x2C\x39\x81\x06\x83\xF2\x75\x39\xBF\x03\x18\x89\x6C\x37\x02\x65\x82\x10\x83\xF3\x5F\x3B\xCB\x02\x1A\x8A\x77\x05\x03\x6D\x82\x12\x8F\x06\xA5\x42\xD7\x02\x1C\x80\x7F\x2C\x59\x61\x0A\x14\x86\x7D\x6B\x0C\xE3\x02\x1E\x85\x84\x21\x03\x51\x82\x19\x8B\xA0\x7B\x11\xEF\x02\x20\x80\x27\x2E\x03\x85\x82\x1B\x87\xCB\x6A\x27\xFB\x00\x17\x87\x15\x2E\x01\xBD\x73\x40\x0B\x0F\x17\x81\x08\x80\xDB\x5E\x0E\x54\x82\xEB\x7D\x88\x0C\x09\x89\x73\x98\x19\xAA\x5E\xFF\x6E\x78\x28\x21\x05\x0F\x09\xBB\x7F\x82\x23\x29\x86\xCD\x53\x09\xA2\x82\x1F\x89\xF7\x78\x7F\xAA\x81\x03\x8B\x1A\x31\x82\x95\x17\x07\x0D\x0A\x86\x82\xD8\x47\xCA\x0F\x02\x31\x82\xC5\x62\x0E\x04\x0B\x90\x04\x2B\x03\x2D\x8E\x08\xA0\x35\x2B\x0C\x0F\x01\x0B\xAB\x6D\x48\x03\x2F\x8F\x49\x69\x5A\x07\x80\x00\x01\x05\x36\x0D", + "\x8A\x2A\x12\x01\x0B\xAE\x69\x70\x0A\x14\x01\x56\x0C\x74\x65\x6A\x8B\x42\x27\x13\x01\x03\x09\xA7\x74\xA6\x7B\x5E\xFF\x71\xA9\x04\x05\x10\x83\x7B\x13\x12\x01\x0B\xBC\x44\x18\x56\x9C\x03\x0E\x8A\x04\xDC\x81\xC7\x72\x27\x10\x01\xB1\x81\x7E\x14\x27\x15\x01\x99\x7F\x52\x04\x05\x31\x82\x1E\x80\xF4\x29\x6A\x45\x63\xF4\x83\xE8\x73\x17\x1E\x01\xF8\x82\x17\x7B\x0F\x90\x04\xFD\x83\x99\x75\x3D\x68\x01\xBC\x81\xB3\x04\x6F\x56\x7F\x05\x85\x9C\x76\x29\x73\x01\x09\x86\x03\x16\x06\x02\x83\x03\x05\x43\x8C\xDC\x11\x19\x7E\x01\x44\x8D\x58\x32\x01\x14\x86\x40\x06\x11\x8A\x2B\x84\x12\x46\x88\x17\x5D\x84\x01\x07\x47\x87\x93\x2B\x0C\x94\x01\x40\x8E\x40\x0A\x02\x03\x86\x42\x06\x12\x8B\x60\x75\x3A\x27\x02\x12\xBA\x1D\x95\x00\x49\x8D\x56\x18\x7F\x1A\x7B\x4C\x80\x7F\x21\x02\x36\x86\x49\x88\x2D\x75\x39\xB4\x02\x4E\x85\x84\x2D\x02\x3D\x85\xAB\x75\x08\x42\x85\x70\x09\x2E\x05\x14\xB3\x7A\x7B\x12\x32\x08\x14\xB2\x09\xC5\x03\x52\x87\x10\x1F\x6B\xA5\x41\x35\x0F\x14\xB4\x09\xD1\x02\x54\x80\x00\xBB\x11\xE0\x03\x31\x8D\x2C\x1D\x03\xCC\x80\x41\x85", + "\x12\x6A\x27\xEC\x03\x55\x85\x2A\x2A\x03\x5A\x86\x4B\x41\x0D\x66\x85\xC6\x0A\x3D\x09\x16\x81\x04\xFE\x6B\x30\x7F\x06\x21\x79\x74\x09\xE3\x53\xFE\x77\x84\xA6\x77\x1E\x1C\x00\x33\x85\xC6\x71\xB2\x1A\x79\x77\x85\x26\x87\x6C\x6A\xB4\x56\x00\x7C\x87\xCD\x7D\x2C\x32\x5E\x7D\x82\x4B\x83\x03\xA5\x42\x22\x01\x61\x81\xF4\x4E\x10\x26\x03\xEC\x51\x03\x95\x84\x0C\x5E\xCF\x7E\x18\x86\x7A\x0E\x10\x0D\x03\x7B\x6B\x6D\x26\x86\xC1\x7D\x67\x79\x00\x97\x86\x2C\x89\x6C\x00\x01\x9B\x86\x58\x8B\x04\x88\x63\xA1\x85\x0B\x83\xDF\x33\x5E\xCD\x82\x49\x86\xF1\x55\x4F\x50\x01\x68\x85\x01\x92\x0F\x04\x60\x43\x83\xC8\x51\x19\x5B\x02\x6C\x87\x9B\x65\x86\x8A\x87\xCA\x7F\xED\x26\x01\xA9\x84\x48\x22\x19\xA6\x86\x67\x83\xB7\x32\x07\x01\x87\x0E\x13\x1F\x03\x1C\xBD\x86\x77\x82\xA5\x4E\x07\x08\x87\x8D\x15\x23\x0B\x1C\x87\x04\x26\x87\xD0\x5D\x82\x50\x87\xC9\x1B\x26\x03\x1D\x94\x86\xA8\x71\x29\x46\x09\x18\x87\x7A\x1E\x11\x66\xF9\x4C\x87\x87\x81\x94\x12\x0A\x20\x87\xF0\x1E\x2D\x0C\x1A\x84\x87\x8F\x82\x0D\x3E\x0A\x3A\x86\x0A\x05\x2E\x01\x1A\x95\x16\xC3", + "\x00\x6F\x84\x1D\xA5\x7D\xEC\x10\x7C\x87\x10\x06\x03\xF3\x84\xCC\x26\x1F\x9C\x87\x6F\x7C\x7A\x3A\x1F\x83\x04\xD3\x01\x7F\x8A\x10\x1B\x03\xFF\x86\x47\x86\x8F\x6A\x27\xD5\x03\x80\x82\x10\x20\x03\x06\x8B\x41\x07\x0E\x09\x88\x25\x85\x90\x78\x82\x22\x03\x0E\x89\x40\x0D\x0E\x11\x88\xFC\x08\x85\x88\x17\xA7\x59\x51\x1B\x3B\x08\x1E\x80\x00\xFB\x00\x87\x89\x17\x2B\x87\x29\x11\x3D\x89\x13\x3D\x03\xA1\x85\x3E\x81\xD5\x3F\x62\x6B\x6F\x15\x07\xD2\x7B\x11\x07\x00\xD8\x2E\x22\x83\x04\xA0\x62\xF5\x72\x23\xAF\x74\x7B\x11\x04\x00\xB6\x33\x86\x11\x04\x09\x0F\x8B\x4D\x83\x3B\x8A\xF9\x4A\x9E\x1C\x00\x3F\x88\xA7\x63\x24\x90\x04\x45\x8A\xFB\x41\x65\x27\x00\x49\x8A\x03\x1E\x03\x0B\x89\x29\x89\xF9\x6A\x9E\x32\x00\x51\x88\xC5\x44\x25\xBF\x7D\xD2\x29\xAE\x46\x23\x8D\x0B\x58\x00\x8C\x8C\x24\x90\x7F\xA5\x43\x11\x09\x25\x89\x1B\xDC\x63\x78\x8C\x25\x8A\x04\x11\x53\xB7\x32\x05\x27\x89\x7A\x1D\x1C\x0B\x25\x83\x04\x4D\x8A\xAD\x5B\x47\x1D\x01\x70\x88\xFC\x18\x8F\x6A\x89\x74\x8A\x51\x88\x82\x28\x01\x79\x89\x11\x2B\x08\x33\x89\x19\x0B\xFB\x75\xE7", + "\x33\x01\x81\x88\x9C\x08\x09\x04\x8A\x01\x05\x9D\x89\xED\x26\x58\x89\x8A\x9C\x05\x0A\x0C\x8A\xD6\x4E\xB0\x72\x96\x20\x2D\xAA\x85\xD5\x02\x0B\x3F\x62\x93\x85\xA1\x84\x84\x7B\x11\x95\x01\xA4\x84\x27\x00\x03\x94\x8A\xA3\x80\x98\x06\x1A\xA2\x89\xA9\x0D\x0C\x25\x8A\xDC\x7A\x7A\x2B\x0A\x1F\x89\x0E\x12\x36\x02\x26\x95\x89\x07\x06\xB9\x72\x33\x70\x8A\x8D\x16\x39\x03\x2B\xAB\x89\x29\x82\x0D\x3F\x0B\x18\x8A\xD9\x4F\x2F\x6F\x00\x23\x89\xEE\x79\x9F\x5B\x0C\x00\x8B\x0E\x11\x00\x0B\x99\x43\x8B\xB4\x8B\x0E\x81\x65\x17\x03\xA9\x8A\xB1\x00\x01\x1B\x66\x44\x8A\x1A\x77\x21\x91\x8B\x34\x70\xB5\x84\x2C\xAD\x57\x51\x19\x3B\x08\x2C\x8D\x16\x2A\x03\x66\x6D\x29\x8D\x8A\x81\x51\x94\x19\x0F\x18\x8B\x55\x0C\x0E\x0A\x2D\x8D\x8B\x02\x07\x77\x79\x7D\x44\x00\xFF\x34\x90\x80\x11\x05\x01\xEB\x88\xAF\x8F\xDE\x5F\x3B\x0F\x03\x7F\x39\x29\x92\x0F\x52\x03\xB2\x8B\x2D\xB7\x8B\xA5\x43\x06\x0A\x2F\x8D\x0B\x61\x02\xBF\x8C\x2E\x9B\x46\xF8\x75\x49\x07\x02\x03\x8C\x0E\x10\x1C\x06\x30\xB6\x8B\x00\x79\x94\x13\x03\x0C\x8C\x8D\x17\x1F\x0F\x30\xBD\x89\xDD\x86", + "\xA5\x4F\x03\x14\x8C\xC9\x1A\x23\x02\x2E\xBF\x8B\x2D\x5B\x75\x7C\x31\xBA\x1D\x9C\x03\xC7\x87\x30\x80\x00\x19\x7A\x0D\x37\x05\x31\x8B\x10\x06\x18\x0F\xDF\x15\x16\xAA\x01\xBD\x88\x31\xA2\x63\x51\x18\x19\x0C\x32\x8A\x04\x6F\x03\xCB\x80\x11\x37\x02\x32\x8E\xA7\x81\x20\xB6\x30\x71\x03\xCD\x87\x10\x3C\x01\x3A\x8D\x73\x4D\x33\xA4\x8B\x37\x7A\x7A\x2E\x07\x02\x8D\x03\x05\x22\x05\x34\x87\x04\xD1\x03\xD1\x85\x29\x80\x64\x28\x23\x22\x0C\x34\xA5\x24\x4F\x8F\x40\x0C\xA2\x7C\x89\x3E\x8D\xE3\x78\x82\x18\x02\x23\x8D\x40\x04\x0A\x19\x8D\x02\x05\x8F\x69\x18\x87\x04\x58\x03\x80\x06\x05\x0A\x2A\xA6\x03\x7F\x3E\xCF\x5A\x83\x74\x09\x16\x03\x20\x26\x8A\xDF\x81\x95\x60\x0E\x86\x0D\x5A\x02\xDA\x8A\xA8\x29\x02\xFF\x34\x3A\x8A\x10\x83\x08\x72\x8E\x3B\x84\x27\x2E\x02\xFF\x36\x3C\x85\x2A\x1B\x01\x2A\x89\x49\x02\x0B\x17\x8D\xF0\x1D\x3E\x0B\x99\x6B\x6D\x88\x8E\x3F\x80\x16\x3D\x02\x8C\x8D\x11\x2B\xA5\x56\x7F\x91\x8E\x41\x85\x61\x48\x03\x61\x8D\x11\x21\x01\x37\x69\xCD\x81\xE6\x8E\x10\x95\x4F\xD4\x01\xE7\x80\x27\x1E\x00\xA0\x8C\x44\x02\x3A\x97", + "\x84\x28\x20\x38\x06\x3A\xB2\x09\x2B\x01\xEA\x8A\x10\x2B\x8E\x20\x85\x94\x1C\x0E\x2F\x8E\x74\x08\x0E\x02\x3B\x92\x18\x5D\x89\x94\x18\x0F\x15\x8E\x70\x09\x11\x09\xB1\x7C\x8E\xF5\x6E\xDC\x27\xE0\x3B\x8B\x11\x05\x14\x0B\x3B\x83\x04\xB4\x8E\xA7\x71\x65\x0F\x00\xC7\x8F\x0D\x8B\x3C\x82\x04\xCD\x8F\x4F\x8F\xED\x1B\x00\xD1\x8E\x57\x43\x3D\x81\x04\xCD\x8D\x5C\x75\x61\x67\x00\xD9\x8D\x63\x18\x07\x1B\x8F\x00\x01\xF3\x89\xD7\x55\x4F\x33\x01\xF8\x89\x6C\x05\x02\xE4\x8D\xF3\x84\x15\x9A\x8C\xEA\x8E\x63\x4D\x3E\x96\x8A\xEA\x27\x12\x07\xE0\x0D\x83\x70\x0B\x27\x07\xA7\x63\x8B\xE5\x8F\x58\x86\xC3\x18\x01\xF1\x8C\xFC\x1D\x0A\x33\x8F\x12\x81\xCD\x81\x40\xA7\x60\x04\x93\x0F\x7B\x47\x30\x01\x07\x3A\xBC\x8A\x10\x07\x03\xC3\x8C\xF3\x82\x02\x8A\x6D\x7B\x01\x03\x9D\x2C\x13\x03\x11\x90\xF5\x8B\x18\x96\x4A\x86\x03\xFD\x8D\x83\x37\x69\xCC\x88\xF1\x8D\x2B\xB5\x39\x93\x02\x07\x9E\x40\x2E\x03\x20\x92\xEA\x85\x19\xBC\x71\x07\x93\x2E\x49\x40\xA5\x6C\x00\x2D\x0B\x92\x27\x0A\x00\x61\x6D\xE8\x8D\xF0\x68\x20\xB8\x02\x09\x9D\x58\x17\x00\x61\x6C\xFF", + "\x8D\x3C\xAF\x86\x15\x59\x31\x02\x43\xB4\x09\x25\x01\x0D\x9A\x42\x99\x81\x28\x21\x34\x03\x44\xA5\x0A\x32\x02\x11\x93\x3B\xA3\x67\x75\x39\x37\x0A\x43\x89\x1B\x3F\x01\xD8\x61\x42\x92\x90\xBE\x85\x29\x4A\x0E\x13\x91\x7A\x1E\x13\x06\x45\x87\x91\xCD\x87\xC9\x6C\x45\xB0\x1F\x5D\x03\x17\x9F\x44\xBB\x67\x95\x04\x01\x03\x07\x1C\x8D\xCC\x6A\x19\x92\x42\xBC\x27\x50\x1F\x1A\x97\x10\x38\x8F\x72\x0B\x1E\x0D\x43\xA0\x91\xE5\x84\x0A\x2E\x01\x32\x91\x03\x04\x1D\x94\x27\x09\x02\x77\x93\x19\x93\xA1\x76\x30\x2B\x00\x1F\x9F\x18\x96\x52\x86\x93\x2A\x82\x10\x17\x02\x4E\x93\x1B\x99\x03\x51\x19\x39\x01\x22\x95\xF5\x58\x69\x92\x91\x65\x14\x0A\x0D\x92\x58\x93\xCF\x85\xE7\x07\x01\x92\x93\xDA\x63\x05\x15\x92\x10\x05\x2C\x08\x49\x9A\x90\x49\x8E\x0D\x35\x05\x1D\x92\x10\x05\x18\x00\x4A\x8A\x04\xBE\x03\x28\x9C\x3D\x96\x88\x2A\x80\x2A\x98\x33\xAB\x92\x07\x07\x32\x0E\x4A\xBD\x8F\x4A\x7A\x7A\x21\x07\x12\x92\xCD\x82\x1F\x04\x4B\x83\x04\xD8\x01\x20\x97\x10\x1D\x01\x03\x08\x17\x0A\xA8\x00\x02\xBF\x93\xFC\x22\x27\x1E\x01\xCB\x0A\xA2\x22\x08\x12\x92", + "\xD4\x82\x9C\x00\x06\x09\x8E\x11\x07\x20\x02\x49\x8E\x90\xF0\x0B\x2D\x93\x4D\x92\x8E\x4B\x06\x23\x07\x4D\x8D\x0B\xF3\x02\x36\x9A\xFA\x5F\x3B\x99\x02\x2C\x9B\x59\x27\x70\xFC\x8F\x36\x96\x24\xB6\x30\xA5\x02\x39\x9D\x87\x28\x93\x90\x6C\xEE\x75\x61\x71\x02\xEE\x92\xD6\x60\x4F\x8D\x6F\xC0\x7E\x75\x35\x4F\xB0\x1F\x2A\x03\x3D\x95\x46\x3D\x8E\x28\x21\x32\x0F\x4D\x8E\x10\x38\x03\x09\x7D\x0C\xAA\x93\xE2\x43\x47\x1B\x4F\x85\x21\x31\x73\xD9\x89\xBF\x38\x84\x08\x3B\x42\x90\x27\x13\x01\xFE\x93\x43\x9F\xFD\x76\x8E\x12\x96\x41\x25\x51\x82\x04\x08\x96\x40\x0E\x3D\xBD\x59\xF8\x01\x46\x94\x27\x2F\x01\x1B\x95\x40\x0D\x51\xAB\x60\x95\x5C\x1D\x06\xFD\x70\x09\x7D\x01\x49\x90\x00\x27\x94\xCD\x13\xCA\x00\x01\x2A\x94\x2E\x7E\x03\x1C\xC6\x4E\x94\x1C\x94\xFD\x86\xC3\x1C\x00\x34\x95\x1F\x9D\x2C\x19\x02\x27\x73\x15\x99\x53\x9F\x8A\x51\x19\x0A\x0D\x53\x87\x92\x0C\x42\x4B\x90\x53\xA3\x5B\x15\x59\x0D\x07\x54\x84\x80\x8D\x16\x2D\x0A\x54\xAD\x8A\x36\x31\x10\x0F\x54\xA2\x86\x7A\x1C\x31\x06\x50\xB1\x93\x79\x85\x94\x1C\x04\x17\x95\xD8\x93\x40\x01", + "\x0D\x1B\x95\xF8\x91\xB1\x89\x7D\x57\x01\x57\x96\x1F\x95\x2A\x1E\x03\x27\x70\x04\x0C\x55\xA3\x90\xE2\x49\x5A\x97\xE8\x6D\x95\x6F\x96\xB3\x88\x82\x31\x01\x57\x94\xF2\x80\x11\x3E\x03\x53\x97\x10\x82\x95\x39\x95\xCD\x08\x03\x0D\xCD\x69\x93\x37\x92\x7A\x29\x08\x32\x95\x0E\x10\x37\x7A\x10\x02\x95\x26\x95\xB9\x88\x82\x16\x02\x80\x94\xC3\x33\x58\xB5\x95\xED\x88\x0C\x51\x59\x8D\x16\x37\x03\x64\x95\x56\x85\x87\xA5\x42\x2B\x08\x58\xA4\x62\xDD\x72\x5B\x9B\x59\x80\x8C\x96\x4B\x2E\x0F\x59\x89\x1B\x55\x01\x68\x94\x59\x88\x8C\x7B\x10\x32\x07\x5A\xBA\x1D\x65\x02\x6A\x93\x5A\x91\x8C\xFF\x47\x6B\x90\x7F\x35\x01\xB2\x97\x3F\x99\x31\x95\x4F\xE2\x02\x6D\x95\x84\x05\x02\xDD\x70\x63\x9F\x52\x90\x78\x28\x23\x3B\x0E\x5B\xB0\x09\x94\x01\x70\x9B\x5A\xA8\x8C\x28\x1F\x65\x90\x88\x35\x01\x95\x83\x45\x6A\x59\xBA\x96\x34\x8C\x0A\x2A\x00\x10\x97\x35\x96\x96\x58\x5D\xA0\x82\x02\x05\x2C\x03\x5D\x96\x94\x9A\x93\xB7\x38\x01\x1B\x97\x48\x97\xAF\x24\x5E\x8A\x92\x01\x07\x2F\x0F\x5D\x83\x95\x9D\x6F\xF2\x37\x5E\x93\x92\x07\x06\x0C\x0F\x5E\x95\x16\xCD", + "\x03\x7A\x9D\x58\x94\x8D\xEA\x24\x0D\x0F\x5E\xAB\x6D\x40\x03\x7C\x90\x11\x09\x76\x38\x97\x7D\x90\x22\xA8\x20\x42\x03\x7B\x9D\x0C\x8F\x01\xFE\x96\x4B\x0A\x5C\x8A\x04\x61\x03\x80\x06\x06\x0A\x2A\x51\x03\x7B\x9E\xA6\x78\x03\x1D\x77\x83\x13\x20\x1F\x01\x8A\x2A\x14\x02\x61\x94\x74\xC6\x0B\x18\x03\x20\x0D\x98\x82\x8E\xDD\x82\x62\x86\x0B\x64\x02\x83\x9A\xA8\x13\x01\x1B\x9B\xE2\x15\x2A\x0F\x98\x2E\x07\xCA\x04\x05\x3B\x97\xCD\x09\x3E\x06\x5F\x98\x2A\x33\x8B\x49\x20\x63\x8E\x10\xA8\x75\x80\x94\x63\xBC\x88\x14\x62\x81\x9D\x2C\x15\x00\xC7\x26\x70\x9C\x62\xAB\x93\x75\x39\x1E\x0E\x63\x8E\x10\x24\x01\x90\x90\x11\x03\x99\x4E\x88\x0A\x26\x08\x07\x99\x91\x62\x92\x92\xEB\x26\x98\x98\x35\x82\x9D\x58\x02\x01\x4F\x79\x40\x0C\x64\xBB\x72\xD8\x83\xDD\x84\x23\x72\x09\x5B\x99\xED\x88\x82\x15\x02\x50\x99\xB2\x14\x04\x12\x99\x07\x05\x98\x97\x12\xBB\x11\xA2\x03\x8D\x9D\x58\x13\x01\xC7\x24\xFF\x8A\x66\xB0\x84\xDF\x3A\x2B\x05\x66\xBA\x1D\xE9\x77\x62\x9B\x64\x90\x94\x75\x3B\x2E\x07\x67\xB0\x1F\x70\x00\x9A\x93\x10\x2A\x99\xD6\x8D\x29\x48\x0C", + "\x3F\x99\x45\x23\x1F\x02\x68\x82\x04\x6A\x9B\x47\x99\x7D\x55\x03\x88\x98\x9C\x0E\x08\x0B\x9A\x5A\x9A\xA1\x8F\xED\x22\x03\x91\x9A\x9C\x02\xE1\x7A\x99\x53\x9B\xFD\x75\x5C\x99\x9A\x74\x08\x2B\x04\x69\xBB\x98\x36\x51\x94\x1C\x0F\x2F\x97\xFC\x8C\x9C\x0B\x0B\x07\x27\xA2\x95\x9A\x9E\x3F\xB5\x39\x0A\x02\x1D\x0C\x46\x85\x21\xCB\x03\xA8\x9A\x66\x8C\x95\x7D\x5B\x05\x02\x6B\xB3\x91\xCD\x0A\x36\x06\x6B\x94\x95\x75\x38\x09\x0B\x6B\x86\x86\x0E\x11\x3A\x01\x67\xBB\x99\x5D\x94\x0A\x20\x03\x03\x9B\xE5\x94\xFC\x17\x0F\x07\x9B\x9D\x98\x5C\x95\x0A\x7C\x00\xCC\x99\x40\x09\x6A\xB2\x09\x05\x03\xA3\x71\x01\x08\x9B\xD2\x9A\xA5\x4A\x04\x15\x9B\x00\x03\xB5\x94\x27\x16\x00\xDA\x98\xB7\x96\x57\xAA\x27\x58\x00\xB8\x9A\x56\xBC\x35\x8F\x7A\x90\x96\x2D\xAA\x27\x65\x02\xBA\x90\x68\x6D\x9B\xE6\x99\xCB\x63\x45\x20\x9B\xE2\x99\xA9\x05\x04\x0F\x7A\xAD\x9B\xA0\x9E\x58\xAA\x27\x80\x02\xBC\x9E\x40\x15\x01\xF4\x99\xB4\x9F\x5F\x7B\x11\x8D\x02\xC0\x9D\x58\x24\x01\x05\x9E\xAB\x9E\x12\x0A\x2A\x9A\x00\xB8\x9E\xA6\x73\x01\x8F\x78\x87\x0A\x66\x9B\x02\x8A\x2B", + "\x26\x00\x6E\x95\x16\x70\x08\x1D\x0F\xE8\x55\x16\x6A\x98\x17\x09\x30\x91\x04\x9D\x03\xC6\x9D\x2C\x36\x01\x1F\x9D\xBD\x91\x10\x23\x03\x8A\x2B\x27\x02\x71\x8D\x0B\x78\x01\xC5\x9A\x72\x80\x00\xE5\x02\xA2\x20\x0A\x2F\x9C\x0E\x11\x1E\x02\x73\x86\x9C\x2C\x3A\xA2\x21\x0A\x38\x9C\x8D\x16\x1E\x0B\x73\x8E\x9C\xF0\x0B\xC1\x30\x74\x89\x1B\x7B\x03\xD0\x9E\x6F\x8A\x04\xEC\x02\xA2\x23\x0A\x07\x9D\x7A\x1C\x1F\x0A\x74\x8C\x9A\x03\x09\x1F\x0A\xA8\x24\x02\x26\x9E\x03\x1D\x07\x29\x9C\x3C\x9D\x47\x1C\x36\x99\x9D\x15\x8C\xD7\x94\x74\xA6\x05\x8A\x28\x2A\x00\x75\xB0\x1F\x81\x03\xD4\x95\x69\x8A\x04\x8B\x03\xDE\x80\x76\x89\x1B\x82\x02\xD8\x9B\x74\x87\x04\xF2\x02\xA2\x2B\x0A\x27\x9D\x45\x20\xB1\x7F\x25\x73\x9C\x49\x6E\x69\x0C\x0A\x38\x9B\xCD\x09\x21\x05\x6E\x9D\x9D\x8E\x53\xC8\x9F\x6B\x00\x9E\xFA\x7B\xE0\x93\x76\xB4\x96\xE8\x34\xE2\x9D\x58\x27\x02\x8A\x9F\xDC\x9D\xF3\x65\x32\x8E\x9D\xB2\x18\x0B\x11\x9E\x54\x9D\x7C\x8A\xA8\x24\x03\xE0\x9B\xDB\x8B\xDA\x4F\x7A\xEF\x3A\x9A\x9A\x0B\x0A\x2A\xE7\x01\xE7\x9D\x2C\x0C\x03\xA0\x9F\xCC\x9B\x0B\x0A", + "\x2A\xEA\x02\xE9\x9E\x40\x0F\x03\xA9\x9C\xE1\x9C\x0B\x0A\x2A\xED\x02\xEB\x9D\x58\x00\x7C\x53\x6B\xCC\x9D\x0B\x0A\x2A\xF0\x02\xED\x99\x6C\x15\x03\xB1\x9F\xE2\x96\x41\x0A\x2A\xF3\x03\xDB\x9A\x77\x18\x03\x72\x9D\xE6\x97\x10\x15\x03\x8A\x29\x3D\x06\x7C\xB4\x20\xC9\x9F\xDA\x97\xF4\x68\x20\xF7\x01\xE5\x9A\x77\x1C\x03\xFC\x9B\xCC\x9A\x09\x1A\x69\x77\x01\x74\x90\x7F\x2C\x03\xD1\x9C\xA9\x90\xD4\x0A\x2A\x07\x01\xF7\x97\x10\x15\x16\x09\x02\xF9\x9C\x5D\x81\x04\xEE\x01\xF8\x9A\x66\xBD\x52\x75\x3B\x02\x0A\x7E\x82\x04\xF9\x9A\xB1\x00\x0F\x19\x9F\x84\x9D\xCA\x85\xE7\x19\x00\xF3\x9D\x40\x0D\x0C\xA6\x00\xFD\x9C\xE7\x4A\x74\x1C\x9A\xC2\x9C\x00\x0B\x06\x1D\x99\xA5\x08\x0A\x01\x80\x9C\x9C\x60\x98\x7E\x81\x65\x2A\x00\x01\xA1\x33\x87\x03\x0B\xA0\x10\x07\x03\x04\xF5\x6E\x9B\xEC\x62\x02\x81\x81\xA4\x17\x14\xA0\x68\x17\x81\xB3\x9C\xDA\x72\xA5\x48\x04\x1B\xA0\x2E\x85\x07\xAB\x1A\x1F\xA0\x84\x9D\xE2\x5D\x67\x57\x01\x24\xA3\x41\x04\x06\x26\xA0\x03\x04\x0F\x08\x82\x85\xA0\xF7\x51\x85\x56\x06\x01\xA0\xFC\x8C\x1D\x00\x83\xB6\x29\x54\x7D\xBF", + "\x93\xC0\x14\x93\x10\x06\x1D\x01\x80\xBA\x95\xB3\x8C\xD5\x7C\x3F\xA7\x01\x35\x98\x0A\x22\x08\x03\xA1\xCD\x09\x1A\x06\x84\x90\x04\x48\xA0\x8F\x98\x82\x0E\x02\x2D\xA1\xB2\x14\xF7\x44\xA0\x3F\x10\xEC\x7A\x9E\x1B\x02\x55\xA2\xDE\x15\xF8\x58\xA1\x3F\xA0\x32\x4B\x47\x28\x02\x5D\xA0\xFC\x15\x09\x33\xA0\x59\xA0\xE1\x9F\xED\x35\x02\x3B\xA0\xFC\x14\x0A\x13\x7E\x01\x05\x14\xA7\x10\x29\x01\x08\xA1\x38\x86\x87\x86\x0D\x72\xA0\x16\x3B\x32\x37\x02\x65\xA1\x11\x26\x0A\x28\xA1\x61\xA1\xFB\x6B\x57\x4C\xA1\x0E\x11\x2D\x0F\x84\x8A\x04\x79\xA0\x56\x71\x65\x10\x03\x7D\xA0\x0C\x60\x88\xB1\xA1\x7C\x9B\xB7\x3D\x0D\x0D\xA2\x72\x0A\x34\x0F\x88\x80\x00\x89\xA1\x57\x66\x21\x54\xA2\x55\x1B\x25\xA9\x89\xA4\x65\x51\x1B\x3D\x0C\x89\xA5\x0A\xF0\x02\x27\xA6\x69\xA5\x42\x04\x00\x1E\x03\x6B\xBC\x1D\xA6\xA2\xA7\x9A\x9E\x11\x00\xAA\xA0\xAF\x9E\x40\x0E\x00\x0C\x82\x70\x9F\x89\xBC\x65\x85\x06\x07\x01\x8B\x83\x04\xF5\x9C\x0D\x7C\x00\xBE\xA0\x90\xA0\x51\x98\x82\x2C\x00\xBB\xA2\x40\x0B\x6E\x86\x0D\x02\x80\x18\xA1\x8C\x97\x76\x90\x91\x31\xAE\x7F\x9A\x62", + "\xB5\xA0\x14\xA0\x6C\x9F\x3B\x46\x02\x33\xA0\x5F\x89\x1B\x4B\x00\x03\x87\x84\x93\x90\xA6\x06\x14\x06\x8D\x84\xA1\x07\x04\x09\x8A\x63\x9F\xA2\x82\x86\x69\x0E\x05\x16\xA3\xBD\xA1\xD5\x07\x06\x0C\x80\xDB\x98\x22\xAB\x41\x95\x4F\x6C\x00\x3A\xA0\x73\xAC\xA3\xD2\xA2\xC7\x6A\x9E\x3A\x01\xD6\xA3\x31\xA5\x35\x09\x02\xD1\xA2\x3B\xAE\x57\xAA\x27\x87\x01\x3E\xAD\x2C\x18\x02\xFD\xA3\x41\x0F\x89\xB3\x71\x60\x04\x25\x02\x8F\x8E\x10\xA7\x03\x2F\xA5\x8F\x96\x77\x28\x22\x28\x02\x90\x8E\x10\xB7\x01\x41\xA9\x86\x95\x62\x69\x77\x44\xA4\xCF\x16\xA4\x81\xA3\x40\x09\x0E\x0A\x2A\xBC\x02\x35\xAE\xA6\x55\x03\x0C\x80\x87\x0F\x89\x98\x9C\x7B\x11\x2F\x06\x8D\x8C\xA0\x74\x0A\x35\x0C\x00\xBC\x1C\xC5\x92\xE1\x9A\x10\x3F\x02\x2B\xA5\xB3\x08\x0D\x2F\xA4\x0F\xA7\x40\x0C\x72\xBB\x11\xC1\x02\x48\xAD\x6B\xA5\xA4\x39\xA6\x40\x05\x73\xBB\x11\xC2\x02\x4F\xAE\x40\x1B\x03\x40\xA6\x3F\xAD\xAF\x4A\x2A\xC3\x02\x51\xAD\x58\x1C\x03\x49\xA6\x41\xA4\xDD\x0A\x2A\xC4\x02\x53\xA9\x6C\x1D\x03\x51\xA7\x45\xA4\x4F\x4A\x2A\xC5\x02\x55\xAA\x77\x1E\x03\x59\xA5\x47\xA8", + "\xD7\x0A\x2A\xC6\x01\x4D\xAE\x40\x1F\x03\x38\xA6\x52\xA0\xCD\x0A\x2A\xC8\x02\x59\xAD\x58\x21\x03\x69\xA6\x54\xAB\x12\x0A\x2A\xCA\x02\x57\xA0\x7F\x01\x82\x7B\x9E\x5A\xAC\x03\x4A\x2A\xCB\x02\x5B\xA9\x6C\x24\x03\x71\xA6\x56\xA2\x10\x35\x9D\x7B\x11\x33\x06\x97\x85\x21\xE6\x01\x58\xAB\x8C\xA4\x96\xD5\x4E\x33\x0B\x90\x82\x65\xF4\xA2\x5E\xA1\xA8\x32\xA4\x07\x04\x37\x0F\x98\xB5\x5C\x91\xA6\x5C\xA1\x46\x95\x58\xEA\x03\x65\xAA\x77\x09\x00\xB1\x81\x3B\xAA\x99\x93\x9E\xEA\x24\x3E\x0E\x99\xB0\x1F\x1A\x01\x68\xA1\x94\x81\x04\xB9\x02\xA2\x26\x00\x39\x01\xB9\x9F\xD8\x31\x0B\xAF\x3B\x9F\xA3\xE8\x9F\xA0\x30\xA6\x07\x06\xE7\x92\x3D\x2E\x00\xB3\xA7\x6A\xAC\x32\x2A\x69\xB8\xA7\x40\x0A\x9B\x91\x04\x31\x01\x6F\xA2\x99\x80\x00\xB3\x9F\x1E\x1F\x00\x01\xA7\xA7\x5D\x66\x86\x9C\xA3\xA6\x02\x07\xEE\x94\x28\x4C\xA7\x01\x07\x70\xA9\x46\x4F\xA7\x82\xA7\xF0\x9B\x47\x15\x00\xD4\xA6\x00\xAD\x58\x3E\x82\xDE\x9C\x26\xA3\x20\x0C\x9F\x52\x39\x77\xAC\x92\xA5\x0A\xC6\x81\x78\xAF\x89\xA3\x22\xEA\x25\x06\x0D\x9D\xA9\xA3\xD2\x0E\x0F\x01\x0B\x80\xA3\xE2", + "\xA6\x42\x0B\x7D\xBB\x11\x27\x02\x79\xAD\x2C\x0E\x01\xCA\x80\x74\xA2\x04\x4A\x2A\x29\x02\x7E\xAD\x4D\x02\xA8\x6F\x05\x7F\xA9\x9D\x80\x00\xF0\x9F\xB7\x3D\x02\x2F\xA7\xCD\x0A\x14\x03\x9F\xBE\xA6\xFA\x9F\xB7\x3B\x03\x1D\xA7\xCD\x80\x12\x04\xA0\xB0\x11\xB1\x82\x2D\xA3\x20\x07\xA0\x21\x9A\xB1\x0A\x04\x17\xA8\x7A\x1F\x27\xA2\xCC\x7D\x59\x4C\x00\x85\xA0\x11\x19\x01\x20\xAB\x93\x19\xA1\xBE\xA6\x4A\x5A\xA5\x4B\x05\x26\xA8\x0A\x04\x1A\x09\xA2\x80\x00\x80\x03\x8A\xA7\x9C\xA1\xA0\xD5\x4E\x1A\x00\xA3\xA9\x38\x33\xAB\x23\x06\xA3\xBE\xA7\x00\x02\x0A\xA9\x7D\x79\x01\x3B\xAB\x00\x23\xA3\xB2\x84\xCA\xA1\x7D\xA3\x60\xAA\x27\x88\x00\x83\xA3\x2E\x33\xA8\xAD\x03\x83\xA1\xA3\x83\x08\x74\xA1\x87\xA0\x37\xA3\x98\x46\x0D\x95\xA7\x10\x25\x01\x8A\x28\x26\x0D\x9D\x91\x93\x74\x0A\x1A\x03\x20\x28\x01\x75\xA3\x95\xA7\x87\x95\x0D\x1C\xA8\xEB\x05\xA6\x9F\x99\x5E\x9A\xF4\x0C\x06\x14\x99\x51\x19\x26\x03\xA3\xB0\x09\xBD\x03\x34\x8A\x74\x15\x9D\x19\x9F\x9C\xA2\x27\x3E\x02\x76\xAA\x42\x0E\x06\x03\x08\x6D\x02\xA2\x2D\x09\x3A\xA9\x6D\xA9\x44\x0F\x06", + "\x00\xAA\x2D\x9C\xA1\xA8\xA5\x95\x0D\x70\x00\x9E\xAA\x4B\x1F\xA9\x1C\x9A\xD1\x02\x07\x00\xA1\xB9\x15\x77\xA1\x56\x82\x04\xBF\x01\x2C\x8D\x0C\x93\xAA\xDC\x91\x4E\x0D\x0A\x16\xAA\xA7\x9E\xA6\xA0\x11\x1C\xAA\x9A\x8D\x9F\x58\x0B\x1D\xA7\xE0\xA3\x40\x09\x0D\x31\x82\xFC\x8C\xA9\xA3\x3A\x95\x58\xC4\x00\xAA\xAD\x2C\x27\x03\xAC\xAB\xA8\xA2\x4F\xBD\x59\xD0\x02\xAC\xAE\x40\x35\x03\xB5\xA9\xBA\x49\x4F\xB5\x39\xDC\x02\xAE\xAD\x58\x03\x00\xA1\x85\xAB\xA0\x50\xAA\x27\xE8\x00\xA8\xAE\x40\x11\x00\xA1\x87\xA6\xA4\x26\x96\x4A\xF3\x02\xB0\xA9\x6C\x1E\x00\xC5\xAA\xAD\xAC\x26\xAB\x0C\xFF\x02\xB4\xA2\x0A\x55\xAB\xBE\xAB\x45\x9F\x8A\x02\x4C\xA9\xAB\xBA\x0C\xAD\x83\x13\x7E\x8B\x2A\x50\xAE\x8D\x0B\x48\x03\xB8\xA0\x96\x27\xA2\x96\x4B\x08\x07\xAE\x8E\x10\x56\x02\xBA\xA9\x28\x00\x76\xDF\x3B\x0B\x0F\xAE\x8B\x9C\xF2\xAB\x0A\x6A\x53\xB5\x39\x3B\x02\xC0\x4A\x8F\xA1\x7B\xA1\x86\x70\x9E\xAA\x9D\x5B\x51\x18\x12\x07\xAF\x89\x1B\x81\x01\xBE\xA8\x65\x14\x7B\xEA\x24\x15\x07\xB0\xBA\x1D\x8F\x02\xC2\xA3\xB0\xB0\x85\x1A\x1A\xC0\x47\xA9\x82\x41\xCD\xAA", + "\xB5\xA5\x2B\xAB\x0C\x6B\x02\xC5\xAD\x2C\x2A\x02\x19\xAD\xB7\xAD\x6D\x95\x4F\x76\x02\xBF\xAD\x2C\x37\x02\xA1\x84\x7D\xA3\xB1\x99\x71\x7B\x13\x20\x06\xB2\x8E\x10\xC7\x01\xCA\xAA\xB1\xA7\x9B\x36\x30\x24\x0F\xB0\xB0\x1F\xD7\x02\xC4\xAF\x6E\x98\x4C\x37\xAD\x11\x25\x0E\x3A\xAC\xA7\x86\x16\x8F\xB2\xA7\x34\x01\xAF\xCC\xA3\x05\xBB\x11\xB5\x01\xCF\xA0\x27\x02\x00\x60\x2E\xB1\xA8\x44\xAA\x27\xC1\x02\xD2\xA2\x27\x10\x00\x4D\xAE\xD1\xA1\x10\x33\x01\x6B\xA8\x90\x49\x0D\x95\x0D\x2B\xAD\xDF\x95\x19\x0D\x03\x43\xAF\xB4\xA0\xB6\x2A\xAC\x50\x93\xB7\x3A\x0D\x21\xAD\x23\x4B\xD8\xA6\xB5\xB5\x07\x94\xA7\x40\x07\x0E\x28\xAD\xF0\x1E\x0F\x0A\xB6\xA2\xAC\xA4\xA6\x0D\x34\x0F\x30\xAD\x45\x22\x13\x03\xB7\xA4\xAB\xBB\x95\x85\x51\x00\x25\x38\xFF\xAB\x82\x30\xB6\x02\xAC\xC4\x96\x7A\x2E\x00\x00\xAE\xCD\x09\x1B\x03\xB8\xAB\xAD\x11\xA9\xC0\x85\xE2\x2B\x6D\x27\x01\x89\x35\x59\x3C\x01\x55\xAC\xDD\xAF\x48\x81\x77\x8F\xAF\x38\x22\xB9\x90\x04\x8A\x01\xE5\xAC\xB7\xA1\x97\xA5\x43\x0D\x09\xB9\x8E\x14\x9B\xAE\x42\x08\x09\x1E\xAE\xEB\xA9\x29\x95\xE7\x05", + "\x01\xA3\xAF\x39\x55\xBA\x83\x59\xA8\xAF\xBC\xA8\x5F\xB6\x30\x53\x01\xEB\xA3\x10\x1F\x01\xAF\xAD\x87\x71\xBB\xBA\xAB\xB9\x90\x7A\x78\xB8\xBE\xA9\xB9\xAE\x40\x02\x0C\x0B\xAE\x0A\x04\xD6\xAF\x8E\x59\xAD\x11\x04\x1C\x01\xBC\xB0\x1F\x74\x03\x80\x07\x9E\x95\x58\x72\x01\x89\x3E\xA6\x51\x03\x60\x2C\x87\x0D\xBC\x8A\x04\x31\x03\xCA\x03\x07\x12\xAF\xCD\x0A\x34\x05\xBD\x90\x04\xD7\xAF\x41\x0D\x01\x2B\x0C\x74\x00\xF7\xAE\x40\x13\x03\xDF\xAE\x42\x01\xBE\x8E\x0A\x2B\x0D\x1D\x06\xBE\x8D\x16\xD4\x01\xFA\xA3\xBA\x67\x0A\x5D\x13\xFB\xAF\x7B\xB2\xAF\x03\x07\xFA\xAF\x25\x2B\x0C\x77\x02\xFD\xAA\x77\x16\x03\xF8\xAE\x87\x53\x20\x1C\x00\xF5\x1E\xFF\xA8\xB3\x81\xB0\x01\x06\xFE\xA0\x55\xA8\x20\x79\x02\x01\xB5\x84\x18\x03\x08\xB0\x00\x0A\xC0\x98\x95\x36\x32\x1E\x0E\xC0\xB0\x09\xD9\x01\x04\xB3\xC1\x9B\x00\x2B\x0F\x1E\x07\xC1\xB2\x09\xDA\x02\x06\xB3\x20\x3E\x8D\x85\x04\x1F\x0F\xC1\xB4\x09\xDB\x02\x08\xB3\x68\x11\x19\x7D\x03\x09\xB5\x2A\x1C\x03\x2A\xB1\x97\x65\xE7\x3E\x01\x2E\xB2\xC8\x61\xC3\x93\x09\xFD\x1D\x0D\xB6\x34\x1E\x03\x37\xB1\xC4", + "\x0B\x32\x00\x02\x3A\xB1\xD5\x0F\x0D\x3D\xB0\x01\x06\x07\x0B\x32\x01\x02\x0E\xB2\x20\x0B\xBC\x80\x00\xE0\x01\x04\xB5\x07\x14\xAA\x7C\x7D\x89\x37\xB1\x80\x00\xE1\x00\xD8\x2D\x0C\x8F\xB1\x9D\xA9\x49\x0F\x08\x12\xB1\x87\x7A\x15\xB0\x11\x18\xB1\xA5\xA9\xF6\x5A\x09\x36\xAE\x7A\x1F\x3E\x0B\xBB\x95\x30\x5A\xA2\x0D\x36\x0A\x24\xB1\x42\x57\x7F\x3C\x3F\xA0\xB1\x4D\x9A\x5A\x5C\xC6\x85\x21\x17\x02\x1B\xBF\xC5\xBF\xAA\x29\x3F\x1C\xB4\xBF\x36\xB1\x0A\x04\x1C\xBC\xE8\x6A\x27\xCA\x00\x17\xBE\x40\x13\x8C\xB3\x9A\x1F\xB4\xE9\x68\x68\x7A\xB2\x9C\x00\x04\x3C\xB1\x07\x06\x21\xBE\x3C\xA8\x20\xE1\x01\x22\xB4\x27\x0E\x01\x8C\xB3\x40\x0E\xC8\x85\x9A\x96\x49\x3B\x02\xC9\xA5\x0A\x5C\x01\x25\xB2\x10\x0E\xB2\x8E\x9A\xD2\x69\x0F\x1B\xB2\xC6\x0A\x1A\x0E\xC9\x81\x04\x8E\xB3\xF9\x85\x61\x45\x00\x7C\x03\x4A\x92\x27\x38\x01\xA7\xB0\x1A\xBE\x8A\xB6\x30\x11\x01\x2B\xB9\x5D\x89\x1B\x86\x01\x2C\xBE\xC8\xB8\xA2\x73\x05\x07\x06\xCB\xBE\x94\xF6\x3F\x7F\x32\x5C\x8E\xB2\x91\x75\x9F\x5A\x02\x3F\xB2\xCD\x99\x11\x23\x0A\x3A\xB2\x0C\xAE\x0D\x36\x03\x08\xB3", + "\x0B\xB2\xDE\x11\x0B\x0C\xB3\x1A\x83\x1E\x12\x04\x10\xB3\x14\xB1\x11\x2F\x0B\x3F\x37\x57\xB0\x37\xA5\x19\x0D\x01\xD8\xB3\x14\xBC\x0C\x1C\xB3\x77\xB2\x59\x9A\xB4\x58\x01\xD8\xB1\xE0\xA0\x11\x19\x03\xFF\x34\x7D\xAE\xC8\xA5\xA3\x95\x05\x19\x09\xCE\x8D\x0B\xE9\x01\x3B\xB5\xCE\x80\x77\xEA\x26\x1C\x08\xCD\xA1\xAB\x01\x05\x3E\x04\xCD\x87\x04\x9E\x85\xF6\x5E\x07\x3B\xB3\xCD\x0B\x01\x07\xE0\x2F\xB1\x85\x96\x0D\x3A\x08\x33\xB3\xDD\x43\x81\x33\xCC\xBF\x9B\xF4\x64\x41\xB8\x64\x87\xB4\xF7\xB3\xC1\x90\x32\x52\xB4\x8D\x16\x0C\x04\xD1\xBD\xB1\x65\xAD\x29\x4F\x0A\x0C\xB4\x8D\x14\x10\x07\xE0\x2E\xB3\x1D\xB6\xA5\x4C\x0B\x20\xB4\xAE\x63\x48\xB5\xD1\x8C\x9E\x36\x31\x32\x08\xD2\xBA\x1D\x60\x02\x4A\xBC\xD1\xA8\x91\x85\x06\x35\x0F\xD2\x80\x9A\x32\xB5\x23\xB8\xE0\x6A\x27\xE3\x03\x4D\xB5\x84\x00\x02\x0E\xB7\x4A\xB1\x10\x09\xA8\xA5\x40\x3C\x0E\xD3\xB0\x09\x8F\x01\x50\xB3\xD3\x83\x92\x75\x39\x3F\x08\xD1\x83\x04\x09\x01\x1F\x01\x9E\x9E\x02\x1B\xB6\x4E\xBD\xA1\x7B\x11\x0B\x02\x54\xB7\xCB\x91\x0C\x5A\xB7\xFA\x90\x00\x2C\x02\x55\xB6\x25\xB4", + "\x0A\xAD\xA7\x5D\xB5\x32\xB5\x02\x25\xB5\xE8\x94\x00\x0A\x0B\x21\xB5\x9F\xB3\x82\x8E\x4B\x68\xB5\xD7\xA2\x40\x03\x03\x30\xB5\x95\x14\x32\x0C\xD6\xA8\xB2\xB0\x92\x0D\x35\x03\x30\xB5\x6B\x6D\x10\x04\xD7\xB1\x4E\x77\xB6\x2C\xBB\xA4\xB6\x30\x43\x00\x5C\xBD\x0C\x90\x01\x7F\xB6\x42\x04\x0E\x0A\xB5\x07\x06\x1D\x00\xA7\xA8\x20\x52\x00\x5C\xBE\xA6\x73\x03\x07\x38\x87\x07\x07\x0F\xB6\x42\x35\x62\xBD\x58\x34\x03\x07\x39\x65\x17\xD9\x8A\x04\x56\x9C\x6F\x6A\xD9\x89\x1B\xF6\x01\x67\xB0\x11\x38\x01\xE0\x4B\xFB\x22\xD9\x91\xAA\x55\x0D\x1E\x09\xDA\x8E\x10\x95\x14\x16\x0B\xDA\xAA\x98\xC6\x0A\x6B\xB3\xF7\x65\x1D\x60\xAB\xA2\xA2\x3D\x3A\x01\x03\x0A\x63\xB6\xA5\xAC\xA9\xBA\xB5\x44\x0B\x07\x03\x08\x8E\xB1\xDD\x87\xA6\x9A\xAD\x74\x08\x1F\x03\x20\x13\xB0\xC6\xB6\x99\xAE\xDC\x95\x0D\xA1\xB7\xE7\xA9\x7B\x41\xB7\x7E\x0F\x80\x01\x08\x08\xAF\xAC\xB6\xF4\x0E\x07\x03\x08\x82\x00\x76\xB4\xDB\x86\x0D\x80\x03\x80\x0F\x07\x0A\x2A\x59\x03\x68\xBA\x4C\xB4\x09\xD7\xB6\x42\x03\xDE\xBB\x11\x5B\x02\x79\xBD\x24\x74\x09\xDD\xB6\x42\x01\xDE\xBF\xB6\xC8", + "\xB4\x75\xBA\x10\x03\x02\x4D\x22\xA2\x2D\x05\x33\xB6\x61\x1E\x9C\x08\xDF\xAC\x9D\x8A\x2A\x17\x0C\xDF\x9C\x29\x72\x09\x21\x0A\x33\x1E\xB7\x34\x12\x7B\xB5\x84\x06\x02\xD6\xB4\x82\xB5\x73\x55\xB6\x10\x04\x83\xBA\x10\x31\xB7\x3E\x4B\xD6\xA2\x3D\x39\x03\x10\xB8\x2A\x30\xC5\x83\x04\x61\x00\x5C\xB3\xC5\xBA\x03\x63\x90\x00\x07\x08\x09\xA1\xA8\x2A\x87\xB5\xD0\xBC\x92\x10\x07\x88\xB2\x85\xAA\x27\x77\x00\x5F\xBD\x2C\x14\x00\x92\x90\xFF\x8A\xE2\x84\x99\xDF\x3B\x20\x0E\xE2\x8E\x80\x31\xB9\x8A\xB7\xAB\x99\x5F\x8F\x03\x8D\xBD\x58\x30\x00\x39\xBA\x86\xB6\x25\xB6\x30\x9B\x02\x8F\xB9\x6C\x3E\x00\x41\xBB\x41\x03\xE3\x90\x75\x28\x23\x29\x06\xE2\x8E\x10\x4C\x00\x8A\xB2\xE4\x87\x04\x74\x99\x29\x42\x0B\x06\xB9\x7A\x1D\x16\x09\xE4\x83\x04\x4B\xB9\x3B\x4E\x65\x58\xB9\xF0\x1F\x19\x0B\xE5\x82\x04\x5D\xBA\x26\xA6\xB2\x20\xB9\x45\x21\x1D\x03\xE6\x81\x04\x65\xB8\x28\xA5\xCA\x28\xB9\x70\x0A\x35\x9A\x63\xAD\xB9\xAA\xB1\x9F\x52\x0E\x30\xB9\x72\x09\x24\x0B\xE6\xA2\xB8\xF4\xA9\x29\x4E\x0E\x38\xB9\xF4\x6B\x9E\xBD\xE6\xBC\xB2\x60\x06\x3E\x06\xD8", + "\x8D\x0B\xAD\x02\x24\x92\x5C\xAD\xB9\xC5\xB1\xF6\x57\x00\x3E\x01\xAE\xB0\x9D\x0C\x0B\x02\xBA\xCD\xB1\x9D\x33\x01\x10\xBA\x5B\xB4\xFC\x1A\x0C\x14\xBA\xD5\xB1\x94\x1F\x01\x18\xBA\xF3\x7D\xB2\x18\x0D\x12\xB9\x4A\xBA\x37\xB5\x18\x2A\x00\xA0\xB8\x2A\x89\x6C\x25\x03\xA4\xB8\x97\xBF\x8E\x8D\x95\xA9\xBB\x33\xAE\x40\x32\x03\x92\x90\x7D\xAD\xE6\xB0\xB3\x85\x06\x10\x01\xEB\x80\x00\xEA\xB1\xCB\x17\x55\xB6\xBA\x2B\x92\x7A\x2F\x04\x3B\xBA\xFC\xB0\x00\x02\x01\x17\x95\x32\xBB\xCE\xA5\xE7\x1B\x01\xC4\xB9\xB3\x00\x02\x08\xBB\x3A\xB9\xD0\xA8\x82\x27\x01\xBB\xB9\xAF\xB7\x10\x2E\x00\x57\x97\xA2\xB0\xD1\xB5\x39\x74\x01\xB3\xBE\x40\x3D\x00\xD0\xBB\x94\xB6\xD1\xA8\x20\x80\x02\xB7\xB4\x31\x61\xBB\xA5\xB9\x16\x96\x29\x4C\x02\xD5\xB9\xB3\x09\x05\x3F\xBA\xD1\xB8\x67\x96\x29\x59\x02\xED\xBA\x03\x19\x06\x30\xBB\xE2\xB8\x4B\xB5\xE7\x26\x02\xF5\xB9\x63\x19\x07\x38\xBB\xE9\xBB\x66\xAD\x67\x73\x02\xFD\xB9\xB2\x17\x58\x8C\x05\xF1\xB8\x1C\x91\xFB\x45\xBC\x7A\x1D\x26\x09\xED\x89\xBC\x21\x8C\x0A\x2D\x0C\x0C\xBC\xF0\x1C\x2A\x0F\xF0\xB9\xBB\x5A\x7F", + "\x1E\x1A\x0D\x26\xBB\x58\x33\xAE\xB5\x59\x37\x02\xE8\xBA\xAB\xB7\xD5\x8E\x7C\x1C\xBE\x40\x04\x0F\x1E\xBC\x10\x05\x31\x01\xF2\xA4\xB9\x63\xB6\x0D\x36\x0F\x25\xBC\x94\x17\x1F\x01\x9E\x93\x03\x2B\xBC\x9B\xBE\xD6\xB5\x39\x04\x02\xCC\xB9\xE9\x84\x04\x3A\xBE\x57\xB1\x0E\x35\xBC\x7C\xBB\xEC\xA5\xE7\x12\x00\x3D\xBD\x32\xBE\x01\x05\xBD\x69\xB6\x71\x93\xE7\x84\x69\x01\x34\xD2\xBC\xEB\x90\x04\x2D\x02\xD3\xB5\x59\x3D\x03\x17\xBE\x3E\x68\xD9\xB6\x30\x2F\x02\xD3\xBE\xA6\x4C\x00\x29\x9B\x41\x09\x08\x03\x08\x84\x02\xA2\x20\x03\x1A\xBD\xD9\xB4\xBF\x23\x20\x08\x02\x0E\xBB\x79\xB5\x2A\x2D\x9D\x68\x55\xDA\xBF\xDE\xA5\x0A\x8C\x03\x86\xBE\xA7\x0E\xBD\x53\xB1\x03\x08\x68\xB1\xBD\x59\xB1\x44\x0C\x03\x34\xBD\xCD\x0A\x06\x07\xF7\xA3\x93\x65\x8A\xD3\xB5\xEC\xA7\x00\xA8\x98\x44\x08\xF7\xB4\xB8\xEB\x5A\xE0\xBA\x28\x45\xBE\x6C\x8B\x8E\xBA\xB4\x5F\x01\x8A\xBE\x03\x13\x04\x0C\xBE\x07\x07\xE1\xBA\x87\xAF\x4F\x91\xBC\x55\x74\xF9\xBD\x18\xC7\xAA\x0D\x37\x07\x3C\xBD\x0E\x13\x17\x0F\xF7\x85\x8F\x5A\x19\xE6\xB6\xFC\x1B\xBE\x13\x0D\x24\xA5\x0A\x4E", + "\x02\xA6\xBE\xDE\x1A\x07\x28\xBE\xA3\x11\xA9\x7F\xED\x1A\x02\xAD\xBC\xFC\x18\x08\x30\xBE\x10\x51\xB9\xAA\xC6\xB5\xBE\x45\x22\x25\x08\xFB\x96\xBE\x89\x0B\xC1\x2C\xFB\x82\x7C\xBF\xBD\x9F\xB6\x29\x7E\x02\xC3\xBE\x7E\x15\xFC\x87\x76\x51\x1A\x32\x0E\xF4\x96\xBB\x03\x04\x30\x0F\x5E\x82\x97\xC0\xBE\x0B\x7B\x32\x17\x03\xC9\xBC\x9D\x0F\x0C\x0B\xBF\xCC\xA0\x0A\x23\x0E\x19\xBF\xA5\x09\x37\x0C\xFD\x9E\x76\x21\x88\xE8\xBD\x58\x2B\x03\xA3\xBF\xC6\xA5\x96\x66\xBF\x35\x5D\xFA\xB3\x10\x38\xBA\x73\x05\x01\x00\x08\x2B\xA2\xD8\x98\xB8\x94\x9F\x95\xBF\x2C\xAD\x94\x12\x01\x33\xBF\xB2\xA1\x63\x15\x01\x36\xBF\x86\xBD\xB0\xB6\xC3\x1F\x00\xFC\xBC\xB1\x98\xC1\x16\x9F\xB1\xBF\x3F\xA4\x48\x85\xC0\xC9\xB1\x90\x48\x00\xF9\xBE\xD2\xBA\x7A\x27\x03\x0C\xC0\xB2\xB9\x63\x11\x04\x20\x9B\xD4\xBF\xB6\xBF\xED\x04\x01\x14\xC1\x5C\xB0\x7F\x10\x01\x0F\xC0\xFE\xBE\x2E\x8A\x6D\x50\x01\x07\xC5\xEC\x9E\x01\x21\xC1\x49\xB8\x4F\x5D\xC0\xD0\xBE\x40\x0C\x06\x00\xC0\x8D\xBE\xBA\xB5\x3D\x69\x01\x2C\xC2\xFB\x50\x03\xD5\xBE\xA0\x73\xB7\x36\x07\x35\xC0\xD8\x67\x0D", + "\xCC\xF9\xB4\xB4\x73\x07\x20\x0C\x03\xCD\x16\x9C\x02\x0F\xC9\xFA\xBD\xAD\x7D\x58\x24\x03\x04\xC9\x1B\x7F\x9D\x92\xA8\xFF\x84\xB5\x96\x49\x27\x0B\x04\xFA\x1D\xBB\x00\x06\xC1\x00\xF5\x58\xEA\x26\x2A\x06\x02\xD0\x04\xB6\x01\x07\xC5\x59\x0A\x03\x29\xC3\xC8\xB8\x43\x9B\xC1\xCD\x46\x17\xC0\x11\x18\x03\x61\xC0\xE8\xAB\x85\x64\xC1\x07\x06\x34\x06\x06\xC2\x12\x69\xC0\x74\x4F\x51\x2C\xC1\x03\x04\x38\x0F\x06\xC7\x04\xF4\x01\x1C\xC9\x0B\xBB\x11\xE2\x00\x1D\xC2\x10\x2E\x03\x77\xC3\xCE\x18\x83\x97\xC1\x83\xB5\x9D\x30\x0F\x13\xC1\x01\x05\x3F\x01\x08\xC5\x07\x01\xA2\x70\x9D\x08\x26\x14\x6E\xBC\xBC\x32\x27\x0F\xC2\xB3\x96\x8B\x3D\x01\xEE\x69\x1F\x01\x00\xAC\x21\x14\xC2\x3D\x79\x24\xCD\xD0\x4A\x04\x8E\x00\x24\xC4\xDF\xA9\x83\x85\xA9\x3A\x6D\x4C\xAC\x15\x81\x01\x5E\xAD\x58\x20\x00\x9A\xC2\x29\xCA\x10\x12\x02\x9E\xC2\x85\xB1\x11\x0F\x02\x57\xBD\x9D\x31\x00\x29\xC2\x07\x06\x9B\x61\x02\x2D\xC2\x0A\x04\x24\x02\x0A\xD5\xB8\xA5\xC2\x03\x11\x09\x20\xBD\x50\x68\x2E\xC0\xA6\x5F\xB7\x55\x0C\x2C\xCA\x10\x34\xC2\xA3\xC1\xD9\xB0\x11\x13\x02", + "\xAE\x11\x2C\xC1\x0C\xC7\x04\x94\x03\x80\x00\x0D\xCD\xC3\xC8\xC3\x22\x58\x94\x12\xC3\xF6\xB7\x13\x33\x20\x28\xA4\x34\x1E\x31\xCD\xA6\x4E\xC3\xE3\x0B\x80\x07\x9F\x91\x19\x04\x02\x38\xC5\x27\x64\xC3\xDE\xC2\xC4\x2A\xA5\x6A\xC3\x78\x6B\x5B\x10\x0F\xCF\xAF\x46\x0C\x26\x03\x20\x17\x02\x6E\x48\x3C\xC9\xDB\x86\x0B\x99\x03\x3D\xCA\xA8\x09\x00\xFA\xC0\x3B\xC3\x10\x27\xC3\x03\x06\x3D\xC8\x0D\xFD\xB7\x74\x08\x41\xCA\x7C\x96\x97\x01\xC6\x03\x8C\x0B\xC7\x04\xE0\xC0\x6A\x31\x09\xCB\x00\xF3\xC0\xF2\x66\x5A\x11\xC2\x0D\x01\x45\xC3\xCC\x32\xBD\xA2\x18\x3C\xC3\xC5\xA3\x00\x7D\xA1\x27\x04\xE2\xB6\x30\x1A\x02\x47\xCD\x2C\x30\x00\x21\xC4\xE0\xB6\x29\x65\x00\xF0\xC1\xB1\xBD\x03\x03\xC2\xEE\xC3\x62\x1C\x0D\xC7\xB7\x24\x9D\x1A\xB2\x7E\x6D\xC4\x33\x44\x4C\xCF\xBB\x0E\xBE\xA6\x05\x0F\x08\x13\xCE\x10\x59\x02\x4E\xC3\x7E\x83\xB9\x75\x39\x12\x0F\x13\xFD\x3E\x42\xC7\x71\x0D\xF9\xB5\x39\x55\x02\x49\xCE\x40\x35\x01\x29\xC4\xE9\xB8\x82\x20\x01\x47\xC4\xDC\x99\x14\xFF\xA7\xD7\xA8\xE0\x65\x15\xFA\x1D\x90\x03\x55\xC0\x00\x22\xC4\xDE\xAA\x7A\x28", + "\x07\x1B\xC5\xB4\x7E\x57\xC0\x16\xE7\x7F\x48\x74\x59\xC5\x84\x2C\x02\x66\xC4\xBB\xA5\x3D\x50\x02\x6A\xC4\x9C\x0A\x0B\x2D\xC5\xB3\xB1\x9D\x3C\x09\x31\xC5\xC2\x50\x5D\xC5\x6A\xA8\x20\xA8\x00\x3C\xCD\x02\xDD\x2D\x8D\xC3\x6B\x1F\x6A\xAB\xA1\x78\xC4\x9D\x05\x0E\x3A\xC5\x45\x50\x4F\xA5\x18\xE5\x0A\xF3\x00\x62\xCC\x44\x45\xA6\x4E\xC5\x63\x11\x00\x1A\xA4\x43\xC6\xFA\xB1\x65\x18\x03\x91\xC5\x1F\x24\x19\xCA\xC5\xE6\xB2\x69\x03\x0E\x3E\xC5\xF3\x16\x35\xA4\x9F\xA7\xC5\xEF\xBD\xDB\xA2\x10\x30\x03\xA0\xC7\xD8\x32\x1A\xC2\xC6\xF6\xA2\x0D\x3D\x0F\x0B\xC6\xC6\x0B\x0E\x07\x9A\x9F\xC5\xCA\xBB\xB7\x39\x00\x02\x02\x91\xB9\xA9\x09\x04\x33\xC6\xA4\xC6\xBD\x9B\x9D\xB8\xC6\xFD\xBD\xB2\x17\x05\x16\xA3\xC2\x95\x6F\xC8\x10\x3E\x5A\xC0\xC6\x01\xCD\x45\x7C\xC6\xB7\x84\x0A\x2E\x02\x09\xC7\x0D\xC2\x9C\x04\x07\x0C\xC7\x32\xC1\x85\x5A\x03\x10\xC7\x15\xC0\xDC\x9B\x1A\xF1\xC4\xF2\xB9\xF5\x47\x04\x18\xC7\x4F\xBE\x03\x12\x09\x1B\xC7\x3B\xC4\x10\xC0\x16\x14\x01\xE0\xC7\x5F\xC0\x00\x12\xA4\x08\xBC\x77\xC5\xB7\xB5\x39\x61\x01\x7A\xCD\x2C\x32\x02\xE4", + "\xC5\x65\xCA\xF0\xAA\x27\x6E\x02\x7C\xCC\xFC\x44\xC7\xAC\xC7\x6A\x46\xC3\x3B\x01\xFA\xC5\x63\x11\x0D\x3C\xC7\xEE\xC7\xDF\x61\x65\x08\x02\xE0\xC7\xDA\x64\x09\x20\xC7\x95\x14\x38\x04\x1D\xD5\x97\xEA\x26\x25\x09\x20\xD0\x04\xA2\x00\x83\xC2\x71\x0F\xC8\x94\x6F\x1E\x14\x0A\x13\xC8\x0A\x04\x2C\x06\x21\xCA\x04\xFC\x00\x86\xC2\xA3\x07\x2C\x1C\xCB\x41\x0E\x0B\x1F\xC8\x43\x1E\x93\xA5\x1E\xE7\x6E\xF5\x11\x89\xC3\x10\x0C\x03\x28\xC8\x8E\x8A\x22\xF6\xC7\xC4\x83\x1E\x1E\x0C\x01\xC8\x03\x07\x36\x01\x23\xF0\x31\xDD\xA6\x70\x9E\x09\x1C\xC4\x00\x01\x37\x00\x1E\xD3\xB1\x35\x01\x91\xA2\xA3\x23\xC4\x75\x38\x3A\x03\x24\xCD\x0B\x42\x02\x91\xC8\x1D\x2A\xC4\xD5\x4F\x3C\x0E\x22\xFA\x1D\x4F\x03\x8C\xC7\x24\xC5\x31\xD8\xAB\x94\xC4\x46\x96\xC9\x4F\xCA\x18\xA1\x65\x0B\x00\x83\x01\x6E\xC6\x2C\x2B\x01\x5C\xC9\x13\x48\xC7\xB2\x79\x61\xCB\xCE\xB0\x27\x04\xA9\x3A\x9B\x8F\xC7\xFC\x6B\x0C\x23\x01\x9A\xC1\xEA\xBA\x1D\x87\x02\x93\xC6\x26\xD2\xC5\xEA\x26\x0B\x02\x27\xD1\xC7\x74\x08\x25\x05\x26\xEE\xC9\x95\xBD\xF9\x3B\x27\xD1\xB3\xF0\x1E\x28\x0F\x27", + "\xF2\xBE\xA5\x42\x11\x03\x28\xDE\xC0\x45\x20\x2C\x07\x28\xCA\x70\xEA\x26\x14\x0B\x28\xC5\xBB\xBE\x03\xA3\xC2\xC1\x68\x20\x5E\x03\xA4\xC7\x7A\x96\xCA\x1A\x71\x94\x1A\x06\x1A\xCA\xB1\x88\xA7\xC5\xC2\x51\x19\x76\x03\xA2\xCA\x1E\xC9\xAB\x49\xA8\xA0\xC3\x10\x0D\xBA\x4A\x6F\x20\x00\x2A\xCD\x16\xF7\x02\xA8\xC5\xB1\x3B\x11\x8F\x03\xAB\xC9\x6C\x05\x00\x02\x4C\xFF\x8A\x2A\xCF\xC6\x29\x53\xA2\xC3\xC5\x93\x00\x78\xAF\xAE\xC1\x10\x36\x8A\xDF\x3A\x29\x0E\x2B\xCE\xBB\xC1\xCB\xAB\xBD\x67\x71\x02\xA6\xC8\x81\x42\x30\x74\xA7\xC2\xC9\xFE\xB8\x82\x3E\x02\xCD\xCB\xB7\xBF\x2C\xD0\x04\xD1\xCB\x1C\x66\x29\x4B\x03\xB6\xCA\xDE\x1D\x04\x39\xCA\xD8\xC9\x6D\xC8\x07\x9D\xCB\xF0\x1F\x16\x00\x2E\xF3\x0B\x09\xB5\x9D\x33\x0E\x15\xCB\x8D\x15\x1A\x02\x30\x7E\xC8\x1A\xC1\x51\xB4\x2E\xC5\x21\x78\x03\xB9\xC0\xA3\x4D\xC7\xEA\x24\x3F\x03\x2F\xF0\x09\x86\x02\xBD\xCB\xBC\x2A\xC0\x15\x58\x02\x04\x08\x34\xBF\x7D\xCB\xB5\xC8\x2E\xD5\xC7\x7D\x59\x05\x03\x30\xC1\xC7\xE9\x1E\xC1\xC7\x2F\xE6\xC7\x4B\x06\x08\x0B\x30\xC0\xB3\x8D\x14\x2D\x0E\x30\xFF\xCB\x10\xCD", + "\x4E\x0F\x02\x13\xCC\xC6\xA2\x82\x57\x31\xD7\xC9\xD3\x9E\x7A\x2C\x03\x1C\xCC\xD9\xC6\xDE\x14\x0D\x2F\xCB\xE1\xC9\xD4\x7A\x9E\x09\x01\x24\xCD\x78\xCD\x58\x23\x03\x28\xCF\xC1\xCC\xD4\x9F\x3B\x56\x01\xCB\xCB\xB6\x62\x01\x2D\xCE\x38\x7E\x2F\xE0\xCC\x9A\x83\x1E\x14\x06\x36\xCC\xE6\x61\xCE\xC2\xDC\xAD\xC9\x2D\xBD\x9D\x32\x07\x00\xCD\x0A\x06\x1F\x02\x34\xE1\x09\x25\x3A\xAE\xC7\xF3\x9F\x3B\x80\x00\xD2\xC5\xF9\x8B\xCD\x59\x1D\xD3\xC9\x32\xEC\xC8\xDD\x2A\xD4\xC3\x10\xD4\xCD\x4D\x3E\xD5\xC2\x33\xDE\x8D\xEA\x24\x27\x0D\x32\xCD\x83\xA9\x00\xD7\xC2\x10\x38\x00\x25\x3A\x70\x9F\x09\x3E\xC3\xCF\x11\xCB\xCB\x0F\xC6\x0D\xA0\x03\x80\x0B\x36\xC7\xC4\x04\xB8\x9D\x01\x37\xDF\xCD\x38\x4B\x34\xC9\x6C\x21\x02\x03\x08\x27\x03\x13\xCF\xB7\xD2\x0E\x28\x03\x20\x26\x02\x8A\x28\x2B\x0E\x36\xEF\x5B\x66\xCD\xA1\xC3\x20\x24\x02\x8A\x2B\x2B\x07\x38\xD9\xC3\x11\x04\xE3\xCA\x86\xA5\x42\xB0\x03\xE3\xCD\x58\x07\x01\x0E\xB1\x29\x03\x20\x23\x02\x8A\x29\x2C\x06\x39\xF5\xCD\xA5\x08\xE1\xC3\x39\xD6\x4A\xB2\x03\xE7\xCA\x77\x08\x01\x0E\xB3\x29\x03\x20\x2D", + "\xA6\x54\x5A\xE9\xCF\xF6\x86\x0B\xAA\xCE\x42\x06\x9B\x91\x19\xB4\x02\xEB\xC2\x09\xF4\x09\xB1\xCF\x41\x0B\x7A\x88\xAD\xB6\xCF\x27\xC5\x5C\x03\x08\xC9\xA4\x89\x7D\x3B\xF2\xC2\x10\x05\xEE\xC3\x10\x12\xA7\x51\x1B\x2D\x03\x3C\xFA\xCD\x02\x05\x2A\x03\x20\x28\x02\x8A\x28\x2E\x0D\x32\xD6\xA7\x0E\x12\x2A\x0F\x3C\xCA\x2A\xBB\x03\xF4\xC2\x10\xC2\x04\xAB\x03\xF5\xCE\x65\x5A\xCF\x90\xCC\x44\x0C\x0A\x03\x08\xDD\xCC\xDD\xCA\xF6\x86\x0B\xAD\x03\x80\x03\x3E\xE6\xCF\xAF\xCE\xD1\x0E\x0A\x03\x08\xD6\xCC\xFB\xC7\x3B\xE5\x0A\xAF\x03\x80\x09\x3E\xF2\xCF\xBE\xCF\x40\x00\x0B\x1E\xCF\x51\x19\x30\x00\x3E\xC8\xC4\xA5\x09\x2C\x03\x20\x3B\xCF\xF8\xCC\xF1\xCA\x10\x32\x02\xFC\xCF\x5E\x5F\x3F\xE0\xCE\xC6\x0B\x2C\x03\x20\x08\xD0\x05\xD0\xF3\xC1\x10\x34\x02\x03\x0A\xF3\xC1\x41\xDD\xC3\x03\x05\x2D\x03\x20\x2F\xCF\x17\xD0\x4D\xCC\x05\xC3\x08\xF5\xCD\x07\xD0\x38\xD1\x04\xB7\x03\x80\x02\x40\xE2\xD0\xC0\xB6\xB1\x08\x0B\x03\x08\x0E\xD0\x0A\xD5\xDF\x86\x0B\xAC\xCF\x41\x04\x41\xEE\xD0\xA4\xC1\xA9\x03\x3B\xD9\xD0\x7F\xCD\x0A\xD6\x34\x3B\xCE\x07\x06\x2D", + "\x09\x43\xEF\xD0\x46\x0D\xF0\xC3\x10\x25\xD0\x34\xD1\xB3\x08\x3C\xC3\x04\x2B\xD1\x11\xDE\x40\x3E\x02\x03\x08\x30\x0A\xA8\x07\x03\xB6\xCC\x32\x09\x38\xE5\x40\x03\x0B\x2F\x04\x97\x8B\xCF\x18\xD3\x89\x73\x20\x03\x03\x7C\xA4\x16\xDE\x41\xCA\x04\x5C\xD2\x42\x0B\x0C\x11\xC2\xCC\x03\x14\xD0\x27\x04\x03\x03\x0A\x32\x0F\x43\xF5\xD0\xC6\x08\x1A\xDA\x10\x0E\xD1\x36\xCA\xED\xCF\x0C\x13\xD1\x49\x02\x03\xB5\x0C\x03\x08\xC6\x03\x1A\xD2\xB1\x69\xD1\x7A\xD3\xA4\x3D\x44\xCA\x2A\xD1\x02\xED\xC2\x0D\x13\xD1\x4A\x02\x03\xB7\x0C\x38\xD1\x7D\xD1\x63\x17\x48\xDD\x1B\x89\xD1\xB2\x18\x0C\x35\xC2\xDF\x38\x35\x0E\x45\xC6\x0D\x4B\x02\x03\xB9\x0C\x03\x08\xC2\x02\xA2\x25\x0D\x13\xD2\x3A\xD1\xD5\x0A\x46\xCA\x04\x8F\xD2\x12\xDD\x58\x23\xD1\xCD\x45\x23\xDA\x77\x0C\x03\xAB\xCE\xA2\x26\x0D\x26\xD1\x72\x08\x13\x0E\xC0\xA8\xD2\xB2\xCE\xA2\x28\x0D\x2C\xD2\xC7\x7B\x2B\xD3\x20\x3C\xD0\x28\x22\x36\x04\x4B\xE5\x0A\x4E\x02\x2D\xDA\x10\x02\xD1\xEA\x24\x37\x0B\x4B\xC6\x0B\x4F\x02\x2F\xD7\x10\x07\xD1\xEA\x26\x37\x03\x4C\xC6\x0D\x50\x02\x31\xD3\x10\x0E\x03", + "\x8A\x28\x38\x0C\x49\xC0\xD1\x55\x0C\x2C\xDB\x7C\x8A\x2A\xE1\x03\x34\xDC\x46\xC6\x0D\xD0\xD2\x42\x04\x0D\x11\xC2\xE2\x03\x32\xD5\x35\x0F\x03\x40\xC8\x39\x0D\x32\xD3\xB1\x51\x03\xEF\xA7\x10\x24\xD3\x79\xBC\x44\x0F\x0E\x27\xD3\x37\x82\x3A\xD3\x10\x2C\xD3\x61\xB2\xD2\x6A\x0F\x1A\xCD\x7A\x1F\x1A\x0E\x35\xEB\xD3\x36\xC7\xB7\x36\x00\x0B\x60\xC5\xB9\x03\xBA\x63\xB4\xD3\x71\xB0\x01\x70\x50\xFC\x15\xFB\xD3\x3C\xD7\x26\xD6\x4A\x1E\x03\x41\xDE\x40\x15\x02\x09\xD6\x40\x04\x50\xC2\x04\xD2\x02\x29\xD0\x7F\x13\xD4\x61\x54\x0A\x2A\x02\x0B\x60\x53\xB3\x28\x02\x4F\xD2\xD4\xCF\xA9\xF5\x45\x03\x0E\xD4\x8D\x14\x2C\x01\x51\xC1\x04\x18\xD7\x23\xBA\x9E\x01\x01\x24\xD5\xB2\x1E\x0B\x27\xD4\x00\x01\x4A\xD8\xC9\x95\x4F\x4D\x01\x4B\xD7\x4A\xF0\xD4\x29\xD5\x28\xB6\x1A\x19\x01\x36\xD4\x0D\x28\x53\xEE\xC5\x15\x59\x19\x0D\x53\xC5\x21\xE8\x03\x4F\xD5\x17\xDF\x3B\x71\x03\x50\xD0\x27\x36\x03\x46\xD7\x5E\xCA\x9E\x3D\x01\x0B\x62\x7A\xC4\x00\x18\xB3\xC2\x95\x4A\xDC\x2A\xE6\x06\x8A\x02\x52\xD2\x27\x13\x00\xD8\xB0\xFF\x89\x52\xF8\x9A\xD9\x5E\x25\x0A", + "\x55\xF4\x09\x21\x01\x57\xD0\xB3\x13\xA3\xBE\x44\x47\xDD\x2C\x2F\x00\x3E\xB5\x4A\xD4\x2C\xE5\x42\xAD\x02\x5A\xDE\x40\x3C\x00\x6D\xD6\xB2\xC9\x7D\x78\x02\x51\xD5\xB3\x09\x04\x18\xB3\xF4\xA5\x4A\xD0\xFF\xA0\x05\xC5\x01\x5E\xD0\x14\xFC\xD5\x67\xD5\x6B\xC5\xE7\x12\x03\x63\xD5\xA9\x09\x06\x26\xD5\x0A\x05\x4A\xD1\xD0\x8A\x6D\xDE\x01\x62\xD6\x2C\x37\x01\x8C\xD4\x3F\xD1\x01\xF6\x30\xEA\x02\x60\xDD\x58\x05\x02\x54\xD5\x61\xD0\x91\xAA\x27\xF7\x02\x64\xD6\x34\x14\x02\x95\xD6\x42\xDF\xB4\xB6\x30\x03\x03\x64\x55\xEC\xA2\x02\xA5\xD4\x48\xD8\x30\xD9\x5F\x0F\x03\x64\x5A\x1E\xF0\x02\x84\xD5\x63\xD0\x30\xFD\x59\x1C\x02\x6C\xD8\x4B\x75\xD6\x96\xD6\xC0\xB9\x7D\x69\x00\xBA\xD6\x03\x10\x0D\x3C\xD6\xA6\xD6\x6F\xDA\xB4\x76\x00\xC1\xD5\x63\x10\x0E\x04\xD7\xAE\xD5\xC8\xC4\xD8\x89\xD7\xC9\x1A\x51\xB9\xA4\xA9\xD4\x50\xC0\x6C\x80\x5D\xF3\x2F\x9D\xD6\x6D\xD8\x05\xDD\x4F\xAA\xD4\x44\x09\x06\x13\x56\x95\x16\x03\x00\xD7\x9E\xD5\x0E\xA0\x0A\x2B\x06\x1D\xD7\x73\x7C\x78\xD8\x8C\x23\xD7\x9E\xD5\x86\xC1\x65\x39\x01\xE8\xD4\x95\xBA\x5E\xF1\x3C\xEC", + "\xD6\x76\xDD\x5E\xA1\x19\xF1\xD7\x40\x03\x09\x33\xD7\x07\x04\x0E\x05\x5F\xFD\xD6\x83\x7D\x94\x15\x09\x39\xD7\xD8\x44\x7F\xD3\x10\x06\x01\xFF\xD5\x71\xD0\x36\xF6\x30\xA3\x03\x75\xD9\x7F\x06\xD8\x02\x04\x15\x00\xD7\x82\x97\xD0\x00\x90\xC2\x0B\x13\x56\x53\xB3\x18\x07\xE8\x8A\x04\x15\xD9\x3B\xDA\x10\x3D\x02\x18\xD9\xB3\x00\x07\x1B\xD8\x07\x05\x87\xD5\x4F\xE6\x06\xC8\x00\x81\xD0\x7F\x3D\x01\x09\xDA\x40\x06\x62\xEF\xAA\x7D\x58\x35\x0A\x62\xC2\x8A\x2D\xD9\x40\x0F\x62\xEC\x8E\xEA\x24\x38\x03\x63\xF0\x09\x99\x01\x8D\xD0\x00\x37\xD8\x62\x98\x59\x8B\x63\xF2\x09\x4E\xBA\x8E\x90\x64\xEB\x99\xBE\x8D\x88\xD5\x88\xA4\xD8\xDF\x45\x48\xD5\x61\x43\x00\x87\x02\x98\xC6\x34\x02\x03\x3E\xDB\x91\xDD\x26\xA5\x42\x0F\x01\x94\xDA\x26\xF2\x09\xD0\x01\x95\xD8\x28\xD6\x4A\x1B\x02\x96\xDA\x1C\xDF\xA5\x5E\xD8\xA4\xCE\x4B\x62\xD9\x7C\xC9\xA9\x0C\x0E\x25\xD9\x97\xCA\x7A\x23\x03\x28\xD9\x84\xC9\x11\x26\xE8\x86\xD9\xC6\xBD\xF5\x4F\x03\x30\xD9\x8C\xC8\x9C\x08\x00\x3B\xBA\xFC\x8F\x91\xD4\xE8\x8B\x05\x4B\x00\x9E\xDA\x1E\xD6\x00\xBB\xB8\x85\xD3\x18", + "\xE5\x42\x58\x00\x9E\xD5\xEC\xA5\x00\x7C\xD8\x44\x07\x64\xE0\xD5\x4A\x6C\x19\x0A\x68\xCD\x0B\x33\x01\xA3\xDC\x61\xE8\xD5\x96\x48\x1C\x08\x67\xD3\xB1\x41\x00\xC5\xBF\x63\xE6\xBA\x73\x07\x1E\x0B\x69\xFB\xA7\x9E\xDB\x91\xDF\x57\xCB\x05\x86\x02\xA0\xDC\x14\x7B\xBA\xF4\xA6\xA9\xD6\x1A\xC7\x41\xAA\xDA\x57\x4C\x6A\xCE\xDA\x02\xC1\x9D\x30\x0A\x13\xDA\x0E\x13\x1E\x06\x69\xE5\xD8\xE2\xCA\xA5\x4C\x0A\x38\xDA\x8D\x15\x22\x0B\x6B\xCD\xD9\x97\xD5\x9D\x38\x0B\x31\xDA\x8D\x17\x25\x05\x68\xF4\xDA\x7B\x72\x7A\x25\x0C\x00\xDB\xC9\x18\xBF\xB4\x67\xE7\xD6\x75\x39\x34\x00\x6D\xF7\x67\xC3\xDA\x8B\xD7\x5B\xD9\x5F\xDD\x00\xB2\xD9\x6C\x02\x03\xB3\xDB\xA5\xDF\x5A\xCA\x6D\xEA\x02\xB7\xDA\x77\x12\x03\xE1\xD8\xAF\xD9\x31\xE5\x04\xF7\x02\xB9\xD0\x7F\x22\x03\xE9\xD8\xB1\xD6\x5C\xE6\x06\x04\x00\x22\x04\x30\xE5\x0A\xF2\x01\xBC\xDA\x6D\xC8\xC1\xD9\x5D\x04\x06\x6F\xCC\xCC\xF0\x1E\x00\x0E\xF4\x86\xDA\x2A\xCE\x0D\x3E\x01\x3F\xDB\x14\xCD\xB2\x11\x01\x03\xDC\xCC\xDB\xCC\xC5\x0A\x6B\x00\x08\xDD\x32\xB7\x03\x11\xDC\x69\xB4\x08\x0E\xF4\xBD\xD9\xE5\xD6", + "\x7A\x29\x03\x14\xDC\x8C\xC9\x11\x0C\x71\xD5\x16\x2E\x03\xC5\xDD\x70\xEE\xD7\x28\x23\x11\x0C\x71\xDE\x92\x1F\xDC\xF1\x22\x72\xE2\xDB\xF7\xD4\x0A\x25\x05\x27\xDC\xA9\x91\xCA\xD3\x34\x2B\xDC\xEA\xD8\xD6\xC8\x82\x23\x01\x30\xDC\xCE\x82\x73\xE8\x8D\x34\xDE\xBC\xDB\x60\xF5\x39\x71\x00\xC7\xDD\x4B\xBB\xDC\x83\x98\xC3\xDA\x10\x11\x03\x03\x09\x33\x07\x4C\x9C\xDC\xD4\xCF\xED\x93\x20\x08\xDD\xA2\xD1\xB2\x13\x0D\x03\x08\x47\xD9\x73\xBD\x49\xD4\xD3\xD2\x0F\xD4\xDA\x10\x15\xD4\x51\xDE\xC9\xC3\x20\x29\xD4\x56\xDC\xD6\xDB\x4D\xD5\x0D\xE4\xA7\x41\x0B\x0D\x11\xC2\x83\x00\xD1\xDF\xBF\x80\xC9\x85\x00\xC7\xD3\xC5\xB5\x01\xCF\xBD\xEC\x48\x24\xDF\x3B\x90\x02\xDB\xDD\x2C\x02\x02\x71\xDE\x42\x06\x0D\x10\xC9\x15\x5B\x26\x09\x73\xCD\x39\x3D\xDC\x7A\x4D\x4F\xE5\x42\xA7\x03\xDF\xDD\x05\x81\xDE\x5D\x2C\x4F\xC5\x19\x33\x02\x86\xDE\x7C\x58\x78\xC0\x00\x7B\xDC\x51\xCF\xED\x3F\x02\x8D\xDC\xFC\x19\x0B\x0F\xDE\x91\xDF\x41\x09\x0D\x16\xD4\x45\x21\xE6\xDC\xE4\xAE\x47\x76\xDC\xCC\xA9\x77\xFA\x2C\x4E\xD9\x9F\x56\x0D\x15\xDE\x45\x20\x35\x08\x79\xEA", + "\xBE\x96\x4A\x38\x08\x7A\xF0\x09\xE2\x03\xEA\xD1\x16\xF6\x30\xEE\x03\xEB\xD2\x27\x30\x03\xB2\xDC\x5A\xC1\x65\x3A\x03\xB6\xDC\x9D\x0E\x0F\x39\xDE\x60\x24\x38\x39\x08\x12\xD9\x55\x0C\x03\x0D\x01\xFC\x8F\x9E\xDC\x5A\x24\x28\x43\xDF\x5B\xD8\x9D\x0A\x01\x07\xDF\x72\xDC\xF3\xBA\x47\x8C\xDF\x09\xDC\x69\x3D\x01\xC2\x97\xC9\xDE\xF5\xBB\x47\x2B\x00\xD4\xDD\x9A\xD6\x2C\x13\xC0\x3A\x99\xF6\xD7\x2A\xBB\x11\x37\x01\xF7\xD1\x67\xC1\x8F\xD0\xDE\xDE\xD8\x69\xD5\x4F\x43\x02\xF9\xD9\xCD\x93\x94\x88\xC0\xE4\xD0\x6A\xE0\x05\x4E\x02\xFB\xD3\xC5\xA0\x01\xF1\xDE\xF8\xD7\x6A\xF9\x04\x59\x02\xFB\xDA\x1E\xED\x01\x1D\xC0\x7D\xAA\x7F\xEF\xDA\x98\x2A\xFF\xDA\xEE\x41\xE0\xD1\xDC\x3E\xB6\xC3\x33\x01\xEE\xDD\xB1\xBD\x08\x29\xDF\xA4\xDE\x02\xC5\xE7\x3F\x01\x0D\xE1\xB3\x0B\x09\x10\xE0\x03\x06\xF8\xD8\x90\x8B\x05\x8B\x02\x01\xEE\x40\x29\x02\xD7\xDD\x02\xE4\x17\x7B\x11\x98\x01\x05\xEE\x40\x38\x02\x18\xE2\xE0\xD4\x6D\xDF\x3B\xA4\x02\x09\xE4\xCF\x29\xE0\x89\xDF\xB8\xD6\x1A\x30\x02\x1E\xE0\xFC\xA8\x80\xEA\xDF\x32\xE1\x65\x0D\x0B\x35\xE0\x7F\xA7\x0D", + "\xE1\x81\xF3\xDB\x95\x06\x32\x0C\x83\xFA\x1D\xF4\x02\x0F\xE9\x81\xF9\xC0\x78\x83\x10\xE0\x7F\x29\xC3\xED\xC7\x0F\xE7\x1F\xF6\x30\xE4\x02\x12\xE5\x84\x14\x00\xF0\xC0\xF6\xD5\xB8\xB6\x30\xF1\x02\x14\xED\xA5\x15\xE1\x22\xE2\x81\xC8\x82\x3E\x03\x2E\xE0\x73\x5A\x08\x21\xA7\x32\x00\x3C\xC8\x7C\xD9\xDC\x74\x67\x18\xEB\xF3\x98\x00\x6A\xE2\x57\xB0\x04\x26\xE1\x5D\xE0\xE8\x4A\x10\x6D\xE1\xC9\xB2\x09\x04\x87\xE9\xB5\x4E\x00\x1C\xE8\x83\xED\xDC\xEA\x24\x0A\x07\x87\xCC\xCA\x34\x03\x1F\xE5\x59\x1C\x01\x7A\xE2\x13\xEB\x07\xD1\x19\x36\x03\x1F\xEB\xB6\x42\x01\x82\xE1\xDA\x75\x88\xC7\xE1\xBD\xAC\x7E\x5F\x87\xCD\x83\x51\x01\x23\xEA\x10\x23\xC5\x49\xAB\x35\x00\x24\xD3\x01\x7F\xE3\x14\xB7\x08\x29\xC6\x07\x06\x26\xEE\x61\xC7\x04\x5E\x01\x27\xEB\xAE\x60\xE2\x03\x06\x28\xE7\x62\xD5\x06\x69\x02\x22\xEF\x3B\x0F\xE2\x02\x06\x2A\xE0\x63\xD9\x5F\x75\x02\x2B\xEE\x40\x2F\x02\xB0\xE1\x40\x02\x8B\xF8\xD8\x36\x31\x20\x06\x8B\xCD\x16\xBD\x01\x2E\xE0\x00\x3B\xE2\x41\xDA\x0D\x3D\x08\x3F\xE2\xC9\x1B\x32\x02\x8C\xC4\xE3\x48\xD8\x0A\x29\x09\x26\xE2", + "\x0E\x11\x36\x08\x8A\xF1\xE2\xA5\xDD\xF6\x54\x0A\x08\xE3\x7A\x1E\x39\x0B\x8C\xEC\xDE\xD5\x4C\x2C\x08\x8D\xF0\x1F\xF4\x03\x36\xE3\x7B\xF3\x64\xDF\xE1\x11\x22\x00\x20\xC7\xFC\x8C\x33\xEA\x53\xD5\x06\xC8\x01\x39\xE0\x27\x10\x00\xE8\xE2\x35\x50\x54\xF1\xD8\xEE\xE2\xDF\x11\x8F\xCA\x04\xCC\xE3\xFB\x85\x3D\x60\x03\xF5\xE0\x9D\x0C\x02\x37\xE3\xA1\xE3\xBE\xAF\xED\x2C\x03\x93\xE2\x0E\x30\x1E\xC2\x97\xCC\xE3\x55\xD5\x19\x39\x03\xFD\xE2\x6E\xC0\x90\xE9\xE2\x95\xBB\xB7\x35\x00\x0B\x02\xC4\xDE\xF4\x07\x05\x0F\xE4\xD4\xE1\xA7\xB8\x82\x11\x00\x14\xE5\x27\x89\x6C\x25\x01\x38\xC9\x46\xE6\x19\xCB\x70\x1D\xE7\x9C\xC0\x7F\x32\x01\x21\xE6\x2E\xE6\x57\xCA\x6D\x27\x01\x49\xED\x31\xC9\x87\xE0\xC4\x7D\xAC\x8C\xFB\xDF\x25\x04\x0D\x0E\x92\xE5\xCC\xF0\x1F\x23\x01\x93\xF2\xE3\x86\xD6\x36\x57\x93\xF9\xD9\x72\x0B\x27\x08\x91\xEA\xE4\x12\xE3\xB7\x3D\x04\x3F\xE4\xC5\xB9\x2B\x03\x94\xC3\xE3\xE9\xCB\xB7\x39\x05\x3F\xE4\xEA\xC7\x2E\x07\x90\xFC\xE4\x9F\xD6\x0D\x36\x06\x08\xE5\x6C\x7B\x52\xEC\x8C\xE3\xC0\xA6\x06\x1C\x08\x95\xCE\x10\xD8\x02\x56\xEB", + "\x6D\xCA\x6D\x7E\x00\x54\xED\x2C\x26\x03\x3B\xE4\x3E\xE3\x96\xE6\x06\x8B\x02\x59\xEE\x40\x36\x03\x69\xE5\x40\xEB\x6E\xD1\x04\x98\x02\x5B\xED\x58\x06\x00\x8B\xCA\x4C\xE8\x84\xD6\x4A\xA5\x02\x5D\xE9\x6C\x16\x00\x79\xE4\x55\xEF\x84\xF5\x39\xB2\x02\x5F\xE8\xC2\x0B\xCA\x08\xE7\x15\xE8\x06\x86\xE6\xF0\x1D\x0D\x08\x98\xC2\xE6\x5E\xE2\x7A\x2C\x0C\x1F\xE5\x07\x04\x36\x0F\x93\xD5\x16\x44\x03\xA2\xC9\x8E\xE8\xE1\x6B\x60\x65\xE8\xC5\x17\xE6\x90\x5E\x66\xE0\x99\xF2\xE1\x0E\x7E\x67\xE6\xF2\xA0\xE6\xCD\x6E\x68\xEA\x96\xEA\xAE\xDF\x3A\x3D\x06\x9A\xD4\x16\x70\x3D\x65\x1E\x06\x2A\xE6\x72\xE6\xCD\xDA\x9E\x04\x00\x70\x3F\xDA\x60\x01\x31\xE6\x2A\x78\x6D\xE0\x91\xD1\xE2\xDF\x3A\x04\x00\xF7\x0D\x83\x1F\x00\x6F\xEA\x10\x0A\x02\x8F\xE4\x0B\x19\x74\xCA\x2A\x21\x00\xDC\x3D\x74\xC9\x1B\x9B\xDE\x72\xED\x75\xF4\x20\x03\x08\x33\xE1\x76\xE3\xDD\x62\xDC\x44\x0A\x0D\x03\x08\xD1\xE4\x30\xC9\x45\xF0\x1F\x67\xDF\x1E\xE3\xDD\x9F\xD1\x4F\xA7\x80\x0E\x0D\x1C\xDE\x70\x08\x37\x0B\x45\xCA\x2A\x24\x00\xDC\x3E\xA6\x59\x02\x8B\xC8\x87\x0D\x0D\x26\xE7\xE8", + "\xE6\x9C\x03\x9F\xE0\xD1\x8A\x29\x09\x0E\x9E\xCD\x0B\x9A\x01\x7C\xE2\x53\x0B\xE7\xCB\x3F\x7E\xE1\x3E\xCA\x04\xDF\x03\x80\x0A\x9E\xD3\xE7\x45\x20\x38\x00\x24\xE7\x00\xB9\xE6\x05\xEC\x2E\xF5\xC1\x73\xDD\x29\x43\x03\x0D\xE8\x0E\x10\x2A\x0F\xA0\xCF\x88\x7C\xDD\x9F\x5F\x03\x03\xE7\xCD\x09\x2D\x0E\x9B\xD8\xE8\x58\xC9\xB2\x4C\xA1\xCE\x10\xC3\x03\x87\xE1\x10\x0A\xE8\x5E\xC8\xAA\x33\xA2\xC2\xC8\x26\xE8\x13\xB0\x49\xE5\x42\x66\x02\x71\xED\x71\x7E\xE7\x0A\x04\x8A\xE7\xD4\x51\x19\x68\x03\x8A\xE9\x6C\x20\x03\x2D\xEA\x8D\xEF\x79\xF6\x30\x75\x00\x85\xED\x58\x2E\x03\x17\xEB\x89\xE5\x8D\xCA\x6D\x81\x02\x8E\xE5\xC6\xBD\xE8\xDC\xE1\x85\x5E\x08\x0A\xE9\x42\x55\xCB\xCC\x3F\xBE\xE8\x76\x89\x0A\x50\xA5\xF4\xB1\x52\xE8\x44\x04\xA5\xFD\x5A\x63\xA3\x95\xE4\xBF\x19\xE9\x35\xEB\x3C\xE9\x7D\x75\x02\x5E\xEA\x9C\x03\x03\x20\xE9\x55\x41\x9D\xD5\x61\x42\x03\x65\xE8\x9D\x01\x04\x28\xE9\x10\xEA\xF4\xDA\x9E\x0F\x03\x70\x3C\x7C\xA1\x11\x0F\x01\x2D\xCE\x70\x9B\xA5\xC0\x00\x0A\xE5\x61\x0D\x0D\x2D\xE9\xA5\x0A\x17\x00\xA7\xE0\xE8\xDD\xBE\x7A\x2A\x0E", + "\x00\xEA\xC6\x08\x1B\x03\xA8\xC6\xE9\x1A\xE4\x68\xD2\xA4\xFF\x71\x63\xCE\x96\xE3\x7F\xCB\x05\x03\x00\xB6\x45\xEC\x87\x02\x91\xE9\x98\xED\x19\xD5\x06\x0F\x00\xB6\x46\xA7\xD0\x04\x94\x01\xCB\xC4\x9F\xBB\xE9\x34\xE5\x44\x0D\x01\x1E\xEA\xCD\x08\x29\x02\xAA\xD2\xEA\x3D\xE7\xC3\xD8\x2D\x6A\xC7\xB5\xCE\x8E\x9B\xA7\xCF\xD6\xA6\x04\x0E\x0F\xAA\xFD\x0F\x8B\xEA\x8B\xE5\x6C\xDF\x3B\x45\x00\xAA\xE2\x5C\xF9\xE9\xAC\xE9\x55\xE5\xE7\x13\x01\xB7\xEB\x59\xA9\xAB\xFB\xE9\x5C\xE5\x65\x00\x06\x05\xEB\x8D\x15\x3B\x07\xAC\xF2\x0A\x8A\x29\x1B\x08\x2D\x6F\xCD\x55\x0F\x9E\xE1\x11\xF8\xC7\xD8\x48\x3D\xCA\x67\x36\xCE\x7B\xEA\xC8\x9B\x40\x99\xEB\xCD\x08\x3F\x0C\xAD\xC3\x08\x3B\xA5\x94\x12\x07\x13\xEB\xDB\xCC\xA3\xEA\x4E\x4A\x2A\x73\x00\xBA\xE3\xA0\xE9\xE9\x52\x62\xA2\x24\x07\x2E\xEB\x00\xD2\xB1\x0B\xA7\xE6\x03\x8A\x29\x1D\x04\xAF\xCC\xD0\x46\x0F\x9E\xED\x74\xBB\x11\x76\x03\xBE\xE7\x3E\xFD\xEB\x8E\xA9\xAE\x20\xAE\xCE\x10\xFD\x03\xB8\xEE\x38\x0A\x2A\x79\x03\xC1\xEC\x2B\x4A\xEC\x51\x06\xA2\x2B\x07\x02\xEC\xED\xCD\xB5\xE3\x20\x2C\xBD\x51\x18", + "\x1F\x0E\xB0\xDC\x29\x10\xEF\x40\x04\x98\x98\x84\x14\xEF\xFC\xC6\xAF\xEB\xE5\x95\x07\x1F\x0E\xAB\xDB\x16\x0B\x63\xA8\xE4\xB2\xC5\x06\x8D\x03\xC9\xE9\x6C\x10\x00\x29\xED\xB0\xEF\x1E\xDF\x3B\x9B\x02\xCB\xE2\x0F\x71\xEC\x9A\xE8\x10\xE5\x18\x29\x02\x36\xEC\xFC\x10\x03\x38\xEC\xF0\xEB\xEC\x6A\xA8\x37\x02\xD8\x4B\x73\xE1\x40\x0B\x60\x0D\xCB\x80\x07\x43\xEA\x27\xBA\x01\xD1\xEC\x24\xC8\xED\x32\xEE\x40\x08\x4B\xC6\x32\x4E\xEE\x03\x14\x04\x10\xED\x39\xEF\x40\x00\x4C\xF6\x30\xC0\x01\xD5\xED\x58\x06\x01\x58\xED\xD0\xE7\x3C\xCC\xA5\x5E\xED\xB2\x18\x04\x21\xED\x71\xEB\x41\x0D\x4D\xCD\x42\x1B\xEE\xDE\x1A\x04\x0B\x60\x1C\x0B\x9E\xE5\x76\xE8\x20\xC8\x01\xDB\xE0\x7F\x0B\x01\x70\xED\xD4\xEF\x07\x8D\x85\x3D\xED\x11\x2C\x04\x0B\x60\x7A\xEA\x39\xC2\x4B\xF6\xED\x45\x23\x16\x09\xB7\xD9\xED\x9C\xC5\x94\x1A\x0D\x04\xEE\xDC\x00\xE1\xEC\x05\x07\xEE\x62\xED\xC4\xB9\x4C\xFD\xED\x70\x09\x17\x00\xB8\xFA\xED\xCC\x94\x30\x3C\xAC\xC3\x04\xF9\x00\xE1\xEC\x06\x0B\x60\x53\xE8\x67\xEF\xED\x3B\x03\x9B\xEC\x23\x2E\x08\x21\xA7\x7A\x00\xE8\xE8\xB9\xED", + "\xA8\xD5\x4E\x02\x07\xBA\xC0\xDC\x27\x0F\xEB\xEE\xD5\x88\x02\xAA\xEC\xE2\xE8\x1D\x27\x28\xB2\xEF\x4B\xE6\xC5\x39\xEE\x69\xB6\x58\xD2\xAB\xF9\xB5\x75\x38\x0A\x0C\xBB\xEE\xCC\xDF\x0B\xF0\xE6\x49\xB5\xEE\x91\xEE\x78\x44\x7E\xC3\xEF\xFC\x8D\x11\x06\xBC\xD0\x04\xB2\x03\xE5\xEA\x10\x22\x03\x03\x09\x38\x0A\xA8\x07\x01\xC3\xEC\xB5\xE2\x3D\x25\xEB\x42\x11\x7D\xE4\x27\x24\x03\xD5\xEE\xA2\x28\x04\x19\xEF\xE9\xE8\xCD\x93\x20\x20\xEF\x08\xE8\x9C\x08\xAF\xED\x98\x7B\x11\x12\x03\xBC\xD3\xB1\xC1\x02\x66\xD8\xC5\x11\xE8\x96\x48\x15\x0F\xBE\xCD\x0B\xCE\x02\xFC\xEB\x7C\x19\xE8\xD9\x5F\x17\x03\xBC\xC5\xBB\xDB\x00\xF2\xE3\xBF\xE1\xE8\x51\x1B\x1A\x0F\xBF\xF4\xB3\x02\xF3\xFE\xE9\xA2\xEC\xB8\x07\xF3\xAC\x49\xC0\xEE\x24\x0B\xD5\xF5\x43\x08\x0D\xF0\x8D\x15\x01\x03\x59\x7C\x8F\xEB\xEE\x20\xA8\x54\x77\xEF\x0E\x13\x04\x0E\x60\xC0\x00\x19\xF1\x42\x94\x1B\x54\xF0\x9F\x1F\x05\xF0\x11\x21\xF0\x5E\xB9\x94\x16\x0A\x24\xF0\x23\x4A\x09\xF2\x48\x1F\xD9\xD5\x4E\x2C\x0C\xC2\xF0\x1F\x3C\x02\x0B\xF5\x74\xA6\xD9\x75\x3A\x2F\x03\xC3\xC5\x21\x4A\x02\x0D", + "\xF3\xC0\xED\xD9\x99\x73\x0E\xF0\x27\x18\x01\x3E\xF2\x02\xF3\x15\xAB\x0C\xD6\x02\x10\xF0\x66\x85\xF1\x10\xF2\x9C\xE6\xC3\x22\x03\xC3\xEE\x7A\xC4\x07\x13\x56\xC2\x94\x0A\xFA\x7D\xE1\x88\x4A\xF0\x9D\x03\x08\x0C\xF1\x20\xF1\x44\xE5\x0A\x7B\x03\x59\xF1\xA9\x01\x09\x1C\xF1\x56\xF0\xC7\x24\x23\x8F\x02\x77\x85\xFE\x8F\xC1\xE5\xF1\x6F\xD6\xA5\x42\x01\x28\xF1\x1E\xE6\xDE\x1C\x0A\x2B\xF1\x2B\xE6\x69\x0D\x01\x30\xF1\xD5\xDE\xE5\xD3\x59\x74\xA7\x65\xF1\xA9\xEE\xF6\x38\xF1\xBA\xEC\x68\x2B\xC7\xE7\xF0\xB5\xDB\xB7\x37\x03\x00\xF2\xE7\xDE\x9C\x09\x0D\x24\xF1\xBD\xD8\xFB\xD8\xC8\xC0\xE5\x74\x0B\x39\x0C\xC8\xFB\xEA\xA5\x43\x13\x0F\xC8\xEA\xC7\xF5\x00\x15\xF4\xC8\xCD\xDB\xD9\x4B\x23\xF5\xEC\x84\x00\x78\xD8\x06\xF8\x2F\xF6\x30\x68\x02\x27\xF9\xC2\x61\xF2\x9B\xF1\x77\xC5\x61\x74\x01\x97\xF2\xB3\xB8\x67\xFC\xF1\x2B\xEF\x5C\x01\x08\x2D\xF2\x3A\x77\x2B\xF9\xCA\xF3\xEC\xAB\xBC\x2D\xF1\xD2\xB6\xF2\x2F\xF3\x5C\xE0\x11\x1B\x02\xBA\xF2\x2B\x6C\xCB\xF7\xF0\xCE\xD5\x9D\x38\x0A\x01\xF3\x30\xB4\x9E\xD5\xC5\xCA\xE6\x6B\xA0\x32\xF0\x7F\x2F\x01", + "\xCA\xF3\x2D\xF1\x99\xF6\x30\xC2\x02\x29\xFA\x10\x0E\x03\x8F\xF1\x65\x1E\x07\x28\xF2\xBD\xF0\x84\xC6\xC3\x10\x03\xD6\xF1\x65\xA9\xCD\xC6\xBE\xDC\xF0\x31\xF4\x72\xC9\xD3\xE1\xF3\x40\x0A\x0E\x23\xF3\xF6\xA5\x39\xFF\xC3\xF2\xC1\xB6\x8D\x3A\xF2\x10\x38\x03\xEC\xF3\x41\x08\x0A\x2E\xF3\x46\xF1\x80\xD8\x82\x3A\x03\xF2\xF3\x5A\x00\x09\x21\xA7\xB6\x00\x3E\xFD\xC4\xC5\xC2\xDF\x38\x02\x0F\xCF\xF0\xEE\x15\x03\x41\xFE\xD5\x84\x03\xD1\xF2\x42\x07\x0E\x21\xEF\x52\x3A\x42\xF3\x0E\xEF\xEB\x03\x04\x3A\x03\x20\x0F\xF4\xE9\xEE\x9C\x0F\x91\xBF\x0A\x91\xC0\x06\x02\xD1\xE9\xB5\x70\x0A\x3A\x00\xD1\xC6\x5F\x1F\xF5\x3C\xC5\xAF\xC6\x0D\xEB\x03\x80\x02\xD2\xD9\xF4\x74\x0B\xBF\xE7\x10\x33\x0A\x7B\x13\x06\x05\xD2\xD3\xB1\xD3\x02\xBB\xD0\x00\x2E\xF4\x03\x05\xF1\x63\xC1\x73\xF4\xBC\x76\x4D\xF8\xD3\xDC\x94\x4A\x29\x49\xF5\xEC\xAD\x03\x02\xF7\x4D\xF3\x20\x2E\x03\xDE\xEE\x9A\xD3\x78\xD6\x4A\x3D\x02\x50\xFD\x2C\x3B\x03\x45\xF7\x4F\xF1\x10\x10\x3D\x36\x31\x12\x0E\xD4\xD3\x12\x1C\xDC\xFF\x82\xD5\xE0\xF0\x2B\x0D\x15\x07\xD5\xFB\x90\x59\xF4\x44\x0B", + "\xD5\xC8\x7F\xDF\x39\x18\x0C\xD3\xCF\x30\x42\xDE\x58\xF7\xA4\xE6\x06\x6C\x03\x57\xF3\xDF\x61\xF5\x4C\x9D\x93\xED\x67\x78\x01\x6E\xF6\xDE\x10\x04\x30\xF5\x07\x07\x56\xF3\x53\xD5\x58\x84\x01\x5D\xF0\x7F\x0E\x01\x78\xF7\x56\xA8\xC3\xF4\xDD\x7E\xF5\x11\x2C\x05\x01\xF6\x67\x42\x98\xEA\xB4\x5C\x02\x85\xF4\x9C\x0A\x06\x08\xF6\x01\x07\x56\xFA\x8F\xD5\x58\xA8\x01\x63\xFF\xCA\x90\xF6\x46\xF6\x13\xF0\x14\xA5\xF4\xEA\xC6\x21\x0C\x71\xC2\x97\x5B\xF5\x9F\xE3\x17\x01\x03\x96\xF4\x9D\x05\x09\x18\xF6\x5B\xF4\xA4\xD6\x1A\x0D\x03\xA5\xF5\xA9\x03\x0A\x28\xF6\xEB\xDD\x85\x59\x0D\x27\xF5\x8D\x15\x2C\x09\xD6\xF1\xF5\xC9\x9A\x7A\x24\x0E\x34\xF6\x2E\xD7\x6D\xF9\xD7\xF5\xF1\x95\x07\x3B\x0C\xD9\xCD\x0B\xCB\x00\xC7\xD4\x9F\x9B\xF5\x7E\xF0\x88\xC3\xDC\xC7\xA5\xC6\xF6\x5A\xFD\xAA\xD6\x4A\x09\x00\xD2\x25\xEC\xAB\x03\xB0\xF5\x51\xE5\x0A\x55\x00\xD2\xF5\x8C\x95\xDD\xDC\x8B\x34\x28\xD2\x2A\x1E\xC7\x00\xEE\xDC\x68\xF1\x2F\xD6\x4A\x2E\x01\x76\xFE\x40\x16\x00\xEE\xDE\x56\xF3\xCA\xF5\x39\x3A\x02\x79\xFD\x58\x24\x00\xE9\xF6\x73\xFA\xCA\xFD\x59\x46", + "\x02\x77\xFD\x2C\x32\x00\xEE\xDF\x71\xF1\xCB\xE0\x05\x53\x02\x7D\xFE\x40\x02\x01\xF9\xF6\x7C\xF8\xCB\xD6\x4A\x60\x02\x7F\xFD\x58\x12\x01\x01\xF8\x6E\xFA\xB3\xF3\x05\x6D\x02\x81\xF9\x6C\x22\x01\x09\xFB\x6F\xFC\x6F\xCA\x6D\x7A\x02\x83\xFA\x77\x32\x01\xE1\xF6\x80\xF2\xB9\xF6\x30\x87\x02\x85\xF8\x76\x99\xF8\x0A\xF9\x7B\x85\xE7\x14\x02\xEE\xF4\xDB\x58\xB4\x15\x16\x90\x01\x7C\xF1\xE2\xD7\xAE\xEA\x26\x28\x05\xE2\xC2\x04\xAE\x03\x89\xF8\x2D\xEA\xF8\x12\xFA\x1A\xCD\x8D\xEF\xF8\x01\x04\x2F\x02\xE3\xCA\x04\xAC\x00\x8D\xF2\xD8\xFC\xE1\x36\x32\x2F\x08\xE3\xC0\x00\xCA\x03\x8E\xF7\x10\x3A\x02\x3E\xF9\x62\xF2\xF4\x9F\x3B\xCC\x03\x90\xF8\x0D\x06\xF9\x17\x69\x92\xF1\xD9\xCC\xBD\x8A\xEE\x87\xF0\x00\x27\x03\x50\xF8\x7A\x40\xE2\xC7\x04\xED\x03\x51\xF9\xD4\xC6\x0B\x48\xF6\x42\x06\xBD\xFB\x11\xE9\x00\xD2\x2A\xBD\xD1\x04\xEF\x00\x90\xCA\x0E\x08\x2D\x53\xB1\x39\x02\x85\xE9\xF9\xA3\xE3\x40\x05\x0F\x2C\xF9\xD9\x4F\x9B\xFC\xBF\xCA\x6D\x00\x02\x24\x05\x91\xD8\x54\x52\xFA\x09\x23\x20\x31\x03\x5F\xFA\xD1\x00\xE7\xC8\xBE\x68\x7A\x9E\xFD\x7C", + "\xE5\x0A\x0D\x03\x1F\xEC\x3F\x83\xFA\x05\xD5\x9D\x38\x01\x06\xFA\x63\xD8\xFC\x1B\x01\x0A\xFA\xEE\xD1\x04\xF5\x61\x64\x00\x90\xFA\xF7\xDB\xEF\x14\xFA\xF1\xEB\x9B\xCB\xC1\x59\xFA\x98\x84\x66\x95\x90\xDD\xFA\x54\xBB\xFA\x50\xEA\xD0\xF2\x0E\x4C\xA7\xFB\x94\x99\xC5\xA8\x6B\xA9\xF5\xEC\x92\x01\xAA\xFA\xD8\x00\xC3\xD5\x58\x53\x02\xAB\xF2\x5A\x71\xFA\x3D\x9F\x60\xF5\x0A\x5F\x01\xB6\xFA\x03\x1E\x06\x38\xFA\x70\x86\x62\xF6\x1A\x2B\x01\xBD\xFA\xEB\x10\xEC\xFE\xF9\x47\xD5\x29\x47\x07\x05\xFB\x87\x47\xB1\xFC\xE8\xE3\xCA\x5A\x27\xA9\xFA\x1E\xD8\x02\x7F\xE2\x70\x9F\xEC\xD7\xF1\x28\x20\x24\x0C\xEC\xFA\x1D\xA7\x02\xB3\xFE\xC5\xD6\x4A\x9C\x03\xB6\xF0\x7F\x35\x02\xDE\xF9\xA3\xE6\xC3\x28\x02\xA7\xFB\x14\xB3\x0C\x23\xFA\xAB\xFB\x48\xEA\x9E\x33\x02\xE9\xF9\xB3\x00\x0D\x2C\xFB\xB2\xFB\xA6\xE5\x18\x3E\x02\xD2\xFB\x57\x8F\x87\xF4\xA7\xD7\xFA\xB4\xCE\x1E\x79\xFB\x0E\x11\x3B\x0B\xEF\xD5\xFA\xCF\xF5\xF5\x48\x0D\x22\xFB\x45\x21\x3F\x05\xEE\xC0\xB4\x2B\x0C\x39\x08\xF0\xF0\x09\x0B\x03\x4F\xEB\xE8\xCD\xE5\x45\xB4\xC0\xFD\x58\x19\x00\x3F\xE6", + "\xB5\xF3\xDE\xD5\x4F\xFD\x03\xC3\xF2\x27\x28\x00\x12\xFC\xC1\xF8\x91\xA8\x20\x09\x03\x24\x0B\xE7\xD0\x04\x36\x01\xC8\xF4\xEA\xCC\xA6\x15\x59\x05\x06\xF2\xF0\xEE\x70\x08\x11\x0F\x93\xFC\xFB\xFB\xF5\xC4\xCF\xF2\xF9\xF1\x45\x20\x15\x03\xF3\xE2\xFC\x03\xF9\xF5\x4F\x02\x37\xFC\x81\xF2\xDE\x14\x06\x3B\xFC\x2B\xFE\xBE\xBF\xED\x3C\x00\x40\xFC\x4E\xE5\x84\x34\x01\x44\xFD\xBB\xF3\x98\xDF\x3B\x49\x01\xD2\xF4\xBC\xC0\x46\x19\xFC\xCF\xFB\xE1\xF5\x39\x56\x02\xD4\xFA\x1E\xD3\x02\x55\xFD\xD1\xF9\xF1\x91\x19\x63\x02\xD4\xFB\xB6\x6F\x01\x52\xFD\x65\x12\x0A\x2A\xFC\x4E\xFC\x8B\xF0\x34\xA2\xFD\x10\x05\x1F\x05\xF6\xD0\x04\xB0\x00\xDA\xF5\xEF\xF6\xF8\x15\x5B\x1F\x0C\xF6\xEC\x9D\x6F\xFC\x2B\x92\xF7\xF9\xFA\x40\xF8\x11\x47\xF7\xC7\x04\x99\x01\xDE\xF7\x10\x13\xE6\x3A\x99\xBF\xF2\xA4\x8A\x6D\x9B\x03\xDF\xF3\x10\x27\x02\x82\xFF\x40\x0A\x0D\x3B\xFD\xC1\xF8\x70\xE5\x0A\x69\x02\x5A\xFC\x17\xCD\xF8\xC2\x04\xE8\x01\xD7\xF5\x2B\xBF\xF9\x81\xF9\xD5\x00\xE8\xE2\xF9\xD1\xCE\xD4\xF7\xE6\xD0\x04\x1F\xEE\xE4\x9A\x9E\x39\x02\xA2\xFD\xB3\x07\x0F\x3F", + "\xE4\x1C\x0B\x3C\x03\xD2\xE8\x20\xBA\x01\xEA\xF4\xD1\xCE\x12\x03\x0A\x3E\x0D\xF9\xD2\x0F\xAE\xFE\x42\x07\x0F\x37\xFE\x11\x04\x3D\x03\x20\x39\x03\x91\xC3\x2E\x07\xF9\xF1\x58\x2F\xE8\x15\x62\xFB\xCD\x16\xF8\x00\xEB\xF0\x11\x36\x03\xAF\xFE\x7A\x2E\x0B\x07\xFF\xFC\xE9\xD5\x0C\xFC\xFA\xFE\xBC\xFC\x44\x0B\xFB\xE3\xCE\xD5\x4F\x2F\x00\xFD\xFA\x1D\xF9\x02\xF2\xFA\x10\x38\x03\xCD\xFC\xD7\xEB\xFD\xD5\xEC\x17\xBB\x80\x05\x0F\x15\xFF\x0A\x06\xED\xFA\x55\x28\xFF\x07\x07\x3E\x00\x24\xC1\x03\x52\xFF\x87\xBC\x98\xE4\x88\xF4\xED\xF5\x4C\x0C\x31\xFF\x05\xB7\x95\xEE\xFE\xEB\xB8\x36\x33\x35\x0A\xF8\xFA\x1D\x14\x01\x3A\x74\x44\x03\xFF\x74\xE8\x75\x9E\x23\x03\x7F\x7F\xF0\x0E\x11\x02\x00\x82\x21\x04\x00\x8D\xF4\x5F\x3B\x6F\x01\x08\x81\x22\x10\x0C\x03\x01\x8D\xFE\x76\xF4\x7D\x59\x7B\x01\x11\x80\x38\x06\x0F\x04\x02\x86\x09\x4B\x8A\x5F\x3B\x07\x00\x94\x01\x34\x79\x2B\x6A\xFF\x7B\xD6\x75\x0C\x12\x00\x21\x80\x87\x7C\x63\x05\x16\x04\x03\x82\x10\x0D\x00\xA9\xF0\x7A\x48\x28\x81\x48\x7D\x11\x17\x0C\x0C\x02\x81\x08\x2E\x00\xE6\x5C\xEA\x12\x15", + "\x01\x0C\x82\xD3\x75\x35\x01\xD2\x7A\x98\x37\x80\x6E\x5C\xF5\x12\x0D\x03\x07\x89\xC8\x7A\xE2\x75\x00\xF4\x7F\x4C\x43\x28\x0E\x10\x04\x08\x88\xEA\x66\x16\x11\x02\x47\x80\x40\x81\xC9\x79\x9F\x2E\x09\x0C\x04\x85\x76\x5F\x02\x50\x80\x02\x73\x79\x2C\x13\x82\x3D\x6D\x0A\x10\x7B\x02\x97\x40\x80\xA2\x7A\xB0\x03\x19\x05\x0A\x82\x60\x38\x02\x85\x90\x28\x10\x73\x00\x32\x82\x03\x0A\x19\x06\x06\x8A\x20\x51\x19\x7F\x00\x4C\x81\x29\x58\x36\x04\x04\x89\xDB\x6A\x68\x71\x01\xCD\x05\xE5\x00\x3A\x83\xC8\x55\xC2\x25\x09\x1B\x02\x99\x4F\x70\x1E\xF4\x52\x20\x81\x72\x7B\x30\x1E\x07\x90\x6D\x58\x4B\x01\x81\x85\x78\x8F\x5A\x1A\x85\xB1\x02\x01\x1D\xDB\x40\x01\xB4\x75\xBB\x37\x45\x83\xE7\x0E\x11\x84\xF1\x76\x94\x07\x03\x05\x81\x8D\x0A\x17\x00\xB6\x27\x0B\x8B\xF1\x75\xB0\x14\x03\x12\x81\x7A\x0F\x1E\x00\x25\x83\x05\x70\x0B\x20\x05\xB7\xED\x23\x81\xF3\x7B\xEC\x2C\x3B\x00\x13\x89\x6C\x19\x02\x07\x02\x83\x80\x35\x7F\x9C\x01\x3E\x04\x15\x8A\x77\x09\x03\x2F\x02\x8C\x80\x7B\x73\xEA\x26\x01\x02\x2B\x2A\x1E\x6D\xD8\x4D\xE1\x1D\x80\xBE\x78\x85\x03", + "\x04\x04\x17\x8D\x2C\x09\x04\x37\x02\x95\x80\x13\x7C\xD3\x00\x08\x04\x18\x8E\x40\x19\x04\x1B\x02\xB0\x81\x05\x6F\x3A\x1D\x0B\x04\x19\x8D\x58\x08\x05\x0F\x03\xB8\x81\xDB\x6A\xF6\x7A\x56\x23\x6D\x36\x04\x1A\x8A\x1F\xBC\x28\x81\x3D\x67\x82\x57\x36\x80\x22\x04\x05\x1E\x06\xA9\xBC\x60\x81\xD4\x11\xE6\x0F\x38\x85\x88\x16\x0E\x8A\x08\x13\x03\x68\x81\xB7\x76\x9F\x67\x3A\x82\x89\x0D\x0E\x87\x08\x21\x03\x70\x81\x41\x55\x29\x0B\x3C\x84\x32\x25\x0F\x82\x1B\x38\x03\xB5\x50\x7D\x2C\x40\x00\x35\x83\x20\x0D\x08\x1D\x07\x82\x04\x7D\x01\xD7\x81\x83\x00\x3F\x05\xF8\x75\x3D\x2F\x04\x1A\x45\x5B\x5E\xE4\x76\x85\x01\x3F\x01\xFC\x75\xE7\x10\x04\x0F\x04\xE5\x77\xFE\x01\x01\x07\x42\x84\xA5\x76\x24\x23\x10\x00\x01\xD7\x73\xE5\x76\xEF\x52\x40\x03\xCC\x7C\xEE\x17\x08\xB3\xFE\x75\x24\x95\x0A\x02\x71\xFE\x65\xE7\x25\x41\x04\x09\xB6\x58\x06\x82\xE4\x7F\x88\x03\x00\x05\x25\x84\xEF\x10\x09\xA2\xEC\x46\x06\x04\x00\x9A\x83\x42\x36\x26\x8B\x12\x84\x0B\x3A\x04\xD0\x2A\x3C\x82\x03\x6A\xEC\x07\x27\x81\xC5\x01\x0A\x92\xD0\x64\x07\x44\x83\xB0\x66\x51", + "\x87\x3B\x7F\x89\x15\x20\x0A\x00\x04\x70\x9E\x00\x93\x83\x49\x7D\x6A\x0F\x14\x8C\x0A\x2A\x04\xC1\x72\x4B\x82\x63\x07\x02\x05\x82\x0E\x00\x17\x0A\x87\x05\x90\x7E\x15\x08\x12\x00\x01\x71\x14\x09\x15\x86\x1A\x0D\x00\x4F\x77\xC4\x31\x0A\x0B\x0D\x04\x00\x73\x0A\x12\x0A\x83\x04\x24\x01\x36\x83\x07\x01\x44\x81\xAA\x11\x16\x84\xC0\x66\x02\x65\x82\x55\x06\x08\x00\x5A\x84\x2E\x8F\x49\x24\xC0\x68\x02\x6E\x82\xCD\x66\x9B\x82\x04\x03\x2E\x8D\x47\x55\x20\x09\x00\x04\x70\xAB\x00\xC0\x81\x4C\x80\x22\x0D\x15\x85\xF0\x1E\x05\xCC\x82\x70\x05\x07\x01\x05\x0C\x01\x0F\x18\x84\xCF\x49\x1B\x12\x83\x61\x05\xCA\x83\x08\x6D\x59\x00\x01\x15\x20\x1B\x05\x9C\x82\xC6\x05\x08\x01\x05\x0A\x03\x04\x80\x6C\x05\x0A\x06\xB7\x82\x55\x07\x09\x01\x05\x0C\x02\x0A\x19\x97\xBA\x58\xE7\x11\x02\xAC\x82\x85\x02\x05\x05\x35\x89\x9D\x62\xA0\x35\x05\x93\x13\x78\x82\xE9\x07\x04\x03\x2F\x8E\x22\x0A\x0B\x84\xE0\x2F\x01\xA7\x82\x58\x02\x4D\x85\x02\x04\x18\x9C\x11\x37\x06\xD1\x0C\xB2\x01\xDC\x81\x44\x06\x02\x0C\x1B\x86\x0E\xBD\x05\xFB\x08\xB4\x01\xD3\x81\x2D\x06", + "\x26\x88\x01\x05\x0E\x82\x0A\x15\x08\x6A\x4D\x6F\x1F\x2D\x07\x34\x80\x27\x19\x00\x16\x07\xA7\x06\x15\x08\x09\x00\x01\x70\x17\x0C\x1D\x82\x0A\xB8\x88\x15\x08\x15\x00\xDA\x83\x6B\x87\x30\x45\x41\x13\x0D\xA0\x06\xC6\x06\x19\x01\xD5\x82\x7A\x85\x7C\x74\x1A\x82\x06\xB3\x07\xA7\x82\x00\x01\xFA\x82\x3C\x0F\x3E\x83\xBB\x2A\x0E\xA6\x1A\x15\x08\x21\x00\x02\x73\x2E\x05\x3C\x87\x14\x9D\x00\x15\x10\x1F\x00\xFC\x83\xE8\x7E\xF4\x06\x40\x8B\x19\x04\xC0\x7C\x02\x04\x84\xA5\x04\x0D\x03\x77\x84\x41\x87\x10\x1A\x0F\xA8\x20\x3D\x01\x10\x84\x63\x07\x06\x07\x3B\x8E\x01\x07\x10\x89\x08\x83\x76\x55\x07\x0E\x85\x83\x86\xCB\x29\x21\x86\x1A\x1C\x00\x1C\x84\xA3\x82\x02\x73\x2F\x05\x44\x85\x35\x1D\x00\x1F\x07\x88\x84\xBE\x08\x02\x70\x30\x04\x45\x85\x1B\x82\x44\x1E\x08\xEF\x83\x55\x06\x10\x02\x53\x84\x00\x71\x0C\x14\x11\x91\x04\x1E\x00\xDF\x82\x1D\x86\x42\x06\x42\x8A\x9E\x02\x06\x3E\x08\x90\x02\x1F\x01\xEF\x81\x80\x86\xBB\x0F\x21\x8B\x0C\xBF\x23\x47\x83\x28\x11\x61\x03\x91\x80\xC9\x45\x41\x0A\x01\x0D\x09\x80\x00\xC4\x00\xFF\x82\x42\x05\x04", + "\x05\x41\x06\x01\x17\x09\xC6\x01\x5A\x84\x2B\x19\x05\x0B\x04\x04\x80\x68\x06\x13\x09\x8D\x0B\x5E\x84\x85\x03\x09\x07\x4A\x8D\x13\x80\x00\x2B\x09\xEC\x77\x51\x0D\x64\x02\x56\x23\x8A\x50\x02\x11\xE2\x4B\x34\x15\x08\x3A\x7A\x14\x10\x35\x03\x4E\x84\x20\x36\x13\xAA\x09\x95\x08\xCE\x37\x6F\x1F\x37\x03\x1F\x8A\x77\x1A\x01\x0C\xEF\x77\x84\x04\x78\xF3\x34\xA1\x80\xFE\x03\xBE\x7A\x31\x6F\x09\xCF\x18\xD1\x21\x45\x85\x11\x16\x0A\x07\x28\x9F\x13\x92\xDE\x25\x21\x03\x00\xAA\x79\xB1\x5C\x0C\x05\x29\x87\x08\x0F\x0A\xBF\x74\x75\x1D\x07\x00\x55\x7B\x8A\x52\x07\x1E\x13\x9E\x0A\x95\x08\x55\x5C\x4B\x26\x06\x02\x53\x8D\x2C\x1F\x03\x1D\x0A\x83\x02\x9F\x85\x17\x82\x7A\x16\x04\x0C\x2A\x87\x2C\x2F\x0A\x82\x02\xB1\x84\x1C\x82\x0D\x1A\x06\x05\x2B\x8D\x2C\x1B\x02\x37\x85\x01\x03\x5C\x85\x10\x86\x86\x1E\x03\x1D\x15\xAF\x67\x40\x85\x6E\x85\x0A\x09\x9D\x59\xFB\x2A\x04\x06\x16\xBA\x1D\x37\x01\xC8\x84\x61\x86\x14\x81\xFB\x26\x05\x0E\x16\xB0\x1F\x45\x01\xD1\x85\x0A\x0B\x9F\x69\x27\x02\x06\x14\xEA\x6A\xC7\x53\x01\xC3\x76\xE1\x4A\xB0\x81\x0C\x8B", + "\x14\x0F\x03\x16\x0B\xC5\x10\x50\x78\x47\x85\x05\x0A\xB5\x75\x19\x1B\x03\x27\x0B\xF0\x04\xF0\x01\x6C\x86\xB9\x7D\xCE\x17\x08\x03\x15\x97\x70\x26\x85\xB0\x85\x0A\x09\x1B\x7D\x7A\x22\x09\x16\x17\x8E\x10\x0B\x00\xCE\x79\x64\x86\xBD\x7B\x2E\x0D\x09\x1E\x16\x87\x86\x0F\x79\xF4\x52\x61\x87\x20\x83\x20\x0A\x0A\x06\x18\x8E\x10\x28\x00\x08\x86\x44\x86\x02\x75\xCE\x17\x0B\x0F\x17\x88\x54\x0F\x79\xFC\x46\x61\x84\x24\x85\x30\x03\x0C\x16\x18\xB4\x09\x46\x00\x18\x86\x89\x85\x1C\x3C\x93\x1E\x30\x8D\x2C\x14\x01\x0F\x79\xE2\x85\x0A\x08\x10\x4D\xCF\x2C\x0D\x1E\x18\xA5\x0A\x63\x00\x21\x86\x4B\x87\xC8\x78\x59\x5E\x32\x8F\x7E\x31\x0C\xA7\x85\x39\x71\xC2\x00\x3D\x05\x64\x89\x6C\x1F\x03\x11\x0C\xB2\x86\x2C\x7F\x3E\x2D\x00\x07\x12\x07\x6F\x66\x16\x0F\x02\x3F\x86\x38\x87\x05\x7C\x58\x06\x01\x04\x34\x90\xF9\x41\xE5\x48\x86\xF9\x85\x60\x81\x78\x05\x69\x88\xF3\x70\x13\x2F\x02\x50\x86\xB8\x85\x0A\x08\x7B\x56\x86\x18\x02\x14\x1A\x81\xFD\x7F\x33\x28\x86\x91\x87\xD5\x7F\xDB\x15\x03\x1E\x1A\x8A\xFD\x70\x04\xD8\x79\x24\x56\xB0\x85\x71\x56\x29", + "\x22\x02\x26\x0D\x8C\x65\x4E\x01\xB7\x85\x65\x0D\x1B\x07\x33\x91\x1A\x9E\xF3\x75\x1C\x50\x01\xB7\x87\xDA\x34\x0B\x02\x37\x90\x08\x2B\x03\x75\x86\x59\x87\x0C\x51\x94\x0E\x0B\x0A\x37\x89\xFB\x3D\x0D\x8A\x02\xF9\x00\xC0\x85\xB0\x85\x82\x08\xA3\x55\xB0\x2C\x01\x05\x87\x97\x71\xC3\x84\xE0\x15\xA4\x79\x31\x95\x20\x07\xFE\x26\x03\x7A\x00\xC8\x87\x54\x42\x72\x81\x16\x14\x1C\xA2\x0D\xCA\x77\x07\x65\xB7\x85\x33\x45\x12\x0C\x39\x9E\x0F\x25\xF4\x42\x4B\x28\x01\x31\x84\x01\x77\x12\x0F\x36\x83\xFD\x4A\x04\x29\x00\x15\x09\xD4\x84\x8E\x82\x7A\x06\x25\x9B\x12\xAC\x09\xE6\x83\x02\x03\x15\x01\x05\x0D\x05\x04\x80\x78\x04\x2D\x0E\xE5\x77\xBC\x86\xEC\x57\x95\x81\x13\x05\x3A\x89\x45\x15\x10\x30\x00\xB7\x87\xA3\x82\x0B\x00\x4A\x8B\x85\x45\x1E\x85\x21\x32\x00\x25\x7A\x90\x6D\x05\x0B\x14\x04\x80\x7D\x04\x2F\x0D\xC6\x76\x01\x02\x1A\x01\x49\x7F\xDD\x1B\x3C\x8A\x08\x24\x02\x04\x70\xA0\x01\xEB\x85\xB3\x07\x06\x0B\x3D\x90\x08\x1D\x0F\xFC\x3E\x6C\x82\xF1\x86\x03\x0A\x07\x05\xD2\x65\x0F\x27\x0F\xB4\x0C\x76\x82\xF5\x85\x63\x0E\x07\x0D\x3E\x86", + "\x1F\x95\x10\x0B\x86\xCD\x66\xF9\x85\xB2\x0A\x08\x05\x3F\x9F\x2D\x37\x0F\xA5\x83\xFA\x86\xBD\x0E\x11\x05\x7F\x87\xED\x55\x20\x1E\xEB\x69\x3A\x01\x88\xF8\x0E\x12\x05\x7C\x8E\x3F\x8A\x08\x13\x02\x04\x70\xB2\x01\x04\x89\x11\x15\x09\x0C\x40\x85\x20\xBC\x46\x04\x70\xB5\x00\x09\x8A\x63\x2D\x82\x83\x10\x0F\x1F\x98\xAA\x63\x83\x1A\x89\x6D\x40\x07\x8C\x76\x15\x41\x05\x06\x02\x08\xA1\x88\x74\x04\x2B\x03\x08\x89\x20\x0E\x41\x94\xB3\x04\xE0\x3E\x01\x28\x89\x52\x05\x16\x03\x85\x80\x00\x0D\x21\x80\x00\x6E\x00\x3C\x85\x18\x8B\xCD\x04\x86\x86\x43\x8F\x07\x04\xE0\x44\x01\x3A\x88\xA3\x07\x17\x04\x80\x8D\x41\x95\x20\x25\x01\x04\x70\xC7\x01\x20\x89\xD5\x03\x0C\x0C\x43\x95\x20\x1E\xAD\x05\x03\xCA\x00\x25\x89\x52\x0C\x88\x84\x42\x99\x19\xB3\x05\x4D\x01\x52\x89\x88\x02\x1A\x04\x8A\x8C\x42\x95\x20\x31\x03\x04\x70\xD0\x01\x2C\x88\x44\x06\x0D\x0C\x45\x95\x21\x95\x10\x56\x43\xA5\x21\x69\x02\x18\x89\x5D\x25\x46\x96\x21\xA8\x11\x96\x25\xD6\x01\x35\x89\x63\x5D\x8D\x85\x41\x0E\x07\x04\xE0\x59\x01\x72\x89\x55\x64\x1D\x8A\x21\x01\x3C\x91\x32", + "\x1C\x03\x79\x88\xD0\x1D\x26\x8A\x44\x84\x00\x7F\x0D\x00\x24\x81\x04\x01\x01\x34\x89\x17\x03\xF1\x81\x79\x8C\x14\x8A\x24\x99\x2B\x04\x70\xE2\x00\xE7\x84\x9C\x05\xAF\x71\x9E\x4E\x24\x99\x2C\x04\x70\xE4\x00\x43\x89\x33\x09\x91\x85\x41\x1F\x1E\xBB\x11\x67\x01\x9A\x89\x44\x00\x27\x8A\x21\x04\x08\x04\xC0\x6A\x03\x1A\x89\x8C\x01\x32\x8A\x25\x88\x7E\x8B\x47\x0D\x07\x1A\x12\x90\x01\xAA\x89\xFF\x87\x1E\x08\x1E\x0A\x49\x94\x04\x31\x12\x83\x86\x60\x03\x79\x02\x26\x88\x13\x07\x4B\x87\x08\x07\x10\xB8\x39\x9A\x88\xC6\x79\x6C\x51\x4D\x15\x41\x0F\x20\xBB\x11\x79\x01\x9A\x89\x4F\x03\x28\x89\x76\x14\x80\x7C\x07\x1A\x12\xA2\x01\xCB\x88\x0B\x0E\x4A\x82\x93\x85\x0A\x11\x26\x82\x04\x26\x88\x05\x14\x4C\x03\x30\x8C\x01\x26\x4D\x8E\x21\xBB\x11\x05\x00\xDA\x89\xDC\x51\xB3\x03\x15\x0D\x4D\x97\x21\x84\xE0\x08\x00\xE1\x88\xE1\x52\x29\x2D\x9C\x8E\x43\x98\x6A\x69\x13\xCD\x53\xB5\x7B\x5E\x8B\x40\x07\x88\x86\x89\x2F\x27\x95\xA7\x1D\x74\xE5\x89\x27\x8B\xEE\x06\x9E\x80\x00\x18\x1E\x80\x00\x38\x01\xF2\x89\x30\x41\x94\x0C\x02\x0C\x4F\x9E\x27\xBC", + "\x02\x01\x8A\x01\x03\x2F\x8A\x94\x1D\xA0\x88\x4B\x28\x28\xAC\xAD\x0A\x22\x0C\x8A\x07\x08\x31\x06\xA1\x8F\x46\x99\xED\x11\x14\x8D\x0B\xC8\x00\x87\x8A\x1D\x89\xA0\x17\x51\x9C\x67\x0E\x14\xFD\x88\xA9\x31\x8E\x8A\xDE\x08\x1A\x05\x4E\x9D\x07\x04\xE0\x26\x00\x22\x8B\x3D\x40\x0D\x88\x79\x82\xA2\x04\xC0\x69\x00\x7C\x89\xAE\x87\x83\x01\x0C\x05\x82\x06\x43\x80\x09\xB8\x07\xB2\x00\xCC\x86\x1B\x1A\x0A\x04\x9F\x8A\xAD\x72\x1E\x16\x03\x25\x7A\x1C\x04\x9C\x8B\x73\x81\xCA\x0C\x02\x10\x29\x90\xBD\x3C\x8A\xCD\x04\x1A\x01\x4E\x8D\xCE\x1F\x02\x06\x2A\x8E\x10\x57\x01\x40\x8A\xCE\x0E\x6F\x82\x7E\x60\x03\x08\x2A\x8E\x10\x35\x00\x15\x09\x9E\x8A\x69\x02\x06\x0E\x54\x98\xB0\x11\x15\xAF\x26\x15\x09\xEC\x57\x1E\x0B\x06\x0D\x55\x90\xCE\x5F\x15\xD6\x25\x15\x09\xF1\x55\x72\x3D\xAC\x8A\x77\x1A\x06\x27\x15\xDF\x05\xED\x83\xE4\x08\x5B\x88\x3C\x7F\x56\x85\x95\x28\x07\xAB\x06\x36\x01\xB9\x89\x11\x14\x1B\x05\x57\x8E\x95\x2B\x06\xEB\x11\x7A\x8A\x38\x05\x37\x05\xAF\x86\x2B\x35\x20\x04\xB0\x7B\x08\x38\x01\xC0\x8A\x9C\x06\x1B\x04\x58\x98\x2A\xA7\xFC", + "\x05\x03\x39\x00\xC5\x88\x12\x35\xB1\x8E\x19\x85\x7F\x12\x16\xA5\x05\xE0\x00\xCA\x89\x7F\x0B\xFD\x27\x59\x86\x16\x21\x03\x1A\x8B\x30\x1E\x92\x19\x67\x8E\x68\x02\x0E\x00\x2D\xB2\x06\x2B\x06\x3D\x01\xD1\x89\xD5\x03\x1C\x06\x5A\x84\x88\x1F\x3B\x3E\x00\xAA\x8A\xE9\x07\x6E\x7A\x15\x60\x57\x82\x06\xAB\x0C\x3F\x00\xB1\x8A\x8D\x01\x6B\x8C\x63\x06\x8F\x19\x2D\xA7\xF0\x3B\x8B\x97\x25\xD9\x0E\x5E\x8A\x08\x06\x55\x92\x10\x44\x16\xB6\x00\x15\x09\x19\x00\x01\x74\x08\x0E\x5B\x8E\x20\x2B\x05\xE0\x8A\xB3\x87\x88\x00\x0E\x05\x82\x0A\x03\x0C\x24\x96\x06\xEB\x05\x15\x08\x1E\x02\x75\x8B\x33\x88\xA5\x0B\x2A\xBC\xEA\x45\x8B\xC9\x0C\x74\x01\xF4\x86\x75\x23\x55\x88\xD5\x3A\x15\xC8\x00\xE0\x8A\x81\x02\x3A\x04\xB0\x8B\x03\x1E\x2E\xA5\x42\x4A\x00\xE9\x8A\xF8\x0F\x3A\x03\xBC\x8F\x55\x25\x2F\xA8\x20\x4C\x00\x7A\x8B\x26\x01\x7C\x8B\x3D\x14\x58\x9A\x2E\x8E\x07\x5B\x8B\xAE\x83\x6D\x2D\x05\x0D\xBD\x81\x5D\x82\x30\x8A\x04\x7E\x8B\xDE\x73\xEB\x89\xDC\x50\x3B\x8A\xA8\x0F\x02\x3B\x17\x8B\x41\x84\x8A\x1F\x01\x05\x0A\x74\x61\x65\x11\x02\x3B\x17\xD3", + "\x00\xFB\x8A\xE1\x78\x6D\x8A\x20\x02\x61\x9E\x1E\x8A\x2A\x55\x00\x0F\x8D\xDB\x6C\x61\x88\x08\x05\x41\x1F\x01\x04\xE0\x57\x00\x21\x8D\xA3\x81\x10\x05\xC4\x84\x80\x79\x02\x29\x18\xCC\x82\x42\x01\x0A\x08\x11\x00\xC0\x85\x23\x8C\x53\x1A\x0B\xB4\x8C\xEB\x82\xE8\x16\x7B\x8E\x45\x5F\x62\x86\x16\x31\x03\x74\x8B\x50\x14\xFB\x8A\x7A\x15\x0B\x0A\x57\x9E\x02\x3B\x17\xF3\x01\x84\x8B\x22\x03\x8E\x8D\x7A\x20\x06\x1D\x31\x86\x0D\x74\x01\x40\x8D\xF6\x02\x90\x8C\x01\x3A\x57\x83\x03\x3B\x17\xF6\x01\x84\x8A\x23\x01\x56\x8A\xC4\x0D\x5C\x87\x08\x37\x03\x59\x8C\x61\x8B\x95\x06\x19\x05\xCB\x83\x10\x18\x07\x20\x19\xDE\x0B\x2B\x07\x33\x00\x99\x8A\x20\x09\x0F\x07\x33\x9A\x59\x2B\x06\x68\x01\x35\x8D\x40\x02\x1F\x0E\x66\x81\x0B\x2B\x0C\x69\x00\x72\x8C\x12\x45\x9D\x8B\x7F\x5B\x47\x0A\x03\x39\x19\xFC\x01\x7B\x8D\x80\x03\x61\x8D\x80\x79\x67\x9D\x07\x01\x1A\xCD\x80\x7D\x2C\x36\x01\x9E\x8E\x1F\x07\x68\x93\x62\x51\x04\x6D\x00\x79\x8D\x7F\x03\xA1\x8C\x83\x56\x63\x19\x33\x80\x00\x66\x7C\xE4\x0B\x0A\x08\x09\x5B\x2E\x0F\x06\x19\x33\x81\x00\x18\x8D", + "\x0A\x02\x2D\x8F\x0A\x5C\x30\x29\x67\x82\x00\x20\x1A\x87\x02\xA2\x8C\x19\x58\x52\x69\xCF\x83\x00\x07\x35\x87\xD8\x15\x08\x13\x01\x29\x09\x9E\x8C\x00\x0E\x6A\x82\x08\x29\x1A\xFA\x05\xDA\x57\x3C\x8D\x01\x05\xD6\x81\x10\x17\x35\x82\x04\x46\x58\x6E\x1A\xBD\x89\x1D\x03\xBF\x86\x00\x1C\x35\x96\x6B\x15\x08\x43\x00\x1C\x8C\xBA\x50\xD9\x8A\x6C\x8E\x20\x09\x01\x15\x08\x48\x01\x66\x8D\x63\x0F\xD9\x88\xFD\x75\xB0\x37\x01\x4E\x8C\x55\x07\x03\x01\x96\x7E\x73\x03\x61\x8C\xD8\x7B\x17\xFB\x00\xFB\x8B\xE8\x79\x78\x54\xDA\x8F\x2F\x03\x61\x18\x1B\xD2\x07\x0B\x01\x6D\x8E\x0E\x35\x82\x0E\x6B\x8E\x71\x38\x0E\xF7\x76\x15\x08\x25\x8D\x81\x8F\xA6\x17\x63\x93\x37\x9B\x2F\x32\x89\x09\x8C\xEE\x89\x63\x0C\x09\x0E\x44\x92\x36\x89\x1B\x7C\x8D\x52\x86\x05\x85\x8E\x8B\x84\x4D\x04\x04\xC0\x7F\x01\x67\x8D\x03\x8E\xE1\x25\x05\x0D\xE0\x8B\x47\x01\x04\x08\x1C\xAB\x15\x15\x09\x27\x02\xBF\x8A\xEF\x01\x05\x0B\x38\x84\xE0\x03\x01\x0F\x8E\x07\x0A\x75\x15\xE2\x86\x6F\x83\x08\x13\x01\x78\x8D\x28\x11\x42\x01\x9E\x8D\x01\x06\x6C\x9F\x38\xB8\x12\xA8\x6D\x79", + "\x8C\x07\x01\xC9\x8D\xDF\x8B\x47\x07\x04\x39\x19\x8F\x00\x2B\x8E\x2B\x88\x58\x00\x11\x09\x67\x90\x00\x31\x1C\xCA\x86\x4B\x03\x44\x01\x9E\x89\x02\x07\x73\x9D\xF9\x55\x58\x0A\x01\x79\x8C\x09\x02\xB1\x8D\x0A\x05\x41\x17\x02\x17\x09\x8B\x01\x19\x8F\x83\x02\x15\x02\xC6\x83\x71\x81\x08\x13\x00\x46\x8D\x46\x8E\x1D\x8C\x82\x74\x02\x06\x6C\x98\x02\x15\x10\x54\x00\x04\x71\x46\x01\x4A\x88\x35\x84\x1B\x57\x3A\x84\xE0\x10\x01\x5B\x8F\x36\x86\x16\x06\x80\x84\x80\x73\x04\x11\x1A\xF2\x04\xBF\x88\x81\x01\x17\x07\x4A\x84\x09\x09\x3A\x97\x1F\x00\x85\x4D\x8F\x22\x13\xDA\x8A\x21\x0E\x05\x11\x3B\xB0\x09\x75\x8E\xE1\x53\x6F\x1E\x25\x01\xCF\x88\xDD\x7B\x30\x81\x04\x78\x8E\x32\x8B\x95\x07\x25\x01\xCF\x86\x01\x06\x36\x80\x1E\x83\x02\x6A\x8A\xA8\x29\x9E\x8F\x02\x06\x78\x91\x2B\x99\x75\x79\x8C\x18\x01\xC6\x8E\x42\x05\x02\x0B\x32\x1A\x04\x39\x19\x99\x00\x92\x8F\x83\x00\x05\x03\x65\x0B\x09\x19\x33\x9A\x00\x19\x8F\x03\x03\x41\x8C\x0A\x14\x13\x09\x67\x9B\x00\x20\x1E\xBC\x80\x4A\x37\x4E\x01\x9E\x8C\x03\x07\x7A\x81\xF5\x68\x20\x1E\x01\x79\x8D", + "\x0E\x01\xEB\x88\x00\x04\x69\x91\x32\x1F\x02\x79\x8C\x1E\x01\xD9\x8F\xA6\x88\x2C\x00\x0A\x19\x33\x9F\x00\x33\x8F\x86\x47\x0A\x2D\x28\x01\xCF\x80\x02\x13\x3D\x8F\x4F\x59\x2F\xA2\x01\x3C\x8D\x08\x03\xF6\x81\x6B\x9B\x23\x23\x02\x79\x8C\x22\x01\xD9\x8F\x05\x03\x65\x04\x0A\x19\x33\xA3\x00\x33\x8F\xC0\x8D\x28\x0D\x29\x02\xAF\x86\x0A\x1B\x2F\xA4\x00\x46\x8D\x5F\x00\xB8\x8D\xC7\x8C\xA3\x45\x41\x10\xE9\x5A\x81\x7C\x89\x53\x59\x12\x02\x95\x78\x0C\x08\x27\x8C\xC2\x28\x1F\xF7\x7B\xEB\x8E\x40\x87\xCA\x06\x17\x0C\x4F\x85\x76\x7F\x00\x48\x16\xE9\x49\x0A\x09\xAA\x2D\xCE\x1A\x0C\x15\x3F\x8D\x0B\x4D\x00\xF8\x8E\xC8\x35\x05\x0C\xAA\x75\xE7\x16\x06\x3E\x1F\xE6\x38\x01\x91\xE6\x35\x05\x0D\xBA\x15\xE7\x02\x07\x07\x20\xED\x65\x09\x91\x32\x09\x05\x0C\xAC\x7E\xE7\x4F\x3F\xA5\x1E\x71\x8F\x78\x64\x13\x1F\x03\x91\xD9\x04\x08\x11\x40\xB9\x2F\x15\x08\x57\x6C\x4B\x25\x01\x01\x13\x0F\x58\x9D\xF1\x1E\x20\xE4\x8F\xE3\x71\x6F\x1D\x04\x04\x04\x99\x02\x90\x9B\x67\x20\xA6\x4A\x15\x09\x75\x71\x61\x05\x03\x0C\x82\x92\x01\xB0\x09\x31\x7C\x3A\x4C\xF6", + "\x8D\x12\x81\xB8\x35\x83\x88\x3D\x91\x04\x3A\x7C\x39\x91\x0A\x0B\xB4\x82\x69\x35\x03\x1D\x41\x85\x01\xA5\x05\x45\x7D\x20\x92\x66\x7A\x9B\x26\x84\x93\xFA\x70\x1F\x4F\x7C\x49\x54\x1D\x91\x02\x41\xCA\x0E\x04\x0D\x42\x85\xBB\x58\x7C\x4A\x91\x42\x76\x0D\x1A\x0B\x06\x85\x8D\x16\x33\xF9\x59\x90\xE4\x5E\x98\x11\x13\x93\x8A\x53\x00\x16\xF8\x5F\x20\xF5\x80\x40\x6F\x31\x90\x67\x86\x0C\x98\x82\x9B\x03\xBD\x59\x7C\x00\x4D\x90\xF5\x61\x07\x07\xD4\x74\x9F\x52\x42\xA5\xC6\x04\x09\x71\x90\x02\x24\x1D\x92\x00\x95\xF0\x75\xB0\x16\x02\x5D\x90\xDF\x5D\x53\x7D\xFE\x8E\xBA\x76\x29\x22\x05\x00\x22\x94\x26\x82\x90\x3E\x90\x77\x7A\x3D\x1E\x0A\x19\x43\x80\xC5\x27\x7D\xC2\x4A\x3B\x93\xD1\x51\xCA\x0B\x0B\x07\x44\x89\x1B\x68\x00\x89\x90\x05\x90\x29\x86\x12\x86\x89\x9A\x3B\x36\x01\x19\x91\x12\x90\x99\x8F\x52\x03\x1A\x0E\x88\x88\xB6\x3B\x21\x9A\x91\xA9\x80\xA5\x34\x38\x05\x14\x99\x6C\x14\x04\x27\x22\xA1\x91\x38\x8F\x9C\x01\x3B\x04\x15\x99\x7E\x0F\x45\xA7\x21\xB1\x91\x25\x02\x7D\x00\x2D\x90\xFE\x04\x0B\x16\x45\xAD\x21\xCF\x7E\xA5\x21\x03\x02", + "\x26\x05\x68\x86\x34\x04\x06\x10\x22\x8A\x91\x79\x49\xE4\x2B\x30\x96\x69\x84\x27\x13\x06\x07\x23\xA8\x91\x22\x7D\x6F\x1D\x08\x03\x19\x92\x03\x8D\x01\x14\x23\x90\x27\xD3\x76\x50\x93\x2D\x91\x1C\x88\x82\x0F\x01\x17\x23\xF1\x6C\x3B\x01\x6F\x92\x48\x87\x34\x6A\x8D\x9F\x45\xA9\x03\xA8\x10\x3D\x00\x71\x93\x15\x3A\x1C\x9C\x63\x25\x47\xB0\x20\xAC\x73\xA5\x21\x25\x02\x3A\x94\x49\x4C\x8E\x92\x93\x12\xFD\x03\x91\xB6\x72\x1B\x19\x16\x03\x1E\x95\x23\x15\x47\x83\x09\xF7\x91\xC8\x91\x1A\x64\xB0\x32\x1C\x9D\x0C\x54\x03\x3E\x23\xCA\x1B\x52\x7E\xE1\x49\x18\x05\x82\x0B\x05\x04\xC0\x76\x01\x62\x91\x31\x8A\x38\x09\x05\x0B\x21\x93\x7E\x81\x08\x23\x01\x46\x88\x04\x71\x3B\x00\x44\x95\x7C\x74\x4F\x83\x6B\x17\x09\xF8\x00\x07\x93\x2E\x2B\x96\x8B\x8F\x0A\x07\x1B\x48\x8E\x17\xE3\x7F\x98\x15\x30\x8C\x0F\x46\x24\x9D\x58\x18\x01\x28\x24\xE6\x00\x15\x09\x34\x02\xDD\x88\xCC\x49\x56\x9A\x97\x2C\x24\xC9\x0D\x39\x01\x97\x92\xE3\x8C\x85\x57\x93\x85\x14\xBA\x24\x93\x8F\x26\x2D\x9E\x90\xFC\x0B\x07\x0F\x93\x9A\x3C\xBD\x1F\x42\x92\x45\x10\xA4\x7E\xDF", + "\x89\x25\x9E\x4B\x1F\x61\x48\x25\xF0\x04\x3D\x01\xA2\x92\x0D\x95\x14\x21\x08\x0F\x4A\xB1\x1B\x52\x92\xAA\x5C\xF5\x12\x20\x06\x2A\x94\x27\x1F\x01\x18\x25\xCD\x0E\xCB\x14\xAE\x90\xEF\x2F\x2B\x95\xFC\x0A\x4F\x04\x02\x62\x92\xC6\x05\x20\x00\x59\x91\xF8\x8D\x67\x25\x04\x28\x25\xC6\x06\x42\x00\xB2\x93\xF1\x8A\x69\x36\x08\x0F\x4B\x95\x0D\x43\x00\x64\x93\xE6\x8D\x98\x0E\x2E\x92\x3D\x04\x02\x24\x25\xD3\x8F\x2E\x2C\xBE\x91\x44\x05\x08\x04\x96\x99\x3E\xA2\x25\x48\x92\x8A\x01\x90\x92\xAD\x88\x25\x97\x06\x03\x49\x91\x19\x0C\x01\x82\x93\x41\x34\x63\x92\x25\x9A\x41\x31\x4C\x9D\x53\x13\x93\x68\x8C\x48\x0A\x65\x94\xD7\x08\x99\x8F\x33\xB4\xCA\x1B\x93\xD6\x09\xCE\x92\x9D\x8B\x8F\x00\x09\x00\x4D\xB6\x29\x22\x93\x7C\x8C\x76\x1E\x69\x91\x20\x0C\x04\x08\x4D\x82\x1A\x99\x09\xAB\x93\xB7\x3A\x6B\x90\xD1\x89\x7D\x33\x04\x31\x26\xCE\x00\xB3\x92\x47\x8C\xA8\x71\x36\x9F\x04\x13\x4D\xB5\x1E\xE3\x4C\xB1\x92\x28\x03\x6C\x93\xF7\x8B\x14\x16\x04\x31\x26\xD1\x00\xB3\x92\xB6\x91\xF6\x2F\x12\x01\x9B\x92\x02\x33\x26\xF3\x92\xA6\x02\x4C\x01\x6C\x93", + "\x0A\x03\x9B\x9A\x4B\x8E\xE3\x31\x93\x54\x01\xD9\x90\x60\x94\x36\x21\x9B\x95\x02\x33\x26\x86\x93\x5B\x50\xA4\x90\x27\x02\x31\x91\x10\x19\xFA\x4B\x25\xE8\x00\x15\x08\x32\x00\x54\x81\x36\x90\x27\x12\x49\xB1\xA8\x33\x92\x61\x55\x0A\x09\x63\x95\x22\x99\x53\x11\x49\xB0\x27\xA5\x05\x6B\x00\xEC\x83\x7D\x91\x51\x75\x41\x18\x21\xBB\x11\x1F\x01\xEC\x92\x39\x06\x7F\x97\x20\x08\x07\x17\x12\xA0\x02\x64\x93\x45\x11\x37\x02\x63\x91\x22\x51\x9B\x97\x02\x28\x24\x8A\x94\xD8\x57\x95\x07\x28\x01\x36\x98\x05\x0F\x50\xB5\x24\x9A\x64\xB1\x93\x2C\x02\x85\x92\x36\x8B\x32\x05\x05\x31\x26\xDA\x00\x1B\x95\x83\x00\xE5\x8D\x98\x01\x9B\x9B\x02\x21\x28\xAE\x04\x2B\x07\x53\x01\x6C\x94\x0B\x07\xA2\x82\x08\x22\x1E\xEA\x13\xA8\x01\xD8\x91\x17\x05\x45\x97\x84\x95\xB0\x29\x02\x31\x93\x5E\x00\x1A\x97\xFB\x6D\x14\x2A\x0A\x11\x4D\x9F\x01\x3A\x94\xBF\x92\x57\x45\x6C\x90\x0C\x0A\xA3\x84\x4E\xB9\x04\x2C\x01\xB1\x93\x30\x02\x8E\x92\x39\x9A\xB4\x2D\x05\x31\x26\xE2\x00\x3A\x94\xE8\x91\x65\x06\x15\x01\x9B\x81\xFB\x4B\x25\x90\x94\x21\x05\x95\x07\x2B\x01\x36", + "\x94\x06\x1A\x51\x9B\x27\xA8\x10\xB0\x01\xD8\x91\x19\x02\x47\x90\x9E\x96\x61\x31\x02\x48\x92\xB2\x00\x04\x96\x19\x00\x25\x90\x07\x11\x41\x97\x09\xB4\x01\x08\x94\x66\x31\x05\x0C\x0E\x0B\x9F\x86\x1A\x31\x01\x4A\x85\x75\x95\xAA\x07\x9D\x92\x21\x06\x07\x19\x53\xA1\x7B\x15\x08\x73\x01\x2B\x86\x2D\x01\x4E\x92\x27\x01\x54\xAA\xAF\x7E\x94\x11\x02\x43\x95\x63\x58\x51\x90\xBE\x55\x20\x35\x01\x57\x84\xB8\x00\x42\x94\x9D\x07\x51\x9C\xA7\x8C\x54\x95\x2A\x8A\x02\x6D\x00\x02\x72\x2E\x01\x40\x94\x27\x17\x03\x15\x10\x6D\x94\xF4\x93\x02\x94\xCE\x46\x52\x97\x10\x19\x03\x0B\x28\xEA\x13\xBB\x00\x49\x96\xB3\x10\x25\x96\xAA\x91\x50\xA9\xA4\x2A\x95\xC6\x04\x34\x00\xAB\x97\x42\x95\x08\x30\x55\x99\xA9\x33\x95\x1C\x94\x9E\x52\xAD\x95\x6A\x0A\x06\x18\x55\xA2\x28\xAB\x06\xC3\x01\x5D\x96\xF4\x03\x0D\x0E\xAB\x88\x51\xBB\x11\x45\x01\xC2\x95\x88\x00\x1B\x05\x58\x9E\xA2\x9C\x19\x09\x2B\x90\x02\x6D\x00\x66\x95\x8D\x95\xCF\x29\x0C\x0F\x56\xBE\xA9\x52\x95\x3B\x95\x6D\x66\xB5\x97\x20\x04\xF6\x6B\x4A\xAD\x2A\xE1\x03\x2B\x07\x66\x03\xB6\x94\x69\x28", + "\xAD\x86\x52\xA5\x04\x4F\x01\xE3\x94\x8F\x48\xB6\x94\x49\x96\x1A\x11\x06\x29\x2B\xAB\x30\xD8\x94\x29\x95\x61\x03\x1A\x0F\xAE\x80\x00\x33\x01\x58\x95\xD6\x92\x06\x45\xBD\x94\x0E\x08\xAD\x9F\x52\xAA\x27\x57\x01\xF5\x95\x3A\x00\xB6\x95\x4C\x95\xE7\x19\x06\x08\x28\xDB\x01\x08\x94\x3B\x00\x4A\x93\x0F\x05\x7E\x82\x5A\x22\x23\xD3\x58\x77\x01\xCA\x7E\x3A\x0D\xFD\x85\x95\x2F\x58\x8D\x0B\x04\x01\x12\x97\xAC\x06\xFC\x8B\x8F\x03\x0F\x1C\x47\x98\x57\x00\x92\x13\x97\x44\x86\x8C\x26\x63\x9F\x80\x20\x59\x9A\x2C\x8B\x78\x36\x19\x05\x03\x26\x05\x04\x95\xCD\x06\x59\xA4\x38\x0B\x90\x2B\x07\x0B\x03\xCA\x95\x05\x95\x35\x02\xFE\x7A\x98\x0C\x96\xEA\x5A\x52\x97\xCB\x96\xD3\x71\x65\x03\x01\x33\x2C\xA6\x72\x45\x11\x64\x01\xC6\x93\x67\x95\xEA\x60\x47\x3F\x2C\xBE\x90\xB1\x26\x97\x96\x4B\x20\x04\x95\xFE\x07\x5A\x93\x2B\xD5\x06\xE4\x00\xA5\x95\x07\x15\x82\x0B\xD7\x74\xEF\x4E\x2D\xB4\x93\xD3\x12\xA9\x94\x60\x11\x06\x9B\xF5\x37\x5A\x85\xBB\x00\x00\x4C\x80\xFE\x44\xCE\x90\x88\x75\xE7\x1E\x02\x1E\x2D\xB7\x1E\x61\x96\x88\x03\xD8\x95\x53\x68\x82", + "\x0A\x03\x27\x2D\x8E\x08\x1C\x01\xB4\x95\xC8\x96\xA9\x66\xC3\x16\x03\x17\x2D\xEA\x63\x3A\x81\x24\x57\xDA\x94\x60\x5A\x95\x0F\x5B\x8D\x16\x39\x00\x72\x97\x93\x96\x16\x95\xCE\x1F\x08\x1E\x5B\x89\x1B\x47\x00\x81\x96\xA2\x95\x18\x93\x0B\x57\xB5\x93\x62\x55\x01\x34\x81\x53\x96\x34\x91\xB1\x65\x71\x9D\x2C\x02\x03\x10\x2E\xDB\x96\x27\x8F\x9C\x01\x2C\x07\x6E\x9D\x2C\x0F\x03\x0C\x01\xF4\x53\x7B\x97\x81\x2E\x97\x2C\x73\x99\x1C\x5F\x5C\xAA\x2D\x95\x08\xDA\x65\xDC\x3E\xE1\x90\x62\x59\xB8\x8B\x5A\x84\x22\xD5\x27\xD7\x01\xD5\x94\xFC\x0D\x13\x0D\xBA\x91\x5C\x8B\x22\x85\x2D\xA4\x97\xC6\x0B\x2A\x04\x09\x82\x5C\x41\x5D\xA2\x5C\x33\x89\xB2\x97\x13\x31\xED\x90\x73\x93\x33\x96\x61\x3C\x03\x41\x97\x70\x04\x64\x03\xF0\x96\x77\x9A\x4F\x80\x0B\x08\x00\x1C\x01\xC4\x91\xAA\x06\x35\x06\x74\x93\xB7\x81\x1A\x99\x5F\x15\x00\xD0\x96\x66\x91\x97\x0C\x7A\x92\xB8\x9E\x39\xBD\x59\x22\x00\xD9\x97\xAA\x86\x9C\x06\x1E\x0C\xBD\x8A\x5C\x86\xFD\x25\x21\x2F\x01\xF0\x97\xD7\x85\x08\x1B\x0B\x9F\x05\xAE\x2E\xC5\x79\x47\x7E\xF5\x97\xD9\x82\x4E\x06\x01\x1A", + "\x8A\x3D\x2E\x95\x08\xD5\x6B\x0A\x2D\x12\x02\x7E\x9E\x84\x85\x42\x25\x00\x76\x97\xA7\x97\x6C\x80\xCD\x64\x7F\x97\x33\x7C\x5F\x95\x16\x34\x00\x5A\x22\xB1\x95\x05\x0B\x44\x59\x7D\x24\x03\x04\x30\xE6\x31\x06\x98\x88\x02\x10\x01\x81\x91\xC0\x94\xFB\x7D\x59\x72\x00\x0F\x99\xA4\x65\x04\x9D\x7B\x04\xC1\x95\x5E\xA3\xC8\x7B\x08\x80\x01\x0C\x99\xE5\x5B\x83\x94\x8A\x7D\x60\x9D\x2F\x87\x71\x53\x50\x11\x9B\x40\x64\x84\x93\x10\x0C\x03\x26\x30\xE6\x97\xA0\x87\xD1\x8C\xFF\x94\x6C\x6C\xC2\x88\x23\x00\x30\xEF\x31\x15\x09\x3E\x02\xCE\x92\x20\x0C\x07\x15\x20\x3F\x01\x3B\x98\x01\x02\x1D\x98\x9C\x83\x8D\x1C\xBF\x93\x62\x49\x02\x03\x82\x78\x1A\x8A\x94\x89\x3D\x88\x9A\xB0\x08\x62\x81\x31\x9B\x96\xFD\x66\x15\x9A\xDE\x0D\x2D\x8A\x63\x42\x62\x85\x00\x95\x2C\xCD\x00\x29\x9B\x07\x37\x85\x99\xC4\x88\x59\x85\x2C\xDA\x98\xDA\x58\x2E\x9B\x13\x9F\x52\x86\x29\x25\x07\x20\x31\xF0\x04\xCD\x00\x31\x9A\x94\x0B\x02\x99\xF7\x0C\x62\x87\xA5\x4E\x98\x6B\x99\x0C\x91\x9D\x1C\x1F\x07\xC6\x86\xB9\x2A\x31\xD6\x98\xFB\x36\x14\x10\x02\x03\xD8\x15\xEC\x56\x07", + "\x37\x31\xD4\x96\x01\x22\x3E\x99\xB3\x04\x00\x04\xD5\x7C\x1F\x78\x31\x9E\x4A\x2B\x06\x10\x02\x20\x9E\x81\x02\x01\x05\x64\xAD\xFD\x4A\x85\x2B\x06\x16\x03\x22\x9B\x15\x6E\xC8\x80\x6D\x42\x21\xAB\x06\x38\x01\x49\x99\xB2\x0E\x05\x05\xC9\x87\x08\x07\x32\xEF\x12\x2B\x06\x22\x03\xB0\x1A\x3D\x6C\x03\x14\xEA\x42\x97\x1F\x99\x7C\x75\x95\x05\x14\x02\x93\x9A\x77\x0B\x02\x1D\x32\x83\x02\xA8\x98\x76\x85\x61\x05\x0B\x0C\xCA\x90\x3F\x19\x01\x2F\x99\x5D\x98\x37\x80\x0A\x11\x0D\x03\xEC\x13\x62\x67\x01\x3C\x86\xB9\x99\x81\x03\xBE\x83\x95\x7D\xCB\x9A\xB5\x00\x33\xE3\x98\x6E\x91\xEC\x2F\x1F\x03\x94\x9D\x2C\x01\x04\x14\xF5\x74\x53\xA8\x98\xFC\x87\x28\x0C\x99\x92\x0C\x6F\x66\x8F\x32\xFD\x90\x7D\x2D\x4C\x01\x2D\x9D\x08\x11\x0A\x18\x65\x88\x33\xB0\x48\x7B\x09\x52\x03\x36\x9E\x6A\x8E\xCD\x91\x63\xB7\x2E\xBF\x28\xD4\x98\x60\x72\x29\x9F\x9A\x92\xAC\x69\x79\x23\x33\xB6\x30\xE5\x98\x54\x99\xB2\x70\x8A\x8F\xCE\x94\x13\x1A\x03\x71\x99\x2C\x8E\x77\x0D\x3A\x99\xBC\x86\xCD\x96\x64\xA2\x22\xB9\x02\xE3\x01\x7D\x9A\xDE\x08\x1F\x0D\xCF\x9E\x64\xA7", + "\x11\x84\x70\xF0\x00\x81\x98\xFC\x08\x01\x0F\x36\x90\x66\x87\x34\x9F\x3B\x0A\x9B\x22\x10\x06\x05\xA1\x9C\xCE\x80\x46\x96\x4A\x0A\x00\xCC\x1C\xF5\x61\xD7\x81\x49\x58\xCA\x99\x5F\xB9\x9A\x19\x9A\xE3\x87\xB7\x87\x29\x9D\x82\x0C\x36\x95\x9E\x24\x00\x4C\x1D\x6B\x36\x18\x00\xB3\x1D\xB2\x06\x04\x0F\x1B\x86\x32\x8B\x98\xAB\x26\x94\x98\x44\x06\x07\x0B\xD2\x84\x07\xAE\x34\x95\x9A\xE7\x90\xF5\x10\x10\x02\xA6\x9B\x1F\x15\x69\x85\x31\x37\x9A\xFE\x99\xBE\x7F\xB7\x1E\x09\x0C\xD3\x9C\x47\x3E\x34\xCA\x08\x40\x9A\x83\x9B\x92\x7D\x14\x2C\x05\x05\x6A\x83\x04\x68\x00\x47\x9A\xCA\x21\x52\x98\x96\x97\x46\x86\x3F\x20\x34\xF3\x3E\x51\x9B\x89\x06\x48\x98\x22\x0E\x07\x19\x61\x80\x31\x80\x00\x5D\x9B\x9C\x94\x7D\x97\x87\x96\x5A\x24\xC0\x79\x01\x4C\x1D\x11\x92\x81\x00\x20\x03\x5D\x8F\xD5\x81\x04\x15\x10\x25\x89\xF4\x92\xB7\x98\x5A\x2F\xAB\x93\x08\x15\x20\x02\x02\x04\x70\x7A\x01\xAC\x9A\x93\x80\x7D\x83\xE1\x44\xC0\x7C\x01\x7A\x9A\x5C\x8F\x88\x01\x21\x05\x82\x05\xD7\x94\x4F\x86\x02\x6F\x9A\x04\x70\x3F\x00\x5A\x9E\x02\x7F\x3B\x8E\x70\x28\x0A", + "\x86\x8E\x8B\x9A\x07\x08\x27\x05\xB1\x9A\x8F\x35\x20\x0A\x02\x5F\x9A\x88\x01\x25\x8D\x85\x28\x10\x00\xD8\x8C\xEC\x0E\x0F\x99\x9B\x43\x8A\x25\x51\x64\x9F\x20\x03\x08\x00\x6C\x9F\x02\x14\x9B\x4D\x46\xCD\x99\x5B\x95\xB3\x92\x27\x01\x1F\xA1\xA7\x09\x01\x53\x8C\x7A\x87\x68\x9B\x20\x08\x08\x00\x6C\xA2\x02\x28\x9B\x02\x03\xCB\x98\xDB\x4F\xAB\x9A\xDB\x85\x40\x6D\x60\x33\x9B\x53\x98\xDC\x99\x40\x03\x11\x07\xAA\x96\x61\x0B\x02\x2C\x9B\x74\x04\x52\x02\xF3\x84\xB8\x95\x6D\x9D\xB3\x0D\x02\x40\x9B\xF0\x0E\x53\x02\x70\x9A\xB1\x14\x99\x93\x42\x48\x37\xA5\x05\xA7\x01\xE5\x98\xAD\x91\xDB\x77\xDD\x86\x16\x29\x02\x5A\x9B\xB9\x95\x28\x0E\x24\x05\xBB\x96\x34\x0B\x05\x20\x37\xBF\x95\x7B\x08\x4A\x00\x79\x9D\x6A\x0D\x0A\x07\x6F\x86\x2B\xD1\x0C\x96\x01\xF5\x9A\xF4\x07\x15\x0E\xDE\x8D\x56\xA4\xE0\x72\x9B\x11\x03\x58\x01\x7D\x9F\x69\x9A\xB4\x3A\x04\x38\x37\x90\x02\xB3\x01\xFD\x99\xB6\x95\x7A\x2C\x09\x1F\x6F\x8A\x04\x19\x88\xE1\x52\xE6\x98\xB8\x97\x5C\x36\xE0\x87\x08\x37\x02\x02\x9C\xE6\x95\x88\x00\x28\x05\xC1\x93\x10\x19\x05\x02\x38\xEC", + "\x95\x95\x02\x51\x00\x85\x9A\x6A\x72\xE0\x92\x57\xB3\x05\x24\x01\x1B\x9D\x80\x01\x2F\x02\xC0\x99\xAF\x8A\x63\x61\x38\x80\x00\xBF\x00\x01\x9E\xBF\x97\xDC\x77\xE2\x81\x06\x02\x38\x84\x96\xDF\x1C\x55\x00\x60\x9C\x15\x00\xD8\x83\x06\x0E\x0F\x8C\x01\xC5\x9A\xA2\x2F\x89\x9D\x18\x07\xE3\x95\x6E\xAA\x27\x30\x01\x27\x9D\x24\x89\x78\x50\xC7\x99\x99\x88\x0E\xA7\x38\xC9\x01\x3D\x9D\xF0\x98\x0A\x14\x16\x07\xE2\x8B\x06\x09\x39\xE8\x9B\x24\x3D\x13\x9C\x16\x8B\xC8\x9F\x57\x9B\x23\x38\x02\x27\x9C\xCF\x01\x27\x9D\xE8\x8B\x65\x0A\x0B\x07\x71\x91\x03\x5A\x9C\x48\x97\xC2\x00\x2F\x07\xC4\x9A\x46\x94\x72\xA2\x00\xC7\x5F\x27\x9D\x6A\x00\x98\x98\x2C\x95\x4F\x07\x71\x97\x03\x6B\x9C\x65\x92\x6A\x7B\x89\x98\x8F\x86\xE6\x87\x93\x2A\x27\x44\x01\x27\x9D\x6D\x00\x9C\x9E\xC3\x90\x16\x06\x06\x27\x38\xDD\x01\x70\x9D\x12\x9D\x9D\x18\x19\x07\xE2\x85\x24\xB5\x39\xB8\x8D\x4D\x43\x13\x9D\x38\x00\xCE\x90\xE3\x85\x85\x0C\x03\x00\x9B\xCE\x00\xC0\x9B\x38\x06\x79\x8D\x08\x15\x20\x07\x02\x60\x88\xD0\x9B\xC0\x99\x3A\x30\x04\x9F\xD5\x8E\x04\x0C\x18\xFB\x08", + "\xD1\x01\x4C\x9C\x9C\x05\x1C\x03\xDD\x8F\x04\x15\x10\x30\x9B\xF4\x92\x53\x9F\x71\x77\xAB\x90\x09\x15\x20\x20\x36\xF9\x8D\x01\x8C\x61\x61\x31\x8C\x00\x72\x0D\x02\x75\xAF\x1B\x96\x0B\x9F\x9D\x28\x0F\x34\x06\xD6\x94\x27\x06\x07\x13\x37\x94\x01\x15\x08\x49\x00\x01\x74\x1A\x0C\xEB\x8C\x0A\x95\x02\x15\x08\x97\x01\xAF\x9B\xB1\x9A\x21\x09\x09\x1F\x6A\x89\x3B\xF9\x8E\x55\x43\x62\x9E\xB1\x00\x94\x8B\x94\x8F\x76\x80\xFE\x4E\x9D\x3E\x9C\x1B\x1A\x35\x02\xDA\x96\x34\x08\x07\x13\x37\xD6\x9D\x88\x8F\xEB\x5C\xB7\x9D\x6A\x09\x0E\x1F\x76\xBB\x24\xA8\x10\xD8\x01\x71\x9E\xF4\x07\x94\x85\xED\x97\x2B\xA8\x14\x6A\x9D\x86\x10\x73\x9E\x42\x03\xF3\x8A\xF1\x50\x77\xA2\xF5\x72\x9D\x59\x0F\x95\x07\x36\x06\xDE\x9A\x10\x0E\x25\xAD\x3B\xAC\x96\x4B\x02\x6E\x00\xBF\x9F\x20\x0E\x0E\x18\x77\x80\x2D\x92\x51\x03\x9E\xB1\x06\xC1\x9E\xCD\x0B\x32\x1E\x06\x09\x3C\xA7\x63\x0B\x9E\xDE\x1C\x0A\x17\x1B\x0F\xF0\x89\x28\x91\x3C\xFD\x24\x5C\x43\x8A\x9C\x00\x02\x1E\x07\xF1\x9C\x73\x8B\x05\x61\x01\x1A\x9E\x5D\x8B\xBF\x99\x4B\x9C\x07\x7A\x78\xB4\x03\x17\x9E\x2B", + "\x9C\x75\x66\xC6\x9D\x1E\x07\xF1\x8D\x74\x96\x4A\x64\x01\x99\x9D\x72\x00\x60\x9E\x1E\x03\xDD\x98\x04\x39\x38\xDF\x1D\xE7\x00\x8D\x9F\x3D\x05\xE6\x99\xED\x89\x92\x5A\x3C\xF8\x01\x3C\x9F\x22\x9C\x0A\x11\x1D\x0A\xF1\x88\x26\x8B\x25\xB6\x9E\x4A\x9C\x43\x76\xC6\x9A\x1F\x01\xF4\x90\x72\xA6\x6F\x1A\x9E\xFB\x01\xA6\x9F\x7B\x9F\x63\x3A\xF1\x8E\x26\x87\x3D\x86\x8B\x2B\x07\x76\x02\xC6\x9D\x1F\x02\xF5\x81\x73\x90\x15\x1A\x9E\xFE\x01\xAE\x9E\xEB\x8A\x3D\x1F\x0E\x1A\x78\xBF\x03\x62\x9E\xB4\x8E\xAD\x16\xC6\x98\x00\x0A\x57\x88\x7A\xA1\x16\xA8\x10\xF1\x00\x8D\x9D\x00\x05\xED\x95\x41\x18\x70\x85\x06\x72\x01\x1A\x9E\x01\x00\xDD\x9D\x63\x25\xE7\x13\x07\x1A\x3C\x83\x00\x7B\x9E\x92\x9C\x7D\x12\xE3\x94\x00\x01\x7C\x88\x3A\xEE\x37\x1A\x9E\x70\x8B\xD5\x98\xB4\x05\xA4\x39\x74\xB7\x03\x00\x9B\x06\x00\xBD\x89\xB3\x9A\x21\x0C\x09\x1F\x6A\x93\x3E\xA3\x16\x04\x71\x7C\x03\x89\x9F\x00\x0B\x5F\x97\x7C\x83\x04\x54\x87\x99\x10\x66\x1E\x3F\x89\x01\x0B\x75\x9E\x7C\x82\x04\x1E\x89\x51\x0C\x7F\x02\xE8\x99\xB0\x45\xFA\x88\x6C\xA0\x7F\x29\x46\xFE\x89", + "\x07\x00\x3F\x8D\x3C\x06\xFA\x86\xA0\x04\xE0\x04\x00\xB0\x9F\x66\x07\x04\x03\xF6\x90\x11\x15\x7D\xBE\xFB\x36\x18\x07\x01\xDC\x9E\x03\x0F\x02\x0C\xFB\x8C\x76\xA0\x1C\xEA\x13\x0A\x00\xE1\x9D\x63\x0B\x03\x05\xFC\x97\x76\x8A\x04\x69\x8E\x36\x19\x06\x02\xF2\x99\xD9\x0F\x01\x0D\x7D\x8E\x10\x84\x70\x10\x01\xE9\x9E\xDE\x0A\x04\x06\xFD\x8C\x26\xBB\x11\x13\x00\xDA\x9E\xF8\x0D\x09\x05\xFB\x92\x4D\x9B\x23\x16\x00\x61\x9F\x45\x10\x14\x00\xF9\x9F\x9A\x84\x80\x79\x00\x28\x3F\xF0\x04\x2B\x01\xF5\x9E\x37\x89\xCA\x0C\x01\x0F\x7F\xB5\x4B\x72\x9F\xE6\x89\x3D\x0B\x07\x06\xFE\x96\x4E\x18\x7F\xAD\x13\xF8\x3F\xFC\x9F\x52\x04\x0D\x05\xF9\x93\x10\x1E\x7D\x9D\x24\xA8\x10\x25\x01\x00\xA0\x63\x30\xFF\x9D\xBC\x8B\x0A\x28\x00\x0A\xA0\x46\x07\x1D\x00\x01\xA2\x20\x0E\xFB\x8D\x80\xB9\x04\x2B\x00\x10\xA1\xAA\x04\x6E\x8B\xD4\x84\x01\xBE\x22\x84\xE0\x2E\x00\x19\xA0\xE9\x07\x10\x03\x02\xA1\x10\x1E\x7D\x95\x14\x95\x2C\x31\x01\x10\xA1\x44\x07\x08\x04\x02\xA0\x00\x26\x40\x84\x70\x34\x00\x15\xA0\x44\x03\x09\x0D\x02\xBE\x7D\x9B\x14\xD1\x0C\x37\x00\x19", + "\xA3\x94\x3D\x06\xAB\x3B\x84\xC0\x7A\x00\x3A\xA0\x07\x02\x0C\x8F\x36\x8D\x03\xAA\x10\x0B\x12\x87\x3A\x29\x46\x6E\x34\x2B\x02\xE4\x9D\x82\x06\x52\x9B\x23\x3E\x00\x40\xA0\x74\x45\xAD\x8E\x26\x05\x82\x05\xF9\x94\x4F\x93\x41\x8F\x89\x7B\x09\x20\x01\xCA\x42\xAB\x80\x11\x1A\x02\x3B\x17\xD7\xA0\x97\x88\x96\x18\x14\xA2\x20\x0C\x05\x12\x82\x9D\x12\x84\x70\x46\x01\x31\xA2\xA3\x16\x0C\xA4\x4A\x84\xC0\x49\x01\x6A\xA0\x00\x00\x31\x01\x0B\xA0\x0C\xAC\x4A\x9E\x2A\x70\x41\xE3\x8C\x1C\xA1\x80\x00\x1D\xA7\xA0\x04\x80\x6F\x02\x30\x41\xFE\x8C\x79\xA1\x7B\x1F\xF1\x9E\x86\x12\x05\x10\x83\xAE\x01\x73\xA0\x64\x8E\xDE\x30\x1C\xA2\x0E\x0C\x06\xA7\x08\x06\x13\xD1\x0C\x58\x00\x38\xA3\xB0\x8B\x08\xAA\x07\xAB\x60\x84\xE0\x5B\x00\x70\xA0\x3C\x01\x23\xA5\xFC\x93\x38\x90\x83\xA0\x1B\x94\xA1\x82\xA0\x85\x00\x36\x89\xCA\x01\x06\x10\x83\xBE\x01\x1B\xA1\x02\x03\x6A\x00\x01\x74\x0C\x00\x07\xAE\x38\xA0\x42\xFB\xA0\x0C\x18\x02\x73\x19\x00\x0E\xA4\x08\x08\x85\xB0\x85\x04\x70\x6A\x00\x38\xA2\xCB\x89\x10\xA0\x0B\xA0\x00\x07\x40\xEA\x13\x6D\x00\x38\xA0", + "\xD2\x8F\x15\xA9\xCF\x84\x8C\x30\x41\x8E\x01\x88\xA1\x7F\x99\x49\x03\x0E\x00\x07\xB2\x04\x09\x43\x87\x02\x0A\x8A\x52\x64\x1C\xA3\xEF\x8C\x0B\xAF\x68\xAF\xD7\x70\xA0\x96\x8F\x6A\xA1\xC0\x8C\x87\x90\x07\xB0\x3D\x9A\x43\x84\x9E\x06\x8E\x38\xA1\xF2\x8F\x1B\xAB\x1E\x24\xC0\x42\x02\x70\xA0\xDD\x8E\x62\xA1\x11\xA4\x00\x75\x08\x08\x82\x8D\x0B\x29\x01\x7A\x8B\x5E\xA1\x13\xA4\x08\x40\x07\xAA\x05\x1B\x1D\x9B\x01\x54\xA1\xAF\x99\x15\xA7\x89\x1F\xD5\x9D\x04\x15\x10\x6E\x9E\xE3\x72\x7D\x8D\x17\x45\x82\x0E\xFB\x96\x29\x93\x05\xD2\x07\x9E\x01\xE9\x84\x01\x71\x11\x0E\x0E\xB8\x0F\x89\x44\xDE\x87\x04\x70\x45\x01\x43\xA7\x20\xA1\x11\x0F\x88\x9E\x3F\xEB\x38\x13\xA2\x81\x8C\x44\x00\x14\x06\x39\x97\x12\x8C\x02\x5B\xA0\xBF\x06\x64\x9D\xDC\x8D\x15\x0A\x57\x81\x05\x04\x44\xF1\x8E\xAE\x00\xBD\x8A\x28\x04\xA4\x94\x80\x6E\x04\x29\x8C\x66\x95\x70\x04\xD0\x9D\x71\x0F\x4A\x83\x09\x00\x89\x8E\x10\x28\x9F\x8B\x13\x2B\x85\x25\x06\x26\xAC\xCC\x02\x89\x88\xE8\x2F\x01\x7A\x8B\x52\x03\x49\xA0\x41\x70\x0B\x1C\x3E\xAC\x44\xA5\x09\x2F\xA3\xF2\x77\x29", + "\x05\x82\x02\x14\xB4\x4F\xA8\x02\x3E\xA2\xB0\x9D\x1A\x8D\x77\x4A\xAF\x8F\x14\xA6\x7E\x88\xE8\x32\x01\x7A\x8B\x54\x03\x51\xA6\xCF\x09\x14\xB8\x0F\xAA\x02\x15\x08\xAC\x01\xB1\x81\x46\xA2\x20\x02\x0A\x1C\x89\x8C\xC1\x15\x08\xAB\x00\x02\x70\x29\x03\x2C\xAB\xD7\x95\x66\x2A\x36\xD9\x2F\xA5\x00\xB3\xA2\xDE\x0B\x16\x0A\x57\x8D\x05\x15\x10\x33\x01\x04\x71\x53\x00\x5B\xA1\x38\x22\x17\xB0\x3F\x2F\x02\x6F\xA2\x4A\x36\x55\x03\x5E\xA4\xBF\x2A\x57\x9F\x8B\x8A\x04\x78\xA2\xF2\x67\x55\x01\x5F\xA5\x51\x65\x41\x12\x05\x17\x09\xAD\x01\x8B\xA2\x38\x05\x2C\x05\x82\x0E\x0A\x1F\x0D\xB0\x41\xF0\x04\x8E\xA2\x85\x03\x64\xA4\x3E\x98\x18\xA7\x08\x30\x02\x5F\x9A\xB4\x00\xC0\xA2\x69\x02\x16\x01\x19\xB2\x13\x35\x02\x7A\x8A\xA1\xA3\x5F\x68\x01\x74\x16\x0B\x17\xB5\x05\x25\x46\xF4\x04\xB6\x00\xD1\xA1\x65\x07\x16\x03\x18\xB2\x13\x36\x02\x7A\x8A\xB1\xA2\xD5\xA2\xFC\x60\x17\x0F\x1A\xA5\x15\x37\x02\x60\xA2\x9A\x95\xBD\xA3\x2E\x03\x31\xA7\x0B\x1A\x2B\xB8\x02\x15\x08\xB9\x01\xAF\x9B\x71\xA2\x21\x0B\x0B\x1F\x6A\x89\x47\xBC\x7C\x04\x71\x5E\x03\x5E\xA6", + "\x17\x0B\x18\xB8\x05\x3A\x15\xBA\x01\xC8\xA3\xAF\x98\x76\xA4\x39\xAF\xD5\x8D\x8E\x87\x38\xB2\x84\x97\xA3\x04\x11\x05\x0F\x37\xA4\x9F\x9D\x05\x15\x10\x3F\x01\x04\x71\x61\x01\x6D\xA7\x28\x86\x1E\xA2\x85\xBF\x10\xEB\xA3\x4C\x82\xF4\xA1\x73\x27\x4A\x85\x0C\x1D\x8D\x86\x0B\x40\x01\xB2\xA3\xC2\x03\x31\x06\x3E\xA6\x34\x19\x05\x3B\x17\xF8\xA3\x87\xA2\x02\x71\x32\x03\x2F\xAA\x0C\x0B\x8C\xBB\x02\x7A\x8A\xC1\x01\x0A\x0B\x30\x07\xAB\x99\x20\xB8\x82\x91\x19\x4C\x01\xFC\xA3\xAA\x04\x2F\x03\xBF\x8D\x20\xA7\x08\x1D\x46\xA8\x10\xCE\x01\xBD\xA3\x33\x03\x31\xA4\x7F\x8B\x4A\x82\x03\x0A\xA4\x5F\x9B\x0F\xA6\x83\xA1\x89\x41\x21\xB2\x1E\x3F\x02\x7B\x8B\x22\xA4\x0B\xA4\x01\x73\x1A\x0B\x17\xB4\x06\x0B\x46\xC1\x01\x7A\x8B\x05\xA4\x2B\x4C\x00\x76\x0D\x01\x8F\xB4\x09\x44\x01\x15\x08\x00\xA5\x54\xA1\xE1\x83\x07\x55\x20\x0B\x03\x57\x84\xD9\x01\x12\xA5\x44\x06\x18\x09\x1F\xB3\x0B\x1B\x03\x42\xA4\x10\x02\x61\x03\x7E\x8C\x48\xA1\x20\xBB\x23\x1D\x03\x7B\xA2\xDE\x01\xC5\xA0\x31\x02\xAF\x87\x0C\x15\x20\x0A\x03\x5F\x9A\x55\xA5\x11\xA5\x8E\x68\x49", + "\xA2\x0A\xBB\x2F\x99\x49\x98\x9F\x7C\x60\x2E\xA7\x41\x07\x18\x0E\x25\xB7\x8B\x98\x12\xFB\xA2\xE5\x01\xC5\xA1\x32\x04\x4A\xA5\x41\x1C\x05\x04\xE0\x67\x01\x7B\xA2\x74\x03\x62\xA5\xFF\x8B\x94\x88\x06\x16\x49\xDF\x9A\x76\xA4\x2D\xA4\x66\x6A\x4C\xA3\x10\x0B\x06\x3B\x17\xF9\xA4\x60\xA4\xDB\x44\x9F\xA2\x20\x0D\x0C\x1F\x93\xA6\x49\xFB\x08\xEE\x01\xBD\xA3\x3B\x03\x31\xAF\x0C\x1A\x2B\x80\x4A\xDA\x76\x04\x71\x78\x03\x5E\xA2\x1E\x0B\x18\xB0\x06\x3A\x15\xC9\x01\x77\xA4\xFA\x90\xA6\xA2\x4F\xA5\xE7\x14\x07\x03\x4A\x81\x02\xD1\x01\xFD\x8B\xA6\xA7\x20\x0E\x26\xBB\x23\x36\x03\x7B\xA2\xF7\x01\xC5\xA3\x34\x02\xAF\x87\x25\xB3\x91\x87\x13\xB6\xA4\xA5\x05\x1F\xA6\x42\x04\x49\xAB\x23\xA5\xDF\x4C\x03\x45\xA4\x60\x02\x7E\x03\xA7\xA0\x00\x04\x0D\x1A\x2B\xB7\x4A\xDB\x6E\x04\x70\x7F\x03\x60\xA3\x57\xAE\x0C\x18\x95\x8B\x05\x01\x00\xB2\x17\x91\x52\x5E\x8D\x58\xA0\x2C\xB2\x9F\x42\x00\x32\x17\x5C\xA1\xC6\x6B\xCD\x98\x15\x59\x2C\xAD\x16\x06\x20\xCB\x92\xCF\x01\x9E\x9E\x44\x75\x5A\xAF\x54\x9A\x2B\x99\x4B\xC2\x9E\xEA\x12\x03\x00\xB7\xA0\xC3\x2E", + "\x2D\xA7\x77\xAA\x27\x07\x00\xE3\xA4\xE8\x71\xB9\xA0\x28\x9B\x47\x08\x00\x29\x4B\xED\x8A\xEB\xA4\xA3\x93\x83\x17\x5D\xA0\x9E\x71\x97\x9B\x39\xFB\x08\x0A\x00\x7A\xA7\x5E\x8E\x5E\xAE\xF5\x80\x0B\x0B\x00\x7A\xA5\x82\x8A\x7E\xA7\xD8\x9C\x2E\x30\x30\xAB\x2C\x82\x4C\xE9\x9E\x7A\x25\x82\xA4\x12\x37\x60\xA1\xE1\x8C\x0C\x8A\x4C\x98\x8B\x07\xA6\xBB\x9F\x5C\x07\x01\x0F\x30\xBE\x2C\x87\x4C\x9E\x9E\x39\x02\x08\x01\xC5\xA4\xB4\x87\x30\xA2\x74\xAA\x20\x9B\xA6\xAB\x8B\x83\xA5\xCA\x99\x38\x70\x32\xB2\x2D\x87\x4C\xAE\x9E\xD5\x27\x09\x02\xBE\xA4\x02\x00\x2D\xB0\x08\x25\x03\x7A\x8A\xD0\x01\x0A\x09\x33\x04\x00\x76\x01\x05\x99\xBC\x48\xA0\xA5\x15\x09\x98\xA4\x7D\x92\x1A\x05\x41\x1F\x96\xB5\x4A\xF8\x83\xD3\x01\x0A\x0A\x2A\xA2\xCA\x16\x33\xA0\xC2\x15\x10\x59\x01\x57\x84\x0C\x01\xCB\xA6\xCE\x35\x41\x18\x06\x1F\x35\xD6\x01\xC6\xA5\x9C\x02\x06\x03\x69\xA9\x2B\x5B\x2F\x90\x4D\xCD\xA5\xF4\x9E\x7D\xA5\x07\x04\x6A\xA5\xD1\x7A\x2B\x97\x03\x4D\xA6\x5F\x9B\xAF\xA4\xA7\xA7\xDB\x1F\x01\x1C\x9A\xBA\x1D\x69\x01\xFB\x8A\xB1\xA5\x1B\x64\x00\x71\x02", + "\x1A\x97\xA2\x00\x66\xA6\x01\x03\x75\x02\x5E\x8E\x69\xAE\x4D\x64\xC0\x64\x00\x45\xA6\xD1\x71\x0A\x0B\xD5\xA7\x67\xA4\x11\xBA\xCE\x55\x10\x67\x01\x5F\x9A\x6D\x01\x05\x08\x1D\x01\x38\xA5\x3F\x85\x4E\x8A\x02\xEA\x01\xAF\x98\x37\x05\x82\x0B\x0D\x04\xC0\x65\x00\x32\x17\x12\xA7\xAB\x51\x05\x0B\x71\xA4\x9F\x9E\x06\x15\x10\x5D\x01\x5F\x9B\x6F\x01\x05\x0E\x72\xA4\x9F\x80\x07\x0C\x4E\xAE\x8A\x90\xA7\xF2\x75\x38\x05\x82\x0A\x39\xB4\x4F\xA2\x03\x15\x08\x9E\xA6\xFA\x93\x38\x07\x73\xAB\x47\x0D\x01\x21\x4E\xF8\x83\xE4\x01\x0A\x0B\xEA\xA4\x3E\x95\x0E\x15\x20\x31\x4E\xF4\x93\xE6\x00\xD6\xA5\x66\x37\x75\xAD\x37\xAE\xE8\x6D\x04\xDF\x9A\x84\xA7\xE9\x77\x57\x99\x1D\x05\x41\x15\x9D\xB4\x27\x89\xA7\x82\x09\xAF\x9B\x3A\x05\x82\x0F\xFF\x81\x88\xB1\x3A\xE7\x5F\x1E\xA0\xFA\x93\xF2\xA2\x21\x07\x03\xAE\x9E\x92\x45\xF0\x0F\xED\x01\x0A\x08\x3B\x04\x00\x75\x03\x10\x9B\x9A\x3A\xD4\xA7\x15\x09\xEC\xA4\x7D\x95\x79\xA7\x06\x24\xC0\x77\x00\x5E\xA7\x6D\x84\x78\x02\xF6\xA4\x00\x79\x03\x08\x9F\xB7\x3A\xD1\xA1\xC2\x99\xAF\x9A\x3C\x04\x79\xA4\x80\x7B", + "\x01\x38\x4D\xF9\x7A\x7A\x8B\xF9\xA6\x42\x00\x7E\xA2\x32\x77\x9F\x83\x04\x6D\x01\xF9\xA7\x3A\x88\x01\x75\x07\x0E\x3F\xBF\x83\x7A\x15\xF4\x01\x15\x08\x7D\x03\x95\x86\x07\x0E\x3E\xB4\x13\x35\x03\x53\xA5\x96\x24\x20\x01\x01\xA8\x2E\x4A\x57\x8F\xA0\xAE\x2A\xD1\x0C\x41\x01\x09\xA8\x00\x00\x1E\x05\x41\xBB\x6E\xAA\x27\x42\x00\x1A\xA9\x78\x01\x07\xA9\xE9\x94\xD8\x5A\xA0\xB2\x03\x23\xA8\x4E\x9E\xF5\x10\x11\x02\x83\xA3\x0F\x08\xA1\x93\x3D\xF3\x2F\x1A\xA8\x7A\x02\x0B\xAE\xBE\x91\x65\x06\x02\x1A\x50\xF5\x01\x33\xA8\xFE\x9A\x69\x07\x08\x0A\x41\xB6\x07\x39\x50\x83\x9C\x15\x2C\x24\x02\x06\xAF\x1E\x0F\x43\xA1\x52\x95\xF5\x1A\xA8\xF8\x01\x1F\xA9\xC3\xA3\x68\x0A\x41\xB9\x07\x3F\x50\x91\xA7\x80\x6C\x0D\xAA\x3E\x07\x87\xA8\x31\xA5\x09\x0C\x01\x1A\xA8\xFB\x01\x1F\xAA\xC7\xA5\x14\x2D\x04\x1A\xA0\xBC\x03\x3F\xA8\x23\xA7\x52\x22\x13\x02\x83\xAD\x0F\x1F\xA1\xA8\x4C\x95\x2C\x4F\x00\x7D\xA4\x14\x06\x7B\xAE\x0F\x1A\x2B\xB6\x03\x15\x08\xF7\x01\xAF\x9B\x1B\xAE\x77\xA9\xBE\x6E\xA3\x83\x4E\xF1\x8E\x2E\xA1\xA5\x93\x1C\xAF\xA5\x71\x77\x81\x00", + "\x0D\x21\x9C\x04\x7B\xA8\x75\x79\xDC\x8A\x00\x0F\x47\xB6\xFE\x4D\x2C\x80\x0C\xB2\x16\x32\x93\x2E\x90\x00\x01\x47\xB1\xF3\x6A\x1D\x89\xA9\x9C\x83\x45\xA9\x23\xAB\x15\x75\x18\x08\x03\x32\x2E\x45\x5D\x34\x90\x1D\x4F\x24\xAB\x16\x7A\xB4\x34\x03\x17\x52\x82\x21\x4D\x90\xFE\x47\x26\xAC\x17\x76\xED\x1F\xA4\x8E\x10\x39\x00\xA1\xA8\x43\xA8\x19\x9D\x7A\x2C\x08\x06\xA5\x97\xCE\x29\xA9\xBA\x7E\x36\x98\x09\x70\x92\xA3\x70\x52\xA4\xA8\x0A\x92\x94\xAE\xA9\x07\x7C\x2C\xAE\xCB\x8C\xB4\x9B\x23\x2F\x02\x39\xA9\x7A\x0E\x38\x03\x2E\xAB\x20\x03\x4A\xBA\x15\xBD\x99\x40\xA9\x7A\x45\x61\xAA\x40\x05\x98\xA3\x2C\x95\x73\x07\x03\x48\xA9\x45\x10\x46\x02\x32\xA9\x20\x0C\x4C\xAB\x16\x8A\x6D\x53\x01\xD0\xA8\x38\x06\x26\x03\x9A\xAC\x48\xB7\x64\xBB\x11\x5F\x01\xD9\xA8\x39\x04\x2A\x04\x9B\xAC\x4C\xBB\x16\xA5\x04\x6B\x01\xB2\x16\xF5\x62\x2D\x05\x09\x92\x5C\x4C\xA6\xA4\x0B\xB9\x02\xF8\x01\x70\xA8\x9D\x05\x18\x04\x4E\xAB\x17\x95\x5E\x56\x1A\xC5\x5C\x52\x92\x26\xAC\x79\xA2\x53\x56\x6A\x13\xB1\x61\x01\xB6\xA8\xC9\x95\xC0\x46\x9F\xA7\xE8\x21\xA8\x89", + "\x33\xCA\x36\x26\x00\xAB\x1A\x7A\x63\x1F\x0D\x84\x94\x4F\x4C\x53\xD2\x99\x93\x14\x85\xAA\xD0\x3A\x1C\x9E\x50\xA8\x5D\xB6\x23\x78\xA9\xF3\x0A\x71\x92\x28\xAD\x82\x0B\x31\x93\x0B\x0C\x01\x18\xAA\x0C\x1E\x8D\xAA\x2A\xAF\x9C\x9F\xED\x18\x02\x12\x54\xCE\x8B\xE2\x91\x76\xAA\xCA\x82\xC4\x00\x52\xBF\xDA\x62\x54\xB1\xA9\x9B\x91\xEA\x25\x1C\x05\xA5\xA0\xFA\x0F\xA9\xBC\x52\xCA\xA1\x11\x03\x3E\x03\x49\xAD\xB1\x02\x06\x14\xA8\xA3\x54\xD6\x97\x4A\x36\x45\x03\x4E\xA9\xD9\x02\x07\x1E\xA9\xB0\x54\xB8\x91\x11\x03\x4B\x03\x50\xAA\xEF\x0B\x95\x8E\x5F\x94\x53\xD6\xA1\x61\x3B\xA5\xA8\xFC\x0A\x12\x06\x54\xB7\xA9\xB0\x2F\xA5\x21\xB1\x00\xA9\xA8\x68\x21\xA5\xAF\x53\xA3\x1B\xA5\x42\x3E\x01\x5A\xAA\xC9\xA0\x57\xAF\xA8\xA1\x8D\x85\x85\x0B\x03\x34\xAA\xB1\x70\xAB\x19\x65\x08\x18\x06\x53\xA4\xA6\xB0\x34\xA8\x0A\x68\xAB\x80\x01\x39\x02\xAD\xA0\x11\x0E\x06\x2D\x55\xCB\xA9\x15\x08\xD6\x76\x64\x39\xAE\xA7\x93\x14\xAB\x8A\x04\x5C\x01\x77\xAB\xA7\xA8\x3C\x96\x52\x25\x0F\x1C\xAB\x81\x00\x22\x01\xE1\x52\x75\x01\x60\xAD\x9B\xAB\xD4\x96\x94\x03\x00", + "\x08\xAB\x3B\x5F\x07\x00\x64\xAE\xAB\x58\x0F\x0B\xAC\x8C\x53\x80\x82\xFD\x6D\xC9\xAB\xFA\x96\x03\x0A\x59\xA9\x6B\x46\x00\x57\x96\xC2\x4A\x7C\x03\xDF\xA1\xEE\x85\x01\x17\x5A\x9C\x08\x22\xAB\x0A\x03\xE0\xA4\xDF\xA7\x2F\x76\x5A\xB0\x08\x28\x56\xFC\xA8\x08\x74\x99\x97\x52\x97\xB5\xA2\x48\xA8\xD0\x58\x00\x2D\xAB\x88\x87\x09\x90\x01\x70\x04\x0D\x59\xA6\xE9\x5A\x44\xE9\x7F\x15\x08\x0B\xAB\x6A\xA8\x44\x82\x3D\x1B\x07\x0C\x41\xEC\xA6\xBD\xAB\xB4\x99\x22\x65\xEE\x91\xD7\x06\x88\x99\x26\x3D\xAB\xD1\xA5\x83\x02\x3F\x00\x82\xA6\xD2\x89\xAE\x8C\x7D\x38\xAB\xD2\xAA\x6D\xA5\x29\x25\x04\x06\x5D\xA9\x2C\x58\x57\x83\x02\xD3\xAA\x70\xA6\x0D\x1E\x04\x0D\x5D\xAB\x7E\x9F\x57\x82\x02\xE1\xAA\xCF\x93\x93\x45\xBC\xA9\x6C\x1C\x00\x27\x57\x81\x02\xE9\xAB\xD1\x91\x94\x08\x05\x0C\x5E\xBA\x3B\x1D\x00\x6F\xAB\x00\x01\xF8\xA9\x6A\x91\xB8\x35\x5F\xB3\x44\x38\x57\xFA\xAB\xAF\x92\xC4\x0D\x7F\xAD\x08\x1F\x01\x1F\xAF\x93\x06\xAB\x06\x2B\x01\x01\xAC\xD6\x2E\xC0\xA7\xE6\x95\x9E\x2C\x00\x0A\xAC\x72\x05\x10\x00\x83\xAB\xC1\x98\x2A\x30\xB0\xB4\x09\x22", + "\x00\x13\xAC\x9D\x1E\xCF\x3E\xC2\xA5\x2A\x1E\x59\x8B\x25\x80\xAC\x18\x9F\x63\x28\x87\xAE\x58\x04\x02\x19\xB0\xAE\x16\xA5\x21\x30\x01\x11\xAE\xD1\x05\x04\x06\x62\xAE\x3A\x8A\x29\x2A\xAC\x55\x06\x13\x01\x8B\xAF\x64\x0B\x3A\x30\xB1\x92\x0F\x27\x00\x33\xAD\x33\xA9\x9F\x2B\x06\x03\x60\xB4\x01\x10\x57\xB9\x1B\xF8\xAB\x7F\x00\x75\xAD\xC2\x26\x03\x16\xB1\x91\x04\x29\x00\x41\xAC\xED\xAA\xA5\x27\x06\x06\x64\xAE\x7B\x09\x59\xE2\xAB\x75\x1C\x1C\x01\x93\xAD\x9B\x0F\x64\xAA\xAF\xA8\x20\x39\x00\x53\xAD\x56\x21\x95\xAA\xBE\xA8\x82\x1A\x01\x19\x59\xEB\x23\x5B\xAD\xFD\xAA\x7A\x13\x07\x0F\x65\xB4\x5D\x21\x59\x81\xAC\x24\x1B\x32\xAD\x40\x07\x05\x07\x66\xB8\x5A\xBD\xC4\x6A\xAC\x76\x1D\x36\xAE\x6E\x96\x1D\x10\x67\xB1\x01\x2D\x59\xC6\xA8\x75\x1D\x1F\x00\x9C\xAA\x06\x0D\x66\xAB\xA2\x91\x06\x70\xAC\x33\x01\x36\xAC\x14\xA9\x27\x01\x04\x10\xB3\xB4\x00\x6D\xAC\x55\xA9\x88\x02\x10\x00\xCE\xA5\x03\x0D\xB3\x9B\x51\x96\x25\x43\x00\x38\xAE\x0D\x05\xCD\xA1\x46\xB6\x94\x04\x01\x70\xAC\x37\x01\x36\xAE\x8E\xA9\xFB\x25\x04\x03\xB0\x86\x01\x3F\xAC", + "\xFF\x28\xFC\xA9\x3F\x88\x44\x64\x80\x68\x02\x30\x59\xF0\x04\x01\x01\x77\x1D\x73\xAD\x14\x2D\x26\x8B\x5A\x71\x35\x29\xAD\xF4\x93\x01\x01\x73\xAF\xAB\x94\x00\x11\x6B\x20\x58\xCE\xAB\xC4\xAB\x88\x01\x01\x01\xAE\x12\x13\xA8\x41\x09\x01\x20\xAD\x7F\x96\xFC\xAB\xAE\xA8\x22\xA5\x0E\x40\xB6\x89\x1B\x3A\x00\xC2\xAD\xB8\x18\x5C\x99\xCA\x0D\x04\x06\xB6\xBA\x1D\x3B\x00\x57\x97\xCA\x0B\xB0\xAC\xCA\x5D\x07\xAE\xB6\xB0\x1F\x3D\x00\xD1\xAC\x88\x03\xB4\xAF\x0E\x95\x61\x96\xB6\x85\x21\x3F\x00\xD9\xAC\xC6\x01\x5C\x18\xA2\xA3\x05\x1E\xB6\xB0\x09\x41\x00\xE1\xAC\xCF\x01\x5C\x18\xFA\x9C\x14\x66\xB7\xB2\x09\x43\x00\xC9\xAD\xEB\x9F\x58\x26\xDD\xA4\x27\x04\x02\x31\x5B\x97\xA2\xA8\x1C\x7A\xAE\xBE\x4F\xDE\xAC\x09\xA8\x41\x1B\x01\x7A\xAD\xEB\x1A\x7E\xAC\xFB\x9F\x4E\x40\x70\xA6\x1A\x07\x01\x02\xAE\xF3\x9E\x14\x13\x17\x05\xE0\xA5\x35\x08\x02\x08\x5C\xF9\x9F\xA4\xA0\x86\xAE\xF4\x01\x09\x0F\x70\xA4\x9F\x97\x35\x12\xAE\x11\x02\x25\x01\xBA\xAD\x27\x01\xD7\x1F\x85\xB6\x30\x65\x00\x18\xAE\x88\x00\x13\x07\xE1\xA6\x01\xA5\x09\x27\x01\x21\xAE\xF0", + "\x0B\x8D\xAF\x53\x01\xAE\x15\x72\xB1\x08\x29\x01\x28\xAE\x6F\x3C\x95\xAC\x59\x01\xAE\x1C\x3F\xB6\x61\x2B\x01\x30\xAE\x79\x14\x99\xAF\x5D\x01\xAE\x17\x02\xBD\xB3\x2D\x01\x38\xAE\x02\x03\x29\x02\xCE\xAB\xDB\xA7\xBE\x96\x94\x2F\x01\x40\xAE\x25\x43\xA1\xAD\x5C\x1D\x7A\xAA\x4B\x48\xBA\x96\x4F\x4A\xAE\x7C\x88\x02\x73\x1C\x06\xE9\xA9\x05\x0F\xB8\xB3\x43\xA8\x10\x75\x00\xA7\xAE\x16\x00\xBF\xA7\x00\x11\x6B\x06\x00\x2B\xAD\x96\x25\x3B\x02\xD3\xAA\xCF\x6E\x75\xA0\xBB\x95\x4F\x79\x00\x63\xAE\x39\x05\x02\x05\xEC\xAC\x03\x49\xBB\xB4\x09\x0A\x00\x6C\xAE\x16\x5A\xDB\xAD\x54\x0B\x00\x11\xBB\x88\x50\x73\xAE\xC6\x04\x06\x02\xDD\xAA\x3D\x11\x08\x18\xBB\xA6\x05\xFB\xAE\xE4\x32\xBF\xAD\xD5\x06\x01\x00\x78\xB5\x73\x05\x02\x02\xAF\xD2\x07\x07\x01\xE1\xAF\xDB\x17\x08\x08\xBC\x91\x04\x10\x00\x8B\xAF\x52\x21\x22\x06\xF1\xAA\x23\x11\xBC\x96\x4A\x0B\x01\x94\xAF\x08\x06\xE5\xAD\x7A\x2D\x08\x19\xBC\xA1\x08\x71\x1A\x62\x82\x5A\x66\xD3\xAB\x0B\x08\x5F\xB3\x00\x3C\x5A\x84\x70\x91\x01\xDE\xAA\x3F\x8C\x0B\x0A\x73\xA6\xBD\x84\x5B\xD1\x0C\x94\x00", + "\xD5\xAF\x0D\x45\xF5\xAA\x6C\xAB\x1D\xB2\x5E\xAB\x26\x57\x97\x77\x1E\xEB\xAC\xDA\xAC\xAE\x17\xBD\x8D\x16\x63\x00\xB9\xAE\xE0\x03\xB8\xAD\x7A\x8E\x7B\xBD\xA2\x01\x5F\xC2\x81\xC3\xAF\x79\x15\xF1\xAD\x16\x87\x7C\xBF\xBC\x8F\x3F\xEC\x82\xCB\xAE\x66\x34\xED\xAA\xDE\xAA\xC2\x71\xBE\x85\x21\x6E\x00\xD3\xAE\x7C\xAE\x86\x3E\xFA\xA0\x27\x10\x03\x19\x5F\xFD\xAD\xEA\x12\x56\x00\xF7\xAA\x4E\x02\x07\x1F\xBE\x83\x5C\xE9\x3A\xE3\xAE\x3A\x04\x1D\x06\xFC\xA9\x70\xAA\xAB\x29\x5F\xA5\x05\x76\x97\xF0\x53\xEE\xAB\x20\x03\xA0\x88\x41\x35\x02\x6F\xAF\x6F\x28\xF6\xAE\x09\x13\x3C\x88\x7F\xA6\x1A\x3A\x01\x4D\xAF\x53\x05\x8E\xAE\x80\x85\xFF\xA0\xDD\x5A\xBF\xAD\x5C\xC4\x23\x04\xB0\xE9\x07\x1F\x00\x00\xB2\x10\x13\xBF\x82\x14\xA8\x10\xC1\x01\x04\xB1\x44\x02\x10\x0C\x80\xAE\x3A\xB4\x5C\xBF\x88\x12\xB0\xC5\x05\x05\xB0\x00\x0E\x80\xAC\x2D\x51\x19\x47\x01\x19\xB0\x85\x00\x22\x03\x03\xBD\x81\xAF\x28\x8D\xBF\x21\xB0\x07\x03\x45\x00\x09\xB3\xE9\xA4\x80\x6D\x06\x28\x60\x83\x02\x8E\x01\x15\xB1\xD4\xAE\xDC\x0F\x82\xB6\x1C\x3A\x5F\xD7\xAE\xEA\x13\x69", + "\x01\x0D\xB7\x08\x2A\x73\xB5\x00\x20\x5E\xB4\xA4\x70\xAD\x4A\x00\x7E\xAE\x07\xBA\x10\x1D\xB5\xBF\x2B\xCE\xAE\x96\x01\x1E\xB1\x5C\x18\x27\xAA\x9E\x19\x06\x0E\x5D\x98\x01\x4A\xB1\x36\xA0\x62\x3E\xE9\xAA\x09\x1B\xC0\x84\x61\xBC\xAF\x42\x3C\xA7\xAD\x27\x06\x0A\xB9\x7C\xB1\x32\x1F\x03\x4E\xAE\xA0\x00\x2E\xB1\xE6\x95\x24\x01\x0E\x0E\xBA\xA3\x02\x62\xB0\xBE\x88\x02\x73\x38\x06\xE9\xA6\x0A\x11\xC2\x8E\x42\x84\x70\xE5\x00\xA7\xAC\x2A\x06\x0D\xBC\x76\x2F\x93\x8E\x5D\xAA\x01\x74\xB1\x0F\x88\x99\x7E\xE9\xAC\x0A\x19\xC3\x81\x04\x23\xA1\xE6\x36\xA7\xAE\x2B\x06\x0F\xB0\x00\x03\x9A\x9D\x8B\x4E\xAE\xB0\x00\x42\xB1\xFD\xAC\xEC\x9E\x74\xB2\x05\x04\x62\x96\xAE\x75\x1D\x78\x02\xD3\xAC\x16\x08\x86\xB3\x27\x84\xE0\x73\x01\x4E\xAF\x5B\x00\x21\xB7\x00\xBE\x71\x0E\xBA\xB9\x02\x15\xB1\x0F\xB0\xD0\x6A\xD3\xAC\x17\x00\x8A\xA9\x28\x99\x3E\xCE\xAE\xBF\x01\x52\xB2\x09\xB0\x05\x1B\x0F\x0E\xBA\x82\x03\x2A\xB1\x3D\xAF\xEC\x2D\x3F\x06\xE9\xA5\x0C\x0A\xC5\x8C\x5D\xAE\x1C\x4E\xAE\x64\x02\x2A\xB0\xA4\x8A\x9E\x01\x00\x23\x02\x50\x9D\x74\x05\x65\x00", + "\x21\xB0\x07\xB8\x5A\x7F\xC5\xA7\x9F\x4D\x05\xCD\x00\x9D\xAE\x05\x01\xAE\x14\x01\x06\xBB\xAB\xB2\x46\xB1\xC7\x61\xDE\xA6\xBB\x01\xAE\x19\x01\x0E\xC6\xBD\x59\x06\x00\xD0\xB1\x89\x7A\x34\xB2\x5F\x01\xD7\x1A\x00\x16\x63\x8E\x5D\xD9\xB1\x75\x63\x29\x11\x1C\xB3\x8E\x9C\x96\x31\x35\x18\x00\xDF\xB0\xA5\x36\x02\x04\x1C\xBA\x5C\xB9\x0F\xA7\x63\xE9\xB1\xA6\x03\x05\x00\x3B\xB5\x7C\x7B\x01\x14\xC6\xB0\x63\x95\x03\x0C\x00\x72\xB1\x74\xAB\x9E\x68\x5F\xB5\xC7\x83\x09\xF7\xB1\x85\x02\x07\x02\x3E\xB6\x23\x03\x90\xBC\xB0\x78\x57\x9D\x00\x71\x1A\x0E\x00\x40\xB3\x2E\x02\x01\x13\xC7\xB8\x07\x88\xB2\x8C\x09\x85\xB0\x58\x03\x02\x0E\x90\xA2\x90\x47\x64\xDD\xB1\x12\xB3\xA5\x00\x05\x05\x22\xB1\x16\x05\xC8\xAD\xC1\x78\xAB\x1E\x01\x84\xB1\x46\xB1\x27\x07\x01\x1C\xC8\xB9\x5A\x90\x02\x21\xB3\x88\xB3\x1E\x08\x03\x06\x92\xBB\x03\x60\x64\x98\xB2\x7B\x09\x0C\x01\x4B\xB1\x3F\x8E\x91\xA3\x08\x14\x03\x78\xAB\x1F\x01\xB8\x19\x08\x03\x24\xB6\x76\x13\xC9\xAD\x09\xBB\xB2\x2A\xB3\x28\x0D\x07\x05\x26\xBC\x82\x1A\xB9\x80\x65\x95\x84\x3C\xB3\x88\x03\x07", + "\x04\x28\xB1\x10\x01\x01\x0C\x65\xC3\x71\x3A\xAE\x11\x01\x5C\x1B\x04\x09\x94\xA5\xDF\x70\x09\x52\xB2\x5B\x85\xAA\xB0\x7E\x85\x4B\x16\x8F\xBB\x23\x23\x00\x4F\xB2\x18\x58\x9D\xAC\x55\xB7\x1F\xB5\x8D\x0F\xCA\xA7\x00\x4F\xB2\xDB\x00\x9D\xAC\x09\x03\x2A\xBA\x95\xBB\xC6\x9B\x2A\x71\x1A\x25\x01\xB6\xB3\x6F\xA8\x83\x11\xD7\x00\x01\x32\x65\x82\x02\x29\x00\x9F\xB3\xAD\x9E\x04\x01\xD7\x0B\x01\x37\x65\xFC\x49\x60\xB3\x8F\x7D\x5C\x1F\x04\x0F\x97\xBF\x9E\x8D\x16\x28\x00\x3F\xB1\x3D\x08\x0B\x01\x30\xB4\x27\x1D\x06\x3A\x5C\x88\xB3\x45\xB1\x0F\xA0\x39\xB6\x9F\x8F\x0D\x1B\xC0\x90\x66\xFF\x05\x04\x71\x18\x03\x64\xB7\xCF\x36\x99\xB5\xBD\x89\x77\x1B\xB3\x0E\x09\x72\x03\xD5\x95\x3C\x07\x99\xB5\x83\xA8\x20\x37\x00\xA0\xB3\xC6\x09\x3A\x03\x34\xB9\xDB\x1D\xC2\x9D\x59\xA9\xB3\xC9\x0D\x76\x00\x6B\xB1\xB8\x1E\x9A\xAA\x4F\x3D\x00\x30\xB3\x7A\x0F\x78\x03\x6C\xB2\xB9\x1B\x6E\xA4\xC0\x40\x01\x38\xB3\x31\x2D\xCE\xB0\xF5\xA8\x05\x13\x04\x00\xCE\x9B\x27\x42\xB3\xDA\xAE\x1B\x1A\x11\x06\x38\xB0\x27\x1B\x07\x08\x67\xE0\xAF\x55\x7A\xE6\xB2\x9C\x06", + "\x1F\x0F\x9C\xA7\xBF\xB7\x17\xD2\xB3\x74\x05\x00\x00\xFF\x97\xDD\x15\x9A\xA9\x85\xBD\x41\xD8\xB3\xA5\x04\x02\x03\x76\xB5\x35\xBE\xA7\x44\xC0\x52\x01\x60\xB3\xC6\x05\x03\x03\x78\xB4\x36\xB2\x85\x24\xC0\x55\x01\x68\xB3\x46\x06\x05\x00\xFF\x94\x34\xB2\x80\xBB\x23\x18\x01\x70\xB3\x83\xAF\xF5\xB0\x6F\xB0\xA7\xAA\x3A\x58\xCF\x92\x0F\x11\x00\xF3\xB2\xF2\xB1\x2A\x96\x1C\x5E\x9F\xB1\x08\x18\x2F\x81\xA1\xDD\xB2\x53\xB1\x04\x25\x40\xB1\x4A\x01\xD0\xAC\x67\xC8\xAA\x13\x1C\x06\xB6\x77\x0E\x41\xBB\x9F\xB0\xD0\x88\xA2\x12\xB4\x07\x03\x10\x00\x85\xB6\x7B\x1C\x82\xBD\x33\x98\x68\x83\x02\x25\x01\x0D\xB4\x77\x1A\x27\xB5\x98\xAD\x03\x3A\x65\xF4\x04\x29\x00\xFE\x94\x87\x01\x41\xB0\x00\x1C\xC5\xB6\x30\x6E\x00\x1F\xB4\xA2\x1E\x7E\xB4\x43\xB3\x48\x83\xA9\x31\x68\x81\x02\x2D\x01\x19\xB4\x5E\xB3\x30\xB5\x98\xAD\xB5\x9F\x5D\x09\xB3\x51\x0C\x3A\x00\x63\xB5\x54\x00\x03\x15\x61\x81\x04\x29\x00\xA7\xAE\x80\x77\x8D\xB0\x00\x02\x03\x1A\xD1\x87\x69\xCB\xB0\x66\x9B\x25\xB5\x0D\x06\x49\xB7\x1A\x1E\xCC\x99\xEC\x4B\xB4\x38\x00\x11\xB7\x93\xB3\xAE", + "\x9B\x47\x1F\x03\x0B\x69\xBC\x00\x5A\xB5\x2A\xB7\x18\xB3\x02\xBB\xA4\xA0\x02\x21\x69\xC8\xB4\x63\xB4\xC5\x07\x92\xB4\x08\x07\xA6\xBD\xCD\xAE\x58\x4B\xB4\x48\x00\x2A\xB4\x9A\xB7\x0D\xBB\x47\x0B\x04\x0B\x69\xCB\x00\x72\xB5\xB8\x18\x47\xA0\x92\x0B\xA4\xAE\x02\x39\x69\xB3\x52\xA8\xAF\x25\xB5\x14\x07\x4F\xB7\x10\x00\xC4\xA5\x2B\x4B\xB4\x54\x00\x42\xB7\x40\x06\x10\xB8\x82\x17\x04\x0B\x69\xD7\x00\x8A\xB4\x81\x03\x22\xB6\x86\x1A\x09\x0B\xD2\x9A\x01\x11\xB5\xB7\xA1\x3D\x09\x27\x03\x49\xBD\x05\x0D\xD3\xB5\x08\x60\x87\x4B\xB5\x30\x00\xA6\xB5\xF0\x4E\x7C\x8B\xD2\x8E\x30\x81\xA1\x73\xB4\xA0\xAA\x69\x06\x14\x0B\xA4\xA8\x03\x1E\x6A\xD0\xA1\x04\x71\x54\x03\x92\xB4\x0D\x0F\xAA\xBE\x5E\x99\x5F\x2C\x01\x4B\xB4\x38\x01\xAD\xB5\xE8\xA5\x3D\x2F\x05\x0B\x69\xF4\x00\xBB\xB4\xF6\x4C\x04\x8B\x49\xB8\x07\x01\xD6\x80\x00\x47\xB2\xF6\xAF\x13\xB5\xA9\x04\x0F\x0A\xA2\xB4\x3B\x31\x35\x2E\xB4\x75\x1C\x5B\x03\x92\xB5\x0F\x03\xAA\xA4\xC6\xB5\x39\x39\x01\x4B\xB5\x10\x98\x28\xA2\x05\x0C\xA3\xB4\x4F\x9C\x6B\xE3\xA6\xA5\x20\x5E\x03\x90\xB6\x58\x03", + "\x08\x06\xD2\x97\x3D\x49\xB4\x51\x0C\x5F\x03\x92\xB5\x10\x04\xA5\xBF\xD6\x98\x66\xBC\x52\x4B\xB4\x44\x01\xBB\xB6\x4A\xBB\x57\x2B\xD2\x8B\x02\x61\xB4\xEE\xB4\xD3\xB2\x7A\x17\x18\x0B\xA4\xAF\x04\x38\x6B\xB5\xB3\x99\x39\x25\xB7\x24\x07\x5F\xB9\xA6\xBE\x42\x0B\x69\x97\x01\x04\xB7\x34\xB2\xB9\x0B\x49\xBB\x09\x13\xD7\x83\x67\xB9\xB0\x4B\xB4\x4F\x02\xC3\xB1\x39\xB5\x80\x8B\xD2\xA1\x02\x13\xB6\xD0\xB3\x82\x97\x92\xB4\x14\x08\xB1\xB6\xCE\x81\xD3\x4B\xB4\xA7\x01\x8E\xB5\xFB\xAC\xB2\x2B\xA4\xAA\x05\x22\x6C\x90\xAE\x17\x45\x25\xB5\x2B\x07\x64\xB0\x89\xBF\x76\x25\x03\x4B\xB4\xB0\x01\x84\xB6\x25\xB5\x2A\x3B\xA4\xB4\x05\x27\x6C\x9C\xB1\x07\x03\x75\x03\x92\xB7\x16\x02\xB3\xA1\xC5\xB4\xDE\x4B\xB4\xBB\x01\x9E\xB6\x82\xB6\x43\x2B\xA4\xBF\x05\x02\x6D\xAB\xB1\xEA\x12\x7A\x03\x92\xB3\x18\x07\xB4\xB1\xC5\x8A\x6D\x77\x01\x4B\xB5\x63\x03\xD1\xB7\x16\xB5\xE7\x1A\x07\x0B\x69\xCB\x01\x47\xB6\x68\xB7\xB7\x1D\x1F\x0B\xA4\xAF\x06\x27\x6C\xD6\xB5\xDF\x1C\x00\x00\x29\x00\x14\xA0\x27\x12\x06\x14\x69\xFE\xB2\x0F\xB4\xEB\xA7\xCD\xA5\x20\x21\xD7", + "\x0E\x01\x05\x66\x83\x00\x63\xB7\x5C\x61\xF9\x74\x05\x01\xD7\x10\x01\x05\x66\x84\x00\x71\xB7\x68\xB3\x5C\xB5\x83\x8D\x97\xBD\xD1\x98\x9B\x79\xB6\xD8\x91\xE5\x4D\xB3\xB5\xDF\x1F\xAC\xA5\xCC\x87\x00\x00\xB7\xF7\x88\xFC\x82\xDD\xB5\x9B\x0E\xB7\xAF\xBB\x88\x6E\xE5\xB1\x90\x6F\xC1\xB6\x4C\x8D\x70\xBA\x17\x4F\xDC\xBE\x13\xBB\x24\xEF\x1D\x6C\x06\x54\x02\x7A\x04\xEF\x85\x0C\x1D\x6E\xF3\x02\xE1\x2B\x92\x03\x2C\x16\xB1\x0C\xA7\x25\xDD\xA6\x00\xA6\xB7\x85\x03\xD9\x05\x49\x07\x33\x05\x12\x05\xC6\x2D\x6E\xF1\xB1\xB0\xB7\xCA\x02\xEB\xB1\x22\x03\xBB\xBA\x09\x26\x06\x19\xB7\x11\x03\xCA\x09\x49\x04\x43\x05\x12\x02\x4D\x7B\x0E\x26\x03\xBE\xB6\xB0\x01\xF0\xB3\x29\x01\x3F\x05\x09\x25\x07\x26\x03\x39\x02\xA0\x2D\x49\x03\x6D\x35\x12\x02\x74\x8D\x6F\xA6\x03\xFC\x47\x92\x00\x7D\x52\x7A\xB6\x1A\x13\xDE\x9D\x12\x26\x03\xC2\x4B\x92\x01\xF6\xB1\x22\x0C\xBC\xB1\x08\x0E\x6F\x91\x02\xD1\xB7\xC7\xAE\x69\x05\x19\x4A\xBD\xA6\x0D\x23\x28\x85\x03\xE7\xB7\xB9\x01\xFA\xB2\x6F\xB8\x3D\x1B\x8F\x3F\x03\x3C\xB7\x11\x02\xF8\xB4\x44\x02\x7E\xB0\x8C\xAA", + "\x0A\x3D\x14\xC2\xAC\xA6\x02\xDD\xB5\xEE\xB7\x76\xBA\x1D\x1A\x4D\x7F\x03\x6F\x1D\xC7\xB6\x00\xBA\x4C\x80\x22\x01\xC0\xBC\x92\x03\x70\xE1\x53\xA3\xAC\x04\xBB\xBB\x1A\x77\xBB\xC0\xA7\xE0\xB2\x6D\x90\x02\xEF\x1C\xDE\xB5\x04\xBE\x81\xBC\xBE\xB0\x27\xAA\x13\x90\xB8\x18\xB9\x0C\xBA\x38\x8A\x83\xB7\xC1\xA0\x85\x99\x6E\xAA\xAD\x14\xB8\xB0\x00\xBB\x94\x49\x9F\x0F\x07\xDE\x88\x12\x73\xB7\xBA\xAC\xED\x00\x4F\x27\x1F\x0C\xBA\xA9\xE1\x8B\x25\x96\x22\x38\x03\xB9\x93\x3F\x02\x75\xB1\x11\x13\x1D\x3C\x6E\xB6\xB8\x11\x03\x3B\x2C\xF8\x27\x1F\x03\xA5\x19\xE1\x8C\x23\x3E\xB8\xDC\x36\x34\x1D\x5F\x44\xC9\x1E\xC0\x23\x9F\x21\x00\x40\xB8\x19\xB4\x24\xBB\x40\x07\x88\xB6\x12\x10\x08\x0C\x71\xC6\xB8\x4A\xB8\x81\x03\x13\xBF\xF3\x1A\x91\x11\xE2\xA3\x24\x56\xB8\x2C\x12\x2C\xBA\x08\x02\x8B\xBC\xC5\xAD\xE2\x88\x70\xF1\x07\xCC\xB6\x30\xB8\x16\xB9\x8C\xB2\x27\x23\xE3\xA6\x71\xDE\xB8\x3B\x5E\x21\xBA\x0C\x82\x8D\xB2\x10\x19\xDE\xB1\x0F\x53\xB7\xF1\x06\x37\xB9\x05\x50\x8B\xB2\xC7\xA9\x52\x6C\x71\xD6\x03\x58\xB8\x38\xBA\x47\x04\x8E\xB9\xC7\xB8\xE2", + "\xA5\x04\x71\x07\xE4\xB6\x40\xB8\x16\xB9\x90\xB9\x79\x23\xE4\x86\x72\xE8\xB8\xFB\x21\x3B\xBA\x6F\xAC\x88\xB3\x6C\x18\xE2\xA0\x00\x0E\xB9\x90\xB8\x44\xBA\x40\x07\x03\x08\xC5\xB4\xE4\x92\x72\x86\x03\x95\xB8\x2C\xB9\xF4\xB1\x7E\x0B\xC9\xAC\x0C\x9A\x72\x9F\xB9\x97\xB9\x70\x4C\x28\xBB\x7C\x27\xBC\xB1\x1F\x19\x6E\xF1\x07\xC5\xB7\xF8\x07\xE8\xB1\x7E\x0C\xBA\xB1\x1F\x0E\x6F\xAE\xB9\x58\xB9\x57\xB8\x70\x01\x96\xB8\xC5\xA3\xDE\xA2\x5A\x01\x02\xB6\xB8\x45\xB9\x2E\xB9\x7E\x0B\xCB\xBA\x11\x35\x72\xBF\xB9\xA1\xB8\x09\x00\x16\xBA\x98\xB1\xCC\xA3\xE6\x86\x73\xC5\xB9\xC8\xB9\xF1\x24\x31\xBA\x99\xB0\xCC\xAC\xE6\xA1\x72\xBD\xB9\x11\x04\x2C\xBB\xE7\xB4\x91\xB1\x10\x13\xE6\x93\x2E\x5C\xAC\xD4\xB8\x00\x03\xFA\xB7\x9A\xBA\x29\x18\xE2\x96\x00\x5E\xB9\x58\xB8\x82\x96\x22\xBA\x9C\xB1\x3F\x09\x3C\x94\x71\xDC\x1C\x58\xB9\x17\x94\x37\xB8\xCD\xA7\xCE\xB9\x0F\x98\x71\x9A\x00\x58\xB8\x3C\xAE\x22\xBA\x9D\xB7\xCB\xAE\xE7\xA1\x72\xF2\xB9\x11\x0A\x2C\xB9\x06\x00\x8B\xB8\x01\x1C\xE7\xB4\x72\xCF\xB9\xC7\xB9\xF1\x26\x35\xBD\x9E\xBB\xCD\xB5\xE7\x9F", + "\x73\xA1\xB9\xE4\xB8\x88\x02\x39\xB9\x9B\xB4\xCF\xAA\xE4\xB0\x73\xF7\xB9\xFA\xB8\x7F\xB9\x28\xB9\xE5\x9A\xC8\xB4\xE8\xB1\x0F\x16\xBA\xB6\xB7\x50\xB8\x09\x00\x8B\xB1\xBA\xB1\x1F\x1D\x74\x90\x02\xA1\xB7\xD2\x33\x43\x02\xA4\xBC\x10\x13\x45\x3C\x6E\xA6\xBA\x11\x03\x59\x12\xEE\xB2\xA5\xB9\xD2\xBA\xB6\xAD\x74\xB8\x1C\xC3\x2B\xB7\x9C\x27\x2F\xB4\x88\x73\x04\xE0\xAF\x74\xF6\x9C\xA5\x28\x50\xA0\x67\x35\x83\xB1\xD3\xA0\xDD\x9A\x07\x43\x38\xFF\x01\xF0\x28\xEF\xB2\xA8\xB1\x11\x04\xEA\xA0\x74\xA6\x03\x9D\x3E\x70\x3F\x3F\x00\xE8\x29\xB9\xAC\xEA\x91\x04\x40\x2E\xBC\xB6\xA8\xBB\x53\xBE\x80\xBD\xB7\x14\xEA\x9C\x6F\x4D\xBA\x28\xB9\xAA\xB8\x02\xBA\x79\xB4\xBB\xBA\x0E\x33\x86\x7F\x01\xC5\x31\xCC\xB5\x58\xBD\xAB\xBF\xC2\xA5\xC6\x3C\x6E\xC5\x31\xBA\xB6\xB4\xB8\x59\xB8\xA7\xB3\x30\xA1\xB1\xB1\xF1\x09\xB7\x77\x43\xB3\xBA\x55\xBF\xAD\xBE\xD6\xA0\x5A\x8B\x6F\xDA\x03\xFB\x45\x7F\x03\xDA\x34\x77\xBB\xD7\xBC\xDE\xB3\x75\xB2\x80\xBA\xB7\xBE\xB9\x19\xB8\x81\xBD\xBD\xA5\xE4\x85\x0E\x7F\x55\xFF\x01\x66\x42\xEA\xB2\xB1\xB7\xBD\xAF\xE1\x8D\x83", + "\x3C\xB7\xCD\x41\xCC\xB5\x64\xBD\xB1\xB2\xD3\xAB\x5F\xAC\x6E\xCD\x41\xBA\xB6\xCC\xB8\x65\xBC\xA6\xB3\x6B\x47\xDE\x8C\x76\x86\xBB\x0F\xB9\x59\x4E\x64\xBE\xA5\xB0\xDA\xBE\x6A\x7D\x2F\x9E\xBB\xD0\xB6\xED\x00\x7C\x57\x1F\x0C\x3F\x5C\xDD\xAD\x76\xE0\xB7\x59\xBA\x1D\x4D\xF9\xB5\x70\x02\x5C\x5B\xDC\x82\x97\x3C\xB7\xB7\xBB\x88\x01\x6E\xBB\x8E\xB5\x19\x14\x4F\x67\x05\x3E\xBB\x52\x02\xFA\x50\xEF\xB2\xB8\xB2\xBE\xAF\xE1\x96\x6F\xBE\xB9\x85\x06\x5B\xBB\xE6\xB6\x96\xBC\xBB\xAC\xEE\x91\x04\x4E\xBB\xC8\xBB\xC2\x03\x32\xBC\x93\x03\xDD\xB9\x1B\x3F\x03\x55\xBB\xE2\xB1\x68\xBB\x0B\xB8\xBB\xBB\xC8\xA2\x08\x1C\x77\xBC\xB7\xDF\xBB\x88\x00\x77\xBF\x79\xB5\x38\x0F\xB4\xA3\x04\x02\x9D\xBC\xB6\xF4\xBA\xF7\xB1\xB6\xB2\xF8\x93\x0B\x03\x74\xE7\x02\xEF\xBA\xA9\x03\x40\xBD\x24\x05\xD0\xA7\x0B\x35\x77\xD2\x02\x05\xBA\xFA\xBA\xF9\xB3\xBF\xB5\x19\x07\xE8\x87\x12\x7E\xBB\xD1\x07\x7F\x00\x80\xB8\x2C\x03\xE0\xAB\x0A\x05\x78\xB9\x02\x07\xBD\x92\x01\x82\xBB\x39\x86\x1A\x15\xB4\x8A\x05\x0E\xBC\x18\x02\x8A\xB9\xF1\x04\xBD\xB8\x23\x5A\x0E\x3D\x73\xA9", + "\x05\xFF\x01\x0B\xBD\x61\x02\xC3\xB3\x17\x1C\xF0\xA0\x05\x1E\xBC\x4B\x02\x10\xBD\x4E\x02\xC4\xB5\x12\x04\xF1\x91\x04\x26\xBC\x10\x02\x14\xBF\x34\x3E\x34\x0A\xE2\xA7\x08\x2D\x78\xD0\x08\xDA\x03\x7D\xB8\x86\xBA\xC6\xB1\xDA\xB2\x27\x26\x06\x34\xBC\x15\xB9\x80\x03\x43\xBF\x90\x0B\xE3\xA1\xF0\xBD\x78\xDA\xB1\x15\x84\x0A\xBC\x5D\x02\xC8\xBA\xE3\xA4\xF2\xB6\x73\xB5\xBC\xD2\x0A\x23\xBF\x8F\xB9\xBB\xB1\xE4\xB5\x0C\x0B\x79\xD2\xA6\xA6\x03\x27\xBD\x49\x02\xCA\xB1\x11\x14\xF2\xBD\x22\x51\xBC\x58\xBC\x27\xBE\x69\x00\xCF\xA7\x16\x1C\xF2\x92\x05\x72\xB9\xB7\x0D\x2D\xBE\x98\xBF\x85\xB8\x67\xBC\xDD\xA5\x79\xE1\xBC\x64\xBC\x23\xBF\x99\xBE\xD4\x06\xE4\xB4\xE7\xA7\x05\x6E\xBC\x52\x03\x86\xB9\x44\x02\xCE\xB8\x8C\x16\xE3\x5A\x07\x0B\xBA\xE6\x07\x7F\x00\x9E\xB9\x81\xB0\x65\xBC\xDD\xBB\x79\xBA\xB7\x7F\xBC\x53\x77\x5F\xBA\x20\x0B\xE7\xBE\xF3\x83\x7A\xE8\xB9\x95\x03\x3D\xBD\x49\x03\xCF\xB7\xBC\xAC\xF4\x82\x7A\xBA\xBA\x85\xBD\x47\xBF\x31\xB2\xA1\xB6\xE7\xA1\x84\x80\x00\x7B\xBC\x99\xB7\x48\xBC\xA5\xB8\x81\xBA\xE8\xB2\xF4\x9C\x76\xEA\x0B", + "\xDA\x03\x4D\xAC\x43\x02\x9C\xBA\x94\xBA\x0E\x16\x72\xDF\x07\xFF\x01\x53\xBF\x5C\x02\xD5\xB0\x16\x0C\xF5\x8B\x05\x2E\xBD\x39\x02\x58\xBD\x49\x02\xD6\xB5\xEA\xB5\x0C\x34\x7A\xC8\x84\xCA\x80\xED\x03\x23\xB8\xC3\xBB\xEB\xA8\xF2\x8D\x72\xAF\xB8\xBD\xBD\x1C\xBC\xEA\x0E\xC8\xB1\xEC\xA0\xF2\xBA\x1E\x44\xBD\xC8\xBC\x04\xB9\xB1\xB9\xAD\x53\xEC\xAA\xF6\x87\x7A\xCD\xBD\x93\xBD\x20\x13\xB3\xBB\xD9\xB0\xB9\xB0\xF6\xB3\x05\x54\xBD\x25\x02\x6C\xBD\x44\x02\xDB\xBE\xC4\xBA\x0E\x13\x71\xD6\xBB\xDF\xBC\xB8\xB9\x12\xBA\xA7\xB1\xEE\xB5\xEB\x92\x71\xB6\xBA\xDD\xBC\xBE\x9F\xB1\xB6\xC8\x21\x11\x05\xF7\xAA\x6E\xE5\xBD\xBC\xB6\x78\xBD\xBB\xBE\xC8\xB5\xEE\xA5\xDE\xB5\x7B\xF3\xBD\xE3\x27\x75\xBC\x4C\xBB\x89\xB4\xDA\xA5\x82\xBD\x7B\xE3\xBD\x43\xB9\x73\xBD\x10\xBD\xDC\xBA\xBC\xA4\xF8\xB8\x7B\x81\xBE\x4D\xB2\xAD\xBA\xBF\xBB\xE0\xBA\xF0\xA0\xF8\x85\x71\x8E\xBE\x8A\x33\x83\xBC\x54\x5A\xE2\xB1\xF1\xA9\xF7\xB7\x65\x0B\xBE\x17\xBE\x88\xBD\x5B\xBA\xDF\xB4\xD7\xBC\xF8\xA6\x76\xE5\xBD\x25\x03\x72\xBC\xF9\xB5\xDC\xB3\xBA\xA5\xF7\x91\x6F\xE5\xBD\xCC", + "\xB7\x2D\xB9\xE1\x02\xE5\xB8\xEA\xAC\xF9\xB3\x05\x2E\xBE\x60\x02\x98\xBD\xC4\x66\x34\x02\xF3\xB9\x09\x35\x7C\xA5\x02\x37\xBF\xB8\x0E\x76\x03\x04\x09\x1C\x1F\x07\x3C\x7C\x95\x03\x3F\xBF\xC2\x01\xD0\xBB\x2E\x03\xF4\xA0\x0B\x05\x7D\xCB\x02\x47\xBF\x9C\x01\xD2\xBD\x24\x0B\xF4\xA1\x12\x5A\x07\x1B\xBA\x18\xBC\xA8\xBD\x61\x02\xEA\xB3\x17\x14\xFA\xA0\x05\x56\xBE\x4B\x02\xAC\xBD\x4E\x05\x04\x0A\x1D\x1C\xFA\x98\x78\xDE\xBE\x85\x02\xB0\xBF\x5C\x02\xEC\xB0\x16\x04\xFB\x8B\x05\x66\xBE\x5B\xBE\xD3\x00\xDA\xBD\x24\x06\x02\x1A\x0E\x2D\x7D\x98\xBC\x6F\xBF\xC2\x01\xDC\xBB\x2E\x03\xF7\xA0\x0B\x35\x7D\xCB\x02\x77\xBF\x9C\x03\x09\x02\x3B\x0B\xF7\xB8\xF0\xBD\x7D\x85\x03\x7F\xBF\xB9\x01\xE0\xB8\x2C\x03\xF8\xAE\x80\x9A\x07\x28\x00\x3D\xBE\xC4\xBD\x65\x02\xF1\xB5\x18\x0C\xFC\xB3\x05\x0E\xBF\x60\x03\x14\x02\x76\x02\xF2\xB8\xE1\xB4\xFC\x85\x06\x16\xBF\xC2\xBC\x15\x02\x76\x02\xF3\xB8\xE1\xBC\xFC\xA7\xBA\x26\x03\x9E\xBF\xB9\x01\xE8\xB8\x2C\x03\xFA\xAB\x0A\x25\x7E\xB9\x02\xA7\xBF\x92\x01\xEA\xB9\x22\x0B\x02\x1A\x0E\x2D\x7E\x98\xBC\xAF\xBF", + "\x68\xBF\x41\x01\xF6\xB2\xEC\xB4\xFD\x86\x7B\xB9\x87\xA6\x02\xDB\xBF\x52\x04\x05\x0A\x1D\x1C\xFD\x98\x78\xBE\xBF\x85\x02\xE0\xBE\xB0\xBA\xF8\xB0\x16\x04\xFE\xBB\x7E\xC6\xBC\x2D\x00\xED\x01\xF2\xB8\xC3\xBB\xFC\xA5\x0C\x0D\x7F\xF3\x02\xCF\xBE\xB0\x01\xF4\xBB\x29\x03\xFD\xB9\x09\x15\x7F\xA5\x02\xD7\xBF\x88\x02\x0B\x02\x3B\x0B\xFD\xB8\xF0\x9D\x7F\x85\x03\xDF\xBF\xB9\x01\xF8\xBC\x16\x36\x1A\x03\xFF\x8B\x05\x66\xBF\x39\x02\xF4\xBD\x49\x07\x05\x0A\x1D\x0C\xFF\x98\x78\xEE\xBF\x85\x02\xF8\xBE\x6E\x06\x34\x02\xFF\xA0\x0B\x35\x7F\xCB\x02\xF7\xBE\x8D\x64\xFD\xBB\xFF\xB5\x19\x19\xFF\xAB\x7F\xA6\x03\x30\x00\xED\x01\x00\xC0\xC3\xB3\x00\xC5\x0C\x05\x80\xF3\x02\x07\xC0\xB0\x01\x02\xC3\x29\x0B\x00\xD9\x09\x0D\x80\xA5\x02\x62\x8B\x43\x09\x04\xC1\xC0\xB3\x01\xD7\xFD\x81\x04\x15\xC0\x4B\x02\x0C\xC1\x77\xB8\x51\x1A\x1D\x12\x01\x3D\x7C\x9E\xC0\x95\x02\x10\xC1\x61\x02\x04\xC3\x17\x04\x01\xE0\x05\x26\xC0\x4B\x02\x14\xC1\x4E\x02\x05\xC5\x12\x0C\x01\xD1\x04\x2E\xC0\xBD\x02\xED\x03\x0C\x05\xE7\xB3\x03\xD5\x0C\x35\x80\x85\x03\x34\x00\xED", + "\x01\x0E\xC0\xC3\xBB\x03\xD8\x01\xE6\x06\x3D\xC0\x73\x02\x20\xC0\x58\x02\x08\xCB\x14\x04\x02\xF9\x04\x46\xC0\x25\x03\x1A\x02\x76\x02\x09\xC8\xE1\xAC\x02\xC5\x06\x4E\xC0\x73\x02\x28\xC0\x58\x02\x0A\xCC\xEC\xB4\x02\xDB\x80\xB6\x25\xCF\xBC\x2B\xC2\xEE\xB2\x0B\xC1\x11\x16\x02\xFC\x6E\xDE\xC0\x11\x02\x1B\x02\x76\x02\x0C\xC8\xE1\xA4\x03\xC5\x06\x37\x00\xDA\x02\x34\xC0\x86\xBA\x0D\xC7\x06\xC6\x0D\x2C\x81\xF3\x02\x6F\xC0\xB0\x01\x1C\xC3\x29\x08\x03\x1A\x0E\x35\x81\x98\xBC\x77\xC1\xC2\x01\x1E\xC3\x2E\x0B\x07\xC0\x0B\x3D\x81\xF4\xC0\xB5\x75\x40\xC1\x65\x01\x07\x0A\x1D\x04\x04\xD8\x78\x86\xC1\x90\x8A\xD3\x00\x22\xC3\x2E\x0B\x08\xC0\x0B\x0D\x82\xCB\x02\x8F\xC1\x9C\x01\x24\xC4\x77\xB3\x09\xD1\x08\x15\x82\x90\x02\x97\xC0\xE7\x02\x91\xB9\x13\xC7\x10\x1C\x04\xC3\x04\x3A\x00\xDA\x02\x50\xC0\x86\xBA\x14\xC5\x18\x04\x05\xF3\x05\x26\xC1\x60\x02\x54\xC0\x01\x0B\x3B\x0A\x1D\x1B\x01\x3D\x7C\xAE\xC1\x95\x02\x58\xC1\x61\x02\x16\xC3\x17\x14\x05\xE0\x05\x36\xC1\x4B\x02\x1E\x02\x76\x02\x17\xC8\xE1\xBC\x05\xDB\x70\x87\x8C\x1C\xB9\x18\x51", + "\x30\xC2\x20\x0E\x0B\xDC\xE9\x82\x83\xAF\xB8\xC5\xC0\x0B\xBB\x31\xC6\xD7\xB1\x10\x09\x06\xCC\x7B\xCE\xC1\xD5\xBC\x68\xC2\xEE\xB0\x1A\xC5\x12\x10\x06\xD9\x6E\xD0\xC1\xBC\xB6\x69\xC2\xDE\x5D\x27\x6A\x1D\x1D\x01\x3D\x7C\xDE\xC1\x2F\xB8\x70\xC0\x33\xC1\xE8\x2F\xEC\xA2\x07\xD7\x17\x26\x03\x3E\x00\xED\x01\x3A\xC0\xC3\xBB\x0E\xC5\x0C\x2D\x83\xF3\x02\xEF\xC0\xB0\x01\x3C\xC3\x29\x03\x0F\xD9\x09\x35\x83\xA5\x02\xF7\xC1\x88\x03\x0F\x02\x3B\x0B\x0F\xD8\xF0\xBD\x83\x85\x03\xFF\xC1\xB9\x01\x40\xC0\x2C\x03\x10\xCB\x0A\x05\x84\xB9\x02\x07\xC3\x92\x01\x42\xC2\x1F\xC6\x1A\x1E\x68\x8F\x04\x0E\xC2\x0C\x02\xF8\x4E\xEB\xB0\xFE\x41\xBA\xB0\x3F\x6A\x6E\xF0\x4F\xC7\xB6\xF8\x4C\xEB\xB0\xFE\x45\xBC\xB0\x3F\x7A\x6E\xF0\x4F\xCA\xB6\xF8\x4D\x49\x00\xFE\x49\xB9\xB0\x3F\x63\x6E\xF0\x4F\xBC\xB7\xAD\x84\xED\x02\x25\xCB\xB9\xAA\x09\xCF\x10\x26\x03\x42\x00\xED\x01\x4C\xC0\xC3\xB3\x13\xC3\x07\xF5\x84\xF3\x02\x43\x00\xED\x01\x4E\xC0\xC3\xBB\x13\xC5\x0C\x3D\x84\xF3\x02\x44\x00\xED\x01\x50\xC0\xC3\xB3\x14\xC5\x0C\x05\x85\xC0\xC2\xA6\x03\xA3\xC0\x58", + "\x02\x29\xCB\x14\x05\x02\x1A\x07\x4E\xC2\x18\xBC\xA8\xC1\x61\x02\x2A\xC3\x17\x14\x0A\xE0\x05\x56\xC2\x4B\x02\x23\x02\x76\x02\x2B\xC8\xE1\xBC\x0A\xC5\x06\x5E\xC2\x73\x02\xB0\xC2\x05\xC0\x00\x02\x16\xCC\xF2\xA0\x05\x00", }; + vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); + } - vl::vint32_t Parser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const - { - return -1; + const wchar_t* ParserRuleName(vl::vint index) + { + static const wchar_t* results[] = { + L"_Type", + L"_CtorFragment", + L"_LetVariable", + L"_VirtualExpression", + L"_BeginBoundary", + L"_EndBoundary", + L"_SetTestingOperator", + L"_ExpPrimitive", + L"_Exp0", + L"_Exp1", + L"_Exp2", + L"_Exp3", + L"_Exp4", + L"_Exp5", + L"_Exp6", + L"_Exp7", + L"_Exp8", + L"_Exp9", + L"_Exp10", + L"_Exp11", + L"_Expression", + L"_SwitchCase", + L"_Block", + L"_ElseStat", + L"_If", + L"_ForOperator", + L"_VirtualStatement", + L"_CoStatement", + L"_CoProvider", + L"_StateSwitchHead", + L"_StateSwitchArgument", + L"_StateSwitchCase", + L"_StateStatement", + L"_Statement", + L"_StateInput", + L"_StateDecl", + L"_StateMachine", + L"_Attribute", + L"_Namespace", + L"_FunctionArgument", + L"_FunctionArgumentList", + L"_FunctionStat", + L"_FunctionBody", + L"_FunctionKind", + L"_Function", + L"_Variable", + L"_Event", + L"_Property", + L"_BaseConstructorCall", + L"_ConstructorType", + L"_Constructor", + L"_Destructor", + L"_ClassBody", + L"_Class", + L"_EnumItemInt", + L"_EnumItemA", + L"_EnumItemB", + L"_Enum", + L"_StructMember", + L"_Struct", + L"_APConfig", + L"_AutoPropertyKind", + L"_AutoProperty", + L"_CastResultInterface", + L"_DeclarationCandidates", + L"_Declaration", + L"_UsingFragment", + L"_UsingItem", + L"_UsingPath", + L"_ModuleBody", + L"_Module", }; + return results[index]; + } - vl::Ptr Parser::Parse_Type(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); + const wchar_t* ParserStateLabel(vl::vint index) + { + static const wchar_t* results[] = { + L"[0][_Type] BEGIN ", + L"[1][_Type] END [ENDING]", + L"[2][_Type]< \"::\" @ NAME >", + L"[3][_Type]< \"::\" NAME @ >", + L"[4][_Type]< \"bool\" @ >", + L"[5][_Type]< \"char\" @ >", + L"[6][_Type]< \"const\" @ _Type \"[\" [ _Type ] \"]\" >", + L"[7][_Type]< \"const\" _Type \"[\" @ [ _Type ] \"]\" >", + L"[8][_Type]< \"const\" _Type \"[\" [ _Type @ ] \"]\" >", + L"[9][_Type]< \"const\" _Type \"[\" [ _Type ] \"]\" @ >", + L"[10][_Type]< \"const\" _Type @ \"[\" [ _Type ] \"]\" >", + L"[11][_Type]< \"double\" @ >", + L"[12][_Type]< \"float\" @ >", + L"[13][_Type]< \"func\" \"(\" @ { _Type ; \",\" } \")\" \":\" _Type >", + L"[14][_Type]< \"func\" \"(\" { _Type ; \",\" @ } \")\" \":\" _Type >", + L"[15][_Type]< \"func\" \"(\" { _Type ; \",\" } \")\" \":\" @ _Type >", + L"[16][_Type]< \"func\" \"(\" { _Type ; \",\" } \")\" \":\" _Type @ >", + L"[17][_Type]< \"func\" \"(\" { _Type ; \",\" } \")\" @ \":\" _Type >", + L"[18][_Type]< \"func\" \"(\" { _Type @ ; \",\" } \")\" \":\" _Type >", + L"[19][_Type]< \"func\" @ \"(\" { _Type ; \",\" } \")\" \":\" _Type >", + L"[20][_Type]< \"int\" @ >", + L"[21][_Type]< \"interface\" @ >", + L"[22][_Type]< \"object\" @ >", + L"[23][_Type]< \"observe\" @ _Type \"[\" \"]\" >", + L"[24][_Type]< \"observe\" _Type \"[\" \"]\" @ >", + L"[25][_Type]< \"observe\" _Type \"[\" @ \"]\" >", + L"[26][_Type]< \"observe\" _Type @ \"[\" \"]\" >", + L"[27][_Type]< \"string\" @ >", + L"[28][_Type]< \"uint\" @ >", + L"[29][_Type]< \"void\" @ >", + L"[30][_Type]< NAME @ >", + L"[31][_Type]< _Type \"*\" @ >", + L"[32][_Type]< _Type \"::\" @ NAME >", + L"[33][_Type]< _Type \"::\" NAME @ >", + L"[34][_Type]< _Type \"?\" @ >", + L"[35][_Type]< _Type \"[\" @ [ _Type ] \"]\" >", + L"[36][_Type]< _Type \"[\" [ _Type @ ] \"]\" >", + L"[37][_Type]< _Type \"[\" [ _Type ] \"]\" @ >", + L"[38][_Type]< _Type \"^\" @ >", + L"[39][_Type]< _Type \"{\" \"}\" @ >", + L"[40][_Type]< _Type \"{\" @ \"}\" >", + L"[41][_Type]< _Type @ \"*\" >", + L"[42][_Type]< _Type @ \"::\" NAME >", + L"[43][_Type]< _Type @ \"?\" >", + L"[44][_Type]< _Type @ \"[\" [ _Type ] \"]\" >", + L"[45][_Type]< _Type @ \"^\" >", + L"[46][_Type]< _Type @ \"{\" \"}\" >", + L"[47][_Type]<< \"(\" !_Type \")\" @ >>", + L"[48][_Type]<< \"(\" !_Type @ \")\" >>", + L"[49][_Type]<< \"(\" @ !_Type \")\" >>", + L"[50][_CtorFragment] BEGIN ", + L"[51][_CtorFragment] END [ENDING]", + L"[52][_CtorFragment]< _Expression @ [ \":\" _Expression ] >", + L"[53][_CtorFragment]< _Expression [ \":\" @ _Expression ] >", + L"[54][_CtorFragment]< _Expression [ \":\" _Expression @ ] >", + L"[55][_LetVariable] BEGIN ", + L"[56][_LetVariable] END [ENDING]", + L"[57][_LetVariable]< NAME \"=\" @ _Expression >", + L"[58][_LetVariable]< NAME \"=\" _Expression @ >", + L"[59][_LetVariable]< NAME @ \"=\" _Expression >", + L"[60][_VirtualExpression] BEGIN ", + L"[61][_VirtualExpression] END [ENDING]", + L"[62][_VirtualExpression]< \"$\" \".\" @ NAME >", + L"[63][_VirtualExpression]< \"$\" \".\" NAME @ >", + L"[64][_VirtualExpression]< \"$\" @ \".\" NAME >", + L"[65][_VirtualExpression]< \"$coroutine\" @ [ \"(\" NAME \")\" ] _Block >", + L"[66][_VirtualExpression]< \"$coroutine\" [ \"(\" @ NAME \")\" ] _Block >", + L"[67][_VirtualExpression]< \"$coroutine\" [ \"(\" NAME \")\" @ ] _Block >", + L"[68][_VirtualExpression]< \"$coroutine\" [ \"(\" NAME \")\" ] _Block @ >", + L"[69][_VirtualExpression]< \"$coroutine\" [ \"(\" NAME @ \")\" ] _Block >", + L"[70][_VirtualExpression]< \"bind\" \"(\" @ _Expression \")\" >", + L"[71][_VirtualExpression]< \"bind\" \"(\" _Expression \")\" @ >", + L"[72][_VirtualExpression]< \"bind\" \"(\" _Expression @ \")\" >", + L"[73][_VirtualExpression]< \"bind\" @ \"(\" _Expression \")\" >", + L"[74][_VirtualExpression]< \"new\" @ _Type \"(\" \"using\" _Expression \")\" >", + L"[75][_VirtualExpression]< \"new\" _Type \"(\" \"using\" @ _Expression \")\" >", + L"[76][_VirtualExpression]< \"new\" _Type \"(\" \"using\" _Expression \")\" @ >", + L"[77][_VirtualExpression]< \"new\" _Type \"(\" \"using\" _Expression @ \")\" >", + L"[78][_VirtualExpression]< \"new\" _Type \"(\" @ \"using\" _Expression \")\" >", + L"[79][_VirtualExpression]< \"new\" _Type @ \"(\" \"using\" _Expression \")\" >", + L"[80][_VirtualExpression]< FORMATSTRING @ >", + L"[81][_BeginBoundary] BEGIN ", + L"[82][_BeginBoundary] END [ENDING]", + L"[83][_BeginBoundary]\"(\" @", + L"[84][_BeginBoundary]\"[\" @", + L"[85][_EndBoundary] BEGIN ", + L"[86][_EndBoundary] END [ENDING]", + L"[87][_EndBoundary]\")\" @", + L"[88][_EndBoundary]\"]\" @", + L"[89][_SetTestingOperator] BEGIN ", + L"[90][_SetTestingOperator] END [ENDING]", + L"[91][_SetTestingOperator]\"in\" @", + L"[92][_SetTestingOperator]\"not\" \"in\" @", + L"[93][_SetTestingOperator]\"not\" @ \"in\"", + L"[94][_ExpPrimitive] BEGIN ", + L"[95][_ExpPrimitive] END [ENDING]", + L"[96][_ExpPrimitive]< \"::\" @ NAME >", + L"[97][_ExpPrimitive]< \"::\" NAME @ >", + L"[98][_ExpPrimitive]< \"[\" @ _Expression \"]\" >", + L"[99][_ExpPrimitive]< \"[\" _Expression \"]\" @ >", + L"[100][_ExpPrimitive]< \"[\" _Expression @ \"]\" >", + L"[101][_ExpPrimitive]< \"attach\" \"(\" @ _Expression \",\" _Expression \")\" >", + L"[102][_ExpPrimitive]< \"attach\" \"(\" _Expression \",\" @ _Expression \")\" >", + L"[103][_ExpPrimitive]< \"attach\" \"(\" _Expression \",\" _Expression \")\" @ >", + L"[104][_ExpPrimitive]< \"attach\" \"(\" _Expression \",\" _Expression @ \")\" >", + L"[105][_ExpPrimitive]< \"attach\" \"(\" _Expression @ \",\" _Expression \")\" >", + L"[106][_ExpPrimitive]< \"attach\" @ \"(\" _Expression \",\" _Expression \")\" >", + L"[107][_ExpPrimitive]< \"detach\" \"(\" @ _Expression \",\" _Expression \")\" >", + L"[108][_ExpPrimitive]< \"detach\" \"(\" _Expression \",\" @ _Expression \")\" >", + L"[109][_ExpPrimitive]< \"detach\" \"(\" _Expression \",\" _Expression \")\" @ >", + L"[110][_ExpPrimitive]< \"detach\" \"(\" _Expression \",\" _Expression @ \")\" >", + L"[111][_ExpPrimitive]< \"detach\" \"(\" _Expression @ \",\" _Expression \")\" >", + L"[112][_ExpPrimitive]< \"detach\" @ \"(\" _Expression \",\" _Expression \")\" >", + L"[113][_ExpPrimitive]< \"false\" @ >", + L"[114][_ExpPrimitive]< \"let\" @ _LetVariable { \",\" _LetVariable } \"in\" \"(\" _Expression \")\" >", + L"[115][_ExpPrimitive]< \"let\" _LetVariable @ { \",\" _LetVariable } \"in\" \"(\" _Expression \")\" >", + L"[116][_ExpPrimitive]< \"let\" _LetVariable { \",\" @ _LetVariable } \"in\" \"(\" _Expression \")\" >", + L"[117][_ExpPrimitive]< \"let\" _LetVariable { \",\" _LetVariable @ } \"in\" \"(\" _Expression \")\" >", + L"[118][_ExpPrimitive]< \"let\" _LetVariable { \",\" _LetVariable } \"in\" \"(\" @ _Expression \")\" >", + L"[119][_ExpPrimitive]< \"let\" _LetVariable { \",\" _LetVariable } \"in\" \"(\" _Expression \")\" @ >", + L"[120][_ExpPrimitive]< \"let\" _LetVariable { \",\" _LetVariable } \"in\" \"(\" _Expression @ \")\" >", + L"[121][_ExpPrimitive]< \"let\" _LetVariable { \",\" _LetVariable } \"in\" @ \"(\" _Expression \")\" >", + L"[122][_ExpPrimitive]< \"new\" @ _Type \"(\" { _Expression ; \",\" } \")\" >", + L"[123][_ExpPrimitive]< \"new\" @ _Type \"{\" { _Declaration } \"}\" >", + L"[124][_ExpPrimitive]< \"new\" _Type \"(\" @ { _Expression ; \",\" } \")\" >", + L"[125][_ExpPrimitive]< \"new\" _Type \"(\" { _Expression ; \",\" @ } \")\" >", + L"[126][_ExpPrimitive]< \"new\" _Type \"(\" { _Expression ; \",\" } \")\" @ >", + L"[127][_ExpPrimitive]< \"new\" _Type \"(\" { _Expression @ ; \",\" } \")\" >", + L"[128][_ExpPrimitive]< \"new\" _Type \"{\" @ { _Declaration } \"}\" >", + L"[129][_ExpPrimitive]< \"new\" _Type \"{\" { _Declaration @ } \"}\" >", + L"[130][_ExpPrimitive]< \"new\" _Type \"{\" { _Declaration } \"}\" @ >", + L"[131][_ExpPrimitive]< \"new\" _Type @ \"(\" { _Expression ; \",\" } \")\" >", + L"[132][_ExpPrimitive]< \"new\" _Type @ \"{\" { _Declaration } \"}\" >", + L"[133][_ExpPrimitive]< \"null\" @ >", + L"[134][_ExpPrimitive]< \"range\" @ _BeginBoundary _Expression \",\" _Expression _EndBoundary >", + L"[135][_ExpPrimitive]< \"range\" _BeginBoundary @ _Expression \",\" _Expression _EndBoundary >", + L"[136][_ExpPrimitive]< \"range\" _BeginBoundary _Expression \",\" @ _Expression _EndBoundary >", + L"[137][_ExpPrimitive]< \"range\" _BeginBoundary _Expression \",\" _Expression @ _EndBoundary >", + L"[138][_ExpPrimitive]< \"range\" _BeginBoundary _Expression \",\" _Expression _EndBoundary @ >", + L"[139][_ExpPrimitive]< \"range\" _BeginBoundary _Expression @ \",\" _Expression _EndBoundary >", + L"[140][_ExpPrimitive]< \"this\" @ >", + L"[141][_ExpPrimitive]< \"true\" @ >", + L"[142][_ExpPrimitive]< \"type\" \"(\" @ _Expression \")\" >", + L"[143][_ExpPrimitive]< \"type\" \"(\" _Expression \")\" @ >", + L"[144][_ExpPrimitive]< \"type\" \"(\" _Expression @ \")\" >", + L"[145][_ExpPrimitive]< \"type\" @ \"(\" _Expression \")\" >", + L"[146][_ExpPrimitive]< \"typeof\" \"(\" @ _Type \")\" >", + L"[147][_ExpPrimitive]< \"typeof\" \"(\" _Type \")\" @ >", + L"[148][_ExpPrimitive]< \"typeof\" \"(\" _Type @ \")\" >", + L"[149][_ExpPrimitive]< \"typeof\" @ \"(\" _Type \")\" >", + L"[150][_ExpPrimitive]< \"{\" @ [ _CtorFragment ( { _CtorFragment } | { \";\" _CtorFragment } \";\" ) ] \"}\" >", + L"[151][_ExpPrimitive]< \"{\" [ _CtorFragment ( { _CtorFragment @ } | { \";\" _CtorFragment } \";\" ) ] \"}\" >", + L"[152][_ExpPrimitive]< \"{\" [ _CtorFragment ( { _CtorFragment } | { \";\" @ _CtorFragment } \";\" ) ] \"}\" >", + L"[153][_ExpPrimitive]< \"{\" [ _CtorFragment ( { _CtorFragment } | { \";\" _CtorFragment @ } \";\" ) ] \"}\" >", + L"[154][_ExpPrimitive]< \"{\" [ _CtorFragment ( { _CtorFragment } | { \";\" _CtorFragment } \";\" ) ] \"}\" @ >", + L"[155][_ExpPrimitive]< \"{\" [ _CtorFragment ( { _CtorFragment } | { \";\" _CtorFragment } \";\" @ ) ] \"}\" >", + L"[156][_ExpPrimitive]< \"{\" [ _CtorFragment @ ( { _CtorFragment } | { \";\" _CtorFragment } \";\" ) ] \"}\" >", + L"[157][_ExpPrimitive]< FLOAT @ >", + L"[158][_ExpPrimitive]< INTEGER @ >", + L"[159][_ExpPrimitive]< NAME @ >", + L"[160][_ExpPrimitive]< ORDERED_NAME @ >", + L"[161][_ExpPrimitive]< STRING @ >", + L"[162][_ExpPrimitive]< _ExpPrimitive \"(\" @ [ _Expression { \",\" _Expression } ] \")\" >", + L"[163][_ExpPrimitive]< _ExpPrimitive \"(\" [ _Expression @ { \",\" _Expression } ] \")\" >", + L"[164][_ExpPrimitive]< _ExpPrimitive \"(\" [ _Expression { \",\" @ _Expression } ] \")\" >", + L"[165][_ExpPrimitive]< _ExpPrimitive \"(\" [ _Expression { \",\" _Expression @ } ] \")\" >", + L"[166][_ExpPrimitive]< _ExpPrimitive \"(\" [ _Expression { \",\" _Expression } ] \")\" @ >", + L"[167][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" @ _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[168][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression @ [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[169][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression [ \"on\" @ _Expression { \",\" _Expression } ] \")\" >", + L"[170][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression [ \"on\" _Expression @ { \",\" _Expression } ] \")\" >", + L"[171][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression [ \"on\" _Expression { \",\" @ _Expression } ] \")\" >", + L"[172][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression [ \"on\" _Expression { \",\" _Expression @ } ] \")\" >", + L"[173][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" @ >", + L"[174][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" @ NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[175][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" @ _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[176][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression @ [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[177][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" @ _Expression { \",\" _Expression } ] \")\" >", + L"[178][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression @ { \",\" _Expression } ] \")\" >", + L"[179][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" @ _Expression } ] \")\" >", + L"[180][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression @ } ] \")\" >", + L"[181][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" @ >", + L"[182][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" \"as\" NAME @ \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[183][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" @ \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[184][_ExpPrimitive]< _ExpPrimitive \".\" \"observe\" @ \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[185][_ExpPrimitive]< _ExpPrimitive \".\" @ \"observe\" \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[186][_ExpPrimitive]< _ExpPrimitive \".\" @ \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[187][_ExpPrimitive]< _ExpPrimitive \".\" @ NAME >", + L"[188][_ExpPrimitive]< _ExpPrimitive \".\" NAME @ >", + L"[189][_ExpPrimitive]< _ExpPrimitive \"::\" @ NAME >", + L"[190][_ExpPrimitive]< _ExpPrimitive \"::\" NAME @ >", + L"[191][_ExpPrimitive]< _ExpPrimitive \"[\" @ _Expression \"]\" >", + L"[192][_ExpPrimitive]< _ExpPrimitive \"[\" _Expression \"]\" @ >", + L"[193][_ExpPrimitive]< _ExpPrimitive \"[\" _Expression @ \"]\" >", + L"[194][_ExpPrimitive]< _ExpPrimitive \"as\" \"*\" @ >", + L"[195][_ExpPrimitive]< _ExpPrimitive \"as\" @ \"*\" >", + L"[196][_ExpPrimitive]< _ExpPrimitive \"as\" @ _Type >", + L"[197][_ExpPrimitive]< _ExpPrimitive \"as\" _Type @ >", + L"[198][_ExpPrimitive]< _ExpPrimitive \"is\" \"not\" \"null\" @ >", + L"[199][_ExpPrimitive]< _ExpPrimitive \"is\" \"not\" @ \"null\" >", + L"[200][_ExpPrimitive]< _ExpPrimitive \"is\" \"not\" @ _Type >", + L"[201][_ExpPrimitive]< _ExpPrimitive \"is\" \"not\" _Type @ >", + L"[202][_ExpPrimitive]< _ExpPrimitive \"is\" \"null\" @ >", + L"[203][_ExpPrimitive]< _ExpPrimitive \"is\" @ \"not\" \"null\" >", + L"[204][_ExpPrimitive]< _ExpPrimitive \"is\" @ \"not\" _Type >", + L"[205][_ExpPrimitive]< _ExpPrimitive \"is\" @ \"null\" >", + L"[206][_ExpPrimitive]< _ExpPrimitive \"is\" @ _Type >", + L"[207][_ExpPrimitive]< _ExpPrimitive \"is\" _Type @ >", + L"[208][_ExpPrimitive]< _ExpPrimitive \"of\" @ _Type >", + L"[209][_ExpPrimitive]< _ExpPrimitive \"of\" _Type @ >", + L"[210][_ExpPrimitive]< _ExpPrimitive @ \"(\" [ _Expression { \",\" _Expression } ] \")\" >", + L"[211][_ExpPrimitive]< _ExpPrimitive @ \".\" \"observe\" \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[212][_ExpPrimitive]< _ExpPrimitive @ \".\" \"observe\" \"as\" NAME \"(\" _Expression [ \"on\" _Expression { \",\" _Expression } ] \")\" >", + L"[213][_ExpPrimitive]< _ExpPrimitive @ \".\" NAME >", + L"[214][_ExpPrimitive]< _ExpPrimitive @ \"::\" NAME >", + L"[215][_ExpPrimitive]< _ExpPrimitive @ \"[\" _Expression \"]\" >", + L"[216][_ExpPrimitive]< _ExpPrimitive @ \"as\" \"*\" >", + L"[217][_ExpPrimitive]< _ExpPrimitive @ \"as\" _Type >", + L"[218][_ExpPrimitive]< _ExpPrimitive @ \"is\" \"not\" \"null\" >", + L"[219][_ExpPrimitive]< _ExpPrimitive @ \"is\" \"not\" _Type >", + L"[220][_ExpPrimitive]< _ExpPrimitive @ \"is\" \"null\" >", + L"[221][_ExpPrimitive]< _ExpPrimitive @ \"is\" _Type >", + L"[222][_ExpPrimitive]< _ExpPrimitive @ \"of\" _Type >", + L"[223][_ExpPrimitive]< _ExpPrimitive @ _SetTestingOperator _Expression >", + L"[224][_ExpPrimitive]< _ExpPrimitive _SetTestingOperator @ _Expression >", + L"[225][_ExpPrimitive]< _ExpPrimitive _SetTestingOperator _Expression @ >", + L"[226][_ExpPrimitive]< _Function @ >", + L"[227][_ExpPrimitive]<< !_VirtualExpression @ >>", + L"[228][_ExpPrimitive]<< \"(\" !_Expression \")\" @ >>", + L"[229][_ExpPrimitive]<< \"(\" !_Expression @ \")\" >>", + L"[230][_ExpPrimitive]<< \"(\" @ !_Expression \")\" >>", + L"[231][_Exp0] BEGIN ", + L"[232][_Exp0] END [ENDING]", + L"[233][_Exp0]< \"+\" @ _Exp0 >", + L"[234][_Exp0]< \"+\" _Exp0 @ >", + L"[235][_Exp0]< \"-\" @ _Exp0 >", + L"[236][_Exp0]< \"-\" _Exp0 @ >", + L"[237][_Exp0]< \"cast\" \"*\" @ _Exp0 >", + L"[238][_Exp0]< \"cast\" \"*\" _Exp0 @ >", + L"[239][_Exp0]< \"cast\" @ \"*\" _Exp0 >", + L"[240][_Exp0]< \"cast\" @ _Type _Exp0 >", + L"[241][_Exp0]< \"cast\" _Type @ _Exp0 >", + L"[242][_Exp0]< \"cast\" _Type _Exp0 @ >", + L"[243][_Exp0]< \"not\" @ _Exp0 >", + L"[244][_Exp0]< \"not\" _Exp0 @ >", + L"[245][_Exp0]<< !_ExpPrimitive @ >>", + L"[246][_Exp1] BEGIN ", + L"[247][_Exp1] END [ENDING]", + L"[248][_Exp1]< _Exp1 \"^\" @ _Exp0 >", + L"[249][_Exp1]< _Exp1 \"^\" _Exp0 @ >", + L"[250][_Exp1]< _Exp1 @ \"^\" _Exp0 >", + L"[251][_Exp1]<< !_Exp0 @ >>", + L"[252][_Exp2] BEGIN ", + L"[253][_Exp2] END [ENDING]", + L"[254][_Exp2]< _Exp2 \"%\" @ _Exp1 >", + L"[255][_Exp2]< _Exp2 \"%\" _Exp1 @ >", + L"[256][_Exp2]< _Exp2 \"*\" @ _Exp1 >", + L"[257][_Exp2]< _Exp2 \"*\" _Exp1 @ >", + L"[258][_Exp2]< _Exp2 \"/\" @ _Exp1 >", + L"[259][_Exp2]< _Exp2 \"/\" _Exp1 @ >", + L"[260][_Exp2]< _Exp2 @ \"%\" _Exp1 >", + L"[261][_Exp2]< _Exp2 @ \"*\" _Exp1 >", + L"[262][_Exp2]< _Exp2 @ \"/\" _Exp1 >", + L"[263][_Exp2]<< !_Exp1 @ >>", + L"[264][_Exp3] BEGIN ", + L"[265][_Exp3] END [ENDING]", + L"[266][_Exp3]< _Exp3 \"&\" @ _Exp2 >", + L"[267][_Exp3]< _Exp3 \"&\" _Exp2 @ >", + L"[268][_Exp3]< _Exp3 \"+\" @ _Exp2 >", + L"[269][_Exp3]< _Exp3 \"+\" _Exp2 @ >", + L"[270][_Exp3]< _Exp3 \"-\" @ _Exp2 >", + L"[271][_Exp3]< _Exp3 \"-\" _Exp2 @ >", + L"[272][_Exp3]< _Exp3 \"|\" @ _Exp2 >", + L"[273][_Exp3]< _Exp3 \"|\" _Exp2 @ >", + L"[274][_Exp3]< _Exp3 @ \"&\" _Exp2 >", + L"[275][_Exp3]< _Exp3 @ \"+\" _Exp2 >", + L"[276][_Exp3]< _Exp3 @ \"-\" _Exp2 >", + L"[277][_Exp3]< _Exp3 @ \"|\" _Exp2 >", + L"[278][_Exp3]<< !_Exp2 @ >>", + L"[279][_Exp4] BEGIN ", + L"[280][_Exp4] END [ENDING]", + L"[281][_Exp4]< _Exp4 \"shl\" @ _Exp3 >", + L"[282][_Exp4]< _Exp4 \"shl\" _Exp3 @ >", + L"[283][_Exp4]< _Exp4 \"shr\" @ _Exp3 >", + L"[284][_Exp4]< _Exp4 \"shr\" _Exp3 @ >", + L"[285][_Exp4]< _Exp4 @ \"shl\" _Exp3 >", + L"[286][_Exp4]< _Exp4 @ \"shr\" _Exp3 >", + L"[287][_Exp4]<< !_Exp3 @ >>", + L"[288][_Exp5] BEGIN ", + L"[289][_Exp5] END [ENDING]", + L"[290][_Exp5]< _Exp5 \"!=\" @ _Exp4 >", + L"[291][_Exp5]< _Exp5 \"!=\" _Exp4 @ >", + L"[292][_Exp5]< _Exp5 \"<\" @ _Exp4 >", + L"[293][_Exp5]< _Exp5 \"<\" _Exp4 @ >", + L"[294][_Exp5]< _Exp5 \"<=\" @ _Exp4 >", + L"[295][_Exp5]< _Exp5 \"<=\" _Exp4 @ >", + L"[296][_Exp5]< _Exp5 \"==\" @ _Exp4 >", + L"[297][_Exp5]< _Exp5 \"==\" _Exp4 @ >", + L"[298][_Exp5]< _Exp5 \">\" @ _Exp4 >", + L"[299][_Exp5]< _Exp5 \">\" _Exp4 @ >", + L"[300][_Exp5]< _Exp5 \">=\" @ _Exp4 >", + L"[301][_Exp5]< _Exp5 \">=\" _Exp4 @ >", + L"[302][_Exp5]< _Exp5 @ \"!=\" _Exp4 >", + L"[303][_Exp5]< _Exp5 @ \"<\" _Exp4 >", + L"[304][_Exp5]< _Exp5 @ \"<=\" _Exp4 >", + L"[305][_Exp5]< _Exp5 @ \"==\" _Exp4 >", + L"[306][_Exp5]< _Exp5 @ \">\" _Exp4 >", + L"[307][_Exp5]< _Exp5 @ \">=\" _Exp4 >", + L"[308][_Exp5]<< !_Exp4 @ >>", + L"[309][_Exp6] BEGIN ", + L"[310][_Exp6] END [ENDING]", + L"[311][_Exp6]< _Exp6 \"xor\" @ _Exp5 >", + L"[312][_Exp6]< _Exp6 \"xor\" _Exp5 @ >", + L"[313][_Exp6]< _Exp6 @ \"xor\" _Exp5 >", + L"[314][_Exp6]<< !_Exp5 @ >>", + L"[315][_Exp7] BEGIN ", + L"[316][_Exp7] END [ENDING]", + L"[317][_Exp7]< _Exp7 \"and\" @ _Exp6 >", + L"[318][_Exp7]< _Exp7 \"and\" _Exp6 @ >", + L"[319][_Exp7]< _Exp7 @ \"and\" _Exp6 >", + L"[320][_Exp7]<< !_Exp6 @ >>", + L"[321][_Exp8] BEGIN ", + L"[322][_Exp8] END [ENDING]", + L"[323][_Exp8]< _Exp8 \"or\" @ _Exp7 >", + L"[324][_Exp8]< _Exp8 \"or\" _Exp7 @ >", + L"[325][_Exp8]< _Exp8 @ \"or\" _Exp7 >", + L"[326][_Exp8]<< !_Exp7 @ >>", + L"[327][_Exp9] BEGIN ", + L"[328][_Exp9] END [ENDING]", + L"[329][_Exp9]< _Exp9 \"??\" @ _Exp8 >", + L"[330][_Exp9]< _Exp9 \"??\" _Exp8 @ >", + L"[331][_Exp9]< _Exp9 @ \"??\" _Exp8 >", + L"[332][_Exp9]<< !_Exp8 @ >>", + L"[333][_Exp10] BEGIN ", + L"[334][_Exp10] END [ENDING]", + L"[335][_Exp10]< _Exp9 \"?\" @ _Exp10 \":\" _Exp10 >", + L"[336][_Exp10]< _Exp9 \"?\" _Exp10 \":\" @ _Exp10 >", + L"[337][_Exp10]< _Exp9 \"?\" _Exp10 \":\" _Exp10 @ >", + L"[338][_Exp10]< _Exp9 \"?\" _Exp10 @ \":\" _Exp10 >", + L"[339][_Exp10]< _Exp9 @ \"?\" _Exp10 \":\" _Exp10 >", + L"[340][_Exp10]<< !_Exp9 @ >>", + L"[341][_Exp11] BEGIN ", + L"[342][_Exp11] END [ENDING]", + L"[343][_Exp11]< _Exp10 \"=\" @ _Exp11 >", + L"[344][_Exp11]< _Exp10 \"=\" _Exp11 @ >", + L"[345][_Exp11]< _Exp10 @ \"=\" _Exp11 >", + L"[346][_Exp11]<< !_Exp10 @ >>", + L"[347][_Expression] BEGIN ", + L"[348][_Expression] END [ENDING]", + L"[349][_Expression]<< !_Exp11 @ >>", + L"[350][_SwitchCase] BEGIN ", + L"[351][_SwitchCase] END [ENDING]", + L"[352][_SwitchCase]< \"case\" @ _Expression \":\" _Block >", + L"[353][_SwitchCase]< \"case\" _Expression \":\" @ _Block >", + L"[354][_SwitchCase]< \"case\" _Expression \":\" _Block @ >", + L"[355][_SwitchCase]< \"case\" _Expression @ \":\" _Block >", + L"[356][_Block] BEGIN ", + L"[357][_Block] END [ENDING]", + L"[358][_Block]< \"{\" @ { _Statement } [ NAME \":\" \";\" ] \"}\" >", + L"[359][_Block]< \"{\" { _Statement @ } [ NAME \":\" \";\" ] \"}\" >", + L"[360][_Block]< \"{\" { _Statement } [ NAME \":\" \";\" @ ] \"}\" >", + L"[361][_Block]< \"{\" { _Statement } [ NAME \":\" \";\" ] \"}\" @ >", + L"[362][_Block]< \"{\" { _Statement } [ NAME \":\" @ \";\" ] \"}\" >", + L"[363][_Block]< \"{\" { _Statement } [ NAME @ \":\" \";\" ] \"}\" >", + L"[364][_ElseStat] BEGIN ", + L"[365][_ElseStat] END [ENDING]", + L"[366][_ElseStat]<< !_Block @ >>", + L"[367][_ElseStat]<< !_If @ >>", + L"[368][_If] BEGIN ", + L"[369][_If] END [ENDING]", + L"[370][_If]< \"if\" \"(\" @ [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", + L"[371][_If]< \"if\" \"(\" [ \"var\" @ NAME \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", + L"[372][_If]< \"if\" \"(\" [ \"var\" NAME \":\" @ _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", + L"[373][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" @ ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", + L"[374][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" @ _Block +[ \"else\" _ElseStat ] >", + L"[375][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" @ _ElseStat ] >", + L"[376][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat @ ] >", + L"[377][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" _Block @ +[ \"else\" _ElseStat ] >", + L"[378][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression @ \")\" _Block +[ \"else\" _ElseStat ] >", + L"[379][_If]< \"if\" \"(\" [ \"var\" NAME \":\" _Type @ \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", + L"[380][_If]< \"if\" \"(\" [ \"var\" NAME @ \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", + L"[381][_If]< \"if\" @ \"(\" [ \"var\" NAME \":\" _Type \"=\" ] _Expression \")\" _Block +[ \"else\" _ElseStat ] >", + L"[382][_ForOperator] BEGIN ", + L"[383][_ForOperator] END [ENDING]", + L"[384][_ForOperator]\"in\" \"reversed\" @", + L"[385][_ForOperator]\"in\" @", + L"[386][_ForOperator]\"in\" @ \"reversed\"", + L"[387][_VirtualStatement] BEGIN ", + L"[388][_VirtualStatement] END [ENDING]", + L"[389][_VirtualStatement]< \"for\" \"(\" @ NAME _ForOperator _Expression \")\" _Block >", + L"[390][_VirtualStatement]< \"for\" \"(\" NAME @ _ForOperator _Expression \")\" _Block >", + L"[391][_VirtualStatement]< \"for\" \"(\" NAME _ForOperator @ _Expression \")\" _Block >", + L"[392][_VirtualStatement]< \"for\" \"(\" NAME _ForOperator _Expression \")\" @ _Block >", + L"[393][_VirtualStatement]< \"for\" \"(\" NAME _ForOperator _Expression \")\" _Block @ >", + L"[394][_VirtualStatement]< \"for\" \"(\" NAME _ForOperator _Expression @ \")\" _Block >", + L"[395][_VirtualStatement]< \"for\" @ \"(\" NAME _ForOperator _Expression \")\" _Block >", + L"[396][_VirtualStatement]< \"switch\" \"(\" @ _Expression \")\" \"{\" { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" >", + L"[397][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" @ { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" >", + L"[398][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" { _SwitchCase @ } [ \"default\" \":\" _Block ] \"}\" >", + L"[399][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" { _SwitchCase } [ \"default\" \":\" @ _Block ] \"}\" >", + L"[400][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" { _SwitchCase } [ \"default\" \":\" _Block @ ] \"}\" >", + L"[401][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" @ >", + L"[402][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" \"{\" { _SwitchCase } [ \"default\" @ \":\" _Block ] \"}\" >", + L"[403][_VirtualStatement]< \"switch\" \"(\" _Expression \")\" @ \"{\" { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" >", + L"[404][_VirtualStatement]< \"switch\" \"(\" _Expression @ \")\" \"{\" { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" >", + L"[405][_VirtualStatement]< \"switch\" @ \"(\" _Expression \")\" \"{\" { _SwitchCase } [ \"default\" \":\" _Block ] \"}\" >", + L"[406][_CoStatement] BEGIN ", + L"[407][_CoStatement] END [ENDING]", + L"[408][_CoStatement]< \"$pause\" ( \";\" @ | _Block ) >", + L"[409][_CoStatement]< \"$pause\" ( \";\" | _Block @ ) >", + L"[410][_CoStatement]< \"$pause\" @ ( \";\" | _Block ) >", + L"[411][_CoStatement]< [ \"var\" @ NAME \"=\" ] COROUTINE_OPERATOR { _Expression ; \",\" } \";\" >", + L"[412][_CoStatement]< [ \"var\" NAME \"=\" @ ] COROUTINE_OPERATOR { _Expression ; \",\" } \";\" >", + L"[413][_CoStatement]< [ \"var\" NAME \"=\" ] COROUTINE_OPERATOR @ { _Expression ; \",\" } \";\" >", + L"[414][_CoStatement]< [ \"var\" NAME \"=\" ] COROUTINE_OPERATOR { _Expression ; \",\" @ } \";\" >", + L"[415][_CoStatement]< [ \"var\" NAME \"=\" ] COROUTINE_OPERATOR { _Expression ; \",\" } \";\" @ >", + L"[416][_CoStatement]< [ \"var\" NAME \"=\" ] COROUTINE_OPERATOR { _Expression @ ; \",\" } \";\" >", + L"[417][_CoStatement]< [ \"var\" NAME @ \"=\" ] COROUTINE_OPERATOR { _Expression ; \",\" } \";\" >", + L"[418][_CoProvider] BEGIN ", + L"[419][_CoProvider] END [ENDING]", + L"[420][_CoProvider]< ( \"$\" @ | COROUTINE_OPERATOR ) _Block >", + L"[421][_CoProvider]< ( \"$\" | COROUTINE_OPERATOR ) _Block @ >", + L"[422][_CoProvider]< ( \"$\" | COROUTINE_OPERATOR @ ) _Block >", + L"[423][_StateSwitchHead] BEGIN ", + L"[424][_StateSwitchHead] END [ENDING]", + L"[425][_StateSwitchHead]< \"$switch\" \"(\" \")\" @ >", + L"[426][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" \")\" @ >", + L"[427][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" \",\" \"return\" \")\" @ >", + L"[428][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" \",\" \"return\" @ \")\" >", + L"[429][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" \",\" @ \"return\" \")\" >", + L"[430][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" @ \")\" >", + L"[431][_StateSwitchHead]< \"$switch\" \"(\" \"continue\" @ \",\" \"return\" \")\" >", + L"[432][_StateSwitchHead]< \"$switch\" \"(\" \"raise\" \")\" @ >", + L"[433][_StateSwitchHead]< \"$switch\" \"(\" \"raise\" @ \")\" >", + L"[434][_StateSwitchHead]< \"$switch\" \"(\" \"return\" \")\" @ >", + L"[435][_StateSwitchHead]< \"$switch\" \"(\" \"return\" @ \")\" >", + L"[436][_StateSwitchHead]< \"$switch\" \"(\" @ \")\" >", + L"[437][_StateSwitchHead]< \"$switch\" \"(\" @ \"continue\" \")\" >", + L"[438][_StateSwitchHead]< \"$switch\" \"(\" @ \"continue\" \",\" \"return\" \")\" >", + L"[439][_StateSwitchHead]< \"$switch\" \"(\" @ \"raise\" \")\" >", + L"[440][_StateSwitchHead]< \"$switch\" \"(\" @ \"return\" \")\" >", + L"[441][_StateSwitchHead]< \"$switch\" @ \"(\" \")\" >", + L"[442][_StateSwitchHead]< \"$switch\" @ \"(\" \"continue\" \")\" >", + L"[443][_StateSwitchHead]< \"$switch\" @ \"(\" \"continue\" \",\" \"return\" \")\" >", + L"[444][_StateSwitchHead]< \"$switch\" @ \"(\" \"raise\" \")\" >", + L"[445][_StateSwitchHead]< \"$switch\" @ \"(\" \"return\" \")\" >", + L"[446][_StateSwitchArgument] BEGIN ", + L"[447][_StateSwitchArgument] END [ENDING]", + L"[448][_StateSwitchArgument]< NAME @ >", + L"[449][_StateSwitchCase] BEGIN ", + L"[450][_StateSwitchCase] END [ENDING]", + L"[451][_StateSwitchCase]< \"case\" @ NAME \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" \":\" _Block >", + L"[452][_StateSwitchCase]< \"case\" NAME \"(\" @ [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" \":\" _Block >", + L"[453][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument @ { \",\" _StateSwitchArgument } ] \")\" \":\" _Block >", + L"[454][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument { \",\" @ _StateSwitchArgument } ] \")\" \":\" _Block >", + L"[455][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument @ } ] \")\" \":\" _Block >", + L"[456][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" \":\" @ _Block >", + L"[457][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" \":\" _Block @ >", + L"[458][_StateSwitchCase]< \"case\" NAME \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" @ \":\" _Block >", + L"[459][_StateSwitchCase]< \"case\" NAME @ \"(\" [ _StateSwitchArgument { \",\" _StateSwitchArgument } ] \")\" \":\" _Block >", + L"[460][_StateStatement] BEGIN ", + L"[461][_StateStatement] END [ENDING]", + L"[462][_StateStatement]< \"$goto_state\" @ NAME \"(\" { _Expression ; \",\" } \")\" \";\" >", + L"[463][_StateStatement]< \"$goto_state\" NAME \"(\" @ { _Expression ; \",\" } \")\" \";\" >", + L"[464][_StateStatement]< \"$goto_state\" NAME \"(\" { _Expression ; \",\" @ } \")\" \";\" >", + L"[465][_StateStatement]< \"$goto_state\" NAME \"(\" { _Expression ; \",\" } \")\" \";\" @ >", + L"[466][_StateStatement]< \"$goto_state\" NAME \"(\" { _Expression ; \",\" } \")\" @ \";\" >", + L"[467][_StateStatement]< \"$goto_state\" NAME \"(\" { _Expression @ ; \",\" } \")\" \";\" >", + L"[468][_StateStatement]< \"$goto_state\" NAME @ \"(\" { _Expression ; \",\" } \")\" \";\" >", + L"[469][_StateStatement]< \"$push_state\" @ NAME \"(\" { _Expression ; \",\" } \")\" \";\" >", + L"[470][_StateStatement]< \"$push_state\" NAME \"(\" @ { _Expression ; \",\" } \")\" \";\" >", + L"[471][_StateStatement]< \"$push_state\" NAME \"(\" { _Expression ; \",\" @ } \")\" \";\" >", + L"[472][_StateStatement]< \"$push_state\" NAME \"(\" { _Expression ; \",\" } \")\" \";\" @ >", + L"[473][_StateStatement]< \"$push_state\" NAME \"(\" { _Expression ; \",\" } \")\" @ \";\" >", + L"[474][_StateStatement]< \"$push_state\" NAME \"(\" { _Expression @ ; \",\" } \")\" \";\" >", + L"[475][_StateStatement]< \"$push_state\" NAME @ \"(\" { _Expression ; \",\" } \")\" \";\" >", + L"[476][_StateStatement]<< !_StateSwitchHead \"{\" @ { _StateSwitchCase } \"}\" >>", + L"[477][_StateStatement]<< !_StateSwitchHead \"{\" { _StateSwitchCase @ } \"}\" >>", + L"[478][_StateStatement]<< !_StateSwitchHead \"{\" { _StateSwitchCase } \"}\" @ >>", + L"[479][_StateStatement]<< !_StateSwitchHead @ \"{\" { _StateSwitchCase } \"}\" >>", + L"[480][_Statement] BEGIN ", + L"[481][_Statement] END [ENDING]", + L"[482][_Statement]< \"break\" \";\" @ >", + L"[483][_Statement]< \"break\" @ \";\" >", + L"[484][_Statement]< \"continue\" \";\" @ >", + L"[485][_Statement]< \"continue\" @ \";\" >", + L"[486][_Statement]< \"delete\" @ _Expression \";\" >", + L"[487][_Statement]< \"delete\" _Expression \";\" @ >", + L"[488][_Statement]< \"delete\" _Expression @ \";\" >", + L"[489][_Statement]< \"goto\" @ NAME \";\" >", + L"[490][_Statement]< \"goto\" NAME \";\" @ >", + L"[491][_Statement]< \"goto\" NAME @ \";\" >", + L"[492][_Statement]< \"raise\" @ [ _Expression ] \";\" >", + L"[493][_Statement]< \"raise\" [ _Expression @ ] \";\" >", + L"[494][_Statement]< \"raise\" [ _Expression ] \";\" @ >", + L"[495][_Statement]< \"return\" @ [ _Expression ] \";\" >", + L"[496][_Statement]< \"return\" [ _Expression @ ] \";\" >", + L"[497][_Statement]< \"return\" [ _Expression ] \";\" @ >", + L"[498][_Statement]< \"try\" @ _Block [ \"catch\" \"(\" NAME \")\" _Block ] [ \"finally\" _Block ] >", + L"[499][_Statement]< \"try\" _Block @ [ \"catch\" \"(\" NAME \")\" _Block ] [ \"finally\" _Block ] >", + L"[500][_Statement]< \"try\" _Block [ \"catch\" \"(\" @ NAME \")\" _Block ] [ \"finally\" _Block ] >", + L"[501][_Statement]< \"try\" _Block [ \"catch\" \"(\" NAME \")\" @ _Block ] [ \"finally\" _Block ] >", + L"[502][_Statement]< \"try\" _Block [ \"catch\" \"(\" NAME \")\" _Block @ ] [ \"finally\" _Block ] >", + L"[503][_Statement]< \"try\" _Block [ \"catch\" \"(\" NAME \")\" _Block ] [ \"finally\" @ _Block ] >", + L"[504][_Statement]< \"try\" _Block [ \"catch\" \"(\" NAME \")\" _Block ] [ \"finally\" _Block @ ] >", + L"[505][_Statement]< \"try\" _Block [ \"catch\" \"(\" NAME @ \")\" _Block ] [ \"finally\" _Block ] >", + L"[506][_Statement]< \"try\" _Block [ \"catch\" @ \"(\" NAME \")\" _Block ] [ \"finally\" _Block ] >", + L"[507][_Statement]< \"while\" \"(\" @ _Expression \")\" _Block >", + L"[508][_Statement]< \"while\" \"(\" _Expression \")\" @ _Block >", + L"[509][_Statement]< \"while\" \"(\" _Expression \")\" _Block @ >", + L"[510][_Statement]< \"while\" \"(\" _Expression @ \")\" _Block >", + L"[511][_Statement]< \"while\" @ \"(\" _Expression \")\" _Block >", + L"[512][_Statement]< _Expression \";\" @ >", + L"[513][_Statement]< _Expression @ \";\" >", + L"[514][_Statement]< _Variable @ >", + L"[515][_Statement]<< !_Block @ >>", + L"[516][_Statement]<< !_CoStatement @ >>", + L"[517][_Statement]<< !_If @ >>", + L"[518][_Statement]<< !_StateStatement @ >>", + L"[519][_Statement]<< !_VirtualStatement @ >>", + L"[520][_StateInput] BEGIN ", + L"[521][_StateInput] END [ENDING]", + L"[522][_StateInput]< \"$state_input\" @ NAME \"(\" { _FunctionArgument ; \",\" } \")\" \";\" >", + L"[523][_StateInput]< \"$state_input\" NAME \"(\" @ { _FunctionArgument ; \",\" } \")\" \";\" >", + L"[524][_StateInput]< \"$state_input\" NAME \"(\" { _FunctionArgument ; \",\" @ } \")\" \";\" >", + L"[525][_StateInput]< \"$state_input\" NAME \"(\" { _FunctionArgument ; \",\" } \")\" \";\" @ >", + L"[526][_StateInput]< \"$state_input\" NAME \"(\" { _FunctionArgument ; \",\" } \")\" @ \";\" >", + L"[527][_StateInput]< \"$state_input\" NAME \"(\" { _FunctionArgument @ ; \",\" } \")\" \";\" >", + L"[528][_StateInput]< \"$state_input\" NAME @ \"(\" { _FunctionArgument ; \",\" } \")\" \";\" >", + L"[529][_StateDecl] BEGIN ", + L"[530][_StateDecl] END [ENDING]", + L"[531][_StateDecl]< \"$state\" ( \"default\" @ | NAME ) \"(\" { _FunctionArgument ; \",\" } \")\" _Block >", + L"[532][_StateDecl]< \"$state\" ( \"default\" | NAME ) \"(\" @ { _FunctionArgument ; \",\" } \")\" _Block >", + L"[533][_StateDecl]< \"$state\" ( \"default\" | NAME ) \"(\" { _FunctionArgument ; \",\" @ } \")\" _Block >", + L"[534][_StateDecl]< \"$state\" ( \"default\" | NAME ) \"(\" { _FunctionArgument ; \",\" } \")\" @ _Block >", + L"[535][_StateDecl]< \"$state\" ( \"default\" | NAME ) \"(\" { _FunctionArgument ; \",\" } \")\" _Block @ >", + L"[536][_StateDecl]< \"$state\" ( \"default\" | NAME ) \"(\" { _FunctionArgument @ ; \",\" } \")\" _Block >", + L"[537][_StateDecl]< \"$state\" ( \"default\" | NAME @ ) \"(\" { _FunctionArgument ; \",\" } \")\" _Block >", + L"[538][_StateDecl]< \"$state\" @ ( \"default\" | NAME ) \"(\" { _FunctionArgument ; \",\" } \")\" _Block >", + L"[539][_StateMachine] BEGIN ", + L"[540][_StateMachine] END [ENDING]", + L"[541][_StateMachine]< \"$state_machine\" \"{\" @ { ( _StateInput | _StateDecl ) } \"}\" >", + L"[542][_StateMachine]< \"$state_machine\" \"{\" { ( _StateInput @ | _StateDecl ) } \"}\" >", + L"[543][_StateMachine]< \"$state_machine\" \"{\" { ( _StateInput | _StateDecl ) } \"}\" @ >", + L"[544][_StateMachine]< \"$state_machine\" \"{\" { ( _StateInput | _StateDecl @ ) } \"}\" >", + L"[545][_StateMachine]< \"$state_machine\" @ \"{\" { ( _StateInput | _StateDecl ) } \"}\" >", + L"[546][_Attribute] BEGIN ", + L"[547][_Attribute] END [ENDING]", + L"[548][_Attribute]< \"@\" @ NAME \":\" NAME [ \"(\" _Expression \")\" ] >", + L"[549][_Attribute]< \"@\" NAME \":\" @ NAME [ \"(\" _Expression \")\" ] >", + L"[550][_Attribute]< \"@\" NAME \":\" NAME @ [ \"(\" _Expression \")\" ] >", + L"[551][_Attribute]< \"@\" NAME \":\" NAME [ \"(\" @ _Expression \")\" ] >", + L"[552][_Attribute]< \"@\" NAME \":\" NAME [ \"(\" _Expression \")\" @ ] >", + L"[553][_Attribute]< \"@\" NAME \":\" NAME [ \"(\" _Expression @ \")\" ] >", + L"[554][_Attribute]< \"@\" NAME @ \":\" NAME [ \"(\" _Expression \")\" ] >", + L"[555][_Namespace] BEGIN ", + L"[556][_Namespace] END [ENDING]", + L"[557][_Namespace]< \"namespace\" @ NAME \"{\" { _Declaration } \"}\" >", + L"[558][_Namespace]< \"namespace\" NAME \"{\" @ { _Declaration } \"}\" >", + L"[559][_Namespace]< \"namespace\" NAME \"{\" { _Declaration @ } \"}\" >", + L"[560][_Namespace]< \"namespace\" NAME \"{\" { _Declaration } \"}\" @ >", + L"[561][_Namespace]< \"namespace\" NAME @ \"{\" { _Declaration } \"}\" >", + L"[562][_FunctionArgument] BEGIN ", + L"[563][_FunctionArgument] END [ENDING]", + L"[564][_FunctionArgument]< { _Attribute @ } NAME \":\" _Type >", + L"[565][_FunctionArgument]< { _Attribute } NAME \":\" @ _Type >", + L"[566][_FunctionArgument]< { _Attribute } NAME \":\" _Type @ >", + L"[567][_FunctionArgument]< { _Attribute } NAME @ \":\" _Type >", + L"[568][_FunctionArgumentList] BEGIN ", + L"[569][_FunctionArgumentList] END [ENDING]", + L"[570][_FunctionArgumentList]\"(\" @ { _FunctionArgument ; \",\" } \")\"", + L"[571][_FunctionArgumentList]\"(\" { _FunctionArgument ; \",\" @ } \")\"", + L"[572][_FunctionArgumentList]\"(\" { _FunctionArgument ; \",\" } \")\" @", + L"[573][_FunctionArgumentList]\"(\" { _FunctionArgument @ ; \",\" } \")\"", + L"[574][_FunctionStat] BEGIN ", + L"[575][_FunctionStat] END [ENDING]", + L"[576][_FunctionStat]<< !_Block @ >>", + L"[577][_FunctionStat]<< !_CoProvider @ >>", + L"[578][_FunctionBody] BEGIN ", + L"[579][_FunctionBody] END [ENDING]", + L"[580][_FunctionBody]\"(\" @ { _FunctionArgument ; \",\" } \")\" \":\" _Type ( _FunctionStat | \";\" )", + L"[581][_FunctionBody]\"(\" { _FunctionArgument ; \",\" @ } \")\" \":\" _Type ( _FunctionStat | \";\" )", + L"[582][_FunctionBody]\"(\" { _FunctionArgument ; \",\" } \")\" \":\" @ _Type ( _FunctionStat | \";\" )", + L"[583][_FunctionBody]\"(\" { _FunctionArgument ; \",\" } \")\" \":\" _Type ( _FunctionStat @ | \";\" )", + L"[584][_FunctionBody]\"(\" { _FunctionArgument ; \",\" } \")\" \":\" _Type ( _FunctionStat | \";\" @ )", + L"[585][_FunctionBody]\"(\" { _FunctionArgument ; \",\" } \")\" \":\" _Type @ ( _FunctionStat | \";\" )", + L"[586][_FunctionBody]\"(\" { _FunctionArgument ; \",\" } \")\" @ \":\" _Type ( _FunctionStat | \";\" )", + L"[587][_FunctionBody]\"(\" { _FunctionArgument @ ; \",\" } \")\" \":\" _Type ( _FunctionStat | \";\" )", + L"[588][_FunctionKind] BEGIN ", + L"[589][_FunctionKind] END [ENDING]", + L"[590][_FunctionKind]\"func\" @", + L"[591][_FunctionKind]\"override\" \"func\" @", + L"[592][_FunctionKind]\"override\" @ \"func\"", + L"[593][_FunctionKind]\"static\" \"func\" @", + L"[594][_FunctionKind]\"static\" @ \"func\"", + L"[595][_Function] BEGIN ", + L"[596][_Function] END [ENDING]", + L"[597][_Function]< _FunctionKind @ NAME _FunctionBody >", + L"[598][_Function]< _FunctionKind @ _FunctionBody >", + L"[599][_Function]< _FunctionKind NAME @ _FunctionBody >", + L"[600][_Function]< _FunctionKind NAME _FunctionBody @ >", + L"[601][_Function]< _FunctionKind _FunctionBody @ >", + L"[602][_Variable] BEGIN ", + L"[603][_Variable] END [ENDING]", + L"[604][_Variable]< \"var\" @ NAME [ \":\" _Type ] \"=\" _Expression \";\" >", + L"[605][_Variable]< \"var\" NAME @ [ \":\" _Type ] \"=\" _Expression \";\" >", + L"[606][_Variable]< \"var\" NAME [ \":\" @ _Type ] \"=\" _Expression \";\" >", + L"[607][_Variable]< \"var\" NAME [ \":\" _Type @ ] \"=\" _Expression \";\" >", + L"[608][_Variable]< \"var\" NAME [ \":\" _Type ] \"=\" @ _Expression \";\" >", + L"[609][_Variable]< \"var\" NAME [ \":\" _Type ] \"=\" _Expression \";\" @ >", + L"[610][_Variable]< \"var\" NAME [ \":\" _Type ] \"=\" _Expression @ \";\" >", + L"[611][_Event] BEGIN ", + L"[612][_Event] END [ENDING]", + L"[613][_Event]< \"event\" @ NAME \"(\" { _Type ; \",\" } \")\" \";\" >", + L"[614][_Event]< \"event\" NAME \"(\" @ { _Type ; \",\" } \")\" \";\" >", + L"[615][_Event]< \"event\" NAME \"(\" { _Type ; \",\" @ } \")\" \";\" >", + L"[616][_Event]< \"event\" NAME \"(\" { _Type ; \",\" } \")\" \";\" @ >", + L"[617][_Event]< \"event\" NAME \"(\" { _Type ; \",\" } \")\" @ \";\" >", + L"[618][_Event]< \"event\" NAME \"(\" { _Type @ ; \",\" } \")\" \";\" >", + L"[619][_Event]< \"event\" NAME @ \"(\" { _Type ; \",\" } \")\" \";\" >", + L"[620][_Property] BEGIN ", + L"[621][_Property] END [ENDING]", + L"[622][_Property]< \"prop\" @ NAME \":\" _Type \"{\" NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" >", + L"[623][_Property]< \"prop\" NAME \":\" @ _Type \"{\" NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" >", + L"[624][_Property]< \"prop\" NAME \":\" _Type \"{\" @ NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" >", + L"[625][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME @ [ \",\" NAME ] [ \":\" NAME ] \"}\" >", + L"[626][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME [ \",\" @ NAME ] [ \":\" NAME ] \"}\" >", + L"[627][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME [ \",\" NAME @ ] [ \":\" NAME ] \"}\" >", + L"[628][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME [ \",\" NAME ] [ \":\" @ NAME ] \"}\" >", + L"[629][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME [ \",\" NAME ] [ \":\" NAME @ ] \"}\" >", + L"[630][_Property]< \"prop\" NAME \":\" _Type \"{\" NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" @ >", + L"[631][_Property]< \"prop\" NAME \":\" _Type @ \"{\" NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" >", + L"[632][_Property]< \"prop\" NAME @ \":\" _Type \"{\" NAME [ \",\" NAME ] [ \":\" NAME ] \"}\" >", + L"[633][_BaseConstructorCall] BEGIN ", + L"[634][_BaseConstructorCall] END [ENDING]", + L"[635][_BaseConstructorCall]< _Type \"(\" @ [ _Expression { \",\" _Expression } ] \")\" >", + L"[636][_BaseConstructorCall]< _Type \"(\" [ _Expression @ { \",\" _Expression } ] \")\" >", + L"[637][_BaseConstructorCall]< _Type \"(\" [ _Expression { \",\" @ _Expression } ] \")\" >", + L"[638][_BaseConstructorCall]< _Type \"(\" [ _Expression { \",\" _Expression @ } ] \")\" >", + L"[639][_BaseConstructorCall]< _Type \"(\" [ _Expression { \",\" _Expression } ] \")\" @ >", + L"[640][_BaseConstructorCall]< _Type @ \"(\" [ _Expression { \",\" _Expression } ] \")\" >", + L"[641][_ConstructorType] BEGIN ", + L"[642][_ConstructorType] END [ENDING]", + L"[643][_ConstructorType]\"new\" \"*\" @", + L"[644][_ConstructorType]\"new\" @", + L"[645][_ConstructorType]\"new\" @ \"*\"", + L"[646][_Constructor] BEGIN ", + L"[647][_Constructor] END [ENDING]", + L"[648][_Constructor]< _ConstructorType \"(\" @ { _FunctionArgument ; \",\" } \")\" [ \":\" { _BaseConstructorCall ; \",\" } ] _Block >", + L"[649][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" @ } \")\" [ \":\" { _BaseConstructorCall ; \",\" } ] _Block >", + L"[650][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" } \")\" @ [ \":\" { _BaseConstructorCall ; \",\" } ] _Block >", + L"[651][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" } \")\" [ \":\" @ { _BaseConstructorCall ; \",\" } ] _Block >", + L"[652][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" } \")\" [ \":\" { _BaseConstructorCall ; \",\" @ } ] _Block >", + L"[653][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" } \")\" [ \":\" { _BaseConstructorCall ; \",\" } ] _Block @ >", + L"[654][_Constructor]< _ConstructorType \"(\" { _FunctionArgument ; \",\" } \")\" [ \":\" { _BaseConstructorCall @ ; \",\" } ] _Block >", + L"[655][_Constructor]< _ConstructorType \"(\" { _FunctionArgument @ ; \",\" } \")\" [ \":\" { _BaseConstructorCall ; \",\" } ] _Block >", + L"[656][_Constructor]< _ConstructorType @ \"(\" { _FunctionArgument ; \",\" } \")\" [ \":\" { _BaseConstructorCall ; \",\" } ] _Block >", + L"[657][_Destructor] BEGIN ", + L"[658][_Destructor] END [ENDING]", + L"[659][_Destructor]< \"delete\" @ _Block >", + L"[660][_Destructor]< \"delete\" _Block @ >", + L"[661][_ClassBody] BEGIN ", + L"[662][_ClassBody] END [ENDING]", + L"[663][_ClassBody][ \":\" @ { _Type ; \",\" } ] \"{\" { _Declaration } [ _StateMachine ] \"}\"", + L"[664][_ClassBody][ \":\" { _Type ; \",\" @ } ] \"{\" { _Declaration } [ _StateMachine ] \"}\"", + L"[665][_ClassBody][ \":\" { _Type ; \",\" } ] \"{\" @ { _Declaration } [ _StateMachine ] \"}\"", + L"[666][_ClassBody][ \":\" { _Type ; \",\" } ] \"{\" { _Declaration @ } [ _StateMachine ] \"}\"", + L"[667][_ClassBody][ \":\" { _Type ; \",\" } ] \"{\" { _Declaration } [ _StateMachine @ ] \"}\"", + L"[668][_ClassBody][ \":\" { _Type ; \",\" } ] \"{\" { _Declaration } [ _StateMachine ] \"}\" @", + L"[669][_ClassBody][ \":\" { _Type @ ; \",\" } ] \"{\" { _Declaration } [ _StateMachine ] \"}\"", + L"[670][_Class] BEGIN ", + L"[671][_Class] END [ENDING]", + L"[672][_Class]< \"class\" @ NAME _ClassBody >", + L"[673][_Class]< \"class\" NAME @ _ClassBody >", + L"[674][_Class]< \"class\" NAME _ClassBody @ >", + L"[675][_Class]< \"interface\" @ NAME \"*\" _ClassBody >", + L"[676][_Class]< \"interface\" @ NAME _ClassBody >", + L"[677][_Class]< \"interface\" NAME \"*\" @ _ClassBody >", + L"[678][_Class]< \"interface\" NAME \"*\" _ClassBody @ >", + L"[679][_Class]< \"interface\" NAME @ \"*\" _ClassBody >", + L"[680][_Class]< \"interface\" NAME @ _ClassBody >", + L"[681][_Class]< \"interface\" NAME _ClassBody @ >", + L"[682][_EnumItemInt] BEGIN ", + L"[683][_EnumItemInt] END [ENDING]", + L"[684][_EnumItemInt]< NAME @ >", + L"[685][_EnumItemA] BEGIN ", + L"[686][_EnumItemA] END [ENDING]", + L"[687][_EnumItemA]< { _Attribute @ } NAME \"=\" INTEGER \",\" >", + L"[688][_EnumItemA]< { _Attribute } NAME \"=\" @ INTEGER \",\" >", + L"[689][_EnumItemA]< { _Attribute } NAME \"=\" INTEGER \",\" @ >", + L"[690][_EnumItemA]< { _Attribute } NAME \"=\" INTEGER @ \",\" >", + L"[691][_EnumItemA]< { _Attribute } NAME @ \"=\" INTEGER \",\" >", + L"[692][_EnumItemB] BEGIN ", + L"[693][_EnumItemB] END [ENDING]", + L"[694][_EnumItemB]< { _Attribute @ } NAME \"=\" _EnumItemInt { \"|\" _EnumItemInt } \",\" >", + L"[695][_EnumItemB]< { _Attribute } NAME \"=\" @ _EnumItemInt { \"|\" _EnumItemInt } \",\" >", + L"[696][_EnumItemB]< { _Attribute } NAME \"=\" _EnumItemInt @ { \"|\" _EnumItemInt } \",\" >", + L"[697][_EnumItemB]< { _Attribute } NAME \"=\" _EnumItemInt { \"|\" @ _EnumItemInt } \",\" >", + L"[698][_EnumItemB]< { _Attribute } NAME \"=\" _EnumItemInt { \"|\" _EnumItemInt @ } \",\" >", + L"[699][_EnumItemB]< { _Attribute } NAME \"=\" _EnumItemInt { \"|\" _EnumItemInt } \",\" @ >", + L"[700][_EnumItemB]< { _Attribute } NAME @ \"=\" _EnumItemInt { \"|\" _EnumItemInt } \",\" >", + L"[701][_Enum] BEGIN ", + L"[702][_Enum] END [ENDING]", + L"[703][_Enum]< \"enum\" @ NAME \"{\" _EnumItemA { _EnumItemA } \"}\" >", + L"[704][_Enum]< \"enum\" NAME \"{\" @ _EnumItemA { _EnumItemA } \"}\" >", + L"[705][_Enum]< \"enum\" NAME \"{\" _EnumItemA @ { _EnumItemA } \"}\" >", + L"[706][_Enum]< \"enum\" NAME \"{\" _EnumItemA { _EnumItemA @ } \"}\" >", + L"[707][_Enum]< \"enum\" NAME \"{\" _EnumItemA { _EnumItemA } \"}\" @ >", + L"[708][_Enum]< \"enum\" NAME @ \"{\" _EnumItemA { _EnumItemA } \"}\" >", + L"[709][_Enum]< \"flagenum\" @ NAME \"{\" _EnumItemA { _EnumItemA } { _EnumItemB } \"}\" >", + L"[710][_Enum]< \"flagenum\" NAME \"{\" @ _EnumItemA { _EnumItemA } { _EnumItemB } \"}\" >", + L"[711][_Enum]< \"flagenum\" NAME \"{\" _EnumItemA @ { _EnumItemA } { _EnumItemB } \"}\" >", + L"[712][_Enum]< \"flagenum\" NAME \"{\" _EnumItemA { _EnumItemA @ } { _EnumItemB } \"}\" >", + L"[713][_Enum]< \"flagenum\" NAME \"{\" _EnumItemA { _EnumItemA } { _EnumItemB @ } \"}\" >", + L"[714][_Enum]< \"flagenum\" NAME \"{\" _EnumItemA { _EnumItemA } { _EnumItemB } \"}\" @ >", + L"[715][_Enum]< \"flagenum\" NAME @ \"{\" _EnumItemA { _EnumItemA } { _EnumItemB } \"}\" >", + L"[716][_StructMember] BEGIN ", + L"[717][_StructMember] END [ENDING]", + L"[718][_StructMember]< { _Attribute @ } NAME \":\" _Type \";\" >", + L"[719][_StructMember]< { _Attribute } NAME \":\" @ _Type \";\" >", + L"[720][_StructMember]< { _Attribute } NAME \":\" _Type \";\" @ >", + L"[721][_StructMember]< { _Attribute } NAME \":\" _Type @ \";\" >", + L"[722][_StructMember]< { _Attribute } NAME @ \":\" _Type \";\" >", + L"[723][_Struct] BEGIN ", + L"[724][_Struct] END [ENDING]", + L"[725][_Struct]< \"struct\" @ NAME \"{\" { _StructMember } \"}\" >", + L"[726][_Struct]< \"struct\" NAME \"{\" @ { _StructMember } \"}\" >", + L"[727][_Struct]< \"struct\" NAME \"{\" { _StructMember @ } \"}\" >", + L"[728][_Struct]< \"struct\" NAME \"{\" { _StructMember } \"}\" @ >", + L"[729][_Struct]< \"struct\" NAME @ \"{\" { _StructMember } \"}\" >", + L"[730][_APConfig] BEGIN ", + L"[731][_APConfig] END [ENDING]", + L"[732][_APConfig]\"{\" \"const\" \",\" \"not\" \"observe\" \"}\" @", + L"[733][_APConfig]\"{\" \"const\" \",\" \"not\" \"observe\" @ \"}\"", + L"[734][_APConfig]\"{\" \"const\" \",\" \"not\" @ \"observe\" \"}\"", + L"[735][_APConfig]\"{\" \"const\" \",\" @ \"not\" \"observe\" \"}\"", + L"[736][_APConfig]\"{\" \"const\" \"}\" @", + L"[737][_APConfig]\"{\" \"const\" @ \",\" \"not\" \"observe\" \"}\"", + L"[738][_APConfig]\"{\" \"const\" @ \"}\"", + L"[739][_APConfig]\"{\" \"not\" \"observe\" \"}\" @", + L"[740][_APConfig]\"{\" \"not\" \"observe\" @ \"}\"", + L"[741][_APConfig]\"{\" \"not\" @ \"observe\" \"}\"", + L"[742][_APConfig]\"{\" \"}\" @", + L"[743][_APConfig]\"{\" @ \"const\" \",\" \"not\" \"observe\" \"}\"", + L"[744][_APConfig]\"{\" @ \"const\" \"}\"", + L"[745][_APConfig]\"{\" @ \"not\" \"observe\" \"}\"", + L"[746][_APConfig]\"{\" @ \"}\"", + L"[747][_AutoPropertyKind] BEGIN ", + L"[748][_AutoPropertyKind] END [ENDING]", + L"[749][_AutoPropertyKind]\"override\" \"prop\" @", + L"[750][_AutoPropertyKind]\"override\" @ \"prop\"", + L"[751][_AutoPropertyKind]\"prop\" @", + L"[752][_AutoPropertyKind]\"static\" \"prop\" @", + L"[753][_AutoPropertyKind]\"static\" @ \"prop\"", + L"[754][_AutoProperty] BEGIN ", + L"[755][_AutoProperty] END [ENDING]", + L"[756][_AutoProperty]< _AutoPropertyKind @ NAME \":\" _Type [ \"=\" _Expression ] _APConfig >", + L"[757][_AutoProperty]< _AutoPropertyKind NAME \":\" @ _Type [ \"=\" _Expression ] _APConfig >", + L"[758][_AutoProperty]< _AutoPropertyKind NAME \":\" _Type @ [ \"=\" _Expression ] _APConfig >", + L"[759][_AutoProperty]< _AutoPropertyKind NAME \":\" _Type [ \"=\" @ _Expression ] _APConfig >", + L"[760][_AutoProperty]< _AutoPropertyKind NAME \":\" _Type [ \"=\" _Expression @ ] _APConfig >", + L"[761][_AutoProperty]< _AutoPropertyKind NAME \":\" _Type [ \"=\" _Expression ] _APConfig @ >", + L"[762][_AutoProperty]< _AutoPropertyKind NAME @ \":\" _Type [ \"=\" _Expression ] _APConfig >", + L"[763][_CastResultInterface] BEGIN ", + L"[764][_CastResultInterface] END [ENDING]", + L"[765][_CastResultInterface]< \"$interface\" @ NAME \":\" _Type \"<\" _Type \">\" \";\" >", + L"[766][_CastResultInterface]< \"$interface\" NAME \":\" @ _Type \"<\" _Type \">\" \";\" >", + L"[767][_CastResultInterface]< \"$interface\" NAME \":\" _Type \"<\" @ _Type \">\" \";\" >", + L"[768][_CastResultInterface]< \"$interface\" NAME \":\" _Type \"<\" _Type \">\" \";\" @ >", + L"[769][_CastResultInterface]< \"$interface\" NAME \":\" _Type \"<\" _Type \">\" @ \";\" >", + L"[770][_CastResultInterface]< \"$interface\" NAME \":\" _Type \"<\" _Type @ \">\" \";\" >", + L"[771][_CastResultInterface]< \"$interface\" NAME \":\" _Type @ \"<\" _Type \">\" \";\" >", + L"[772][_CastResultInterface]< \"$interface\" NAME @ \":\" _Type \"<\" _Type \">\" \";\" >", + L"[773][_DeclarationCandidates] BEGIN ", + L"[774][_DeclarationCandidates] END [ENDING]", + L"[775][_DeclarationCandidates]<< !_AutoProperty @ >>", + L"[776][_DeclarationCandidates]<< !_CastResultInterface @ >>", + L"[777][_DeclarationCandidates]<< !_Class @ >>", + L"[778][_DeclarationCandidates]<< !_Constructor @ >>", + L"[779][_DeclarationCandidates]<< !_Destructor @ >>", + L"[780][_DeclarationCandidates]<< !_Enum @ >>", + L"[781][_DeclarationCandidates]<< !_Event @ >>", + L"[782][_DeclarationCandidates]<< !_Function @ >>", + L"[783][_DeclarationCandidates]<< !_Namespace @ >>", + L"[784][_DeclarationCandidates]<< !_Property @ >>", + L"[785][_DeclarationCandidates]<< !_Struct @ >>", + L"[786][_DeclarationCandidates]<< !_Variable @ >>", + L"[787][_Declaration] BEGIN ", + L"[788][_Declaration] END [ENDING]", + L"[789][_Declaration]<< { _Attribute @ } !_DeclarationCandidates >>", + L"[790][_Declaration]<< { _Attribute } !_DeclarationCandidates @ >>", + L"[791][_UsingFragment] BEGIN ", + L"[792][_UsingFragment] END [ENDING]", + L"[793][_UsingFragment]< \"*\" @ >", + L"[794][_UsingFragment]< NAME @ >", + L"[795][_UsingItem] BEGIN ", + L"[796][_UsingItem] END [ENDING]", + L"[797][_UsingItem]< _UsingFragment @ { _UsingFragment } >", + L"[798][_UsingItem]< _UsingFragment { _UsingFragment @ } >", + L"[799][_UsingPath] BEGIN ", + L"[800][_UsingPath] END [ENDING]", + L"[801][_UsingPath]< \"using\" @ _UsingItem { \"::\" _UsingItem } \";\" >", + L"[802][_UsingPath]< \"using\" _UsingItem @ { \"::\" _UsingItem } \";\" >", + L"[803][_UsingPath]< \"using\" _UsingItem { \"::\" @ _UsingItem } \";\" >", + L"[804][_UsingPath]< \"using\" _UsingItem { \"::\" _UsingItem @ } \";\" >", + L"[805][_UsingPath]< \"using\" _UsingItem { \"::\" _UsingItem } \";\" @ >", + L"[806][_ModuleBody] BEGIN ", + L"[807][_ModuleBody] END [ENDING]", + L"[808][_ModuleBody]NAME \";\" @ { _UsingPath } { _Declaration }", + L"[809][_ModuleBody]NAME \";\" { _UsingPath @ } { _Declaration }", + L"[810][_ModuleBody]NAME \";\" { _UsingPath } { _Declaration @ }", + L"[811][_ModuleBody]NAME @ \";\" { _UsingPath } { _Declaration }", + L"[812][_Module] BEGIN ", + L"[813][_Module] END [ENDING]", + L"[814][_Module]< \"module\" @ _ModuleBody >", + L"[815][_Module]< \"module\" _ModuleBody @ >", + L"[816][_Module]< \"unit\" @ _ModuleBody >", + L"[817][_Module]< \"unit\" _ModuleBody @ >", }; + return results[index]; + } - vl::Ptr Parser::Parse_Type(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; + Parser::Parser() + : vl::glr::ParserBase(&WorkflowTokenDeleter, &WorkflowLexerData, &WorkflowParserData) + { + } - vl::Ptr Parser::Parse_Expression(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); - }; + vl::WString Parser::GetClassName(vl::vint32_t classIndex) const + { + return vl::WString::Unmanaged(WorkflowTypeName((WorkflowClasses)classIndex)); + } - vl::Ptr Parser::Parse_Expression(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; + vl::vint32_t Parser::FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const + { + return -1; + } - vl::Ptr Parser::Parse_CoProvider(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); - }; + vl::Ptr Parser::Parse_Type(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } - vl::Ptr Parser::Parse_CoProvider(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; + vl::Ptr Parser::Parse_Type(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); + } - vl::Ptr Parser::Parse_Statement(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); - }; + vl::Ptr Parser::Parse_Expression(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } - vl::Ptr Parser::Parse_Statement(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; + vl::Ptr Parser::Parse_Expression(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); + } - vl::Ptr Parser::Parse_Declaration(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); - }; + vl::Ptr Parser::Parse_CoProvider(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } - vl::Ptr Parser::Parse_Declaration(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; + vl::Ptr Parser::Parse_CoProvider(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); + } - vl::Ptr Parser::Parse_Module(const vl::WString& input, vl::vint codeIndex) const - { - return ParseWithString(input, this, codeIndex); - }; + vl::Ptr Parser::Parse_Statement(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } - vl::Ptr Parser::Parse_Module(vl::collections::List& tokens, vl::vint codeIndex) const - { - return ParseWithTokens(tokens, this, codeIndex); - }; + vl::Ptr Parser::Parse_Statement(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); + } + + vl::Ptr Parser::Parse_Declaration(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } + + vl::Ptr Parser::Parse_Declaration(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); + } + + vl::Ptr Parser::Parse_Module(const vl::WString& input, vl::vint codeIndex) const + { + return ParseWithString(input, this, codeIndex); + } + + vl::Ptr Parser::Parse_Module(vl::collections::List& tokens, vl::vint codeIndex) const + { + return ParseWithTokens(tokens, this, codeIndex); } } @@ -42029,1292 +41990,1289 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::workflow { - namespace workflow - { /*********************************************************************** WorkflowAstInsReceiver : public vl::glr::AstInsReceiverBase ***********************************************************************/ - vl::Ptr WorkflowAstInsReceiver::CreateAstNode(vl::vint32_t type) + vl::Ptr WorkflowAstInsReceiver::CreateAstNode(vl::vint32_t type) + { + auto cppTypeName = WorkflowCppTypeName((WorkflowClasses)type); + switch((WorkflowClasses)type) { - auto cppTypeName = WorkflowCppTypeName((WorkflowClasses)type); - switch((WorkflowClasses)type) - { - case WorkflowClasses::AttachEventExpression: - return vl::Ptr(new vl::workflow::WfAttachEventExpression); - case WorkflowClasses::Attribute: - return vl::Ptr(new vl::workflow::WfAttribute); - case WorkflowClasses::AutoPropertyDeclaration: - return vl::Ptr(new vl::workflow::WfAutoPropertyDeclaration); - case WorkflowClasses::BaseConstructorCall: - return vl::Ptr(new vl::workflow::WfBaseConstructorCall); - case WorkflowClasses::BinaryExpression: - return vl::Ptr(new vl::workflow::WfBinaryExpression); - case WorkflowClasses::BindExpression: - return vl::Ptr(new vl::workflow::WfBindExpression); - case WorkflowClasses::BlockStatement: - return vl::Ptr(new vl::workflow::WfBlockStatement); - case WorkflowClasses::BreakStatement: - return vl::Ptr(new vl::workflow::WfBreakStatement); - case WorkflowClasses::CallExpression: - return vl::Ptr(new vl::workflow::WfCallExpression); - case WorkflowClasses::CastResultInterfaceDeclaration: - return vl::Ptr(new vl::workflow::WfCastResultInterfaceDeclaration); - case WorkflowClasses::ChildExpression: - return vl::Ptr(new vl::workflow::WfChildExpression); - case WorkflowClasses::ChildType: - return vl::Ptr(new vl::workflow::WfChildType); - case WorkflowClasses::ClassDeclaration: - return vl::Ptr(new vl::workflow::WfClassDeclaration); - case WorkflowClasses::CoOperatorExpression: - return vl::Ptr(new vl::workflow::WfCoOperatorExpression); - case WorkflowClasses::CoOperatorStatement: - return vl::Ptr(new vl::workflow::WfCoOperatorStatement); - case WorkflowClasses::CoPauseStatement: - return vl::Ptr(new vl::workflow::WfCoPauseStatement); - case WorkflowClasses::CoProviderStatement: - return vl::Ptr(new vl::workflow::WfCoProviderStatement); - case WorkflowClasses::ConstructorArgument: - return vl::Ptr(new vl::workflow::WfConstructorArgument); - case WorkflowClasses::ConstructorDeclaration: - return vl::Ptr(new vl::workflow::WfConstructorDeclaration); - case WorkflowClasses::ConstructorExpression: - return vl::Ptr(new vl::workflow::WfConstructorExpression); - case WorkflowClasses::ContinueStatement: - return vl::Ptr(new vl::workflow::WfContinueStatement); - case WorkflowClasses::DeleteStatement: - return vl::Ptr(new vl::workflow::WfDeleteStatement); - case WorkflowClasses::DestructorDeclaration: - return vl::Ptr(new vl::workflow::WfDestructorDeclaration); - case WorkflowClasses::DetachEventExpression: - return vl::Ptr(new vl::workflow::WfDetachEventExpression); - case WorkflowClasses::EnumDeclaration: - return vl::Ptr(new vl::workflow::WfEnumDeclaration); - case WorkflowClasses::EnumItem: - return vl::Ptr(new vl::workflow::WfEnumItem); - case WorkflowClasses::EnumItemIntersection: - return vl::Ptr(new vl::workflow::WfEnumItemIntersection); - case WorkflowClasses::EnumerableType: - return vl::Ptr(new vl::workflow::WfEnumerableType); - case WorkflowClasses::EventDeclaration: - return vl::Ptr(new vl::workflow::WfEventDeclaration); - case WorkflowClasses::ExpectedTypeCastExpression: - return vl::Ptr(new vl::workflow::WfExpectedTypeCastExpression); - case WorkflowClasses::ExpressionStatement: - return vl::Ptr(new vl::workflow::WfExpressionStatement); - case WorkflowClasses::FloatingExpression: - return vl::Ptr(new vl::workflow::WfFloatingExpression); - case WorkflowClasses::ForEachStatement: - return vl::Ptr(new vl::workflow::WfForEachStatement); - case WorkflowClasses::FormatExpression: - return vl::Ptr(new vl::workflow::WfFormatExpression); - case WorkflowClasses::FunctionArgument: - return vl::Ptr(new vl::workflow::WfFunctionArgument); - case WorkflowClasses::FunctionDeclaration: - return vl::Ptr(new vl::workflow::WfFunctionDeclaration); - case WorkflowClasses::FunctionExpression: - return vl::Ptr(new vl::workflow::WfFunctionExpression); - case WorkflowClasses::FunctionType: - return vl::Ptr(new vl::workflow::WfFunctionType); - case WorkflowClasses::GotoStatement: - return vl::Ptr(new vl::workflow::WfGotoStatement); - case WorkflowClasses::IfExpression: - return vl::Ptr(new vl::workflow::WfIfExpression); - case WorkflowClasses::IfStatement: - return vl::Ptr(new vl::workflow::WfIfStatement); - case WorkflowClasses::InferExpression: - return vl::Ptr(new vl::workflow::WfInferExpression); - case WorkflowClasses::IntegerExpression: - return vl::Ptr(new vl::workflow::WfIntegerExpression); - case WorkflowClasses::LetExpression: - return vl::Ptr(new vl::workflow::WfLetExpression); - case WorkflowClasses::LetVariable: - return vl::Ptr(new vl::workflow::WfLetVariable); - case WorkflowClasses::LiteralExpression: - return vl::Ptr(new vl::workflow::WfLiteralExpression); - case WorkflowClasses::MapType: - return vl::Ptr(new vl::workflow::WfMapType); - case WorkflowClasses::MemberExpression: - return vl::Ptr(new vl::workflow::WfMemberExpression); - case WorkflowClasses::MixinCastExpression: - return vl::Ptr(new vl::workflow::WfMixinCastExpression); - case WorkflowClasses::Module: - return vl::Ptr(new vl::workflow::WfModule); - case WorkflowClasses::ModuleUsingItem: - return vl::Ptr(new vl::workflow::WfModuleUsingItem); - case WorkflowClasses::ModuleUsingNameFragment: - return vl::Ptr(new vl::workflow::WfModuleUsingNameFragment); - case WorkflowClasses::ModuleUsingPath: - return vl::Ptr(new vl::workflow::WfModuleUsingPath); - case WorkflowClasses::ModuleUsingWildCardFragment: - return vl::Ptr(new vl::workflow::WfModuleUsingWildCardFragment); - case WorkflowClasses::NamespaceDeclaration: - return vl::Ptr(new vl::workflow::WfNamespaceDeclaration); - case WorkflowClasses::NewClassExpression: - return vl::Ptr(new vl::workflow::WfNewClassExpression); - case WorkflowClasses::NewCoroutineExpression: - return vl::Ptr(new vl::workflow::WfNewCoroutineExpression); - case WorkflowClasses::NewInterfaceExpression: - return vl::Ptr(new vl::workflow::WfNewInterfaceExpression); - case WorkflowClasses::NullableType: - return vl::Ptr(new vl::workflow::WfNullableType); - case WorkflowClasses::ObservableListType: - return vl::Ptr(new vl::workflow::WfObservableListType); - case WorkflowClasses::ObserveExpression: - return vl::Ptr(new vl::workflow::WfObserveExpression); - case WorkflowClasses::OrderedLambdaExpression: - return vl::Ptr(new vl::workflow::WfOrderedLambdaExpression); - case WorkflowClasses::OrderedNameExpression: - return vl::Ptr(new vl::workflow::WfOrderedNameExpression); - case WorkflowClasses::PredefinedType: - return vl::Ptr(new vl::workflow::WfPredefinedType); - case WorkflowClasses::PropertyDeclaration: - return vl::Ptr(new vl::workflow::WfPropertyDeclaration); - case WorkflowClasses::RaiseExceptionStatement: - return vl::Ptr(new vl::workflow::WfRaiseExceptionStatement); - case WorkflowClasses::RangeExpression: - return vl::Ptr(new vl::workflow::WfRangeExpression); - case WorkflowClasses::RawPointerType: - return vl::Ptr(new vl::workflow::WfRawPointerType); - case WorkflowClasses::ReferenceExpression: - return vl::Ptr(new vl::workflow::WfReferenceExpression); - case WorkflowClasses::ReferenceType: - return vl::Ptr(new vl::workflow::WfReferenceType); - case WorkflowClasses::ReturnStatement: - return vl::Ptr(new vl::workflow::WfReturnStatement); - case WorkflowClasses::SetTestingExpression: - return vl::Ptr(new vl::workflow::WfSetTestingExpression); - case WorkflowClasses::SharedPointerType: - return vl::Ptr(new vl::workflow::WfSharedPointerType); - case WorkflowClasses::StateDeclaration: - return vl::Ptr(new vl::workflow::WfStateDeclaration); - case WorkflowClasses::StateInput: - return vl::Ptr(new vl::workflow::WfStateInput); - case WorkflowClasses::StateInvokeStatement: - return vl::Ptr(new vl::workflow::WfStateInvokeStatement); - case WorkflowClasses::StateMachineDeclaration: - return vl::Ptr(new vl::workflow::WfStateMachineDeclaration); - case WorkflowClasses::StateSwitchArgument: - return vl::Ptr(new vl::workflow::WfStateSwitchArgument); - case WorkflowClasses::StateSwitchCase: - return vl::Ptr(new vl::workflow::WfStateSwitchCase); - case WorkflowClasses::StateSwitchStatement: - return vl::Ptr(new vl::workflow::WfStateSwitchStatement); - case WorkflowClasses::StringExpression: - return vl::Ptr(new vl::workflow::WfStringExpression); - case WorkflowClasses::StructDeclaration: - return vl::Ptr(new vl::workflow::WfStructDeclaration); - case WorkflowClasses::StructMember: - return vl::Ptr(new vl::workflow::WfStructMember); - case WorkflowClasses::SwitchCase: - return vl::Ptr(new vl::workflow::WfSwitchCase); - case WorkflowClasses::SwitchStatement: - return vl::Ptr(new vl::workflow::WfSwitchStatement); - case WorkflowClasses::ThisExpression: - return vl::Ptr(new vl::workflow::WfThisExpression); - case WorkflowClasses::TopQualifiedExpression: - return vl::Ptr(new vl::workflow::WfTopQualifiedExpression); - case WorkflowClasses::TopQualifiedType: - return vl::Ptr(new vl::workflow::WfTopQualifiedType); - case WorkflowClasses::TryStatement: - return vl::Ptr(new vl::workflow::WfTryStatement); - case WorkflowClasses::TypeCastingExpression: - return vl::Ptr(new vl::workflow::WfTypeCastingExpression); - case WorkflowClasses::TypeOfExpressionExpression: - return vl::Ptr(new vl::workflow::WfTypeOfExpressionExpression); - case WorkflowClasses::TypeOfTypeExpression: - return vl::Ptr(new vl::workflow::WfTypeOfTypeExpression); - case WorkflowClasses::TypeTestingExpression: - return vl::Ptr(new vl::workflow::WfTypeTestingExpression); - case WorkflowClasses::UnaryExpression: - return vl::Ptr(new vl::workflow::WfUnaryExpression); - case WorkflowClasses::VariableDeclaration: - return vl::Ptr(new vl::workflow::WfVariableDeclaration); - case WorkflowClasses::VariableStatement: - return vl::Ptr(new vl::workflow::WfVariableStatement); - case WorkflowClasses::WhileStatement: - return vl::Ptr(new vl::workflow::WfWhileStatement); - default: - return vl::glr::AssemblyThrowCannotCreateAbstractType(type, cppTypeName); - } + case WorkflowClasses::AttachEventExpression: + return vl::Ptr(new vl::workflow::WfAttachEventExpression); + case WorkflowClasses::Attribute: + return vl::Ptr(new vl::workflow::WfAttribute); + case WorkflowClasses::AutoPropertyDeclaration: + return vl::Ptr(new vl::workflow::WfAutoPropertyDeclaration); + case WorkflowClasses::BaseConstructorCall: + return vl::Ptr(new vl::workflow::WfBaseConstructorCall); + case WorkflowClasses::BinaryExpression: + return vl::Ptr(new vl::workflow::WfBinaryExpression); + case WorkflowClasses::BindExpression: + return vl::Ptr(new vl::workflow::WfBindExpression); + case WorkflowClasses::BlockStatement: + return vl::Ptr(new vl::workflow::WfBlockStatement); + case WorkflowClasses::BreakStatement: + return vl::Ptr(new vl::workflow::WfBreakStatement); + case WorkflowClasses::CallExpression: + return vl::Ptr(new vl::workflow::WfCallExpression); + case WorkflowClasses::CastResultInterfaceDeclaration: + return vl::Ptr(new vl::workflow::WfCastResultInterfaceDeclaration); + case WorkflowClasses::ChildExpression: + return vl::Ptr(new vl::workflow::WfChildExpression); + case WorkflowClasses::ChildType: + return vl::Ptr(new vl::workflow::WfChildType); + case WorkflowClasses::ClassDeclaration: + return vl::Ptr(new vl::workflow::WfClassDeclaration); + case WorkflowClasses::CoOperatorExpression: + return vl::Ptr(new vl::workflow::WfCoOperatorExpression); + case WorkflowClasses::CoOperatorStatement: + return vl::Ptr(new vl::workflow::WfCoOperatorStatement); + case WorkflowClasses::CoPauseStatement: + return vl::Ptr(new vl::workflow::WfCoPauseStatement); + case WorkflowClasses::CoProviderStatement: + return vl::Ptr(new vl::workflow::WfCoProviderStatement); + case WorkflowClasses::ConstructorArgument: + return vl::Ptr(new vl::workflow::WfConstructorArgument); + case WorkflowClasses::ConstructorDeclaration: + return vl::Ptr(new vl::workflow::WfConstructorDeclaration); + case WorkflowClasses::ConstructorExpression: + return vl::Ptr(new vl::workflow::WfConstructorExpression); + case WorkflowClasses::ContinueStatement: + return vl::Ptr(new vl::workflow::WfContinueStatement); + case WorkflowClasses::DeleteStatement: + return vl::Ptr(new vl::workflow::WfDeleteStatement); + case WorkflowClasses::DestructorDeclaration: + return vl::Ptr(new vl::workflow::WfDestructorDeclaration); + case WorkflowClasses::DetachEventExpression: + return vl::Ptr(new vl::workflow::WfDetachEventExpression); + case WorkflowClasses::EnumDeclaration: + return vl::Ptr(new vl::workflow::WfEnumDeclaration); + case WorkflowClasses::EnumItem: + return vl::Ptr(new vl::workflow::WfEnumItem); + case WorkflowClasses::EnumItemIntersection: + return vl::Ptr(new vl::workflow::WfEnumItemIntersection); + case WorkflowClasses::EnumerableType: + return vl::Ptr(new vl::workflow::WfEnumerableType); + case WorkflowClasses::EventDeclaration: + return vl::Ptr(new vl::workflow::WfEventDeclaration); + case WorkflowClasses::ExpectedTypeCastExpression: + return vl::Ptr(new vl::workflow::WfExpectedTypeCastExpression); + case WorkflowClasses::ExpressionStatement: + return vl::Ptr(new vl::workflow::WfExpressionStatement); + case WorkflowClasses::FloatingExpression: + return vl::Ptr(new vl::workflow::WfFloatingExpression); + case WorkflowClasses::ForEachStatement: + return vl::Ptr(new vl::workflow::WfForEachStatement); + case WorkflowClasses::FormatExpression: + return vl::Ptr(new vl::workflow::WfFormatExpression); + case WorkflowClasses::FunctionArgument: + return vl::Ptr(new vl::workflow::WfFunctionArgument); + case WorkflowClasses::FunctionDeclaration: + return vl::Ptr(new vl::workflow::WfFunctionDeclaration); + case WorkflowClasses::FunctionExpression: + return vl::Ptr(new vl::workflow::WfFunctionExpression); + case WorkflowClasses::FunctionType: + return vl::Ptr(new vl::workflow::WfFunctionType); + case WorkflowClasses::GotoStatement: + return vl::Ptr(new vl::workflow::WfGotoStatement); + case WorkflowClasses::IfExpression: + return vl::Ptr(new vl::workflow::WfIfExpression); + case WorkflowClasses::IfStatement: + return vl::Ptr(new vl::workflow::WfIfStatement); + case WorkflowClasses::InferExpression: + return vl::Ptr(new vl::workflow::WfInferExpression); + case WorkflowClasses::IntegerExpression: + return vl::Ptr(new vl::workflow::WfIntegerExpression); + case WorkflowClasses::LetExpression: + return vl::Ptr(new vl::workflow::WfLetExpression); + case WorkflowClasses::LetVariable: + return vl::Ptr(new vl::workflow::WfLetVariable); + case WorkflowClasses::LiteralExpression: + return vl::Ptr(new vl::workflow::WfLiteralExpression); + case WorkflowClasses::MapType: + return vl::Ptr(new vl::workflow::WfMapType); + case WorkflowClasses::MemberExpression: + return vl::Ptr(new vl::workflow::WfMemberExpression); + case WorkflowClasses::MixinCastExpression: + return vl::Ptr(new vl::workflow::WfMixinCastExpression); + case WorkflowClasses::Module: + return vl::Ptr(new vl::workflow::WfModule); + case WorkflowClasses::ModuleUsingItem: + return vl::Ptr(new vl::workflow::WfModuleUsingItem); + case WorkflowClasses::ModuleUsingNameFragment: + return vl::Ptr(new vl::workflow::WfModuleUsingNameFragment); + case WorkflowClasses::ModuleUsingPath: + return vl::Ptr(new vl::workflow::WfModuleUsingPath); + case WorkflowClasses::ModuleUsingWildCardFragment: + return vl::Ptr(new vl::workflow::WfModuleUsingWildCardFragment); + case WorkflowClasses::NamespaceDeclaration: + return vl::Ptr(new vl::workflow::WfNamespaceDeclaration); + case WorkflowClasses::NewClassExpression: + return vl::Ptr(new vl::workflow::WfNewClassExpression); + case WorkflowClasses::NewCoroutineExpression: + return vl::Ptr(new vl::workflow::WfNewCoroutineExpression); + case WorkflowClasses::NewInterfaceExpression: + return vl::Ptr(new vl::workflow::WfNewInterfaceExpression); + case WorkflowClasses::NullableType: + return vl::Ptr(new vl::workflow::WfNullableType); + case WorkflowClasses::ObservableListType: + return vl::Ptr(new vl::workflow::WfObservableListType); + case WorkflowClasses::ObserveExpression: + return vl::Ptr(new vl::workflow::WfObserveExpression); + case WorkflowClasses::OrderedLambdaExpression: + return vl::Ptr(new vl::workflow::WfOrderedLambdaExpression); + case WorkflowClasses::OrderedNameExpression: + return vl::Ptr(new vl::workflow::WfOrderedNameExpression); + case WorkflowClasses::PredefinedType: + return vl::Ptr(new vl::workflow::WfPredefinedType); + case WorkflowClasses::PropertyDeclaration: + return vl::Ptr(new vl::workflow::WfPropertyDeclaration); + case WorkflowClasses::RaiseExceptionStatement: + return vl::Ptr(new vl::workflow::WfRaiseExceptionStatement); + case WorkflowClasses::RangeExpression: + return vl::Ptr(new vl::workflow::WfRangeExpression); + case WorkflowClasses::RawPointerType: + return vl::Ptr(new vl::workflow::WfRawPointerType); + case WorkflowClasses::ReferenceExpression: + return vl::Ptr(new vl::workflow::WfReferenceExpression); + case WorkflowClasses::ReferenceType: + return vl::Ptr(new vl::workflow::WfReferenceType); + case WorkflowClasses::ReturnStatement: + return vl::Ptr(new vl::workflow::WfReturnStatement); + case WorkflowClasses::SetTestingExpression: + return vl::Ptr(new vl::workflow::WfSetTestingExpression); + case WorkflowClasses::SharedPointerType: + return vl::Ptr(new vl::workflow::WfSharedPointerType); + case WorkflowClasses::StateDeclaration: + return vl::Ptr(new vl::workflow::WfStateDeclaration); + case WorkflowClasses::StateInput: + return vl::Ptr(new vl::workflow::WfStateInput); + case WorkflowClasses::StateInvokeStatement: + return vl::Ptr(new vl::workflow::WfStateInvokeStatement); + case WorkflowClasses::StateMachineDeclaration: + return vl::Ptr(new vl::workflow::WfStateMachineDeclaration); + case WorkflowClasses::StateSwitchArgument: + return vl::Ptr(new vl::workflow::WfStateSwitchArgument); + case WorkflowClasses::StateSwitchCase: + return vl::Ptr(new vl::workflow::WfStateSwitchCase); + case WorkflowClasses::StateSwitchStatement: + return vl::Ptr(new vl::workflow::WfStateSwitchStatement); + case WorkflowClasses::StringExpression: + return vl::Ptr(new vl::workflow::WfStringExpression); + case WorkflowClasses::StructDeclaration: + return vl::Ptr(new vl::workflow::WfStructDeclaration); + case WorkflowClasses::StructMember: + return vl::Ptr(new vl::workflow::WfStructMember); + case WorkflowClasses::SwitchCase: + return vl::Ptr(new vl::workflow::WfSwitchCase); + case WorkflowClasses::SwitchStatement: + return vl::Ptr(new vl::workflow::WfSwitchStatement); + case WorkflowClasses::ThisExpression: + return vl::Ptr(new vl::workflow::WfThisExpression); + case WorkflowClasses::TopQualifiedExpression: + return vl::Ptr(new vl::workflow::WfTopQualifiedExpression); + case WorkflowClasses::TopQualifiedType: + return vl::Ptr(new vl::workflow::WfTopQualifiedType); + case WorkflowClasses::TryStatement: + return vl::Ptr(new vl::workflow::WfTryStatement); + case WorkflowClasses::TypeCastingExpression: + return vl::Ptr(new vl::workflow::WfTypeCastingExpression); + case WorkflowClasses::TypeOfExpressionExpression: + return vl::Ptr(new vl::workflow::WfTypeOfExpressionExpression); + case WorkflowClasses::TypeOfTypeExpression: + return vl::Ptr(new vl::workflow::WfTypeOfTypeExpression); + case WorkflowClasses::TypeTestingExpression: + return vl::Ptr(new vl::workflow::WfTypeTestingExpression); + case WorkflowClasses::UnaryExpression: + return vl::Ptr(new vl::workflow::WfUnaryExpression); + case WorkflowClasses::VariableDeclaration: + return vl::Ptr(new vl::workflow::WfVariableDeclaration); + case WorkflowClasses::VariableStatement: + return vl::Ptr(new vl::workflow::WfVariableStatement); + case WorkflowClasses::WhileStatement: + return vl::Ptr(new vl::workflow::WfWhileStatement); + default: + return vl::glr::AssemblyThrowCannotCreateAbstractType(type, cppTypeName); } + } - void WorkflowAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) + void WorkflowAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) + { + auto cppFieldName = WorkflowCppFieldName((WorkflowFields)field); + switch((WorkflowFields)field) { - auto cppFieldName = WorkflowCppFieldName((WorkflowFields)field); - switch((WorkflowFields)field) - { - case WorkflowFields::AttachEventExpression_event: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfAttachEventExpression::event, object, field, value, cppFieldName); - case WorkflowFields::AttachEventExpression_function: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfAttachEventExpression::function, object, field, value, cppFieldName); - case WorkflowFields::Attribute_value: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfAttribute::value, object, field, value, cppFieldName); - case WorkflowFields::AutoPropertyDeclaration_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfAutoPropertyDeclaration::expression, object, field, value, cppFieldName); - case WorkflowFields::AutoPropertyDeclaration_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfAutoPropertyDeclaration::type, object, field, value, cppFieldName); - case WorkflowFields::BaseConstructorCall_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBaseConstructorCall::arguments, object, field, value, cppFieldName); - case WorkflowFields::BaseConstructorCall_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBaseConstructorCall::type, object, field, value, cppFieldName); - case WorkflowFields::BinaryExpression_first: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBinaryExpression::first, object, field, value, cppFieldName); - case WorkflowFields::BinaryExpression_second: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBinaryExpression::second, object, field, value, cppFieldName); - case WorkflowFields::BindExpression_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBindExpression::expression, object, field, value, cppFieldName); - case WorkflowFields::BlockStatement_statements: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBlockStatement::statements, object, field, value, cppFieldName); - case WorkflowFields::CallExpression_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCallExpression::arguments, object, field, value, cppFieldName); - case WorkflowFields::CallExpression_function: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCallExpression::function, object, field, value, cppFieldName); - case WorkflowFields::CastResultInterfaceDeclaration_baseType: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCastResultInterfaceDeclaration::baseType, object, field, value, cppFieldName); - case WorkflowFields::CastResultInterfaceDeclaration_elementType: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCastResultInterfaceDeclaration::elementType, object, field, value, cppFieldName); - case WorkflowFields::ChildExpression_parent: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfChildExpression::parent, object, field, value, cppFieldName); - case WorkflowFields::ChildType_parent: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfChildType::parent, object, field, value, cppFieldName); - case WorkflowFields::ClassDeclaration_baseTypes: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfClassDeclaration::baseTypes, object, field, value, cppFieldName); - case WorkflowFields::ClassDeclaration_declarations: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfClassDeclaration::declarations, object, field, value, cppFieldName); - case WorkflowFields::CoOperatorStatement_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCoOperatorStatement::arguments, object, field, value, cppFieldName); - case WorkflowFields::CoPauseStatement_statement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCoPauseStatement::statement, object, field, value, cppFieldName); - case WorkflowFields::CoProviderStatement_statement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCoProviderStatement::statement, object, field, value, cppFieldName); - case WorkflowFields::ConstructorArgument_key: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorArgument::key, object, field, value, cppFieldName); - case WorkflowFields::ConstructorArgument_value: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorArgument::value, object, field, value, cppFieldName); - case WorkflowFields::ConstructorDeclaration_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorDeclaration::arguments, object, field, value, cppFieldName); - case WorkflowFields::ConstructorDeclaration_baseConstructorCalls: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorDeclaration::baseConstructorCalls, object, field, value, cppFieldName); - case WorkflowFields::ConstructorDeclaration_statement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorDeclaration::statement, object, field, value, cppFieldName); - case WorkflowFields::ConstructorExpression_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorExpression::arguments, object, field, value, cppFieldName); - case WorkflowFields::Declaration_attributes: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfDeclaration::attributes, object, field, value, cppFieldName); - case WorkflowFields::DeleteStatement_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfDeleteStatement::expression, object, field, value, cppFieldName); - case WorkflowFields::DestructorDeclaration_statement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfDestructorDeclaration::statement, object, field, value, cppFieldName); - case WorkflowFields::DetachEventExpression_event: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfDetachEventExpression::event, object, field, value, cppFieldName); - case WorkflowFields::DetachEventExpression_handler: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfDetachEventExpression::handler, object, field, value, cppFieldName); - case WorkflowFields::EnumDeclaration_items: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfEnumDeclaration::items, object, field, value, cppFieldName); - case WorkflowFields::EnumItem_attributes: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfEnumItem::attributes, object, field, value, cppFieldName); - case WorkflowFields::EnumItem_intersections: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfEnumItem::intersections, object, field, value, cppFieldName); - case WorkflowFields::EnumerableType_element: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfEnumerableType::element, object, field, value, cppFieldName); - case WorkflowFields::EventDeclaration_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfEventDeclaration::arguments, object, field, value, cppFieldName); - case WorkflowFields::ExpectedTypeCastExpression_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfExpectedTypeCastExpression::expression, object, field, value, cppFieldName); - case WorkflowFields::ExpressionStatement_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfExpressionStatement::expression, object, field, value, cppFieldName); - case WorkflowFields::ForEachStatement_collection: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfForEachStatement::collection, object, field, value, cppFieldName); - case WorkflowFields::ForEachStatement_statement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfForEachStatement::statement, object, field, value, cppFieldName); - case WorkflowFields::FunctionArgument_attributes: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionArgument::attributes, object, field, value, cppFieldName); - case WorkflowFields::FunctionArgument_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionArgument::type, object, field, value, cppFieldName); - case WorkflowFields::FunctionDeclaration_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionDeclaration::arguments, object, field, value, cppFieldName); - case WorkflowFields::FunctionDeclaration_returnType: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionDeclaration::returnType, object, field, value, cppFieldName); - case WorkflowFields::FunctionDeclaration_statement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionDeclaration::statement, object, field, value, cppFieldName); - case WorkflowFields::FunctionExpression_function: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionExpression::function, object, field, value, cppFieldName); - case WorkflowFields::FunctionType_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionType::arguments, object, field, value, cppFieldName); - case WorkflowFields::FunctionType_result: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionType::result, object, field, value, cppFieldName); - case WorkflowFields::IfExpression_condition: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfExpression::condition, object, field, value, cppFieldName); - case WorkflowFields::IfExpression_falseBranch: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfExpression::falseBranch, object, field, value, cppFieldName); - case WorkflowFields::IfExpression_trueBranch: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfExpression::trueBranch, object, field, value, cppFieldName); - case WorkflowFields::IfStatement_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfStatement::expression, object, field, value, cppFieldName); - case WorkflowFields::IfStatement_falseBranch: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfStatement::falseBranch, object, field, value, cppFieldName); - case WorkflowFields::IfStatement_trueBranch: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfStatement::trueBranch, object, field, value, cppFieldName); - case WorkflowFields::IfStatement_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfStatement::type, object, field, value, cppFieldName); - case WorkflowFields::InferExpression_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfInferExpression::expression, object, field, value, cppFieldName); - case WorkflowFields::InferExpression_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfInferExpression::type, object, field, value, cppFieldName); - case WorkflowFields::LetExpression_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfLetExpression::expression, object, field, value, cppFieldName); - case WorkflowFields::LetExpression_variables: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfLetExpression::variables, object, field, value, cppFieldName); - case WorkflowFields::LetVariable_value: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfLetVariable::value, object, field, value, cppFieldName); - case WorkflowFields::MapType_key: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfMapType::key, object, field, value, cppFieldName); - case WorkflowFields::MapType_value: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfMapType::value, object, field, value, cppFieldName); - case WorkflowFields::MemberExpression_parent: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfMemberExpression::parent, object, field, value, cppFieldName); - case WorkflowFields::MixinCastExpression_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfMixinCastExpression::expression, object, field, value, cppFieldName); - case WorkflowFields::MixinCastExpression_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfMixinCastExpression::type, object, field, value, cppFieldName); - case WorkflowFields::Module_declarations: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfModule::declarations, object, field, value, cppFieldName); - case WorkflowFields::Module_paths: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfModule::paths, object, field, value, cppFieldName); - case WorkflowFields::ModuleUsingItem_fragments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfModuleUsingItem::fragments, object, field, value, cppFieldName); - case WorkflowFields::ModuleUsingPath_items: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfModuleUsingPath::items, object, field, value, cppFieldName); - case WorkflowFields::NamespaceDeclaration_declarations: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNamespaceDeclaration::declarations, object, field, value, cppFieldName); - case WorkflowFields::NewClassExpression_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNewClassExpression::arguments, object, field, value, cppFieldName); - case WorkflowFields::NewClassExpression_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNewClassExpression::type, object, field, value, cppFieldName); - case WorkflowFields::NewCoroutineExpression_statement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNewCoroutineExpression::statement, object, field, value, cppFieldName); - case WorkflowFields::NewInterfaceExpression_declarations: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNewInterfaceExpression::declarations, object, field, value, cppFieldName); - case WorkflowFields::NewInterfaceExpression_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNewInterfaceExpression::type, object, field, value, cppFieldName); - case WorkflowFields::NullableType_element: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNullableType::element, object, field, value, cppFieldName); - case WorkflowFields::ObservableListType_element: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfObservableListType::element, object, field, value, cppFieldName); - case WorkflowFields::ObserveExpression_events: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfObserveExpression::events, object, field, value, cppFieldName); - case WorkflowFields::ObserveExpression_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfObserveExpression::expression, object, field, value, cppFieldName); - case WorkflowFields::ObserveExpression_parent: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfObserveExpression::parent, object, field, value, cppFieldName); - case WorkflowFields::OrderedLambdaExpression_body: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfOrderedLambdaExpression::body, object, field, value, cppFieldName); - case WorkflowFields::PropertyDeclaration_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfPropertyDeclaration::type, object, field, value, cppFieldName); - case WorkflowFields::RaiseExceptionStatement_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfRaiseExceptionStatement::expression, object, field, value, cppFieldName); - case WorkflowFields::RangeExpression_begin: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfRangeExpression::begin, object, field, value, cppFieldName); - case WorkflowFields::RangeExpression_end: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfRangeExpression::end, object, field, value, cppFieldName); - case WorkflowFields::RawPointerType_element: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfRawPointerType::element, object, field, value, cppFieldName); - case WorkflowFields::ReturnStatement_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfReturnStatement::expression, object, field, value, cppFieldName); - case WorkflowFields::SetTestingExpression_collection: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSetTestingExpression::collection, object, field, value, cppFieldName); - case WorkflowFields::SetTestingExpression_element: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSetTestingExpression::element, object, field, value, cppFieldName); - case WorkflowFields::SharedPointerType_element: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSharedPointerType::element, object, field, value, cppFieldName); - case WorkflowFields::StateDeclaration_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateDeclaration::arguments, object, field, value, cppFieldName); - case WorkflowFields::StateDeclaration_statement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateDeclaration::statement, object, field, value, cppFieldName); - case WorkflowFields::StateInput_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateInput::arguments, object, field, value, cppFieldName); - case WorkflowFields::StateInvokeStatement_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateInvokeStatement::arguments, object, field, value, cppFieldName); - case WorkflowFields::StateMachineDeclaration_inputs: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateMachineDeclaration::inputs, object, field, value, cppFieldName); - case WorkflowFields::StateMachineDeclaration_states: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateMachineDeclaration::states, object, field, value, cppFieldName); - case WorkflowFields::StateSwitchCase_arguments: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateSwitchCase::arguments, object, field, value, cppFieldName); - case WorkflowFields::StateSwitchCase_statement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateSwitchCase::statement, object, field, value, cppFieldName); - case WorkflowFields::StateSwitchStatement_caseBranches: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateSwitchStatement::caseBranches, object, field, value, cppFieldName); - case WorkflowFields::StructDeclaration_members: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStructDeclaration::members, object, field, value, cppFieldName); - case WorkflowFields::StructMember_attributes: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStructMember::attributes, object, field, value, cppFieldName); - case WorkflowFields::StructMember_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStructMember::type, object, field, value, cppFieldName); - case WorkflowFields::SwitchCase_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSwitchCase::expression, object, field, value, cppFieldName); - case WorkflowFields::SwitchCase_statement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSwitchCase::statement, object, field, value, cppFieldName); - case WorkflowFields::SwitchStatement_caseBranches: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSwitchStatement::caseBranches, object, field, value, cppFieldName); - case WorkflowFields::SwitchStatement_defaultBranch: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSwitchStatement::defaultBranch, object, field, value, cppFieldName); - case WorkflowFields::SwitchStatement_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSwitchStatement::expression, object, field, value, cppFieldName); - case WorkflowFields::TryStatement_catchStatement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTryStatement::catchStatement, object, field, value, cppFieldName); - case WorkflowFields::TryStatement_finallyStatement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTryStatement::finallyStatement, object, field, value, cppFieldName); - case WorkflowFields::TryStatement_protectedStatement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTryStatement::protectedStatement, object, field, value, cppFieldName); - case WorkflowFields::TypeCastingExpression_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeCastingExpression::expression, object, field, value, cppFieldName); - case WorkflowFields::TypeCastingExpression_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeCastingExpression::type, object, field, value, cppFieldName); - case WorkflowFields::TypeOfExpressionExpression_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeOfExpressionExpression::expression, object, field, value, cppFieldName); - case WorkflowFields::TypeOfTypeExpression_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeOfTypeExpression::type, object, field, value, cppFieldName); - case WorkflowFields::TypeTestingExpression_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeTestingExpression::expression, object, field, value, cppFieldName); - case WorkflowFields::TypeTestingExpression_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeTestingExpression::type, object, field, value, cppFieldName); - case WorkflowFields::UnaryExpression_operand: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfUnaryExpression::operand, object, field, value, cppFieldName); - case WorkflowFields::VariableDeclaration_expression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVariableDeclaration::expression, object, field, value, cppFieldName); - case WorkflowFields::VariableDeclaration_type: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVariableDeclaration::type, object, field, value, cppFieldName); - case WorkflowFields::VariableStatement_variable: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVariableStatement::variable, object, field, value, cppFieldName); - case WorkflowFields::VirtualCfeDeclaration_expandedDeclarations: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVirtualCfeDeclaration::expandedDeclarations, object, field, value, cppFieldName); - case WorkflowFields::VirtualCfeExpression_expandedExpression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVirtualCfeExpression::expandedExpression, object, field, value, cppFieldName); - case WorkflowFields::VirtualCseDeclaration_expandedDeclarations: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVirtualCseDeclaration::expandedDeclarations, object, field, value, cppFieldName); - case WorkflowFields::VirtualCseExpression_expandedExpression: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVirtualCseExpression::expandedExpression, object, field, value, cppFieldName); - case WorkflowFields::VirtualCseStatement_expandedStatement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVirtualCseStatement::expandedStatement, object, field, value, cppFieldName); - case WorkflowFields::WhileStatement_condition: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfWhileStatement::condition, object, field, value, cppFieldName); - case WorkflowFields::WhileStatement_statement: - return vl::glr::AssemblerSetObjectField(&vl::workflow::WfWhileStatement::statement, object, field, value, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotObject(field, cppFieldName); - } + case WorkflowFields::AttachEventExpression_event: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfAttachEventExpression::event, object, field, value, cppFieldName); + case WorkflowFields::AttachEventExpression_function: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfAttachEventExpression::function, object, field, value, cppFieldName); + case WorkflowFields::Attribute_value: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfAttribute::value, object, field, value, cppFieldName); + case WorkflowFields::AutoPropertyDeclaration_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfAutoPropertyDeclaration::expression, object, field, value, cppFieldName); + case WorkflowFields::AutoPropertyDeclaration_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfAutoPropertyDeclaration::type, object, field, value, cppFieldName); + case WorkflowFields::BaseConstructorCall_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBaseConstructorCall::arguments, object, field, value, cppFieldName); + case WorkflowFields::BaseConstructorCall_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBaseConstructorCall::type, object, field, value, cppFieldName); + case WorkflowFields::BinaryExpression_first: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBinaryExpression::first, object, field, value, cppFieldName); + case WorkflowFields::BinaryExpression_second: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBinaryExpression::second, object, field, value, cppFieldName); + case WorkflowFields::BindExpression_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBindExpression::expression, object, field, value, cppFieldName); + case WorkflowFields::BlockStatement_statements: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfBlockStatement::statements, object, field, value, cppFieldName); + case WorkflowFields::CallExpression_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCallExpression::arguments, object, field, value, cppFieldName); + case WorkflowFields::CallExpression_function: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCallExpression::function, object, field, value, cppFieldName); + case WorkflowFields::CastResultInterfaceDeclaration_baseType: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCastResultInterfaceDeclaration::baseType, object, field, value, cppFieldName); + case WorkflowFields::CastResultInterfaceDeclaration_elementType: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCastResultInterfaceDeclaration::elementType, object, field, value, cppFieldName); + case WorkflowFields::ChildExpression_parent: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfChildExpression::parent, object, field, value, cppFieldName); + case WorkflowFields::ChildType_parent: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfChildType::parent, object, field, value, cppFieldName); + case WorkflowFields::ClassDeclaration_baseTypes: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfClassDeclaration::baseTypes, object, field, value, cppFieldName); + case WorkflowFields::ClassDeclaration_declarations: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfClassDeclaration::declarations, object, field, value, cppFieldName); + case WorkflowFields::CoOperatorStatement_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCoOperatorStatement::arguments, object, field, value, cppFieldName); + case WorkflowFields::CoPauseStatement_statement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCoPauseStatement::statement, object, field, value, cppFieldName); + case WorkflowFields::CoProviderStatement_statement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfCoProviderStatement::statement, object, field, value, cppFieldName); + case WorkflowFields::ConstructorArgument_key: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorArgument::key, object, field, value, cppFieldName); + case WorkflowFields::ConstructorArgument_value: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorArgument::value, object, field, value, cppFieldName); + case WorkflowFields::ConstructorDeclaration_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorDeclaration::arguments, object, field, value, cppFieldName); + case WorkflowFields::ConstructorDeclaration_baseConstructorCalls: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorDeclaration::baseConstructorCalls, object, field, value, cppFieldName); + case WorkflowFields::ConstructorDeclaration_statement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorDeclaration::statement, object, field, value, cppFieldName); + case WorkflowFields::ConstructorExpression_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfConstructorExpression::arguments, object, field, value, cppFieldName); + case WorkflowFields::Declaration_attributes: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfDeclaration::attributes, object, field, value, cppFieldName); + case WorkflowFields::DeleteStatement_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfDeleteStatement::expression, object, field, value, cppFieldName); + case WorkflowFields::DestructorDeclaration_statement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfDestructorDeclaration::statement, object, field, value, cppFieldName); + case WorkflowFields::DetachEventExpression_event: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfDetachEventExpression::event, object, field, value, cppFieldName); + case WorkflowFields::DetachEventExpression_handler: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfDetachEventExpression::handler, object, field, value, cppFieldName); + case WorkflowFields::EnumDeclaration_items: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfEnumDeclaration::items, object, field, value, cppFieldName); + case WorkflowFields::EnumItem_attributes: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfEnumItem::attributes, object, field, value, cppFieldName); + case WorkflowFields::EnumItem_intersections: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfEnumItem::intersections, object, field, value, cppFieldName); + case WorkflowFields::EnumerableType_element: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfEnumerableType::element, object, field, value, cppFieldName); + case WorkflowFields::EventDeclaration_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfEventDeclaration::arguments, object, field, value, cppFieldName); + case WorkflowFields::ExpectedTypeCastExpression_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfExpectedTypeCastExpression::expression, object, field, value, cppFieldName); + case WorkflowFields::ExpressionStatement_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfExpressionStatement::expression, object, field, value, cppFieldName); + case WorkflowFields::ForEachStatement_collection: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfForEachStatement::collection, object, field, value, cppFieldName); + case WorkflowFields::ForEachStatement_statement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfForEachStatement::statement, object, field, value, cppFieldName); + case WorkflowFields::FunctionArgument_attributes: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionArgument::attributes, object, field, value, cppFieldName); + case WorkflowFields::FunctionArgument_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionArgument::type, object, field, value, cppFieldName); + case WorkflowFields::FunctionDeclaration_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionDeclaration::arguments, object, field, value, cppFieldName); + case WorkflowFields::FunctionDeclaration_returnType: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionDeclaration::returnType, object, field, value, cppFieldName); + case WorkflowFields::FunctionDeclaration_statement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionDeclaration::statement, object, field, value, cppFieldName); + case WorkflowFields::FunctionExpression_function: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionExpression::function, object, field, value, cppFieldName); + case WorkflowFields::FunctionType_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionType::arguments, object, field, value, cppFieldName); + case WorkflowFields::FunctionType_result: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfFunctionType::result, object, field, value, cppFieldName); + case WorkflowFields::IfExpression_condition: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfExpression::condition, object, field, value, cppFieldName); + case WorkflowFields::IfExpression_falseBranch: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfExpression::falseBranch, object, field, value, cppFieldName); + case WorkflowFields::IfExpression_trueBranch: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfExpression::trueBranch, object, field, value, cppFieldName); + case WorkflowFields::IfStatement_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfStatement::expression, object, field, value, cppFieldName); + case WorkflowFields::IfStatement_falseBranch: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfStatement::falseBranch, object, field, value, cppFieldName); + case WorkflowFields::IfStatement_trueBranch: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfStatement::trueBranch, object, field, value, cppFieldName); + case WorkflowFields::IfStatement_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfIfStatement::type, object, field, value, cppFieldName); + case WorkflowFields::InferExpression_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfInferExpression::expression, object, field, value, cppFieldName); + case WorkflowFields::InferExpression_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfInferExpression::type, object, field, value, cppFieldName); + case WorkflowFields::LetExpression_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfLetExpression::expression, object, field, value, cppFieldName); + case WorkflowFields::LetExpression_variables: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfLetExpression::variables, object, field, value, cppFieldName); + case WorkflowFields::LetVariable_value: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfLetVariable::value, object, field, value, cppFieldName); + case WorkflowFields::MapType_key: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfMapType::key, object, field, value, cppFieldName); + case WorkflowFields::MapType_value: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfMapType::value, object, field, value, cppFieldName); + case WorkflowFields::MemberExpression_parent: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfMemberExpression::parent, object, field, value, cppFieldName); + case WorkflowFields::MixinCastExpression_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfMixinCastExpression::expression, object, field, value, cppFieldName); + case WorkflowFields::MixinCastExpression_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfMixinCastExpression::type, object, field, value, cppFieldName); + case WorkflowFields::Module_declarations: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfModule::declarations, object, field, value, cppFieldName); + case WorkflowFields::Module_paths: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfModule::paths, object, field, value, cppFieldName); + case WorkflowFields::ModuleUsingItem_fragments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfModuleUsingItem::fragments, object, field, value, cppFieldName); + case WorkflowFields::ModuleUsingPath_items: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfModuleUsingPath::items, object, field, value, cppFieldName); + case WorkflowFields::NamespaceDeclaration_declarations: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNamespaceDeclaration::declarations, object, field, value, cppFieldName); + case WorkflowFields::NewClassExpression_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNewClassExpression::arguments, object, field, value, cppFieldName); + case WorkflowFields::NewClassExpression_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNewClassExpression::type, object, field, value, cppFieldName); + case WorkflowFields::NewCoroutineExpression_statement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNewCoroutineExpression::statement, object, field, value, cppFieldName); + case WorkflowFields::NewInterfaceExpression_declarations: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNewInterfaceExpression::declarations, object, field, value, cppFieldName); + case WorkflowFields::NewInterfaceExpression_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNewInterfaceExpression::type, object, field, value, cppFieldName); + case WorkflowFields::NullableType_element: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfNullableType::element, object, field, value, cppFieldName); + case WorkflowFields::ObservableListType_element: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfObservableListType::element, object, field, value, cppFieldName); + case WorkflowFields::ObserveExpression_events: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfObserveExpression::events, object, field, value, cppFieldName); + case WorkflowFields::ObserveExpression_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfObserveExpression::expression, object, field, value, cppFieldName); + case WorkflowFields::ObserveExpression_parent: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfObserveExpression::parent, object, field, value, cppFieldName); + case WorkflowFields::OrderedLambdaExpression_body: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfOrderedLambdaExpression::body, object, field, value, cppFieldName); + case WorkflowFields::PropertyDeclaration_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfPropertyDeclaration::type, object, field, value, cppFieldName); + case WorkflowFields::RaiseExceptionStatement_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfRaiseExceptionStatement::expression, object, field, value, cppFieldName); + case WorkflowFields::RangeExpression_begin: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfRangeExpression::begin, object, field, value, cppFieldName); + case WorkflowFields::RangeExpression_end: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfRangeExpression::end, object, field, value, cppFieldName); + case WorkflowFields::RawPointerType_element: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfRawPointerType::element, object, field, value, cppFieldName); + case WorkflowFields::ReturnStatement_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfReturnStatement::expression, object, field, value, cppFieldName); + case WorkflowFields::SetTestingExpression_collection: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSetTestingExpression::collection, object, field, value, cppFieldName); + case WorkflowFields::SetTestingExpression_element: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSetTestingExpression::element, object, field, value, cppFieldName); + case WorkflowFields::SharedPointerType_element: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSharedPointerType::element, object, field, value, cppFieldName); + case WorkflowFields::StateDeclaration_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateDeclaration::arguments, object, field, value, cppFieldName); + case WorkflowFields::StateDeclaration_statement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateDeclaration::statement, object, field, value, cppFieldName); + case WorkflowFields::StateInput_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateInput::arguments, object, field, value, cppFieldName); + case WorkflowFields::StateInvokeStatement_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateInvokeStatement::arguments, object, field, value, cppFieldName); + case WorkflowFields::StateMachineDeclaration_inputs: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateMachineDeclaration::inputs, object, field, value, cppFieldName); + case WorkflowFields::StateMachineDeclaration_states: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateMachineDeclaration::states, object, field, value, cppFieldName); + case WorkflowFields::StateSwitchCase_arguments: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateSwitchCase::arguments, object, field, value, cppFieldName); + case WorkflowFields::StateSwitchCase_statement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateSwitchCase::statement, object, field, value, cppFieldName); + case WorkflowFields::StateSwitchStatement_caseBranches: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStateSwitchStatement::caseBranches, object, field, value, cppFieldName); + case WorkflowFields::StructDeclaration_members: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStructDeclaration::members, object, field, value, cppFieldName); + case WorkflowFields::StructMember_attributes: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStructMember::attributes, object, field, value, cppFieldName); + case WorkflowFields::StructMember_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfStructMember::type, object, field, value, cppFieldName); + case WorkflowFields::SwitchCase_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSwitchCase::expression, object, field, value, cppFieldName); + case WorkflowFields::SwitchCase_statement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSwitchCase::statement, object, field, value, cppFieldName); + case WorkflowFields::SwitchStatement_caseBranches: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSwitchStatement::caseBranches, object, field, value, cppFieldName); + case WorkflowFields::SwitchStatement_defaultBranch: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSwitchStatement::defaultBranch, object, field, value, cppFieldName); + case WorkflowFields::SwitchStatement_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfSwitchStatement::expression, object, field, value, cppFieldName); + case WorkflowFields::TryStatement_catchStatement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTryStatement::catchStatement, object, field, value, cppFieldName); + case WorkflowFields::TryStatement_finallyStatement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTryStatement::finallyStatement, object, field, value, cppFieldName); + case WorkflowFields::TryStatement_protectedStatement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTryStatement::protectedStatement, object, field, value, cppFieldName); + case WorkflowFields::TypeCastingExpression_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeCastingExpression::expression, object, field, value, cppFieldName); + case WorkflowFields::TypeCastingExpression_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeCastingExpression::type, object, field, value, cppFieldName); + case WorkflowFields::TypeOfExpressionExpression_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeOfExpressionExpression::expression, object, field, value, cppFieldName); + case WorkflowFields::TypeOfTypeExpression_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeOfTypeExpression::type, object, field, value, cppFieldName); + case WorkflowFields::TypeTestingExpression_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeTestingExpression::expression, object, field, value, cppFieldName); + case WorkflowFields::TypeTestingExpression_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfTypeTestingExpression::type, object, field, value, cppFieldName); + case WorkflowFields::UnaryExpression_operand: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfUnaryExpression::operand, object, field, value, cppFieldName); + case WorkflowFields::VariableDeclaration_expression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVariableDeclaration::expression, object, field, value, cppFieldName); + case WorkflowFields::VariableDeclaration_type: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVariableDeclaration::type, object, field, value, cppFieldName); + case WorkflowFields::VariableStatement_variable: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVariableStatement::variable, object, field, value, cppFieldName); + case WorkflowFields::VirtualCfeDeclaration_expandedDeclarations: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVirtualCfeDeclaration::expandedDeclarations, object, field, value, cppFieldName); + case WorkflowFields::VirtualCfeExpression_expandedExpression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVirtualCfeExpression::expandedExpression, object, field, value, cppFieldName); + case WorkflowFields::VirtualCseDeclaration_expandedDeclarations: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVirtualCseDeclaration::expandedDeclarations, object, field, value, cppFieldName); + case WorkflowFields::VirtualCseExpression_expandedExpression: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVirtualCseExpression::expandedExpression, object, field, value, cppFieldName); + case WorkflowFields::VirtualCseStatement_expandedStatement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfVirtualCseStatement::expandedStatement, object, field, value, cppFieldName); + case WorkflowFields::WhileStatement_condition: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfWhileStatement::condition, object, field, value, cppFieldName); + case WorkflowFields::WhileStatement_statement: + return vl::glr::AssemblerSetObjectField(&vl::workflow::WfWhileStatement::statement, object, field, value, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotObject(field, cppFieldName); } + } - void WorkflowAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) + void WorkflowAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) + { + auto cppFieldName = WorkflowCppFieldName((WorkflowFields)field); + switch((WorkflowFields)field) { - auto cppFieldName = WorkflowCppFieldName((WorkflowFields)field); - switch((WorkflowFields)field) - { - case WorkflowFields::Attribute_category: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfAttribute::category, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::Attribute_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfAttribute::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::BlockStatement_endLabel: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfBlockStatement::endLabel, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::ChildExpression_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfChildExpression::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::ChildType_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfChildType::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::CoOperatorExpression_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfCoOperatorExpression::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::CoOperatorStatement_opName: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfCoOperatorStatement::opName, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::CoOperatorStatement_varName: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfCoOperatorStatement::varName, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::CoProviderStatement_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfCoProviderStatement::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::Declaration_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfDeclaration::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::EnumItem_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfEnumItem::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::EnumItem_number: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfEnumItem::number, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::EnumItemIntersection_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfEnumItemIntersection::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::FloatingExpression_value: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfFloatingExpression::value, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::ForEachStatement_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfForEachStatement::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::FormatExpression_value: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfFormatExpression::value, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::FunctionArgument_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfFunctionArgument::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::GotoStatement_label: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfGotoStatement::label, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::IfStatement_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfIfStatement::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::IntegerExpression_value: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfIntegerExpression::value, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::LetVariable_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfLetVariable::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::MemberExpression_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfMemberExpression::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::Module_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfModule::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::ModuleUsingNameFragment_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfModuleUsingNameFragment::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::NewCoroutineExpression_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfNewCoroutineExpression::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::ObserveExpression_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfObserveExpression::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::OrderedNameExpression_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfOrderedNameExpression::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::PropertyDeclaration_getter: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfPropertyDeclaration::getter, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::PropertyDeclaration_setter: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfPropertyDeclaration::setter, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::PropertyDeclaration_valueChangedEvent: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfPropertyDeclaration::valueChangedEvent, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::ReferenceExpression_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfReferenceExpression::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::ReferenceType_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfReferenceType::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::StateDeclaration_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStateDeclaration::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::StateInput_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStateInput::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::StateInvokeStatement_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStateInvokeStatement::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::StateSwitchArgument_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStateSwitchArgument::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::StateSwitchCase_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStateSwitchCase::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::StringExpression_value: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStringExpression::value, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::StructMember_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStructMember::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::TopQualifiedExpression_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfTopQualifiedExpression::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::TopQualifiedType_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfTopQualifiedType::name, object, field, token, tokenIndex, cppFieldName); - case WorkflowFields::TryStatement_name: - return vl::glr::AssemblerSetTokenField(&vl::workflow::WfTryStatement::name, object, field, token, tokenIndex, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotToken(field, cppFieldName); - } + case WorkflowFields::Attribute_category: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfAttribute::category, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::Attribute_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfAttribute::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::BlockStatement_endLabel: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfBlockStatement::endLabel, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::ChildExpression_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfChildExpression::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::ChildType_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfChildType::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::CoOperatorExpression_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfCoOperatorExpression::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::CoOperatorStatement_opName: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfCoOperatorStatement::opName, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::CoOperatorStatement_varName: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfCoOperatorStatement::varName, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::CoProviderStatement_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfCoProviderStatement::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::Declaration_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfDeclaration::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::EnumItem_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfEnumItem::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::EnumItem_number: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfEnumItem::number, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::EnumItemIntersection_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfEnumItemIntersection::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::FloatingExpression_value: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfFloatingExpression::value, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::ForEachStatement_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfForEachStatement::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::FormatExpression_value: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfFormatExpression::value, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::FunctionArgument_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfFunctionArgument::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::GotoStatement_label: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfGotoStatement::label, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::IfStatement_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfIfStatement::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::IntegerExpression_value: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfIntegerExpression::value, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::LetVariable_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfLetVariable::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::MemberExpression_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfMemberExpression::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::Module_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfModule::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::ModuleUsingNameFragment_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfModuleUsingNameFragment::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::NewCoroutineExpression_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfNewCoroutineExpression::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::ObserveExpression_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfObserveExpression::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::OrderedNameExpression_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfOrderedNameExpression::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::PropertyDeclaration_getter: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfPropertyDeclaration::getter, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::PropertyDeclaration_setter: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfPropertyDeclaration::setter, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::PropertyDeclaration_valueChangedEvent: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfPropertyDeclaration::valueChangedEvent, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::ReferenceExpression_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfReferenceExpression::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::ReferenceType_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfReferenceType::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::StateDeclaration_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStateDeclaration::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::StateInput_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStateInput::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::StateInvokeStatement_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStateInvokeStatement::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::StateSwitchArgument_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStateSwitchArgument::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::StateSwitchCase_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStateSwitchCase::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::StringExpression_value: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStringExpression::value, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::StructMember_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfStructMember::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::TopQualifiedExpression_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfTopQualifiedExpression::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::TopQualifiedType_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfTopQualifiedType::name, object, field, token, tokenIndex, cppFieldName); + case WorkflowFields::TryStatement_name: + return vl::glr::AssemblerSetTokenField(&vl::workflow::WfTryStatement::name, object, field, token, tokenIndex, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotToken(field, cppFieldName); } + } - void WorkflowAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) + void WorkflowAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) + { + auto cppFieldName = WorkflowCppFieldName((WorkflowFields)field); + switch((WorkflowFields)field) { - auto cppFieldName = WorkflowCppFieldName((WorkflowFields)field); - switch((WorkflowFields)field) - { - case WorkflowFields::AutoPropertyDeclaration_configConst: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::configConst, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::AutoPropertyDeclaration_configObserve: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::configObserve, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::AutoPropertyDeclaration_functionKind: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::functionKind, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::BinaryExpression_op: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfBinaryExpression::op, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::ClassDeclaration_constructorType: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfClassDeclaration::constructorType, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::ClassDeclaration_kind: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfClassDeclaration::kind, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::ConstructorDeclaration_constructorType: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfConstructorDeclaration::constructorType, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::EnumDeclaration_kind: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfEnumDeclaration::kind, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::EnumItem_kind: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfEnumItem::kind, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::ExpectedTypeCastExpression_strategy: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfExpectedTypeCastExpression::strategy, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::ForEachStatement_direction: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfForEachStatement::direction, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::FunctionDeclaration_anonymity: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfFunctionDeclaration::anonymity, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::FunctionDeclaration_functionKind: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfFunctionDeclaration::functionKind, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::LiteralExpression_value: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfLiteralExpression::value, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::MapType_writability: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfMapType::writability, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::Module_moduleType: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfModule::moduleType, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::ObserveExpression_observeType: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfObserveExpression::observeType, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::PredefinedType_name: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfPredefinedType::name, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::RangeExpression_beginBoundary: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfRangeExpression::beginBoundary, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::RangeExpression_endBoundary: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfRangeExpression::endBoundary, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::SetTestingExpression_test: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfSetTestingExpression::test, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::StateInvokeStatement_type: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfStateInvokeStatement::type, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::StateSwitchStatement_type: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfStateSwitchStatement::type, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::TypeCastingExpression_strategy: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfTypeCastingExpression::strategy, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::TypeTestingExpression_test: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfTypeTestingExpression::test, object, field, enumItem, weakAssignment, cppFieldName); - case WorkflowFields::UnaryExpression_op: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfUnaryExpression::op, object, field, enumItem, weakAssignment, cppFieldName); - default: - return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); - } + case WorkflowFields::AutoPropertyDeclaration_configConst: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::configConst, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::AutoPropertyDeclaration_configObserve: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::configObserve, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::AutoPropertyDeclaration_functionKind: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::functionKind, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::BinaryExpression_op: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfBinaryExpression::op, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::ClassDeclaration_constructorType: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfClassDeclaration::constructorType, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::ClassDeclaration_kind: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfClassDeclaration::kind, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::ConstructorDeclaration_constructorType: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfConstructorDeclaration::constructorType, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::EnumDeclaration_kind: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfEnumDeclaration::kind, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::EnumItem_kind: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfEnumItem::kind, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::ExpectedTypeCastExpression_strategy: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfExpectedTypeCastExpression::strategy, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::ForEachStatement_direction: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfForEachStatement::direction, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::FunctionDeclaration_anonymity: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfFunctionDeclaration::anonymity, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::FunctionDeclaration_functionKind: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfFunctionDeclaration::functionKind, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::LiteralExpression_value: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfLiteralExpression::value, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::MapType_writability: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfMapType::writability, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::Module_moduleType: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfModule::moduleType, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::ObserveExpression_observeType: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfObserveExpression::observeType, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::PredefinedType_name: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfPredefinedType::name, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::RangeExpression_beginBoundary: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfRangeExpression::beginBoundary, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::RangeExpression_endBoundary: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfRangeExpression::endBoundary, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::SetTestingExpression_test: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfSetTestingExpression::test, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::StateInvokeStatement_type: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfStateInvokeStatement::type, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::StateSwitchStatement_type: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfStateSwitchStatement::type, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::TypeCastingExpression_strategy: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfTypeCastingExpression::strategy, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::TypeTestingExpression_test: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfTypeTestingExpression::test, object, field, enumItem, weakAssignment, cppFieldName); + case WorkflowFields::UnaryExpression_op: + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfUnaryExpression::op, object, field, enumItem, weakAssignment, cppFieldName); + default: + return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); } + } - const wchar_t* WorkflowTypeName(WorkflowClasses type) - { - const wchar_t* results[] = { - L"AttachEventExpression", - L"Attribute", - L"AutoPropertyDeclaration", - L"BaseConstructorCall", - L"BinaryExpression", - L"BindExpression", - L"BlockStatement", - L"BreakStatement", - L"CallExpression", - L"CastResultInterfaceDeclaration", - L"ChildExpression", - L"ChildType", - L"ClassDeclaration", - L"CoOperatorExpression", - L"CoOperatorStatement", - L"CoPauseStatement", - L"CoProviderStatement", - L"ConstructorArgument", - L"ConstructorDeclaration", - L"ConstructorExpression", - L"ContinueStatement", - L"CoroutineStatement", - L"Declaration", - L"DeleteStatement", - L"DestructorDeclaration", - L"DetachEventExpression", - L"EnumDeclaration", - L"EnumItem", - L"EnumItemIntersection", - L"EnumerableType", - L"EventDeclaration", - L"ExpectedTypeCastExpression", - L"Expression", - L"ExpressionStatement", - L"FloatingExpression", - L"ForEachStatement", - L"FormatExpression", - L"FunctionArgument", - L"FunctionDeclaration", - L"FunctionExpression", - L"FunctionType", - L"GotoStatement", - L"IfExpression", - L"IfStatement", - L"InferExpression", - L"IntegerExpression", - L"LetExpression", - L"LetVariable", - L"LiteralExpression", - L"MapType", - L"MemberExpression", - L"MixinCastExpression", - L"Module", - L"ModuleUsingFragment", - L"ModuleUsingItem", - L"ModuleUsingNameFragment", - L"ModuleUsingPath", - L"ModuleUsingWildCardFragment", - L"NamespaceDeclaration", - L"NewClassExpression", - L"NewCoroutineExpression", - L"NewInterfaceExpression", - L"NullableType", - L"ObservableListType", - L"ObserveExpression", - L"OrderedLambdaExpression", - L"OrderedNameExpression", - L"PredefinedType", - L"PropertyDeclaration", - L"RaiseExceptionStatement", - L"RangeExpression", - L"RawPointerType", - L"ReferenceExpression", - L"ReferenceType", - L"ReturnStatement", - L"SetTestingExpression", - L"SharedPointerType", - L"StateDeclaration", - L"StateInput", - L"StateInvokeStatement", - L"StateMachineDeclaration", - L"StateMachineStatement", - L"StateSwitchArgument", - L"StateSwitchCase", - L"StateSwitchStatement", - L"Statement", - L"StringExpression", - L"StructDeclaration", - L"StructMember", - L"SwitchCase", - L"SwitchStatement", - L"ThisExpression", - L"TopQualifiedExpression", - L"TopQualifiedType", - L"TryStatement", - L"Type", - L"TypeCastingExpression", - L"TypeOfExpressionExpression", - L"TypeOfTypeExpression", - L"TypeTestingExpression", - L"UnaryExpression", - L"VariableDeclaration", - L"VariableStatement", - L"VirtualCfeDeclaration", - L"VirtualCfeExpression", - L"VirtualCseDeclaration", - L"VirtualCseExpression", - L"VirtualCseStatement", - L"WhileStatement", - }; - vl::vint index = (vl::vint)type; - return 0 <= index && index < 109 ? results[index] : nullptr; - } + const wchar_t* WorkflowTypeName(WorkflowClasses type) + { + const wchar_t* results[] = { + L"AttachEventExpression", + L"Attribute", + L"AutoPropertyDeclaration", + L"BaseConstructorCall", + L"BinaryExpression", + L"BindExpression", + L"BlockStatement", + L"BreakStatement", + L"CallExpression", + L"CastResultInterfaceDeclaration", + L"ChildExpression", + L"ChildType", + L"ClassDeclaration", + L"CoOperatorExpression", + L"CoOperatorStatement", + L"CoPauseStatement", + L"CoProviderStatement", + L"ConstructorArgument", + L"ConstructorDeclaration", + L"ConstructorExpression", + L"ContinueStatement", + L"CoroutineStatement", + L"Declaration", + L"DeleteStatement", + L"DestructorDeclaration", + L"DetachEventExpression", + L"EnumDeclaration", + L"EnumItem", + L"EnumItemIntersection", + L"EnumerableType", + L"EventDeclaration", + L"ExpectedTypeCastExpression", + L"Expression", + L"ExpressionStatement", + L"FloatingExpression", + L"ForEachStatement", + L"FormatExpression", + L"FunctionArgument", + L"FunctionDeclaration", + L"FunctionExpression", + L"FunctionType", + L"GotoStatement", + L"IfExpression", + L"IfStatement", + L"InferExpression", + L"IntegerExpression", + L"LetExpression", + L"LetVariable", + L"LiteralExpression", + L"MapType", + L"MemberExpression", + L"MixinCastExpression", + L"Module", + L"ModuleUsingFragment", + L"ModuleUsingItem", + L"ModuleUsingNameFragment", + L"ModuleUsingPath", + L"ModuleUsingWildCardFragment", + L"NamespaceDeclaration", + L"NewClassExpression", + L"NewCoroutineExpression", + L"NewInterfaceExpression", + L"NullableType", + L"ObservableListType", + L"ObserveExpression", + L"OrderedLambdaExpression", + L"OrderedNameExpression", + L"PredefinedType", + L"PropertyDeclaration", + L"RaiseExceptionStatement", + L"RangeExpression", + L"RawPointerType", + L"ReferenceExpression", + L"ReferenceType", + L"ReturnStatement", + L"SetTestingExpression", + L"SharedPointerType", + L"StateDeclaration", + L"StateInput", + L"StateInvokeStatement", + L"StateMachineDeclaration", + L"StateMachineStatement", + L"StateSwitchArgument", + L"StateSwitchCase", + L"StateSwitchStatement", + L"Statement", + L"StringExpression", + L"StructDeclaration", + L"StructMember", + L"SwitchCase", + L"SwitchStatement", + L"ThisExpression", + L"TopQualifiedExpression", + L"TopQualifiedType", + L"TryStatement", + L"Type", + L"TypeCastingExpression", + L"TypeOfExpressionExpression", + L"TypeOfTypeExpression", + L"TypeTestingExpression", + L"UnaryExpression", + L"VariableDeclaration", + L"VariableStatement", + L"VirtualCfeDeclaration", + L"VirtualCfeExpression", + L"VirtualCseDeclaration", + L"VirtualCseExpression", + L"VirtualCseStatement", + L"WhileStatement", + }; + vl::vint index = (vl::vint)type; + return 0 <= index && index < 109 ? results[index] : nullptr; + } - const wchar_t* WorkflowCppTypeName(WorkflowClasses type) - { - const wchar_t* results[] = { - L"vl::workflow::WfAttachEventExpression", - L"vl::workflow::WfAttribute", - L"vl::workflow::WfAutoPropertyDeclaration", - L"vl::workflow::WfBaseConstructorCall", - L"vl::workflow::WfBinaryExpression", - L"vl::workflow::WfBindExpression", - L"vl::workflow::WfBlockStatement", - L"vl::workflow::WfBreakStatement", - L"vl::workflow::WfCallExpression", - L"vl::workflow::WfCastResultInterfaceDeclaration", - L"vl::workflow::WfChildExpression", - L"vl::workflow::WfChildType", - L"vl::workflow::WfClassDeclaration", - L"vl::workflow::WfCoOperatorExpression", - L"vl::workflow::WfCoOperatorStatement", - L"vl::workflow::WfCoPauseStatement", - L"vl::workflow::WfCoProviderStatement", - L"vl::workflow::WfConstructorArgument", - L"vl::workflow::WfConstructorDeclaration", - L"vl::workflow::WfConstructorExpression", - L"vl::workflow::WfContinueStatement", - L"vl::workflow::WfCoroutineStatement", - L"vl::workflow::WfDeclaration", - L"vl::workflow::WfDeleteStatement", - L"vl::workflow::WfDestructorDeclaration", - L"vl::workflow::WfDetachEventExpression", - L"vl::workflow::WfEnumDeclaration", - L"vl::workflow::WfEnumItem", - L"vl::workflow::WfEnumItemIntersection", - L"vl::workflow::WfEnumerableType", - L"vl::workflow::WfEventDeclaration", - L"vl::workflow::WfExpectedTypeCastExpression", - L"vl::workflow::WfExpression", - L"vl::workflow::WfExpressionStatement", - L"vl::workflow::WfFloatingExpression", - L"vl::workflow::WfForEachStatement", - L"vl::workflow::WfFormatExpression", - L"vl::workflow::WfFunctionArgument", - L"vl::workflow::WfFunctionDeclaration", - L"vl::workflow::WfFunctionExpression", - L"vl::workflow::WfFunctionType", - L"vl::workflow::WfGotoStatement", - L"vl::workflow::WfIfExpression", - L"vl::workflow::WfIfStatement", - L"vl::workflow::WfInferExpression", - L"vl::workflow::WfIntegerExpression", - L"vl::workflow::WfLetExpression", - L"vl::workflow::WfLetVariable", - L"vl::workflow::WfLiteralExpression", - L"vl::workflow::WfMapType", - L"vl::workflow::WfMemberExpression", - L"vl::workflow::WfMixinCastExpression", - L"vl::workflow::WfModule", - L"vl::workflow::WfModuleUsingFragment", - L"vl::workflow::WfModuleUsingItem", - L"vl::workflow::WfModuleUsingNameFragment", - L"vl::workflow::WfModuleUsingPath", - L"vl::workflow::WfModuleUsingWildCardFragment", - L"vl::workflow::WfNamespaceDeclaration", - L"vl::workflow::WfNewClassExpression", - L"vl::workflow::WfNewCoroutineExpression", - L"vl::workflow::WfNewInterfaceExpression", - L"vl::workflow::WfNullableType", - L"vl::workflow::WfObservableListType", - L"vl::workflow::WfObserveExpression", - L"vl::workflow::WfOrderedLambdaExpression", - L"vl::workflow::WfOrderedNameExpression", - L"vl::workflow::WfPredefinedType", - L"vl::workflow::WfPropertyDeclaration", - L"vl::workflow::WfRaiseExceptionStatement", - L"vl::workflow::WfRangeExpression", - L"vl::workflow::WfRawPointerType", - L"vl::workflow::WfReferenceExpression", - L"vl::workflow::WfReferenceType", - L"vl::workflow::WfReturnStatement", - L"vl::workflow::WfSetTestingExpression", - L"vl::workflow::WfSharedPointerType", - L"vl::workflow::WfStateDeclaration", - L"vl::workflow::WfStateInput", - L"vl::workflow::WfStateInvokeStatement", - L"vl::workflow::WfStateMachineDeclaration", - L"vl::workflow::WfStateMachineStatement", - L"vl::workflow::WfStateSwitchArgument", - L"vl::workflow::WfStateSwitchCase", - L"vl::workflow::WfStateSwitchStatement", - L"vl::workflow::WfStatement", - L"vl::workflow::WfStringExpression", - L"vl::workflow::WfStructDeclaration", - L"vl::workflow::WfStructMember", - L"vl::workflow::WfSwitchCase", - L"vl::workflow::WfSwitchStatement", - L"vl::workflow::WfThisExpression", - L"vl::workflow::WfTopQualifiedExpression", - L"vl::workflow::WfTopQualifiedType", - L"vl::workflow::WfTryStatement", - L"vl::workflow::WfType", - L"vl::workflow::WfTypeCastingExpression", - L"vl::workflow::WfTypeOfExpressionExpression", - L"vl::workflow::WfTypeOfTypeExpression", - L"vl::workflow::WfTypeTestingExpression", - L"vl::workflow::WfUnaryExpression", - L"vl::workflow::WfVariableDeclaration", - L"vl::workflow::WfVariableStatement", - L"vl::workflow::WfVirtualCfeDeclaration", - L"vl::workflow::WfVirtualCfeExpression", - L"vl::workflow::WfVirtualCseDeclaration", - L"vl::workflow::WfVirtualCseExpression", - L"vl::workflow::WfVirtualCseStatement", - L"vl::workflow::WfWhileStatement", - }; - vl::vint index = (vl::vint)type; - return 0 <= index && index < 109 ? results[index] : nullptr; - } + const wchar_t* WorkflowCppTypeName(WorkflowClasses type) + { + const wchar_t* results[] = { + L"vl::workflow::WfAttachEventExpression", + L"vl::workflow::WfAttribute", + L"vl::workflow::WfAutoPropertyDeclaration", + L"vl::workflow::WfBaseConstructorCall", + L"vl::workflow::WfBinaryExpression", + L"vl::workflow::WfBindExpression", + L"vl::workflow::WfBlockStatement", + L"vl::workflow::WfBreakStatement", + L"vl::workflow::WfCallExpression", + L"vl::workflow::WfCastResultInterfaceDeclaration", + L"vl::workflow::WfChildExpression", + L"vl::workflow::WfChildType", + L"vl::workflow::WfClassDeclaration", + L"vl::workflow::WfCoOperatorExpression", + L"vl::workflow::WfCoOperatorStatement", + L"vl::workflow::WfCoPauseStatement", + L"vl::workflow::WfCoProviderStatement", + L"vl::workflow::WfConstructorArgument", + L"vl::workflow::WfConstructorDeclaration", + L"vl::workflow::WfConstructorExpression", + L"vl::workflow::WfContinueStatement", + L"vl::workflow::WfCoroutineStatement", + L"vl::workflow::WfDeclaration", + L"vl::workflow::WfDeleteStatement", + L"vl::workflow::WfDestructorDeclaration", + L"vl::workflow::WfDetachEventExpression", + L"vl::workflow::WfEnumDeclaration", + L"vl::workflow::WfEnumItem", + L"vl::workflow::WfEnumItemIntersection", + L"vl::workflow::WfEnumerableType", + L"vl::workflow::WfEventDeclaration", + L"vl::workflow::WfExpectedTypeCastExpression", + L"vl::workflow::WfExpression", + L"vl::workflow::WfExpressionStatement", + L"vl::workflow::WfFloatingExpression", + L"vl::workflow::WfForEachStatement", + L"vl::workflow::WfFormatExpression", + L"vl::workflow::WfFunctionArgument", + L"vl::workflow::WfFunctionDeclaration", + L"vl::workflow::WfFunctionExpression", + L"vl::workflow::WfFunctionType", + L"vl::workflow::WfGotoStatement", + L"vl::workflow::WfIfExpression", + L"vl::workflow::WfIfStatement", + L"vl::workflow::WfInferExpression", + L"vl::workflow::WfIntegerExpression", + L"vl::workflow::WfLetExpression", + L"vl::workflow::WfLetVariable", + L"vl::workflow::WfLiteralExpression", + L"vl::workflow::WfMapType", + L"vl::workflow::WfMemberExpression", + L"vl::workflow::WfMixinCastExpression", + L"vl::workflow::WfModule", + L"vl::workflow::WfModuleUsingFragment", + L"vl::workflow::WfModuleUsingItem", + L"vl::workflow::WfModuleUsingNameFragment", + L"vl::workflow::WfModuleUsingPath", + L"vl::workflow::WfModuleUsingWildCardFragment", + L"vl::workflow::WfNamespaceDeclaration", + L"vl::workflow::WfNewClassExpression", + L"vl::workflow::WfNewCoroutineExpression", + L"vl::workflow::WfNewInterfaceExpression", + L"vl::workflow::WfNullableType", + L"vl::workflow::WfObservableListType", + L"vl::workflow::WfObserveExpression", + L"vl::workflow::WfOrderedLambdaExpression", + L"vl::workflow::WfOrderedNameExpression", + L"vl::workflow::WfPredefinedType", + L"vl::workflow::WfPropertyDeclaration", + L"vl::workflow::WfRaiseExceptionStatement", + L"vl::workflow::WfRangeExpression", + L"vl::workflow::WfRawPointerType", + L"vl::workflow::WfReferenceExpression", + L"vl::workflow::WfReferenceType", + L"vl::workflow::WfReturnStatement", + L"vl::workflow::WfSetTestingExpression", + L"vl::workflow::WfSharedPointerType", + L"vl::workflow::WfStateDeclaration", + L"vl::workflow::WfStateInput", + L"vl::workflow::WfStateInvokeStatement", + L"vl::workflow::WfStateMachineDeclaration", + L"vl::workflow::WfStateMachineStatement", + L"vl::workflow::WfStateSwitchArgument", + L"vl::workflow::WfStateSwitchCase", + L"vl::workflow::WfStateSwitchStatement", + L"vl::workflow::WfStatement", + L"vl::workflow::WfStringExpression", + L"vl::workflow::WfStructDeclaration", + L"vl::workflow::WfStructMember", + L"vl::workflow::WfSwitchCase", + L"vl::workflow::WfSwitchStatement", + L"vl::workflow::WfThisExpression", + L"vl::workflow::WfTopQualifiedExpression", + L"vl::workflow::WfTopQualifiedType", + L"vl::workflow::WfTryStatement", + L"vl::workflow::WfType", + L"vl::workflow::WfTypeCastingExpression", + L"vl::workflow::WfTypeOfExpressionExpression", + L"vl::workflow::WfTypeOfTypeExpression", + L"vl::workflow::WfTypeTestingExpression", + L"vl::workflow::WfUnaryExpression", + L"vl::workflow::WfVariableDeclaration", + L"vl::workflow::WfVariableStatement", + L"vl::workflow::WfVirtualCfeDeclaration", + L"vl::workflow::WfVirtualCfeExpression", + L"vl::workflow::WfVirtualCseDeclaration", + L"vl::workflow::WfVirtualCseExpression", + L"vl::workflow::WfVirtualCseStatement", + L"vl::workflow::WfWhileStatement", + }; + vl::vint index = (vl::vint)type; + return 0 <= index && index < 109 ? results[index] : nullptr; + } - const wchar_t* WorkflowFieldName(WorkflowFields field) - { - const wchar_t* results[] = { - L"AttachEventExpression::event", - L"AttachEventExpression::function", - L"Attribute::category", - L"Attribute::name", - L"Attribute::value", - L"AutoPropertyDeclaration::configConst", - L"AutoPropertyDeclaration::configObserve", - L"AutoPropertyDeclaration::expression", - L"AutoPropertyDeclaration::functionKind", - L"AutoPropertyDeclaration::type", - L"BaseConstructorCall::arguments", - L"BaseConstructorCall::type", - L"BinaryExpression::first", - L"BinaryExpression::op", - L"BinaryExpression::second", - L"BindExpression::expression", - L"BlockStatement::endLabel", - L"BlockStatement::statements", - L"CallExpression::arguments", - L"CallExpression::function", - L"CastResultInterfaceDeclaration::baseType", - L"CastResultInterfaceDeclaration::elementType", - L"ChildExpression::name", - L"ChildExpression::parent", - L"ChildType::name", - L"ChildType::parent", - L"ClassDeclaration::baseTypes", - L"ClassDeclaration::constructorType", - L"ClassDeclaration::declarations", - L"ClassDeclaration::kind", - L"CoOperatorExpression::name", - L"CoOperatorStatement::arguments", - L"CoOperatorStatement::opName", - L"CoOperatorStatement::varName", - L"CoPauseStatement::statement", - L"CoProviderStatement::name", - L"CoProviderStatement::statement", - L"ConstructorArgument::key", - L"ConstructorArgument::value", - L"ConstructorDeclaration::arguments", - L"ConstructorDeclaration::baseConstructorCalls", - L"ConstructorDeclaration::constructorType", - L"ConstructorDeclaration::statement", - L"ConstructorExpression::arguments", - L"Declaration::attributes", - L"Declaration::name", - L"DeleteStatement::expression", - L"DestructorDeclaration::statement", - L"DetachEventExpression::event", - L"DetachEventExpression::handler", - L"EnumDeclaration::items", - L"EnumDeclaration::kind", - L"EnumItem::attributes", - L"EnumItem::intersections", - L"EnumItem::kind", - L"EnumItem::name", - L"EnumItem::number", - L"EnumItemIntersection::name", - L"EnumerableType::element", - L"EventDeclaration::arguments", - L"ExpectedTypeCastExpression::expression", - L"ExpectedTypeCastExpression::strategy", - L"ExpressionStatement::expression", - L"FloatingExpression::value", - L"ForEachStatement::collection", - L"ForEachStatement::direction", - L"ForEachStatement::name", - L"ForEachStatement::statement", - L"FormatExpression::value", - L"FunctionArgument::attributes", - L"FunctionArgument::name", - L"FunctionArgument::type", - L"FunctionDeclaration::anonymity", - L"FunctionDeclaration::arguments", - L"FunctionDeclaration::functionKind", - L"FunctionDeclaration::returnType", - L"FunctionDeclaration::statement", - L"FunctionExpression::function", - L"FunctionType::arguments", - L"FunctionType::result", - L"GotoStatement::label", - L"IfExpression::condition", - L"IfExpression::falseBranch", - L"IfExpression::trueBranch", - L"IfStatement::expression", - L"IfStatement::falseBranch", - L"IfStatement::name", - L"IfStatement::trueBranch", - L"IfStatement::type", - L"InferExpression::expression", - L"InferExpression::type", - L"IntegerExpression::value", - L"LetExpression::expression", - L"LetExpression::variables", - L"LetVariable::name", - L"LetVariable::value", - L"LiteralExpression::value", - L"MapType::key", - L"MapType::value", - L"MapType::writability", - L"MemberExpression::name", - L"MemberExpression::parent", - L"MixinCastExpression::expression", - L"MixinCastExpression::type", - L"Module::declarations", - L"Module::moduleType", - L"Module::name", - L"Module::paths", - L"ModuleUsingItem::fragments", - L"ModuleUsingNameFragment::name", - L"ModuleUsingPath::items", - L"NamespaceDeclaration::declarations", - L"NewClassExpression::arguments", - L"NewClassExpression::type", - L"NewCoroutineExpression::name", - L"NewCoroutineExpression::statement", - L"NewInterfaceExpression::declarations", - L"NewInterfaceExpression::type", - L"NullableType::element", - L"ObservableListType::element", - L"ObserveExpression::events", - L"ObserveExpression::expression", - L"ObserveExpression::name", - L"ObserveExpression::observeType", - L"ObserveExpression::parent", - L"OrderedLambdaExpression::body", - L"OrderedNameExpression::name", - L"PredefinedType::name", - L"PropertyDeclaration::getter", - L"PropertyDeclaration::setter", - L"PropertyDeclaration::type", - L"PropertyDeclaration::valueChangedEvent", - L"RaiseExceptionStatement::expression", - L"RangeExpression::begin", - L"RangeExpression::beginBoundary", - L"RangeExpression::end", - L"RangeExpression::endBoundary", - L"RawPointerType::element", - L"ReferenceExpression::name", - L"ReferenceType::name", - L"ReturnStatement::expression", - L"SetTestingExpression::collection", - L"SetTestingExpression::element", - L"SetTestingExpression::test", - L"SharedPointerType::element", - L"StateDeclaration::arguments", - L"StateDeclaration::name", - L"StateDeclaration::statement", - L"StateInput::arguments", - L"StateInput::name", - L"StateInvokeStatement::arguments", - L"StateInvokeStatement::name", - L"StateInvokeStatement::type", - L"StateMachineDeclaration::inputs", - L"StateMachineDeclaration::states", - L"StateSwitchArgument::name", - L"StateSwitchCase::arguments", - L"StateSwitchCase::name", - L"StateSwitchCase::statement", - L"StateSwitchStatement::caseBranches", - L"StateSwitchStatement::type", - L"StringExpression::value", - L"StructDeclaration::members", - L"StructMember::attributes", - L"StructMember::name", - L"StructMember::type", - L"SwitchCase::expression", - L"SwitchCase::statement", - L"SwitchStatement::caseBranches", - L"SwitchStatement::defaultBranch", - L"SwitchStatement::expression", - L"TopQualifiedExpression::name", - L"TopQualifiedType::name", - L"TryStatement::catchStatement", - L"TryStatement::finallyStatement", - L"TryStatement::name", - L"TryStatement::protectedStatement", - L"TypeCastingExpression::expression", - L"TypeCastingExpression::strategy", - L"TypeCastingExpression::type", - L"TypeOfExpressionExpression::expression", - L"TypeOfTypeExpression::type", - L"TypeTestingExpression::expression", - L"TypeTestingExpression::test", - L"TypeTestingExpression::type", - L"UnaryExpression::op", - L"UnaryExpression::operand", - L"VariableDeclaration::expression", - L"VariableDeclaration::type", - L"VariableStatement::variable", - L"VirtualCfeDeclaration::expandedDeclarations", - L"VirtualCfeExpression::expandedExpression", - L"VirtualCseDeclaration::expandedDeclarations", - L"VirtualCseExpression::expandedExpression", - L"VirtualCseStatement::expandedStatement", - L"WhileStatement::condition", - L"WhileStatement::statement", - }; - vl::vint index = (vl::vint)field; - return 0 <= index && index < 197 ? results[index] : nullptr; - } + const wchar_t* WorkflowFieldName(WorkflowFields field) + { + const wchar_t* results[] = { + L"AttachEventExpression::event", + L"AttachEventExpression::function", + L"Attribute::category", + L"Attribute::name", + L"Attribute::value", + L"AutoPropertyDeclaration::configConst", + L"AutoPropertyDeclaration::configObserve", + L"AutoPropertyDeclaration::expression", + L"AutoPropertyDeclaration::functionKind", + L"AutoPropertyDeclaration::type", + L"BaseConstructorCall::arguments", + L"BaseConstructorCall::type", + L"BinaryExpression::first", + L"BinaryExpression::op", + L"BinaryExpression::second", + L"BindExpression::expression", + L"BlockStatement::endLabel", + L"BlockStatement::statements", + L"CallExpression::arguments", + L"CallExpression::function", + L"CastResultInterfaceDeclaration::baseType", + L"CastResultInterfaceDeclaration::elementType", + L"ChildExpression::name", + L"ChildExpression::parent", + L"ChildType::name", + L"ChildType::parent", + L"ClassDeclaration::baseTypes", + L"ClassDeclaration::constructorType", + L"ClassDeclaration::declarations", + L"ClassDeclaration::kind", + L"CoOperatorExpression::name", + L"CoOperatorStatement::arguments", + L"CoOperatorStatement::opName", + L"CoOperatorStatement::varName", + L"CoPauseStatement::statement", + L"CoProviderStatement::name", + L"CoProviderStatement::statement", + L"ConstructorArgument::key", + L"ConstructorArgument::value", + L"ConstructorDeclaration::arguments", + L"ConstructorDeclaration::baseConstructorCalls", + L"ConstructorDeclaration::constructorType", + L"ConstructorDeclaration::statement", + L"ConstructorExpression::arguments", + L"Declaration::attributes", + L"Declaration::name", + L"DeleteStatement::expression", + L"DestructorDeclaration::statement", + L"DetachEventExpression::event", + L"DetachEventExpression::handler", + L"EnumDeclaration::items", + L"EnumDeclaration::kind", + L"EnumItem::attributes", + L"EnumItem::intersections", + L"EnumItem::kind", + L"EnumItem::name", + L"EnumItem::number", + L"EnumItemIntersection::name", + L"EnumerableType::element", + L"EventDeclaration::arguments", + L"ExpectedTypeCastExpression::expression", + L"ExpectedTypeCastExpression::strategy", + L"ExpressionStatement::expression", + L"FloatingExpression::value", + L"ForEachStatement::collection", + L"ForEachStatement::direction", + L"ForEachStatement::name", + L"ForEachStatement::statement", + L"FormatExpression::value", + L"FunctionArgument::attributes", + L"FunctionArgument::name", + L"FunctionArgument::type", + L"FunctionDeclaration::anonymity", + L"FunctionDeclaration::arguments", + L"FunctionDeclaration::functionKind", + L"FunctionDeclaration::returnType", + L"FunctionDeclaration::statement", + L"FunctionExpression::function", + L"FunctionType::arguments", + L"FunctionType::result", + L"GotoStatement::label", + L"IfExpression::condition", + L"IfExpression::falseBranch", + L"IfExpression::trueBranch", + L"IfStatement::expression", + L"IfStatement::falseBranch", + L"IfStatement::name", + L"IfStatement::trueBranch", + L"IfStatement::type", + L"InferExpression::expression", + L"InferExpression::type", + L"IntegerExpression::value", + L"LetExpression::expression", + L"LetExpression::variables", + L"LetVariable::name", + L"LetVariable::value", + L"LiteralExpression::value", + L"MapType::key", + L"MapType::value", + L"MapType::writability", + L"MemberExpression::name", + L"MemberExpression::parent", + L"MixinCastExpression::expression", + L"MixinCastExpression::type", + L"Module::declarations", + L"Module::moduleType", + L"Module::name", + L"Module::paths", + L"ModuleUsingItem::fragments", + L"ModuleUsingNameFragment::name", + L"ModuleUsingPath::items", + L"NamespaceDeclaration::declarations", + L"NewClassExpression::arguments", + L"NewClassExpression::type", + L"NewCoroutineExpression::name", + L"NewCoroutineExpression::statement", + L"NewInterfaceExpression::declarations", + L"NewInterfaceExpression::type", + L"NullableType::element", + L"ObservableListType::element", + L"ObserveExpression::events", + L"ObserveExpression::expression", + L"ObserveExpression::name", + L"ObserveExpression::observeType", + L"ObserveExpression::parent", + L"OrderedLambdaExpression::body", + L"OrderedNameExpression::name", + L"PredefinedType::name", + L"PropertyDeclaration::getter", + L"PropertyDeclaration::setter", + L"PropertyDeclaration::type", + L"PropertyDeclaration::valueChangedEvent", + L"RaiseExceptionStatement::expression", + L"RangeExpression::begin", + L"RangeExpression::beginBoundary", + L"RangeExpression::end", + L"RangeExpression::endBoundary", + L"RawPointerType::element", + L"ReferenceExpression::name", + L"ReferenceType::name", + L"ReturnStatement::expression", + L"SetTestingExpression::collection", + L"SetTestingExpression::element", + L"SetTestingExpression::test", + L"SharedPointerType::element", + L"StateDeclaration::arguments", + L"StateDeclaration::name", + L"StateDeclaration::statement", + L"StateInput::arguments", + L"StateInput::name", + L"StateInvokeStatement::arguments", + L"StateInvokeStatement::name", + L"StateInvokeStatement::type", + L"StateMachineDeclaration::inputs", + L"StateMachineDeclaration::states", + L"StateSwitchArgument::name", + L"StateSwitchCase::arguments", + L"StateSwitchCase::name", + L"StateSwitchCase::statement", + L"StateSwitchStatement::caseBranches", + L"StateSwitchStatement::type", + L"StringExpression::value", + L"StructDeclaration::members", + L"StructMember::attributes", + L"StructMember::name", + L"StructMember::type", + L"SwitchCase::expression", + L"SwitchCase::statement", + L"SwitchStatement::caseBranches", + L"SwitchStatement::defaultBranch", + L"SwitchStatement::expression", + L"TopQualifiedExpression::name", + L"TopQualifiedType::name", + L"TryStatement::catchStatement", + L"TryStatement::finallyStatement", + L"TryStatement::name", + L"TryStatement::protectedStatement", + L"TypeCastingExpression::expression", + L"TypeCastingExpression::strategy", + L"TypeCastingExpression::type", + L"TypeOfExpressionExpression::expression", + L"TypeOfTypeExpression::type", + L"TypeTestingExpression::expression", + L"TypeTestingExpression::test", + L"TypeTestingExpression::type", + L"UnaryExpression::op", + L"UnaryExpression::operand", + L"VariableDeclaration::expression", + L"VariableDeclaration::type", + L"VariableStatement::variable", + L"VirtualCfeDeclaration::expandedDeclarations", + L"VirtualCfeExpression::expandedExpression", + L"VirtualCseDeclaration::expandedDeclarations", + L"VirtualCseExpression::expandedExpression", + L"VirtualCseStatement::expandedStatement", + L"WhileStatement::condition", + L"WhileStatement::statement", + }; + vl::vint index = (vl::vint)field; + return 0 <= index && index < 197 ? results[index] : nullptr; + } - const wchar_t* WorkflowCppFieldName(WorkflowFields field) - { - const wchar_t* results[] = { - L"vl::workflow::WfAttachEventExpression::event", - L"vl::workflow::WfAttachEventExpression::function", - L"vl::workflow::WfAttribute::category", - L"vl::workflow::WfAttribute::name", - L"vl::workflow::WfAttribute::value", - L"vl::workflow::WfAutoPropertyDeclaration::configConst", - L"vl::workflow::WfAutoPropertyDeclaration::configObserve", - L"vl::workflow::WfAutoPropertyDeclaration::expression", - L"vl::workflow::WfAutoPropertyDeclaration::functionKind", - L"vl::workflow::WfAutoPropertyDeclaration::type", - L"vl::workflow::WfBaseConstructorCall::arguments", - L"vl::workflow::WfBaseConstructorCall::type", - L"vl::workflow::WfBinaryExpression::first", - L"vl::workflow::WfBinaryExpression::op", - L"vl::workflow::WfBinaryExpression::second", - L"vl::workflow::WfBindExpression::expression", - L"vl::workflow::WfBlockStatement::endLabel", - L"vl::workflow::WfBlockStatement::statements", - L"vl::workflow::WfCallExpression::arguments", - L"vl::workflow::WfCallExpression::function", - L"vl::workflow::WfCastResultInterfaceDeclaration::baseType", - L"vl::workflow::WfCastResultInterfaceDeclaration::elementType", - L"vl::workflow::WfChildExpression::name", - L"vl::workflow::WfChildExpression::parent", - L"vl::workflow::WfChildType::name", - L"vl::workflow::WfChildType::parent", - L"vl::workflow::WfClassDeclaration::baseTypes", - L"vl::workflow::WfClassDeclaration::constructorType", - L"vl::workflow::WfClassDeclaration::declarations", - L"vl::workflow::WfClassDeclaration::kind", - L"vl::workflow::WfCoOperatorExpression::name", - L"vl::workflow::WfCoOperatorStatement::arguments", - L"vl::workflow::WfCoOperatorStatement::opName", - L"vl::workflow::WfCoOperatorStatement::varName", - L"vl::workflow::WfCoPauseStatement::statement", - L"vl::workflow::WfCoProviderStatement::name", - L"vl::workflow::WfCoProviderStatement::statement", - L"vl::workflow::WfConstructorArgument::key", - L"vl::workflow::WfConstructorArgument::value", - L"vl::workflow::WfConstructorDeclaration::arguments", - L"vl::workflow::WfConstructorDeclaration::baseConstructorCalls", - L"vl::workflow::WfConstructorDeclaration::constructorType", - L"vl::workflow::WfConstructorDeclaration::statement", - L"vl::workflow::WfConstructorExpression::arguments", - L"vl::workflow::WfDeclaration::attributes", - L"vl::workflow::WfDeclaration::name", - L"vl::workflow::WfDeleteStatement::expression", - L"vl::workflow::WfDestructorDeclaration::statement", - L"vl::workflow::WfDetachEventExpression::event", - L"vl::workflow::WfDetachEventExpression::handler", - L"vl::workflow::WfEnumDeclaration::items", - L"vl::workflow::WfEnumDeclaration::kind", - L"vl::workflow::WfEnumItem::attributes", - L"vl::workflow::WfEnumItem::intersections", - L"vl::workflow::WfEnumItem::kind", - L"vl::workflow::WfEnumItem::name", - L"vl::workflow::WfEnumItem::number", - L"vl::workflow::WfEnumItemIntersection::name", - L"vl::workflow::WfEnumerableType::element", - L"vl::workflow::WfEventDeclaration::arguments", - L"vl::workflow::WfExpectedTypeCastExpression::expression", - L"vl::workflow::WfExpectedTypeCastExpression::strategy", - L"vl::workflow::WfExpressionStatement::expression", - L"vl::workflow::WfFloatingExpression::value", - L"vl::workflow::WfForEachStatement::collection", - L"vl::workflow::WfForEachStatement::direction", - L"vl::workflow::WfForEachStatement::name", - L"vl::workflow::WfForEachStatement::statement", - L"vl::workflow::WfFormatExpression::value", - L"vl::workflow::WfFunctionArgument::attributes", - L"vl::workflow::WfFunctionArgument::name", - L"vl::workflow::WfFunctionArgument::type", - L"vl::workflow::WfFunctionDeclaration::anonymity", - L"vl::workflow::WfFunctionDeclaration::arguments", - L"vl::workflow::WfFunctionDeclaration::functionKind", - L"vl::workflow::WfFunctionDeclaration::returnType", - L"vl::workflow::WfFunctionDeclaration::statement", - L"vl::workflow::WfFunctionExpression::function", - L"vl::workflow::WfFunctionType::arguments", - L"vl::workflow::WfFunctionType::result", - L"vl::workflow::WfGotoStatement::label", - L"vl::workflow::WfIfExpression::condition", - L"vl::workflow::WfIfExpression::falseBranch", - L"vl::workflow::WfIfExpression::trueBranch", - L"vl::workflow::WfIfStatement::expression", - L"vl::workflow::WfIfStatement::falseBranch", - L"vl::workflow::WfIfStatement::name", - L"vl::workflow::WfIfStatement::trueBranch", - L"vl::workflow::WfIfStatement::type", - L"vl::workflow::WfInferExpression::expression", - L"vl::workflow::WfInferExpression::type", - L"vl::workflow::WfIntegerExpression::value", - L"vl::workflow::WfLetExpression::expression", - L"vl::workflow::WfLetExpression::variables", - L"vl::workflow::WfLetVariable::name", - L"vl::workflow::WfLetVariable::value", - L"vl::workflow::WfLiteralExpression::value", - L"vl::workflow::WfMapType::key", - L"vl::workflow::WfMapType::value", - L"vl::workflow::WfMapType::writability", - L"vl::workflow::WfMemberExpression::name", - L"vl::workflow::WfMemberExpression::parent", - L"vl::workflow::WfMixinCastExpression::expression", - L"vl::workflow::WfMixinCastExpression::type", - L"vl::workflow::WfModule::declarations", - L"vl::workflow::WfModule::moduleType", - L"vl::workflow::WfModule::name", - L"vl::workflow::WfModule::paths", - L"vl::workflow::WfModuleUsingItem::fragments", - L"vl::workflow::WfModuleUsingNameFragment::name", - L"vl::workflow::WfModuleUsingPath::items", - L"vl::workflow::WfNamespaceDeclaration::declarations", - L"vl::workflow::WfNewClassExpression::arguments", - L"vl::workflow::WfNewClassExpression::type", - L"vl::workflow::WfNewCoroutineExpression::name", - L"vl::workflow::WfNewCoroutineExpression::statement", - L"vl::workflow::WfNewInterfaceExpression::declarations", - L"vl::workflow::WfNewInterfaceExpression::type", - L"vl::workflow::WfNullableType::element", - L"vl::workflow::WfObservableListType::element", - L"vl::workflow::WfObserveExpression::events", - L"vl::workflow::WfObserveExpression::expression", - L"vl::workflow::WfObserveExpression::name", - L"vl::workflow::WfObserveExpression::observeType", - L"vl::workflow::WfObserveExpression::parent", - L"vl::workflow::WfOrderedLambdaExpression::body", - L"vl::workflow::WfOrderedNameExpression::name", - L"vl::workflow::WfPredefinedType::name", - L"vl::workflow::WfPropertyDeclaration::getter", - L"vl::workflow::WfPropertyDeclaration::setter", - L"vl::workflow::WfPropertyDeclaration::type", - L"vl::workflow::WfPropertyDeclaration::valueChangedEvent", - L"vl::workflow::WfRaiseExceptionStatement::expression", - L"vl::workflow::WfRangeExpression::begin", - L"vl::workflow::WfRangeExpression::beginBoundary", - L"vl::workflow::WfRangeExpression::end", - L"vl::workflow::WfRangeExpression::endBoundary", - L"vl::workflow::WfRawPointerType::element", - L"vl::workflow::WfReferenceExpression::name", - L"vl::workflow::WfReferenceType::name", - L"vl::workflow::WfReturnStatement::expression", - L"vl::workflow::WfSetTestingExpression::collection", - L"vl::workflow::WfSetTestingExpression::element", - L"vl::workflow::WfSetTestingExpression::test", - L"vl::workflow::WfSharedPointerType::element", - L"vl::workflow::WfStateDeclaration::arguments", - L"vl::workflow::WfStateDeclaration::name", - L"vl::workflow::WfStateDeclaration::statement", - L"vl::workflow::WfStateInput::arguments", - L"vl::workflow::WfStateInput::name", - L"vl::workflow::WfStateInvokeStatement::arguments", - L"vl::workflow::WfStateInvokeStatement::name", - L"vl::workflow::WfStateInvokeStatement::type", - L"vl::workflow::WfStateMachineDeclaration::inputs", - L"vl::workflow::WfStateMachineDeclaration::states", - L"vl::workflow::WfStateSwitchArgument::name", - L"vl::workflow::WfStateSwitchCase::arguments", - L"vl::workflow::WfStateSwitchCase::name", - L"vl::workflow::WfStateSwitchCase::statement", - L"vl::workflow::WfStateSwitchStatement::caseBranches", - L"vl::workflow::WfStateSwitchStatement::type", - L"vl::workflow::WfStringExpression::value", - L"vl::workflow::WfStructDeclaration::members", - L"vl::workflow::WfStructMember::attributes", - L"vl::workflow::WfStructMember::name", - L"vl::workflow::WfStructMember::type", - L"vl::workflow::WfSwitchCase::expression", - L"vl::workflow::WfSwitchCase::statement", - L"vl::workflow::WfSwitchStatement::caseBranches", - L"vl::workflow::WfSwitchStatement::defaultBranch", - L"vl::workflow::WfSwitchStatement::expression", - L"vl::workflow::WfTopQualifiedExpression::name", - L"vl::workflow::WfTopQualifiedType::name", - L"vl::workflow::WfTryStatement::catchStatement", - L"vl::workflow::WfTryStatement::finallyStatement", - L"vl::workflow::WfTryStatement::name", - L"vl::workflow::WfTryStatement::protectedStatement", - L"vl::workflow::WfTypeCastingExpression::expression", - L"vl::workflow::WfTypeCastingExpression::strategy", - L"vl::workflow::WfTypeCastingExpression::type", - L"vl::workflow::WfTypeOfExpressionExpression::expression", - L"vl::workflow::WfTypeOfTypeExpression::type", - L"vl::workflow::WfTypeTestingExpression::expression", - L"vl::workflow::WfTypeTestingExpression::test", - L"vl::workflow::WfTypeTestingExpression::type", - L"vl::workflow::WfUnaryExpression::op", - L"vl::workflow::WfUnaryExpression::operand", - L"vl::workflow::WfVariableDeclaration::expression", - L"vl::workflow::WfVariableDeclaration::type", - L"vl::workflow::WfVariableStatement::variable", - L"vl::workflow::WfVirtualCfeDeclaration::expandedDeclarations", - L"vl::workflow::WfVirtualCfeExpression::expandedExpression", - L"vl::workflow::WfVirtualCseDeclaration::expandedDeclarations", - L"vl::workflow::WfVirtualCseExpression::expandedExpression", - L"vl::workflow::WfVirtualCseStatement::expandedStatement", - L"vl::workflow::WfWhileStatement::condition", - L"vl::workflow::WfWhileStatement::statement", - }; - vl::vint index = (vl::vint)field; - return 0 <= index && index < 197 ? results[index] : nullptr; - } + const wchar_t* WorkflowCppFieldName(WorkflowFields field) + { + const wchar_t* results[] = { + L"vl::workflow::WfAttachEventExpression::event", + L"vl::workflow::WfAttachEventExpression::function", + L"vl::workflow::WfAttribute::category", + L"vl::workflow::WfAttribute::name", + L"vl::workflow::WfAttribute::value", + L"vl::workflow::WfAutoPropertyDeclaration::configConst", + L"vl::workflow::WfAutoPropertyDeclaration::configObserve", + L"vl::workflow::WfAutoPropertyDeclaration::expression", + L"vl::workflow::WfAutoPropertyDeclaration::functionKind", + L"vl::workflow::WfAutoPropertyDeclaration::type", + L"vl::workflow::WfBaseConstructorCall::arguments", + L"vl::workflow::WfBaseConstructorCall::type", + L"vl::workflow::WfBinaryExpression::first", + L"vl::workflow::WfBinaryExpression::op", + L"vl::workflow::WfBinaryExpression::second", + L"vl::workflow::WfBindExpression::expression", + L"vl::workflow::WfBlockStatement::endLabel", + L"vl::workflow::WfBlockStatement::statements", + L"vl::workflow::WfCallExpression::arguments", + L"vl::workflow::WfCallExpression::function", + L"vl::workflow::WfCastResultInterfaceDeclaration::baseType", + L"vl::workflow::WfCastResultInterfaceDeclaration::elementType", + L"vl::workflow::WfChildExpression::name", + L"vl::workflow::WfChildExpression::parent", + L"vl::workflow::WfChildType::name", + L"vl::workflow::WfChildType::parent", + L"vl::workflow::WfClassDeclaration::baseTypes", + L"vl::workflow::WfClassDeclaration::constructorType", + L"vl::workflow::WfClassDeclaration::declarations", + L"vl::workflow::WfClassDeclaration::kind", + L"vl::workflow::WfCoOperatorExpression::name", + L"vl::workflow::WfCoOperatorStatement::arguments", + L"vl::workflow::WfCoOperatorStatement::opName", + L"vl::workflow::WfCoOperatorStatement::varName", + L"vl::workflow::WfCoPauseStatement::statement", + L"vl::workflow::WfCoProviderStatement::name", + L"vl::workflow::WfCoProviderStatement::statement", + L"vl::workflow::WfConstructorArgument::key", + L"vl::workflow::WfConstructorArgument::value", + L"vl::workflow::WfConstructorDeclaration::arguments", + L"vl::workflow::WfConstructorDeclaration::baseConstructorCalls", + L"vl::workflow::WfConstructorDeclaration::constructorType", + L"vl::workflow::WfConstructorDeclaration::statement", + L"vl::workflow::WfConstructorExpression::arguments", + L"vl::workflow::WfDeclaration::attributes", + L"vl::workflow::WfDeclaration::name", + L"vl::workflow::WfDeleteStatement::expression", + L"vl::workflow::WfDestructorDeclaration::statement", + L"vl::workflow::WfDetachEventExpression::event", + L"vl::workflow::WfDetachEventExpression::handler", + L"vl::workflow::WfEnumDeclaration::items", + L"vl::workflow::WfEnumDeclaration::kind", + L"vl::workflow::WfEnumItem::attributes", + L"vl::workflow::WfEnumItem::intersections", + L"vl::workflow::WfEnumItem::kind", + L"vl::workflow::WfEnumItem::name", + L"vl::workflow::WfEnumItem::number", + L"vl::workflow::WfEnumItemIntersection::name", + L"vl::workflow::WfEnumerableType::element", + L"vl::workflow::WfEventDeclaration::arguments", + L"vl::workflow::WfExpectedTypeCastExpression::expression", + L"vl::workflow::WfExpectedTypeCastExpression::strategy", + L"vl::workflow::WfExpressionStatement::expression", + L"vl::workflow::WfFloatingExpression::value", + L"vl::workflow::WfForEachStatement::collection", + L"vl::workflow::WfForEachStatement::direction", + L"vl::workflow::WfForEachStatement::name", + L"vl::workflow::WfForEachStatement::statement", + L"vl::workflow::WfFormatExpression::value", + L"vl::workflow::WfFunctionArgument::attributes", + L"vl::workflow::WfFunctionArgument::name", + L"vl::workflow::WfFunctionArgument::type", + L"vl::workflow::WfFunctionDeclaration::anonymity", + L"vl::workflow::WfFunctionDeclaration::arguments", + L"vl::workflow::WfFunctionDeclaration::functionKind", + L"vl::workflow::WfFunctionDeclaration::returnType", + L"vl::workflow::WfFunctionDeclaration::statement", + L"vl::workflow::WfFunctionExpression::function", + L"vl::workflow::WfFunctionType::arguments", + L"vl::workflow::WfFunctionType::result", + L"vl::workflow::WfGotoStatement::label", + L"vl::workflow::WfIfExpression::condition", + L"vl::workflow::WfIfExpression::falseBranch", + L"vl::workflow::WfIfExpression::trueBranch", + L"vl::workflow::WfIfStatement::expression", + L"vl::workflow::WfIfStatement::falseBranch", + L"vl::workflow::WfIfStatement::name", + L"vl::workflow::WfIfStatement::trueBranch", + L"vl::workflow::WfIfStatement::type", + L"vl::workflow::WfInferExpression::expression", + L"vl::workflow::WfInferExpression::type", + L"vl::workflow::WfIntegerExpression::value", + L"vl::workflow::WfLetExpression::expression", + L"vl::workflow::WfLetExpression::variables", + L"vl::workflow::WfLetVariable::name", + L"vl::workflow::WfLetVariable::value", + L"vl::workflow::WfLiteralExpression::value", + L"vl::workflow::WfMapType::key", + L"vl::workflow::WfMapType::value", + L"vl::workflow::WfMapType::writability", + L"vl::workflow::WfMemberExpression::name", + L"vl::workflow::WfMemberExpression::parent", + L"vl::workflow::WfMixinCastExpression::expression", + L"vl::workflow::WfMixinCastExpression::type", + L"vl::workflow::WfModule::declarations", + L"vl::workflow::WfModule::moduleType", + L"vl::workflow::WfModule::name", + L"vl::workflow::WfModule::paths", + L"vl::workflow::WfModuleUsingItem::fragments", + L"vl::workflow::WfModuleUsingNameFragment::name", + L"vl::workflow::WfModuleUsingPath::items", + L"vl::workflow::WfNamespaceDeclaration::declarations", + L"vl::workflow::WfNewClassExpression::arguments", + L"vl::workflow::WfNewClassExpression::type", + L"vl::workflow::WfNewCoroutineExpression::name", + L"vl::workflow::WfNewCoroutineExpression::statement", + L"vl::workflow::WfNewInterfaceExpression::declarations", + L"vl::workflow::WfNewInterfaceExpression::type", + L"vl::workflow::WfNullableType::element", + L"vl::workflow::WfObservableListType::element", + L"vl::workflow::WfObserveExpression::events", + L"vl::workflow::WfObserveExpression::expression", + L"vl::workflow::WfObserveExpression::name", + L"vl::workflow::WfObserveExpression::observeType", + L"vl::workflow::WfObserveExpression::parent", + L"vl::workflow::WfOrderedLambdaExpression::body", + L"vl::workflow::WfOrderedNameExpression::name", + L"vl::workflow::WfPredefinedType::name", + L"vl::workflow::WfPropertyDeclaration::getter", + L"vl::workflow::WfPropertyDeclaration::setter", + L"vl::workflow::WfPropertyDeclaration::type", + L"vl::workflow::WfPropertyDeclaration::valueChangedEvent", + L"vl::workflow::WfRaiseExceptionStatement::expression", + L"vl::workflow::WfRangeExpression::begin", + L"vl::workflow::WfRangeExpression::beginBoundary", + L"vl::workflow::WfRangeExpression::end", + L"vl::workflow::WfRangeExpression::endBoundary", + L"vl::workflow::WfRawPointerType::element", + L"vl::workflow::WfReferenceExpression::name", + L"vl::workflow::WfReferenceType::name", + L"vl::workflow::WfReturnStatement::expression", + L"vl::workflow::WfSetTestingExpression::collection", + L"vl::workflow::WfSetTestingExpression::element", + L"vl::workflow::WfSetTestingExpression::test", + L"vl::workflow::WfSharedPointerType::element", + L"vl::workflow::WfStateDeclaration::arguments", + L"vl::workflow::WfStateDeclaration::name", + L"vl::workflow::WfStateDeclaration::statement", + L"vl::workflow::WfStateInput::arguments", + L"vl::workflow::WfStateInput::name", + L"vl::workflow::WfStateInvokeStatement::arguments", + L"vl::workflow::WfStateInvokeStatement::name", + L"vl::workflow::WfStateInvokeStatement::type", + L"vl::workflow::WfStateMachineDeclaration::inputs", + L"vl::workflow::WfStateMachineDeclaration::states", + L"vl::workflow::WfStateSwitchArgument::name", + L"vl::workflow::WfStateSwitchCase::arguments", + L"vl::workflow::WfStateSwitchCase::name", + L"vl::workflow::WfStateSwitchCase::statement", + L"vl::workflow::WfStateSwitchStatement::caseBranches", + L"vl::workflow::WfStateSwitchStatement::type", + L"vl::workflow::WfStringExpression::value", + L"vl::workflow::WfStructDeclaration::members", + L"vl::workflow::WfStructMember::attributes", + L"vl::workflow::WfStructMember::name", + L"vl::workflow::WfStructMember::type", + L"vl::workflow::WfSwitchCase::expression", + L"vl::workflow::WfSwitchCase::statement", + L"vl::workflow::WfSwitchStatement::caseBranches", + L"vl::workflow::WfSwitchStatement::defaultBranch", + L"vl::workflow::WfSwitchStatement::expression", + L"vl::workflow::WfTopQualifiedExpression::name", + L"vl::workflow::WfTopQualifiedType::name", + L"vl::workflow::WfTryStatement::catchStatement", + L"vl::workflow::WfTryStatement::finallyStatement", + L"vl::workflow::WfTryStatement::name", + L"vl::workflow::WfTryStatement::protectedStatement", + L"vl::workflow::WfTypeCastingExpression::expression", + L"vl::workflow::WfTypeCastingExpression::strategy", + L"vl::workflow::WfTypeCastingExpression::type", + L"vl::workflow::WfTypeOfExpressionExpression::expression", + L"vl::workflow::WfTypeOfTypeExpression::type", + L"vl::workflow::WfTypeTestingExpression::expression", + L"vl::workflow::WfTypeTestingExpression::test", + L"vl::workflow::WfTypeTestingExpression::type", + L"vl::workflow::WfUnaryExpression::op", + L"vl::workflow::WfUnaryExpression::operand", + L"vl::workflow::WfVariableDeclaration::expression", + L"vl::workflow::WfVariableDeclaration::type", + L"vl::workflow::WfVariableStatement::variable", + L"vl::workflow::WfVirtualCfeDeclaration::expandedDeclarations", + L"vl::workflow::WfVirtualCfeExpression::expandedExpression", + L"vl::workflow::WfVirtualCseDeclaration::expandedDeclarations", + L"vl::workflow::WfVirtualCseExpression::expandedExpression", + L"vl::workflow::WfVirtualCseStatement::expandedStatement", + L"vl::workflow::WfWhileStatement::condition", + L"vl::workflow::WfWhileStatement::statement", + }; + vl::vint index = (vl::vint)field; + return 0 <= index && index < 197 ? results[index] : nullptr; + } - vl::Ptr WorkflowAstInsReceiver::ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) - { - auto cppTypeName = WorkflowCppTypeName((WorkflowClasses)type); - return vl::glr::AssemblyThrowTypeNotAllowAmbiguity(type, cppTypeName); - } + vl::Ptr WorkflowAstInsReceiver::ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) + { + auto cppTypeName = WorkflowCppTypeName((WorkflowClasses)type); + return vl::glr::AssemblyThrowTypeNotAllowAmbiguity(type, cppTypeName); } } @@ -43329,423 +43287,420 @@ Licensed under https://github.com/vczh-libraries/License ***********************************************************************/ -namespace vl +namespace vl::workflow { - namespace workflow + bool WorkflowTokenDeleter(vl::vint token) { - bool WorkflowTokenDeleter(vl::vint token) + switch((WorkflowTokens)token) { - switch((WorkflowTokens)token) - { - case WorkflowTokens::COMMENT: - case WorkflowTokens::SPACE: - return true; - default: - return false; - } + case WorkflowTokens::COMMENT: + case WorkflowTokens::SPACE: + return true; + default: + return false; } + } - const wchar_t* WorkflowTokenId(WorkflowTokens token) - { - static const wchar_t* results[] = { - L"EXP", - L"ADD", - L"SUB", - L"MUL", - L"DIV", - L"MOD", - L"JOIN", - L"INTERSECTION", - L"LE", - L"GE", - L"LT", - L"GT", - L"EQ", - L"NE", - L"ASSIGN", - L"FAILED_THEN", - L"QUESTION_MARK", - L"SCOPE_DELIMITER", - L"COLON", - L"SEMICOLON", - L"COMMA", - L"DOT", - L"OPEN_ARRAY", - L"CLOSE_ARRAY", - L"OPEN_BRACE", - L"CLOSE_BRACE", - L"OPEN_BRACKET", - L"CLOSE_BRACKET", - L"AT", - L"TYPE_VOID", - L"TYPE_OBJECT", - L"TYPE_INTERFACE", - L"TYPE_INT", - L"TYPE_UINT", - L"TYPE_FLOAT", - L"TYPE_DOUBLE", - L"TYPE_STRING", - L"TYPE_CHAR", - L"TYPE_BOOL", - L"KEYWORD_CONST", - L"KEYWORD_SHL", - L"KEYWORD_SHR", - L"KEYWORD_XOR", - L"KEYWORD_AND", - L"KEYWORD_OR", - L"KEYWORD_NOT", - L"KEYWORD_NULL", - L"KEYWORD_THIS", - L"KEYWORD_TRUE", - L"KEYWORD_FALSE", - L"KEYWORD_LET", - L"KEYWORD_IN", - L"KEYWORD_RANGE", - L"KEYWORD_NEW", - L"KEYWORD_OF", - L"KEYWORD_AS", - L"KEYWORD_IS", - L"KEYWORD_CAST", - L"KEYWORD_FUNC", - L"KEYWORD_TYPEOF", - L"KEYWORD_TYPE", - L"KEYWORD_BIND", - L"KEYWORD_OBSERVE", - L"KEYWORD_ON", - L"KEYWORD_ATTACH", - L"KEYWORD_DETACH", - L"KEYWORD_GOTO", - L"KEYWORD_VAR", - L"KEYWORD_BREAK", - L"KEYWORD_CONTINUE", - L"KEYWORD_RETURN", - L"KEYWORD_DELETE", - L"KEYWORD_RAISE", - L"KEYWORD_IF", - L"KEYWORD_ELSE", - L"KEYWORD_SWITCH", - L"KEYWORD_CASE", - L"KEYWORD_DEFAULT", - L"KEYWORD_WHILE", - L"KEYWORD_FOR", - L"KEYWORD_REVERSED", - L"KEYWORD_TRY", - L"KEYWORD_CATCH", - L"KEYWORD_FINALLY", - L"KEYWORD_CLASS", - L"KEYWORD_ENUM", - L"KEYWORD_FLAGENUM", - L"KEYWORD_STRUCT", - L"KEYWORD_PROP", - L"KEYWORD_EVENT", - L"KEYWORD_STATIC", - L"KEYWORD_OVERRIDE", - L"KEYWORD_USING", - L"KEYWORD_NAMESPACE", - L"KEYWORD_MODULE", - L"KEYWORD_UNIT", - L"STATE_MACHINE", - L"STATE_INPUT", - L"STATE_SWITCH", - L"STATE_GOTO", - L"STATE_PUSH", - L"STATE_DECL", - L"COROUTINE_COROUTINE", - L"COROUTINE_PAUSE", - L"COROUTINE_INTERFACE", - L"COROUTINE_OPERATOR", - L"COROUTINE_SIGN", - L"NAME", - L"ORDERED_NAME", - L"FLOAT", - L"INTEGER", - L"STRING", - L"FORMATSTRING", - L"SPACE", - L"COMMENT", - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < WorkflowTokenCount ? results[index] : nullptr; - } + const wchar_t* WorkflowTokenId(WorkflowTokens token) + { + static const wchar_t* results[] = { + L"EXP", + L"ADD", + L"SUB", + L"MUL", + L"DIV", + L"MOD", + L"JOIN", + L"INTERSECTION", + L"LE", + L"GE", + L"LT", + L"GT", + L"EQ", + L"NE", + L"ASSIGN", + L"FAILED_THEN", + L"QUESTION_MARK", + L"SCOPE_DELIMITER", + L"COLON", + L"SEMICOLON", + L"COMMA", + L"DOT", + L"OPEN_ARRAY", + L"CLOSE_ARRAY", + L"OPEN_BRACE", + L"CLOSE_BRACE", + L"OPEN_BRACKET", + L"CLOSE_BRACKET", + L"AT", + L"TYPE_VOID", + L"TYPE_OBJECT", + L"TYPE_INTERFACE", + L"TYPE_INT", + L"TYPE_UINT", + L"TYPE_FLOAT", + L"TYPE_DOUBLE", + L"TYPE_STRING", + L"TYPE_CHAR", + L"TYPE_BOOL", + L"KEYWORD_CONST", + L"KEYWORD_SHL", + L"KEYWORD_SHR", + L"KEYWORD_XOR", + L"KEYWORD_AND", + L"KEYWORD_OR", + L"KEYWORD_NOT", + L"KEYWORD_NULL", + L"KEYWORD_THIS", + L"KEYWORD_TRUE", + L"KEYWORD_FALSE", + L"KEYWORD_LET", + L"KEYWORD_IN", + L"KEYWORD_RANGE", + L"KEYWORD_NEW", + L"KEYWORD_OF", + L"KEYWORD_AS", + L"KEYWORD_IS", + L"KEYWORD_CAST", + L"KEYWORD_FUNC", + L"KEYWORD_TYPEOF", + L"KEYWORD_TYPE", + L"KEYWORD_BIND", + L"KEYWORD_OBSERVE", + L"KEYWORD_ON", + L"KEYWORD_ATTACH", + L"KEYWORD_DETACH", + L"KEYWORD_GOTO", + L"KEYWORD_VAR", + L"KEYWORD_BREAK", + L"KEYWORD_CONTINUE", + L"KEYWORD_RETURN", + L"KEYWORD_DELETE", + L"KEYWORD_RAISE", + L"KEYWORD_IF", + L"KEYWORD_ELSE", + L"KEYWORD_SWITCH", + L"KEYWORD_CASE", + L"KEYWORD_DEFAULT", + L"KEYWORD_WHILE", + L"KEYWORD_FOR", + L"KEYWORD_REVERSED", + L"KEYWORD_TRY", + L"KEYWORD_CATCH", + L"KEYWORD_FINALLY", + L"KEYWORD_CLASS", + L"KEYWORD_ENUM", + L"KEYWORD_FLAGENUM", + L"KEYWORD_STRUCT", + L"KEYWORD_PROP", + L"KEYWORD_EVENT", + L"KEYWORD_STATIC", + L"KEYWORD_OVERRIDE", + L"KEYWORD_USING", + L"KEYWORD_NAMESPACE", + L"KEYWORD_MODULE", + L"KEYWORD_UNIT", + L"STATE_MACHINE", + L"STATE_INPUT", + L"STATE_SWITCH", + L"STATE_GOTO", + L"STATE_PUSH", + L"STATE_DECL", + L"COROUTINE_COROUTINE", + L"COROUTINE_PAUSE", + L"COROUTINE_INTERFACE", + L"COROUTINE_OPERATOR", + L"COROUTINE_SIGN", + L"NAME", + L"ORDERED_NAME", + L"FLOAT", + L"INTEGER", + L"STRING", + L"FORMATSTRING", + L"SPACE", + L"COMMENT", + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < WorkflowTokenCount ? results[index] : nullptr; + } - const wchar_t* WorkflowTokenDisplayText(WorkflowTokens token) - { - static const wchar_t* results[] = { - L"^", - L"+", - L"-", - L"*", - L"/", - L"%", - L"&", - L"|", - L"<=", - L">=", - L"<", - L">", - L"==", - L"!=", - L"=", - L"??", - L"?", - L"::", - L":", - L";", - L",", - L".", - L"[", - L"]", - L"{", - L"}", - L"(", - L")", - L"@", - L"void", - L"object", - L"interface", - L"int", - L"uint", - L"float", - L"double", - L"string", - L"char", - L"bool", - L"const", - L"shl", - L"shr", - L"xor", - L"and", - L"or", - L"not", - L"null", - L"this", - L"true", - L"false", - L"let", - L"in", - L"range", - L"new", - L"of", - L"as", - L"is", - L"cast", - L"func", - L"typeof", - L"type", - L"bind", - L"observe", - L"on", - L"attach", - L"detach", - L"goto", - L"var", - L"break", - L"continue", - L"return", - L"delete", - L"raise", - L"if", - L"else", - L"switch", - L"case", - L"default", - L"while", - L"for", - L"reversed", - L"try", - L"catch", - L"finally", - L"class", - L"enum", - L"flagenum", - L"struct", - L"prop", - L"event", - L"static", - L"override", - L"using", - L"namespace", - L"module", - L"unit", - L"$state_machine", - L"$state_input", - L"$switch", - L"$goto_state", - L"$push_state", - L"$state", - L"$coroutine", - L"$pause", - L"$interface", - nullptr, - L"$", - nullptr, - nullptr, - nullptr, - nullptr, - nullptr, - nullptr, - nullptr, - nullptr, - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < WorkflowTokenCount ? results[index] : nullptr; - } + const wchar_t* WorkflowTokenDisplayText(WorkflowTokens token) + { + static const wchar_t* results[] = { + L"^", + L"+", + L"-", + L"*", + L"/", + L"%", + L"&", + L"|", + L"<=", + L">=", + L"<", + L">", + L"==", + L"!=", + L"=", + L"??", + L"?", + L"::", + L":", + L";", + L",", + L".", + L"[", + L"]", + L"{", + L"}", + L"(", + L")", + L"@", + L"void", + L"object", + L"interface", + L"int", + L"uint", + L"float", + L"double", + L"string", + L"char", + L"bool", + L"const", + L"shl", + L"shr", + L"xor", + L"and", + L"or", + L"not", + L"null", + L"this", + L"true", + L"false", + L"let", + L"in", + L"range", + L"new", + L"of", + L"as", + L"is", + L"cast", + L"func", + L"typeof", + L"type", + L"bind", + L"observe", + L"on", + L"attach", + L"detach", + L"goto", + L"var", + L"break", + L"continue", + L"return", + L"delete", + L"raise", + L"if", + L"else", + L"switch", + L"case", + L"default", + L"while", + L"for", + L"reversed", + L"try", + L"catch", + L"finally", + L"class", + L"enum", + L"flagenum", + L"struct", + L"prop", + L"event", + L"static", + L"override", + L"using", + L"namespace", + L"module", + L"unit", + L"$state_machine", + L"$state_input", + L"$switch", + L"$goto_state", + L"$push_state", + L"$state", + L"$coroutine", + L"$pause", + L"$interface", + nullptr, + L"$", + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < WorkflowTokenCount ? results[index] : nullptr; + } - const wchar_t* WorkflowTokenRegex(WorkflowTokens token) - { - static const wchar_t* results[] = { - L"/^", - L"/+", - L"-", - L"/*", - L"//", - L"%", - L"&", - L"/|", - L"//=", - L"/<", - L"/>", - L"/=/=", - L"/!/=", - L"/=", - L"/?/?", - L"/?", - L"::", - L":", - L";", - L",", - L".", - L"/[", - L"/]", - L"/{", - L"/}", - L"/(", - L"/)", - L"@", - L"void", - L"object", - L"interface", - L"int", - L"uint", - L"float", - L"double", - L"string", - L"char", - L"bool", - L"const", - L"shl", - L"shr", - L"xor", - L"and", - L"or", - L"not", - L"null", - L"this", - L"true", - L"false", - L"let", - L"in", - L"range", - L"new", - L"of", - L"as", - L"is", - L"cast", - L"func", - L"typeof", - L"type", - L"bind", - L"observe", - L"on", - L"attach", - L"detach", - L"goto", - L"var", - L"break", - L"continue", - L"return", - L"delete", - L"raise", - L"if", - L"else", - L"switch", - L"case", - L"default", - L"while", - L"for", - L"reversed", - L"try", - L"catch", - L"finally", - L"class", - L"enum", - L"flagenum", - L"struct", - L"prop", - L"event", - L"static", - L"override", - L"using", - L"namespace", - L"module", - L"unit", - L"/$state_machine", - L"/$state_input", - L"/$switch", - L"/$goto_state", - L"/$push_state", - L"/$state", - L"/$coroutine", - L"/$pause", - L"/$interface", - L"/$[A-Z]/w*", - L"/$", - L"[a-zA-Z_]/w*", - L"/$[0-9]*", - L"/d+./d+", - L"/d+", - L"\'([^\'\\\\]|\\\\\\.)*\'|\"([^\"\\\\]|\\\\\\.)*\"", - L"/$(\'([^\'\\\\]|\\\\\\.)*\'|\"([^\"\\\\]|\\\\\\.)*\")", - L"/s+", - L"///*([^*]|/*+[^//])*/*+//", - }; - vl::vint index = (vl::vint)token; - return 0 <= index && index < WorkflowTokenCount ? results[index] : nullptr; - } + const wchar_t* WorkflowTokenRegex(WorkflowTokens token) + { + static const wchar_t* results[] = { + L"/^", + L"/+", + L"-", + L"/*", + L"//", + L"%", + L"&", + L"/|", + L"//=", + L"/<", + L"/>", + L"/=/=", + L"/!/=", + L"/=", + L"/?/?", + L"/?", + L"::", + L":", + L";", + L",", + L".", + L"/[", + L"/]", + L"/{", + L"/}", + L"/(", + L"/)", + L"@", + L"void", + L"object", + L"interface", + L"int", + L"uint", + L"float", + L"double", + L"string", + L"char", + L"bool", + L"const", + L"shl", + L"shr", + L"xor", + L"and", + L"or", + L"not", + L"null", + L"this", + L"true", + L"false", + L"let", + L"in", + L"range", + L"new", + L"of", + L"as", + L"is", + L"cast", + L"func", + L"typeof", + L"type", + L"bind", + L"observe", + L"on", + L"attach", + L"detach", + L"goto", + L"var", + L"break", + L"continue", + L"return", + L"delete", + L"raise", + L"if", + L"else", + L"switch", + L"case", + L"default", + L"while", + L"for", + L"reversed", + L"try", + L"catch", + L"finally", + L"class", + L"enum", + L"flagenum", + L"struct", + L"prop", + L"event", + L"static", + L"override", + L"using", + L"namespace", + L"module", + L"unit", + L"/$state_machine", + L"/$state_input", + L"/$switch", + L"/$goto_state", + L"/$push_state", + L"/$state", + L"/$coroutine", + L"/$pause", + L"/$interface", + L"/$[A-Z]/w*", + L"/$", + L"[a-zA-Z_]/w*", + L"/$[0-9]*", + L"/d+./d+", + L"/d+", + L"\'([^\'\\\\]|\\\\\\.)*\'|\"([^\"\\\\]|\\\\\\.)*\"", + L"/$(\'([^\'\\\\]|\\\\\\.)*\'|\"([^\"\\\\]|\\\\\\.)*\")", + L"/s+", + L"///*([^*]|/*+[^//])*/*+//", + }; + vl::vint index = (vl::vint)token; + return 0 <= index && index < WorkflowTokenCount ? results[index] : nullptr; + } - void WorkflowLexerData(vl::stream::IStream& outputStream) - { - static const vl::vint dataLength = 5338; // 106036 bytes before compressing - static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 218; - static const vl::vint dataSolidRows = 20; - static const vl::vint dataRows = 21; - static const char* compressed[] = { - "\x34\x9E\x01\x00\xD2\x14\x00\x00\x7E\x01\x00\x00\x04\x22\x85\x82\x81\x21\x05\x81\x82\x88\x05\x81\x05\x87\x82\x0A\x10\x85\x8B\x05\x84\x05\x83\x06\x17\x85\x8E\x05\x8F\x0D\x80\x10\x8F\x05\xA1\x21\x85\x82\x14\x91\x83\x11\x27\x85\xA4\x0A\x95\x85\x11\x97\x82\x26\x30\x85\x87\x13\x9D\x80\x14\x9B\x05\xA9\x39\x85\x8A\x14\x9D\x83\x15\x3F\x85\xAC\x02\xA5\x85\x15\xA3\x82\x2E\x48\x85\x8F\x1B\xA5\x80\x19\x82\x39\x05\xBA\x12\xA5\x83\x1D\xAB\x82\x3C\x58\x85\x9D\x1B\xAD\x82\x1E\xAF\x05\xBF\x21\xA5\x80\x24\xB1\x83\x20\x05\xDA\x05\x9B\x2B\xB5\x80\x2E\xB7\x05\xDD\x31\xA5\x8E\x2C\xB9\x83\x2F\x77\x85\xA0\x3A\xB5\x81\x31\xBF\x82\x62\x00\xC5\x83\x33\xC5\x80\x32\xC3\x05\xE5\x09\xC5\x86\x34\xC5\x83\x33\x8F\x85\xA8\x32\xC5\x81\x35\xCB\x82\x6A\x18\xC5\x8B\x3B\xCD\x80\x36\xCF\x05\xED\x21\xC5\x8E\x34\xD1\x83\x37\xA7\x85\xB0\x2A\xD5\x81\x39\xD7\x82\x72\x30\xC5\x93\x33\xDD\x80\x3A\xDB\x05\xF5\x39\xC5\x86\x3C\xDD\x83\x3B\xBF\x85\xB8\x22\xE5\x81\x3D\xE3\x82\x7A\x48\xC5\x9B\x3B\xE5\x80\x3E\xE7\x05\xFD\x11\xE5\x8E\x3D\x83\x7F\x7F\x10\x00\x17\xF7", - "\xE2\x1D\x81\xEE\x81\xDB\xFF\x5F\xFA\xEB\xEB\xF2\x8A\x81\x31\x56\xDB\xE6\xA2\x86\x01\x83\x03\x4E\x85\x96\x05\x87\x0D\x80\x03\x82\x02\x05\x99\xE2\x83\x05\x81\x09\x82\x05\x0D\x52\x43\x46\x02\x4F\x0F\x42\x40\x14\x42\x41\x46\x40\x18\x42\x48\x06\x52\x02\x52\x0A\x7B\x75\x13\x09\x40\x84\x79\xD7\x68\x42\x42\x48\x02\x5F\x42\x42\x07\x3B\x42\x4D\x04\x4E\x02\x49\x52\x43\x06\x17\xA6\x80\x01\x4C\x02\x43\x52\x43\x4A\x02\x5A\x01\x51\x89\x35\x42\x4D\x46\x40\x2E\x42\x4C\x05\x41\x19\x3E\x42\x41\x49\x34\x81\x90\x00\x05\x05\x4C\x42\x41\x05\x13\xA1\x7A\x93\x92\x4C\x8D\x9E\x93\x93\x50\x91\x92\x97\x94\x54\x95\x96\x97\x95\x58\x99\x9A\x97\x96\x5C\x9D\x9E\x97\x97\x60\xA1\x92\x9B\x98\x64\xA5\x96\x9B\x99\x68\xA9\x9A\x9B\x9A\x6C\xAD\x9E\x9B\x9B\x70\xB1\x92\x9F\x9C\x74\xA8\x93\x0D\x92\x75\xB9\x9A\x9F\x9E\x7C\xBD\x9E\x9F\x9F\x80\x81\xA2\xA3\xA0\x84\x85\xA6\xA3\xA1\x88\x89\xAA\xA2\x9A\x34\x38\x9B\xA3\xA3\x90\x83\xA5\x0E\xA3\x91\x95\xA6\xA5\x9E\x36\x14\xA7\xA7\xA6\x9C\xAC\x97\x0E\xA6\x9D\xA1\xA2\xAA\x9A\x38\x20\xA3\xAB\xA9\xA7\x91\x50\x78\xAA", - "\xAC\xAD\xAE\xAB\xAB\xB0\xB1\xA2\xAF\xAC\xB4\xB5\xA6\xAF\xAD\xB8\xB9\xAA\xAF\xAE\xBC\xBD\xAE\xAF\xAF\xC0\x81\xB2\xB3\xB0\xC4\x85\xB6\xB3\xB1\xC8\x89\xBC\x91\x56\xAB\x9F\x9C\xB0\x86\x52\x8F\xB1\x7A\x55\x02\x4F\xB6\xB6\x56\xD5\x98\xB0\x03\xB5\xD9\x9D\xBB\xB6\xB6\xCF\x93\x5E\xB4\xB7\xDF\xA3\xB0\xBB\xB9\xDE\x86\xB2\xB4\x98\xEB\x93\x9D\xBB\x3F\xCF\x9C\x56\xBA\xB7\x62\x73\xB5\xBB\xBD\xE4\x8F\xB5\x5A\xBD\xCF\x9F\x5C\xBF\x59\xE8\xB8\xB6\xA8\xAF\xEF\x9D\x95\xC0\x94\xEF\xB9\xB1\xC0\x41\xFF\x8D\xC7\xBE\x10\x01\xE4\xB8\x42\xC3\x0A\xE9\xB5\xB3\xC1\x5B\x98\xCE\x91\xC2\x11\xDD\xCE\xB5\x11\x1E\xF7\xB7\x11\xC8\xCF\x86\x14\xC9\xC8\xEA\x83\xC6\x96\xC6\x4D\xAF\xB9\x13\xC9\x0E\xCC\x11\xC0\x12\x01\xCB\x10\xCF\xBD\x4A\x37\xCC\xC9\xAF\x3B\xD7\x9D\xCE\x92\x1C\xCE\xCE\x12\xCE\x37\xCD\x14\xD0\xC5\x01\xE9\xCD\xB2\x97\x3F\xE1\x71\xD2\xC0\x48\xC2\x40\x17\xD1\x50\xD5\xD4\xBB\x13\x01\xD1\x18\xCB\xC5\x2A\xD5\x9D\xD3\x76\xEF\x94\x14\xD7\xB3\x52\x21\xC5\x15\xC0\x53\x23\xD4\xD6\xD2\xD0\x86\xCD\xD4\xD8\x49\x95\xC6\xD5\xC0\x57\x14\xD6\x15\xC0\x58", - "\x2A\xD6\xBC\xDB\x61\x9F\xD7\x77\xD3\x72\xC1\xEA\xDC\x00\x59\x03\xE2\xE2\xC5\xC4\xBE\xD1\xB7\xDB\x7F\xF1\xD6\xE0\xD5\x6A\x51\xD0\x00\x5B\x02\x6F\x52\xE4\xB9\x7C\xEC\xBC\xE0\xBC\x49\xBB\x5E\xC0\x5E\x97\xF7\xC2\x5D\xE8\x02\x75\x54\xE9\xDB\xC1\x8A\xE1\x96\xE2\x80\xD4\xDE\x5F\xE9\x87\xC0\x01\x60\xEC\x85\x48\xE3\xB2\xEA\x08\xDB\xED\xEA\xBD\x87\x74\xEE\xEF\xDC\xBF\xD9\xEE\xB2\xEE\x49\x8A\x6E\xC1\x63\xBF\xF1\xEA\xF3\xE0\xC2\xCC\xD4\xF3\xD2\xCB\xC9\xF1\xC0\x64\xD2\xD2\xED\xF2\xDB\x4B\xEB\xEE\xE1\xF5\xC0\xC0\x03\x66\xB7\x96\x5C\xF9\x66\xF5\x5C\xD9\xFC\x94\xEB\xDB\xDD\xF2\xDC\x67\xDC\xD1\xFA\xF9\xD2\xE5\xE8\xE9\xC7\xF3\xD0\xAE\xF6\xFF\xE0\x9F\x6D\xFB\xE6\xAD\xB8\xCF\x98\xF8\xF4\x8F\x7F\x76\x68\x7A\x7E\x60\x3E\x7D\x36\x7C\x4F\x5A\x34\x02\xDE\x47\x37\x05\x99\x4C\x36\x0E\x9C\x4A\x6B\x11\x87\x3A\xD4\x0B\x69\x36\x14\x92\x4B\x6A\x0B\x85\x35\x0C\x8A\x5A\x7B\x1E\x94\x4B\xFF\x75\x71\x81\xF7\x44\x86\x84\x55\x7E\x57\x70\x4B\x60\x39\x10\x9F\x85\x4F\xC6\x22\x21\x0C\x80\x03\x87\x1A\x87\x3A\x86\x37\x94\x85\x0E\xB6\x88\x86\x81\x0C\x3D", - "\x87\x3A\x80\x88\x0F\xC1\x84\x89\x21\x86\x8B\x87\x48\x82\x8A\x72\x4A\x8C\x89\x22\x89\x8E\x89\x4D\x87\x89\x14\xCF\x82\x8A\x28\x96\x8D\x8A\x58\x89\x4B\x73\x02\x2B\x8A\x00\x1D\x8F\x8B\xD0\x3C\x89\x18\x80\x05\x3A\x31\xA6\x8E\x8B\x63\x80\x8F\x19\xEA\x88\x8D\x35\xA9\x8F\x8D\x6E\x91\x8D\x1B\xF3\x8D\x8A\xE9\x32\x8C\x8D\x78\x90\x8C\x1D\xFA\x89\x8F\x3B\xBC\x8F\x8F\x7E\x81\x93\x1E\xE7\x8D\x49\x3F\x05\x26\x90\x4B\x68\x90\xB4\x0A\x9F\x85\x46\x94\x48\x10\x05\x30\x92\x40\x12\x90\x00\x4A\x96\x91\x92\x98\x93\x91\x26\x95\x9B\x93\x4B\x9A\x97\x93\x00\x01\x11\x27\xA3\x90\x94\x4F\x9C\x95\x94\xA4\x87\x96\x2A\xA6\x9C\x95\x54\xAD\x90\x95\xB0\x8B\x96\x2B\xB3\x91\x97\x57\xB2\x95\x96\xB4\x8A\x96\x23\xBB\x9C\x97\x5E\xBE\x97\x97\xC0\x81\x9A\x30\xC3\x94\x99\x62\x86\x9F\x98\x1B\x7B\x7D\xEE\x2E\x8C\x72\x00\x9C\x7A\x10\x25\x97\x7C\xF9\x09\x7A\x98\xFF\x74\x7E\x69\xD1\x99\x9A\x40\x03\x1A\x9A\xF9\x7F\x55\x7F\xC9\x8C\x9B\xEE\x28\x82\x9A\x72\x9D\x98\x9C\xB2\x48\x9F\xB2\x57\x90\x6F\x13\x84\x15\x9B\x85\x05\x87\xF5\x67\x7C\x9D\xC6\x67\x85\x9C\xF8\x97", - "\x67\x3C\xF3\x72\x9D\xF4\x79\x9F\x9E\xE7\x95\x9B\xAC\x6A\x9B\x49\x11\x98\x98\xA0\x08\xA6\x9F\xDE\x71\x7D\x6F\x7A\x8D\x9D\x7B\x86\x01\xA1\x42\xF2\x6B\x9E\x2D\x46\xA5\x9D\x0A\xB9\xA3\x3F\xF7\x57\x10\xE6\x4C\xA2\x73\xFD\x8E\x9A\x46\x92\xA3\xA5\x69\xB7\x72\xA0\x2D\x6E\xA3\x46\xAB\xA4\xA4\xCC\x5F\xA3\x78\x21\xA4\x87\x44\x81\x68\x11\x96\xB0\x7C\x9A\xCC\x80\x86\x37\xA9\xA2\xA5\x8D\x89\x16\xA6\xDC\x75\xA1\x96\x17\xA6\x9F\x92\xB7\x5A\x11\x40\xA6\xA8\x41\xAF\x5B\xA9\x83\xBB\xA3\x9D\x4B\x6C\x11\x52\xF2\x6B\x11\xA9\xA8\xA1\x56\x4D\xB8\xA2\xD7\x7E\x94\xA5\x46\x16\xAD\x80\x2F\xAE\x79\x4C\xCE\xAC\xA4\xC9\x4E\x17\xAB\xF7\x42\xA8\x96\x44\xAF\xA1\xB2\x8A\xAA\x5B\x8F\x1D\x9A\x5A\xBE\x6A\xA4\xB4\x8F\x58\x12\x76\xB7\xA8\xAC\x59\xA5\xA9\xAD\xBD\xA1\xAF\xBF\x71\x13\xDA\x61\xA8\x7B\xA7\x85\xA4\xAB\x0E\x74\x10\xD5\x13\x15\x84\x49\x1E\xA0\xA7\x86\xAB\x66\x43\x96\x10\xB0\x14\x95\x12\xAE\x84\xB4\x9F\x58\x98\xAE\xAC\x72\x57\x14\x6A\x98\x18\xB0\x64\x8D\xAB\xB3\xA2\x9B\xA1\x13\x95\xAE\x7F\x5C\x92\xB5\xB5\x7F\x1A\x11\xB5\x95\xAB\xB6\x5F\x91", - "\xBE\xA8\xB2\xA8\xAB\x13\xB1\xB9\xB0\x3F\xB4\xBA\xAA\xCE\xB0\xB6\x61\x9C\x05\x21\x27\x0F\xB7\xA5\x9C\x8B\x9C\xB7\x7D\xBB\x3A\x27\x3F\xBF\xAD\xD3\x72\xB2\x84\x75\xB3\xA6\xC3\x1F\x18\xAD\xE7\xAE\x59\xBA\xCD\xB9\xA0\x28\x39\xB3\xB4\x90\x88\xBF\xA1\xB6\xB6\x5D\x28\x4C\xBE\xAC\xEB\x8B\x75\xB5\x9D\xBD\x9A\x28\x22\xB5\xB9\xEF\xBA\xA3\xB6\xE1\xB7\x5F\x28\x64\xBC\xBC\x61\x7C\xA8\xBC\xD0\xBF\xAE\x74\xD9\xBB\xA2\xF3\xAF\xB9\xBF\x32\xBC\xBD\x52\xA4\x14\xB8\xFB\xBA\xA8\x68\xD8\xA9\xBD\x42\xA5\x15\xC1\xD4\x47\xC5\xB6\x00\xD1\xBE\x82\x80\x06\x14\xFA\x86\xBC\x56\xF7\xAC\xAF\x84\x9B\xC1\x65\x53\x1B\x6D\xBB\x30\xBF\xBB\x38\x9C\xC2\x20\x54\x0C\xBE\xBF\xC7\xB0\xBE\x6F\xBF\x79\x14\x0B\xDD\x78\xC5\xD6\x88\xBE\x8B\xEE\x7A\x15\x90\x6B\x12\x5B\x30\xC1\x9E\x88\x88\xB2\xC1\xD3\x6C\x11\xA9\x39\xDC\xA7\x8E\xFA\xBD\xC7\x22\xCF\x5D\x15\x0D\xC0\x59\x86\x89\xC3\x71\x57\x37\x66\x15\xDC\xAD\xBC\x69\xC3\xC1\xC0\x12\xC5\xC8\x16\xDA\x51\x16\x3E\xBA\xB6\xA2\x26\xFB\xBB\xA3\xB2\x09\xCB\x37\x8F\xCD\xB7\xEB\x84\xCE\xCA\xE5\x93\x16\x3C\xDC\xC3\xA8\x2F", - "\xC6\xCC\xA4\xB4\x03\xB0\x88\xE2\xA4\xCA\x09\xDA\x5D\x16\x33\xC2\xCE\xAF\x4B\xC2\xC6\xEE\x76\x11\xCF\x0B\xB3\xCD\x61\xAA\xC6\xB5\xCA\xB7\x15\xBA\x6C\xCB\xAE\x9B\xCF\x58\x16\x40\xD9\xB8\x99\x2F\x99\x16\xA6\x3A\x14\xCC\x48\xE3\x53\x17\x95\xD6\xD1\x9F\x3D\x19\xD3\x3A\x7C\x15\xD3\x9A\xCC\x56\x2F\x20\xD1\xD4\x5F\x7F\x14\xD4\xC3\x80\x19\xA6\xAA\xDC\x98\x56\xD0\x5E\xD5\xB0\xC5\x21\xAC\x82\x23\xD6\x00\x35\xD7\xD6\xB2\xD9\xD4\xAD\xBA\xD6\xD6\x5E\xF8\xD3\xD7\xC0\xDD\xD5\xB0\xAE\xD6\x59\x06\xAE\xBD\xD4\x61\x41\x19\x41\x4A\xD2\x20\x66\xC0\x06\xD9\xD0\xCB\xDA\xB4\xCD\xD3\xDB\x67\xD5\xDE\xD9\xC3\x17\xDA\xB6\xD4\xDC\xDA\x6B\xDD\xD9\xDA\xDF\xDB\xDA\xB7\xE3\xD0\xDC\x00\x02\x1A\xDC\xE5\xC9\xDC\xBA\xEB\xD1\xDD\x76\xE4\xDC\xDD\xEF\xCE\xDE\xBA\xF2\xD2\xDD\xF0\x04\x1D\x20\xF7\xC2\x21\xBE\x80\x0B\xDF\x7E\xF8\xDF\xDF\x02\x26\x18\xC0\xFC\xD3\xE0\x7F\xFA\xDD\xE0\x08\xE7\xE2\xC2\x84\xEB\xE0\x83\xCC\xE7\xE1\x0E\xF1\xE1\x41\x45\x19\xE0\x88\xD5\xE2\xE2\x0D\xF7\xE2\xC6\x99\xEC\xE2\x8B\xDD\xE0\xE3\x1E\xE1\xE6\xC3\xAE\x5B\x84\x68\x6D\x87\xD8", - "\xC8\xCF\x87\x31\x28\xD9\xE4\x28\x59\x8B\x8A\x30\xF7\x89\x73\x31\xEF\xE4\x99\xF4\xE4\x8A\x39\x89\x3B\xCD\xBB\xE6\xE7\x9E\xF5\xE7\xE7\x38\xFC\xE5\xCD\xE1\x38\x19\x82\x05\xEA\x20\x47\xE0\x01\xD2\xCB\xE6\xE9\xA6\xC8\xEE\xE9\x4A\xF0\xE8\xD3\xCF\xE4\xEB\xA8\xD5\xEB\xEA\x56\xF9\xE8\xD6\xDB\xE2\xEB\xAE\xD7\xEE\xEB\x5A\xE0\xEC\xD7\xDF\xE4\xED\xB0\xE5\xEB\xEC\x66\xE9\xEC\xDA\xEB\xE2\xEC\x96\xED\xE3\x58\x7D\x83\x92\xDC\xDD\x85\x8D\xB9\xC0\x96\xEE\x82\x91\xEE\xDE\xF7\xE5\x8E\xBE\xFE\xE9\xEF\x7F\xF8\xEE\xE0\xFB\xE0\xF1\xC2\xD0\x59\x19\x05\x28\xF2\x40\x0A\xF0\x00\xC6\xCE\xF1\xF1\x90\xEB\xF1\xE4\x8D\xF3\xF3\xC7\xD2\xF7\xF2\x94\xF8\xF2\xE5\x99\xFC\xF3\xCD\xDE\xF5\xF2\xA0\xFA\xF1\xE8\x9D\xF3\xF5\xCF\xE2\xF7\xF4\xA4\xE8\xF6\xE9\xA9\xFC\xF5\xD5\xEE\xF5\xF4\x6E\xEF\xED\xB1\x0A\x9C\x91\xED\x35\xF7\x3A\xB7\xF2\xF7\xAF\x36\x9C\xF7\x5C\xBD\xF1\x96\xA2\x98\x96\xF0\xB7\x94\xF9\xDF\xC5\xFE\xF7\xC8\xE3\xFA\xF1\xCB\xF9\xF9\xE3\xCA\xF9\x95\xE1\x2B\x19\x41\x52\xF2\x20\xEA\xC0\x06\xFA\xD8\xF3\xFA\xF6\xD5\xFB\xFB\xEB\xDD\xF9\xFB\xDC\xE1\xFC", - "\x00\x4A\x1F\xFB\xF2\xC2\x24\x19\xE6\xFE\xFA\xF8\xE0\xFA\xFD\xF6\xEC\xFF\xFD\xE9\xF0\xFF\xFA\xF1\xF4\xFF\xF9\xF6\xFE\xFD\xF5\xF8\xFF\xFD\xF2\xFA\xFF\xF6\xFC\x79\xD3\x1A\x61\x30\xCD\x0E\x68\xFD\x59\x68\x74\x5D\x67\x6F\x6F\x65\x72\x62\x65\xDE\x54\x68\x6D\x51\x30\xCE\x04\x80\x0B\x86\x60\x17\x6A\x63\x0E\x81\x3B\xCF\x02\x81\xCE\x56\x80\xAC\x55\x67\x2B\x69\x80\x46\x50\x0D\xF5\x5E\x60\x15\x82\x64\x17\x81\x32\xD1\x0A\x81\x19\x51\x64\x50\x5E\x81\x85\x6A\x80\xBF\x32\x0D\x7A\x6C\x33\x00\x8B\x68\x49\x53\x0D\x51\x64\x81\x28\x76\x81\x11\x6F\x81\x68\x63\x38\xD4\x03\x83\x04\x35\x83\xAD\x55\x0D\x2A\x83\x61\x2C\x87\x58\x08\x8E\x3E\xD6\x07\x84\x37\x5C\x80\x21\x67\x82\x30\x86\x54\xD7\x0B\x66\x82\x6A\x59\x2E\x8F\x80\x02\x18\x0D\x4E\x81\x3C\x1C\x8E\x80\xFF\x5F\x82\x20\x8F\x83\x26\x5A\x83\x53\x6E\x80\xD9\x0D\x85\x45\x69\x84\x08\x68\x80\xDA\x0A\x86\x05\x87\x85\xBB\x5E\x80\xDB\x00\x87\x56\x80\x85\x74\x62\x85\xDD\x3C\x0D\x76\x80\x56\x72\x8D\x65\xAD\x5D\x0D\x7D\x8F\x68\x5F\x8D\x83\x66\x65\x65\x83\x3E\x0D\x68\x5F\x0D\x13\x84\x82\x3B\x86", - "\x82\x86\x8A\x85\x63\x85\x42\xE0\x02\x84\xBB\x2C\x67\x59\x84\x86\x93\x8B\x81\x7F\x8D\x66\x4B\x83\x88\xE5\x4C\x86\x10\x67\x88\x76\x63\x85\xEE\x31\x0E\x96\x8A\x2B\x98\x8A\x87\x9A\x8E\x3E\xE2\x03\x82\x4A\x64\x84\x99\x8A\x86\xE3\x05\x10\xE4\x09\x8A\xB9\x2B\x8A\x91\x81\x3B\xE6\x0E\x62\xE5\x08\x8B\xB8\x2A\x8B\xA4\x8F\x81\xE7\x00\x8A\x5B\x6D\x89\x8A\x6F\x89\xA6\x87\x33\xE8\x07\x87\x66\x8D\x80\xBB\x89\x54\xE9\x0E\x62\xA2\x85\x66\xE7\x58\x88\xDE\x2A\x0E\xC6\x8E\x87\x78\x83\x68\x91\x8B\x0E\xDB\x86\x54\xD5\x89\x5C\xC3\x82\x86\xAD\x89\x83\x8E\x87\x86\xD1\x8B\x8C\xEC\x89\x56\x85\x85\x8E\xD7\x81\x1E\xEC\x01\x8E\xA1\x8F\x8E\xF1\x8B\x8E\x9B\x89\x8F\xAA\x56\x8F\x61\x87\x8F\xE6\x8D\x4D\xED\x04\x8D\xFC\x89\x62\xF8\x87\x8E\xED\x87\x5F\xA7\x22\x8C\xFE\x82\x89\xE4\x2E\x0E\xF4\x88\x63\x03\x91\x63\xB3\x87\x90\x37\x3F\x0E\xCE\x89\x8E\xD0\x80\x8F\xB1\x30\x0F\x0F\x96\x3B\xCF\x81\x85\x05\x9D\x91\x28\x43\x8E\xF8\x5A\x91\x21\x31\x0F\x22\x98\x90\xA3\x2A\x90\xFD\x86\x90\xFA\x8F\x61\xDD\x88\x85\xAC\x87\x33\xF2\x01\x8E\x24\x91\x80\x14\x92\x39", - "\xF3\x07\x91\xB1\x85\x82\x2D\x83\x93\x39\x99\x51\xF4\x0D\x88\x3D\x9F\x88\x3F\x91\x92\xF6\x25\x0F\x29\x91\x7B\x97\x2C\x92\x04\x9F\x8F\x53\x86\x0F\x88\x68\x8C\x07\x83\x91\xDD\x37\x0F\x4B\x9E\x93\x7B\x52\x8B\x40\x99\x8F\xF8\x07\x62\x11\x9C\x83\x26\x9D\x8E\xF9\x08\x8E\x45\x9A\x8E\x63\x99\x8F\xFA\x02\x90\x54\x9D\x81\x5D\x9E\x92\xCF\x2B\x0F\x40\x61\x96\x90\x89\x96\x70\x93\x38\xFC\x04\x94\xBA\x79\x25\xFD\x0C\x94\x7B\x90\x4C\xFE\x0E\x97\x7F\x9A\x69\x82\x93\x98\xAC\x20\x00\x0A\x16\x98\x90\x61\x00\x89\x9A\x98\xC7\x22\x00\x8D\x9E\x98\xC5\x43\x00\x91\x97\x4C\xC4\x60\x26\x97\x93\x25\x99\x9F\x0F\xBF\x62\x6C\x9E\x9D\x99\xA0\x9E\x6B\xA2\x93\x6C\xA3\x9F\x99\xA5\x95\x6B\x59\x23\x6F\xF1\x6B\x9A\xAA\x9A\x9A\xD9\x64\x6F\xB0\x9C\x9A\xF0\x6D\x9A\xE2\x67\x6E\xB1\x94\x9B\xB7\x93\x9B\xBA\x99\x9B\xBC\x92\x9B\xBD\x91\x1E\x04\x0A\x10\xC1\x92\x10\xC3\x90\x00\xC5\x97\x9C\xC2\x99\x9C\xC4\x9A\x9C\xC6\x9C\x9C\xC8\x9B\x9C\xD0\x9D\x9C\xD1\x9F\x9C\xD2\x95\x9D\xD4\x97\x9D\xCE\x99\x9D\xD3\x9A\x9D\xD6\x9C\x9D\xD8\x9B\x9D\xE0\x9D\x9D\xE1\x9F\x9D\xE2", - "\x95\x9E\xE4\x97\x9E\xDE\x95\x99\x92\x92\x4C\x20\x7D\x9E\x03\x72\x70\x1F\x7B\x71\x22\x72\x9F\xEE\x91\x9F\xF6\x9F\x70\x14\x77\x9F\xF5\x93\x9F\xFA\x94\x9F\xFE\x9D\x9F\x00\xAC\x9F\x0F\x71\x1E\x05\x0A\x10\x05\xA2\x10\x07\xA0\x00\x09\xAB\xA0\x06\xAD\xA0\x08\xAE\xA0\x0A\xA0\xA1\x0C\xAF\xA0\x14\xA1\xA1\x15\xA3\xA1\x16\xA9\xA1\x18\xAB\xA1\x12\xAD\xA1\x17\xAE\xA1\x1A\xA0\xA2\x1C\xAF\xA1\x24\xA1\xA2\x25\xA3\xA2\x26\xA9\xA2\x28\xAB\xA2\x22\xAA\x9E\xEB\x9F\xA2\x84\x26\x00\x2E\xA0\xA3\x5C\x20\x74\x42\x71\x74\x00\x0F\x43\x3E\x78\xA3\x36\xAB\xA3\x4D\x4A\x73\x3E\xA1\xA4\x3D\xA3\xA4\x3C\xA5\xA4\x37\xAD\x44\xE1\x14\x78\x83\x74\x1D\x81\x7A\xA4\x4E\xAD\xA4\x50\xA2\x10\x76\x4B\xA4\x86\x7F\xA4\x55\xA1\xA5\x54\xA9\xA5\x71\x71\x1E\x08\x0A\x10\x5D\xAB\x10\x5E\xA1\xA6\x60\xA3\xA6\x00\x0F\xA5\x65\xA2\xA6\x67\xA4\xA6\x66\xAB\xA6\x68\xA7\x00\x68\xAC\xA6\x64\xA9\x00\x6F\xA3\xA7\x6A\xA4\xA7\x69\xA7\xA7\x70\xA8\xA7\x76\xA9\xA7\x7C\xAB\xA7\x7E\xA5\xA7\x80\xAA\xA7\x81\xAD\xA7\x83\xAF\xA7\x77\xA1\x1E\xCC\x7F\x7C\x8A\xAE\x7C\xA1\x4D\x7C\x89\xAC", - "\xA8\x8F\xA1\xA9\x8E\xA3\xA9\x8B\xA2\xA9\x95\xA0\x7D\x34\xA9\xA9\x82\x2E\x94\x12\x95\x8A\x2F\x9D\x8E\x37\x9E\x66\x0A\x0A\x10\x77\x9B\x5F\xA1\xAA\x8C\x9F\xA8\x42\x0B\x04\xAA\x3C\x93\x66\x5A\x9D\x86\x56\x95\xAA\xDD\x3C\x00\xAC\xA1\x54\x74\x97\x94\x76\x9E\x68\x0D\x05\xAB\x84\x8D\x96\x60\x8F\x94\x0C\x99\x95\x29\x47\xAB\x4A\x81\xAB\x37\x3E\x00\xBC\xA2\xAB\xFB\x8E\xAB\x91\x8D\x92\xC2\xA1\x3B\xA7\xA6\xAC\x41\x91\x3B\x0F\x09\xAC\xC7\x81\x93\x73\x88\x94\x55\x30\x01\xD6\xA3\xAD\x7A\x9B\x67\x5C\x9A\xAD\xE4\x21\x01\xDD\xA9\xAA\xE5\x54\xAC\xB0\xAF\x96\xCF\xA0\x91\xCC\xA0\x8F\xCE\xAB\x5F\x12\x05\xAE\x2E\x91\xAD\xEA\xA7\x42\x13\x02\xAF\x53\x98\xAD\x80\x82\xAD\x43\x28\xAF\xDE\xAE\x85\xED\xAB\x90\xEF\xA6\xAE\x83\x35\x01\xFE\xAF\x62\xE8\xA3\x8A\x0B\x9A\xAC\x83\x36\x01\x07\xBE\x52\x01\xBD\x8F\x03\xBE\x92\x17\x0F\xB0\xB0\x8E\xAA\x46\x95\xAC\x5D\x98\x01\x16\xBF\xAF\x2B\x89\xB0\xD6\x83\xB1\x83\x39\x01\x1D\xB4\xB0\x1E\x98\x91\x20\x99\xAB\x31\x25\xB2\x0C\xBC\x89\xFA\xAE\x89\xFC\xAD\xB2\xF9\x84\xAF\xE2\xAA\x82\x1B\x0C\xB2\xEC\xAF\xB2", - "\xC9\x81\xB3\x54\x3C\x01\x38\xB0\xAA\x20\xB4\x8E\x0B\xBB\xAE\xDC\x8F\x91\x79\x85\xB3\x1E\xB8\x84\x41\xB5\x92\x43\xBF\x3B\x1D\x0F\xB3\x26\xBE\x8E\x11\xB0\xAC\x22\xB9\xB4\xDA\x2E\x01\x50\xB0\xB1\x3A\xB5\x95\xF5\xA1\xB5\x9A\x84\xB3\x2A\xBE\xB5\xF9\xA6\xB4\xDE\x81\xB6\x6E\x5F\x01\x59\xB4\x52\x60\xBD\xB4\xF7\x20\x02\x69\xB6\xB5\x81\x6B\xB5\x6E\x98\xB4\x62\xB6\xAA\x4B\xB8\x93\x75\xB8\x42\x21\x0F\xB6\x52\xB2\xB7\xBF\xAD\xA9\x3E\x84\xB4\x7D\xB4\xB6\x32\x94\xB7\x32\xBA\xB4\x53\xB0\xB8\x66\xB8\x56\x22\x0C\xB7\xCB\xAE\xB7\xCD\xA0\xAC\xB1\x33\x02\x8E\xBC\x96\x90\xBE\xAE\x92\xB1\x32\x24\x05\xB9\x1E\xBB\xB6\x55\xB9\xB7\xE4\x25\x02\x9C\xB3\xB8\x28\xB7\xB4\x8B\xBE\xB1\x26\x03\xBA\x2A\x92\x2A\x9C\xA2\x96\xC1\xA0\xB7\x6B\x87\xB7\x36\x80\xBB\xE7\xA9\xB8\xAE\xBF\xB9\x87\xBA\xB6\xB2\xB8\xAA\xB9\xB6\x2F\x27\x0C\xB7\x9E\xB9\xB9\x0E\x38\x02\xAA\xB0\x96\xB6\xB5\x97\x6C\xBD\xBB\x33\xBB\xBB\x3C\xB7\x42\x29\x05\xBC\x00\xBA\xA9\xB1\x2A\x02\x33\xA2\xBD\xC4\x2B\x02\xD5\xB6\xBD\xAE\x2C\x02\xD9\xBA\xBD\x9B\x2D\x02\xDD\xBE\xBD\x83\x9E\x02\xE1", - "\xB2\xBE\xAC\x2F\x02\xE5\xB6\xBE\x80\x20\x03\xE9\xB5\x2B\xB8\x9E\x9B\xF0\xBE\x9A\xBB\x91\xBF\xF3\xBF\xBE\xE5\x66\x9B\xF4\xBD\x9B\xF6\xB5\xBF\xFC\xBA\xBF\xFD\xB3\x6E\xF6\x6F\x9F\x02\xA0\x9F\x02\xAB\x9F\x06\xC2\xC0\x07\xCD\x71\xF9\x95\xC0\x08\xCD\xC0\x01\xA9\xC0\x0C\xCF\xC0\x15\x76\x2B\x32\xAF\xAA\xD6\xB4\xA8\x82\xA9\xC1\x18\xCB\xC1\x76\xAE\xA6\x85\xA1\xA7\x86\xAC\xC1\x1F\xCA\xC1\x21\xC5\xC2\x23\xC2\xC2\x24\xC7\xC2\x26\xC9\xC2\x2C\xC8\xA8\x94\xA0\xA9\x2F\xC4\x49\xC1\x70\xC3\x97\xA5\xC3\x34\xC7\xC3\x96\xA8\xC3\x31\xCB\xC3\x36\xCE\xC2\x36\xC9\xC3\xC6\x73\xC3\x40\xCC\xC3\x3A\xCF\xC3\x44\xC3\xC4\x46\xC9\xC4\xBA\x45\x2B\xAD\xB8\xBC\xCA\xB1\x3B\x31\x00\xBC\xCC\xBD\xB5\x4F\xC1\x30\x32\x05\xB2\xC1\xBA\xB8\xAF\xB9\x51\x33\x00\xBD\x20\x89\xC5\xAE\xBE\x3E\x34\x0E\xC5\xF3\xA3\xC5\x86\xB2\xB8\x60\xCE\xC4\x82\xB4\x51\x66\xC7\xBA\xF9\x85\x03\x64\xC0\x93\x84\xB9\xAD\x6E\xC5\xC5\xB6\xA7\xBC\xB8\xA9\xBC\x24\x56\x03\x71\xCE\xB2\x73\xCB\xAF\x54\xC5\x10\x37\x0D\xC7\x51\xB9\xC6\x79\xCB\x51\x38\x04\xC8\x88\xB7\xB9\x02\xB2\xBC\xDD\x39", - "\x03\x8A\xC3\xB6\xA5\xB5\xB6\x7A\xC9\x50\x3A\x01\xC9\x65\x83\xC9\x85\xB5\xC7\x01\x3B\x03\x98\xCF\xC5\x6D\xC5\xC9\xA0\xB4\x32\x52\xC8\xC7\x1A\xBA\xAD\x3D\x0F\xC9\xB2\xA6\xC8\xA7\xC0\x95\x28\x4E\x03\xAA\xCD\xAA\xE0\xA6\xC1\x21\xBE\xC8\x76\xC0\xCA\xA6\xC9\xAE\x67\xC9\x50\x3F\x01\xCB\x27\xB7\x96\x19\x92\xCA\xB7\xC5\xBB\x8C\xC2\xB1\xB6\xCB\xC6\x39\xBF\xC7\x30\xB1\xC8\xB4\xB0\x8C\xB7\x2D\xC4\x87\xC3\x38\x40\x0E\xCB\xBD\xA5\xCC\x54\xB7\xCC\x41\x91\x04\x9F\xCC\xCA\xBA\xCE\xCA\xE4\x22\x04\xD4\xCB\xC8\xCA\xCB\xB3\xCC\xC3\xCA\x27\x4C\xCD\x0A\xB3\xCC\xBA\xB9\xCB\x0A\xB8\xBB\x49\x53\x04\xE1\xC5\x98\x90\x20\xCD\xAD\xCB\xC5\xCA\xB4\x04\xA3\xB8\xCE\xD6\x8A\xCE\x09\x5A\xCF\x42\xBC\xCF\xB8\xC6\xCD\x5A\xCE\xCE\x1F\x31\xCF\xFD\xCA\xBE\x5B\x26\x04\xED\xB8\xD0\xAE\x27\x04\x0B\xDC\xD0\x9B\x28\x04\x0F\xD0\xD1\xB2\x29\x04\x13\xD4\xD1\xC8\x2A\x04\x17\xD8\xD1\x92\x9B\x04\x1B\xDC\xD1\x91\x2C\x04\x1F\xDE\x4B\xF4\xCD\xCD\xF6\xC8\xC6\xA1\xC4\xD0\xF7\x2D\x04\x06\xD1\xD0\xE3\xCC\xB5\x74\xBE\x04\x2D\xD6\x65\xFE\xCC\xB4\x4F\x03\xD3\x66\x98\xB1", - "\x68\x92\xCC\x6A\x80\x05\x50\xB5\xD3\x23\x62\xAC\x51\x0C\xAB\x40\xDC\x63\x00\xD1\x87\x02\xD7\xBB\xD8\xC6\xCE\xCB\xBC\xCE\xB5\xCA\xC5\x47\xD7\xB1\xB3\xC9\xB1\x26\xDA\xD2\xB7\xC2\x05\xA5\xC9\xD4\xC8\xB6\xD5\x28\xDE\xD4\x42\xBC\xD5\xCD\xC1\xBD\x2F\xD3\xB7\x9C\xC1\xD6\xE2\x89\xD2\x4B\xD1\xD5\x62\xDA\xC9\x74\xCC\xD3\x66\xDF\x2C\x53\x0F\xD3\x68\xD0\xD5\xC8\xC1\xB7\x63\xDF\xB7\xAE\xB4\x05\x38\xD0\xB4\x5E\xDC\xB4\x60\xDC\xD4\xC4\xC7\xD7\x91\xB4\xD7\x6F\xD2\xD5\x34\x84\xCB\x5F\xD9\xD6\xDA\x25\x05\x7B\xD1\xBB\x7D\xD8\xB7\x6A\xD5\xCD\xD6\xB6\x05\x23\xD0\xD2\x8D\x47\x05\x95\xD6\xD9\xBF\x48\x05\x99\xDA\xD9\x9C\x29\x05\x9D\xDE\xD9\xA2\xD3\xDA\xE1\x1A\x05\xA1\xD4\xDA\x52\x2B\x05\xA7\xD8\xD0\x25\xD9\xCE\x75\xD3\xAC\x8F\xD3\xBB\xF7\x2C\x05\x8D\xD1\xD8\x6C\xD0\xC8\xDA\xAD\x05\xB5\xDB\xCE\x5A\xD9\xC7\x7F\xDE\x56\x5E\x0D\xD8\x45\xD7\x66\xAF\xD3\xDC\xD8\x80\xD8\xBC\xD2\xD8\x98\xB4\xD8\xDD\x3F\x05\xBB\xD7\xC7\xBD\xD5\xCF\x9F\xB0\x06\xCF\xDE\xD2\xB7\xDB\xCC\x74\xB1\x06\xD5\xD6\xDB\xA8\xD8\x25\x63\x05\xBE\x62\x0B\xDA\xDD\xD3\xDE\xE4", - "\xDF\x24\x64\x02\xDE\xE5\xD5\x28\x65\x08\xDE\xE9\xD4\x25\x66\x0C\xDE\xED\xDE\x25\x67\x00\xDF\xE3\xDD\xDA\xFB\xCF\xDA\x5A\xBA\xDC\x8D\xCC\xDC\x72\x38\x06\xDB\xDE\xCC\xFF\x78\xD8\x7E\xDA\xD8\x85\xDB\xD6\xC0\xC9\xB2\x6E\xD8\xDC\xE7\xC3\xD7\x61\xC1\x32\x69\x0F\xDF\x06\xEA\xD3\xC1\xCF\xDB\xC2\xA0\xD2\x6A\x04\xDF\xF1\xD4\x2C\x6B\x08\xE1\x19\xEC\x06\x1C\xE9\xE1\x7B\x2D\x06\x1F\xE0\xE2\xBF\x2E\x06\x23\xE4\xE2\xDB\x1F\x06\x27\xEC\xD0\xF6\xDF\xCF\xF8\xD9\xCC\xD7\xD4\xCE\xBB\xCA\xE0\x92\xDE\xD9\x70\x0B\xE2\x28\xEA\x2B\x71\x08\xE3\x39\xE2\x28\x72\x0C\xE3\x3D\xED\x26\x73\x00\xE4\x1C\xD4\x07\x44\xE1\xE4\x6A\x25\x07\x47\xE8\xE4\x74\x26\x07\x4B\xEC\xE4\xAF\x27\x07\x4F\xE2\xBE\x78\x03\xE5\x50\xE3\x26\x79\x06\xE5\x57\xEB\xE5\x5C\xED\xE5\xDB\x1A\x07\x5A\xEE\xE5\x8B\x2B\x07\x61\xE2\xE6\x66\xE7\xE6\x7B\x9C\x07\x65\xE8\xE6\x6C\xEB\x27\x7D\x0B\xE6\x6D\xE0\x98\xEF\x01\x1E\xF4\x0B\x24\x3F\x08\x09\xC8\x0C\x0F\x4B\x21\x00\xC9\x00\x0F\x4A\x2F\x01\x40\x0E\x0F\xDB\x13\x00\x82\xEF\x07\xE4\x0F\x0B\xF0\x03\x00\x03\x00\x03\x2B\x00\x10\x06\x1F", - "\xE8\x88\x98\x1F\x05\x1D\x1F\xC4\x90\x20\x05\x1E\x1E\x02\x10\x1F\x0A\x23\x11\x1A\x15\x1B\x02\x1B\x1F\x00\x02\x21\x02\x15\x21\x02\x14\x24\x47\x22\x1F\xF4\x15\x10\x0F\x22\x10\x3D\x21\x23\x05\x18\x22\x3A\x2D\x19\x02\x1C\x3E\x00\x04\xEB\xB6\xE2\xEB\xB5\xE8\xEB\xB7\xE3\xEB\xBA\xED\xEB\xBC\xEF\xEB\xB9\xE0\xEC\xB4\xE3\x3E\xC1\xE0\x00\x1D\x40\x00\x10\x48\xEC\xAF\x12\x10\xC9\xE6\x24\x00\x0E\x10\x02\x17\x1E\x00\x0D\x20\x00\x06\x20\x02\x1F\x1F\xC2\xEE\xEB\x00\x0E\x22\x00\x09\x29\x02\x15\x2F\xC5\xE7\x27\x02\x15\x2A\x02\x1F\x32\xD9\xE7\xEE\xC5\xEB\xEB\xE9\xEA\xED\xEA\xED\xEE\xEC\xEF\xEE\x02\x1F\x29\xE8\xEE\xEE\xF3\xE0\xEF\xEB\xE5\xEF\xE8\xE9\xEC\xFA\xEE\xE9\xCA\xE2\x10\xE1\x30\x00\xF9\x3D\xEF\x02\xF7\xEC\xFB\xEC\xEC\xA9\x16\xF0\x08\xF0\x00\x16\x40\x00\x13\x42\xF0\xC9\xE4\xEB\x13\x37\xEF\xC5\xEE\x21\x12\xF4\xEF\x12\xF8\x35\xF8\xE5\xF1\xB8\xE7\x13\x02\x1A\x13\x19\xF6\xF1\x16\xFD\x13\x02\x10\x14\xC0\xEC\x1E\xC5\xE3\x29\x19\xFA\x35\xC0\xE3\x1E\x20\xF6\xEF\x2D\xF9\xF0\x05\xFE\xF0\xFC\xE9\xEC\xFF\xE1\xF3\x1B\x42\xF3\x02\x17\xF3", - "\x03\x48\xF3\x3C\xF8\x41\x00\x03\x22\x1F\xF3\x12\xC0\xE0\x3A\x1A\xF2\x10\xE2\x25\xF4\x48\xF6\xF1\x39\x22\xF1\xAA\x20\x00\x32\x38\xEE\x2C\x20\x00\xF2\x22\xF1\x2A\x24\xEB\x4C\x12\x10\x4F\x1E\x2D\x2F\xF0\x00\x10\x32\x10\x39\x32\x10\x67\x38\xEE\x79\x30\xEC\x31\xF5\xF6\x33\xF7\xF6\x02\x1B\xF3\x31\xFE\xF3\x5B\xF6\x39\x00\x00\x24\xC5\xE9\x1E\x41\xF3\xF7\xC5\xE4\x13\xC0\xE5\x36\x02\x12\x36\x02\x1C\x30\x48\xFD\x28\x02\x14\x33\xE8\xE5\x38\x02\x13\x34\x64\xF8\xF6\x3C\xF1\xF3\x20\x24\xF7\xB4\xEA\x21\x00\x08\x16\x02\x13\x32\xC0\xE0\x23\x00\x05\x37\x02\x11\x39\x00\x06\x33\xC0\xEB\x2F\xC5\xE4\x2D\x00\x06\x32\xC0\xE6\x3A\x00\x06\x3C\x87\xF1\x19\x30\xF0\x16\x19\xF9\x36\x02\x16\x34\x19\xF9\xEC\xB3\x33\xFA\x09\xF4\x39\xC5\xE7\x37\x02\x10\x32\xC0\xE3\x35\xA5\xF7\xFB\x3C\xF7\x23\x00\x03\x3A\xAE\xFD\xFB\x66\xF9\xF0\xC8\x3E\x3D\x86\xF4\x18\x02\x1D\x3B\x02\xFF\x3A\x02\xFE\x39\x00\x00", - }; - vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); - } + void WorkflowLexerData(vl::stream::IStream& outputStream) + { + static const vl::vint dataLength = 5338; // 106036 bytes before compressing + static const vl::vint dataBlock = 256; + static const vl::vint dataRemain = 218; + static const vl::vint dataSolidRows = 20; + static const vl::vint dataRows = 21; + static const char* compressed[] = { + "\x34\x9E\x01\x00\xD2\x14\x00\x00\x7E\x01\x00\x00\x04\x22\x85\x82\x81\x21\x05\x81\x82\x88\x05\x81\x05\x87\x82\x0A\x10\x85\x8B\x05\x84\x05\x83\x06\x17\x85\x8E\x05\x8F\x0D\x80\x10\x8F\x05\xA1\x21\x85\x82\x14\x91\x83\x11\x27\x85\xA4\x0A\x95\x85\x11\x97\x82\x26\x30\x85\x87\x13\x9D\x80\x14\x9B\x05\xA9\x39\x85\x8A\x14\x9D\x83\x15\x3F\x85\xAC\x02\xA5\x85\x15\xA3\x82\x2E\x48\x85\x8F\x1B\xA5\x80\x19\x82\x39\x05\xBA\x12\xA5\x83\x1D\xAB\x82\x3C\x58\x85\x9D\x1B\xAD\x82\x1E\xAF\x05\xBF\x21\xA5\x80\x24\xB1\x83\x20\x05\xDA\x05\x9B\x2B\xB5\x80\x2E\xB7\x05\xDD\x31\xA5\x8E\x2C\xB9\x83\x2F\x77\x85\xA0\x3A\xB5\x81\x31\xBF\x82\x62\x00\xC5\x83\x33\xC5\x80\x32\xC3\x05\xE5\x09\xC5\x86\x34\xC5\x83\x33\x8F\x85\xA8\x32\xC5\x81\x35\xCB\x82\x6A\x18\xC5\x8B\x3B\xCD\x80\x36\xCF\x05\xED\x21\xC5\x8E\x34\xD1\x83\x37\xA7\x85\xB0\x2A\xD5\x81\x39\xD7\x82\x72\x30\xC5\x93\x33\xDD\x80\x3A\xDB\x05\xF5\x39\xC5\x86\x3C\xDD\x83\x3B\xBF\x85\xB8\x22\xE5\x81\x3D\xE3\x82\x7A\x48\xC5\x9B\x3B\xE5\x80\x3E\xE7\x05\xFD\x11\xE5\x8E\x3D\x83\x7F\x7F\x10\x00\x17\xF7", + "\xE2\x1D\x81\xEE\x81\xDB\xFF\x5F\xFA\xEB\xEB\xF2\x8A\x81\x31\x56\xDB\xE6\xA2\x86\x01\x83\x03\x4E\x85\x96\x05\x87\x0D\x80\x03\x82\x02\x05\x99\xE2\x83\x05\x81\x09\x82\x05\x0D\x52\x43\x46\x02\x4F\x0F\x42\x40\x14\x42\x41\x46\x40\x18\x42\x48\x06\x52\x02\x52\x0A\x7B\x75\x13\x09\x40\x84\x79\xD7\x68\x42\x42\x48\x02\x5F\x42\x42\x07\x3B\x42\x4D\x04\x4E\x02\x49\x52\x43\x06\x17\xA6\x80\x01\x4C\x02\x43\x52\x43\x4A\x02\x5A\x01\x51\x89\x35\x42\x4D\x46\x40\x2E\x42\x4C\x05\x41\x19\x3E\x42\x41\x49\x34\x81\x90\x00\x05\x05\x4C\x42\x41\x05\x13\xA1\x7A\x93\x92\x4C\x8D\x9E\x93\x93\x50\x91\x92\x97\x94\x54\x95\x96\x97\x95\x58\x99\x9A\x97\x96\x5C\x9D\x9E\x97\x97\x60\xA1\x92\x9B\x98\x64\xA5\x96\x9B\x99\x68\xA9\x9A\x9B\x9A\x6C\xAD\x9E\x9B\x9B\x70\xB1\x92\x9F\x9C\x74\xA8\x93\x0D\x92\x75\xB9\x9A\x9F\x9E\x7C\xBD\x9E\x9F\x9F\x80\x81\xA2\xA3\xA0\x84\x85\xA6\xA3\xA1\x88\x89\xAA\xA2\x9A\x34\x38\x9B\xA3\xA3\x90\x83\xA5\x0E\xA3\x91\x95\xA6\xA5\x9E\x36\x14\xA7\xA7\xA6\x9C\xAC\x97\x0E\xA6\x9D\xA1\xA2\xAA\x9A\x38\x20\xA3\xAB\xA9\xA7\x91\x50\x78\xAA", + "\xAC\xAD\xAE\xAB\xAB\xB0\xB1\xA2\xAF\xAC\xB4\xB5\xA6\xAF\xAD\xB8\xB9\xAA\xAF\xAE\xBC\xBD\xAE\xAF\xAF\xC0\x81\xB2\xB3\xB0\xC4\x85\xB6\xB3\xB1\xC8\x89\xBC\x91\x56\xAB\x9F\x9C\xB0\x86\x52\x8F\xB1\x7A\x55\x02\x4F\xB6\xB6\x56\xD5\x98\xB0\x03\xB5\xD9\x9D\xBB\xB6\xB6\xCF\x93\x5E\xB4\xB7\xDF\xA3\xB0\xBB\xB9\xDE\x86\xB2\xB4\x98\xEB\x93\x9D\xBB\x3F\xCF\x9C\x56\xBA\xB7\x62\x73\xB5\xBB\xBD\xE4\x8F\xB5\x5A\xBD\xCF\x9F\x5C\xBF\x59\xE8\xB8\xB6\xA8\xAF\xEF\x9D\x95\xC0\x94\xEF\xB9\xB1\xC0\x41\xFF\x8D\xC7\xBE\x10\x01\xE4\xB8\x42\xC3\x0A\xE9\xB5\xB3\xC1\x5B\x98\xCE\x91\xC2\x11\xDD\xCE\xB5\x11\x1E\xF7\xB7\x11\xC8\xCF\x86\x14\xC9\xC8\xEA\x83\xC6\x96\xC6\x4D\xAF\xB9\x13\xC9\x0E\xCC\x11\xC0\x12\x01\xCB\x10\xCF\xBD\x4A\x37\xCC\xC9\xAF\x3B\xD7\x9D\xCE\x92\x1C\xCE\xCE\x12\xCE\x37\xCD\x14\xD0\xC5\x01\xE9\xCD\xB2\x97\x3F\xE1\x71\xD2\xC0\x48\xC2\x40\x17\xD1\x50\xD5\xD4\xBB\x13\x01\xD1\x18\xCB\xC5\x2A\xD5\x9D\xD3\x76\xEF\x94\x14\xD7\xB3\x52\x21\xC5\x15\xC0\x53\x23\xD4\xD6\xD2\xD0\x86\xCD\xD4\xD8\x49\x95\xC6\xD5\xC0\x57\x14\xD6\x15\xC0\x58", + "\x2A\xD6\xBC\xDB\x61\x9F\xD7\x77\xD3\x72\xC1\xEA\xDC\x00\x59\x03\xE2\xE2\xC5\xC4\xBE\xD1\xB7\xDB\x7F\xF1\xD6\xE0\xD5\x6A\x51\xD0\x00\x5B\x02\x6F\x52\xE4\xB9\x7C\xEC\xBC\xE0\xBC\x49\xBB\x5E\xC0\x5E\x97\xF7\xC2\x5D\xE8\x02\x75\x54\xE9\xDB\xC1\x8A\xE1\x96\xE2\x80\xD4\xDE\x5F\xE9\x87\xC0\x01\x60\xEC\x85\x48\xE3\xB2\xEA\x08\xDB\xED\xEA\xBD\x87\x74\xEE\xEF\xDC\xBF\xD9\xEE\xB2\xEE\x49\x8A\x6E\xC1\x63\xBF\xF1\xEA\xF3\xE0\xC2\xCC\xD4\xF3\xD2\xCB\xC9\xF1\xC0\x64\xD2\xD2\xED\xF2\xDB\x4B\xEB\xEE\xE1\xF5\xC0\xC0\x03\x66\xB7\x96\x5C\xF9\x66\xF5\x5C\xD9\xFC\x94\xEB\xDB\xDD\xF2\xDC\x67\xDC\xD1\xFA\xF9\xD2\xE5\xE8\xE9\xC7\xF3\xD0\xAE\xF6\xFF\xE0\x9F\x6D\xFB\xE6\xAD\xB8\xCF\x98\xF8\xF4\x8F\x7F\x76\x68\x7A\x7E\x60\x3E\x7D\x36\x7C\x4F\x5A\x34\x02\xDE\x47\x37\x05\x99\x4C\x36\x0E\x9C\x4A\x6B\x11\x87\x3A\xD4\x0B\x69\x36\x14\x92\x4B\x6A\x0B\x85\x35\x0C\x8A\x5A\x7B\x1E\x94\x4B\xFF\x75\x71\x81\xF7\x44\x86\x84\x55\x7E\x57\x70\x4B\x60\x39\x10\x9F\x85\x4F\xC6\x22\x21\x0C\x80\x03\x87\x1A\x87\x3A\x86\x37\x94\x85\x0E\xB6\x88\x86\x81\x0C\x3D", + "\x87\x3A\x80\x88\x0F\xC1\x84\x89\x21\x86\x8B\x87\x48\x82\x8A\x72\x4A\x8C\x89\x22\x89\x8E\x89\x4D\x87\x89\x14\xCF\x82\x8A\x28\x96\x8D\x8A\x58\x89\x4B\x73\x02\x2B\x8A\x00\x1D\x8F\x8B\xD0\x3C\x89\x18\x80\x05\x3A\x31\xA6\x8E\x8B\x63\x80\x8F\x19\xEA\x88\x8D\x35\xA9\x8F\x8D\x6E\x91\x8D\x1B\xF3\x8D\x8A\xE9\x32\x8C\x8D\x78\x90\x8C\x1D\xFA\x89\x8F\x3B\xBC\x8F\x8F\x7E\x81\x93\x1E\xE7\x8D\x49\x3F\x05\x26\x90\x4B\x68\x90\xB4\x0A\x9F\x85\x46\x94\x48\x10\x05\x30\x92\x40\x12\x90\x00\x4A\x96\x91\x92\x98\x93\x91\x26\x95\x9B\x93\x4B\x9A\x97\x93\x00\x01\x11\x27\xA3\x90\x94\x4F\x9C\x95\x94\xA4\x87\x96\x2A\xA6\x9C\x95\x54\xAD\x90\x95\xB0\x8B\x96\x2B\xB3\x91\x97\x57\xB2\x95\x96\xB4\x8A\x96\x23\xBB\x9C\x97\x5E\xBE\x97\x97\xC0\x81\x9A\x30\xC3\x94\x99\x62\x86\x9F\x98\x1B\x7B\x7D\xEE\x2E\x8C\x72\x00\x9C\x7A\x10\x25\x97\x7C\xF9\x09\x7A\x98\xFF\x74\x7E\x69\xD1\x99\x9A\x40\x03\x1A\x9A\xF9\x7F\x55\x7F\xC9\x8C\x9B\xEE\x28\x82\x9A\x72\x9D\x98\x9C\xB2\x48\x9F\xB2\x57\x90\x6F\x13\x84\x15\x9B\x85\x05\x87\xF5\x67\x7C\x9D\xC6\x67\x85\x9C\xF8\x97", + "\x67\x3C\xF3\x72\x9D\xF4\x79\x9F\x9E\xE7\x95\x9B\xAC\x6A\x9B\x49\x11\x98\x98\xA0\x08\xA6\x9F\xDE\x71\x7D\x6F\x7A\x8D\x9D\x7B\x86\x01\xA1\x42\xF2\x6B\x9E\x2D\x46\xA5\x9D\x0A\xB9\xA3\x3F\xF7\x57\x10\xE6\x4C\xA2\x73\xFD\x8E\x9A\x46\x92\xA3\xA5\x69\xB7\x72\xA0\x2D\x6E\xA3\x46\xAB\xA4\xA4\xCC\x5F\xA3\x78\x21\xA4\x87\x44\x81\x68\x11\x96\xB0\x7C\x9A\xCC\x80\x86\x37\xA9\xA2\xA5\x8D\x89\x16\xA6\xDC\x75\xA1\x96\x17\xA6\x9F\x92\xB7\x5A\x11\x40\xA6\xA8\x41\xAF\x5B\xA9\x83\xBB\xA3\x9D\x4B\x6C\x11\x52\xF2\x6B\x11\xA9\xA8\xA1\x56\x4D\xB8\xA2\xD7\x7E\x94\xA5\x46\x16\xAD\x80\x2F\xAE\x79\x4C\xCE\xAC\xA4\xC9\x4E\x17\xAB\xF7\x42\xA8\x96\x44\xAF\xA1\xB2\x8A\xAA\x5B\x8F\x1D\x9A\x5A\xBE\x6A\xA4\xB4\x8F\x58\x12\x76\xB7\xA8\xAC\x59\xA5\xA9\xAD\xBD\xA1\xAF\xBF\x71\x13\xDA\x61\xA8\x7B\xA7\x85\xA4\xAB\x0E\x74\x10\xD5\x13\x15\x84\x49\x1E\xA0\xA7\x86\xAB\x66\x43\x96\x10\xB0\x14\x95\x12\xAE\x84\xB4\x9F\x58\x98\xAE\xAC\x72\x57\x14\x6A\x98\x18\xB0\x64\x8D\xAB\xB3\xA2\x9B\xA1\x13\x95\xAE\x7F\x5C\x92\xB5\xB5\x7F\x1A\x11\xB5\x95\xAB\xB6\x5F\x91", + "\xBE\xA8\xB2\xA8\xAB\x13\xB1\xB9\xB0\x3F\xB4\xBA\xAA\xCE\xB0\xB6\x61\x9C\x05\x21\x27\x0F\xB7\xA5\x9C\x8B\x9C\xB7\x7D\xBB\x3A\x27\x3F\xBF\xAD\xD3\x72\xB2\x84\x75\xB3\xA6\xC3\x1F\x18\xAD\xE7\xAE\x59\xBA\xCD\xB9\xA0\x28\x39\xB3\xB4\x90\x88\xBF\xA1\xB6\xB6\x5D\x28\x4C\xBE\xAC\xEB\x8B\x75\xB5\x9D\xBD\x9A\x28\x22\xB5\xB9\xEF\xBA\xA3\xB6\xE1\xB7\x5F\x28\x64\xBC\xBC\x61\x7C\xA8\xBC\xD0\xBF\xAE\x74\xD9\xBB\xA2\xF3\xAF\xB9\xBF\x32\xBC\xBD\x52\xA4\x14\xB8\xFB\xBA\xA8\x68\xD8\xA9\xBD\x42\xA5\x15\xC1\xD4\x47\xC5\xB6\x00\xD1\xBE\x82\x80\x06\x14\xFA\x86\xBC\x56\xF7\xAC\xAF\x84\x9B\xC1\x65\x53\x1B\x6D\xBB\x30\xBF\xBB\x38\x9C\xC2\x20\x54\x0C\xBE\xBF\xC7\xB0\xBE\x6F\xBF\x79\x14\x0B\xDD\x78\xC5\xD6\x88\xBE\x8B\xEE\x7A\x15\x90\x6B\x12\x5B\x30\xC1\x9E\x88\x88\xB2\xC1\xD3\x6C\x11\xA9\x39\xDC\xA7\x8E\xFA\xBD\xC7\x22\xCF\x5D\x15\x0D\xC0\x59\x86\x89\xC3\x71\x57\x37\x66\x15\xDC\xAD\xBC\x69\xC3\xC1\xC0\x12\xC5\xC8\x16\xDA\x51\x16\x3E\xBA\xB6\xA2\x26\xFB\xBB\xA3\xB2\x09\xCB\x37\x8F\xCD\xB7\xEB\x84\xCE\xCA\xE5\x93\x16\x3C\xDC\xC3\xA8\x2F", + "\xC6\xCC\xA4\xB4\x03\xB0\x88\xE2\xA4\xCA\x09\xDA\x5D\x16\x33\xC2\xCE\xAF\x4B\xC2\xC6\xEE\x76\x11\xCF\x0B\xB3\xCD\x61\xAA\xC6\xB5\xCA\xB7\x15\xBA\x6C\xCB\xAE\x9B\xCF\x58\x16\x40\xD9\xB8\x99\x2F\x99\x16\xA6\x3A\x14\xCC\x48\xE3\x53\x17\x95\xD6\xD1\x9F\x3D\x19\xD3\x3A\x7C\x15\xD3\x9A\xCC\x56\x2F\x20\xD1\xD4\x5F\x7F\x14\xD4\xC3\x80\x19\xA6\xAA\xDC\x98\x56\xD0\x5E\xD5\xB0\xC5\x21\xAC\x82\x23\xD6\x00\x35\xD7\xD6\xB2\xD9\xD4\xAD\xBA\xD6\xD6\x5E\xF8\xD3\xD7\xC0\xDD\xD5\xB0\xAE\xD6\x59\x06\xAE\xBD\xD4\x61\x41\x19\x41\x4A\xD2\x20\x66\xC0\x06\xD9\xD0\xCB\xDA\xB4\xCD\xD3\xDB\x67\xD5\xDE\xD9\xC3\x17\xDA\xB6\xD4\xDC\xDA\x6B\xDD\xD9\xDA\xDF\xDB\xDA\xB7\xE3\xD0\xDC\x00\x02\x1A\xDC\xE5\xC9\xDC\xBA\xEB\xD1\xDD\x76\xE4\xDC\xDD\xEF\xCE\xDE\xBA\xF2\xD2\xDD\xF0\x04\x1D\x20\xF7\xC2\x21\xBE\x80\x0B\xDF\x7E\xF8\xDF\xDF\x02\x26\x18\xC0\xFC\xD3\xE0\x7F\xFA\xDD\xE0\x08\xE7\xE2\xC2\x84\xEB\xE0\x83\xCC\xE7\xE1\x0E\xF1\xE1\x41\x45\x19\xE0\x88\xD5\xE2\xE2\x0D\xF7\xE2\xC6\x99\xEC\xE2\x8B\xDD\xE0\xE3\x1E\xE1\xE6\xC3\xAE\x5B\x84\x68\x6D\x87\xD8", + "\xC8\xCF\x87\x31\x28\xD9\xE4\x28\x59\x8B\x8A\x30\xF7\x89\x73\x31\xEF\xE4\x99\xF4\xE4\x8A\x39\x89\x3B\xCD\xBB\xE6\xE7\x9E\xF5\xE7\xE7\x38\xFC\xE5\xCD\xE1\x38\x19\x82\x05\xEA\x20\x47\xE0\x01\xD2\xCB\xE6\xE9\xA6\xC8\xEE\xE9\x4A\xF0\xE8\xD3\xCF\xE4\xEB\xA8\xD5\xEB\xEA\x56\xF9\xE8\xD6\xDB\xE2\xEB\xAE\xD7\xEE\xEB\x5A\xE0\xEC\xD7\xDF\xE4\xED\xB0\xE5\xEB\xEC\x66\xE9\xEC\xDA\xEB\xE2\xEC\x96\xED\xE3\x58\x7D\x83\x92\xDC\xDD\x85\x8D\xB9\xC0\x96\xEE\x82\x91\xEE\xDE\xF7\xE5\x8E\xBE\xFE\xE9\xEF\x7F\xF8\xEE\xE0\xFB\xE0\xF1\xC2\xD0\x59\x19\x05\x28\xF2\x40\x0A\xF0\x00\xC6\xCE\xF1\xF1\x90\xEB\xF1\xE4\x8D\xF3\xF3\xC7\xD2\xF7\xF2\x94\xF8\xF2\xE5\x99\xFC\xF3\xCD\xDE\xF5\xF2\xA0\xFA\xF1\xE8\x9D\xF3\xF5\xCF\xE2\xF7\xF4\xA4\xE8\xF6\xE9\xA9\xFC\xF5\xD5\xEE\xF5\xF4\x6E\xEF\xED\xB1\x0A\x9C\x91\xED\x35\xF7\x3A\xB7\xF2\xF7\xAF\x36\x9C\xF7\x5C\xBD\xF1\x96\xA2\x98\x96\xF0\xB7\x94\xF9\xDF\xC5\xFE\xF7\xC8\xE3\xFA\xF1\xCB\xF9\xF9\xE3\xCA\xF9\x95\xE1\x2B\x19\x41\x52\xF2\x20\xEA\xC0\x06\xFA\xD8\xF3\xFA\xF6\xD5\xFB\xFB\xEB\xDD\xF9\xFB\xDC\xE1\xFC", + "\x00\x4A\x1F\xFB\xF2\xC2\x24\x19\xE6\xFE\xFA\xF8\xE0\xFA\xFD\xF6\xEC\xFF\xFD\xE9\xF0\xFF\xFA\xF1\xF4\xFF\xF9\xF6\xFE\xFD\xF5\xF8\xFF\xFD\xF2\xFA\xFF\xF6\xFC\x79\xD3\x1A\x61\x30\xCD\x0E\x68\xFD\x59\x68\x74\x5D\x67\x6F\x6F\x65\x72\x62\x65\xDE\x54\x68\x6D\x51\x30\xCE\x04\x80\x0B\x86\x60\x17\x6A\x63\x0E\x81\x3B\xCF\x02\x81\xCE\x56\x80\xAC\x55\x67\x2B\x69\x80\x46\x50\x0D\xF5\x5E\x60\x15\x82\x64\x17\x81\x32\xD1\x0A\x81\x19\x51\x64\x50\x5E\x81\x85\x6A\x80\xBF\x32\x0D\x7A\x6C\x33\x00\x8B\x68\x49\x53\x0D\x51\x64\x81\x28\x76\x81\x11\x6F\x81\x68\x63\x38\xD4\x03\x83\x04\x35\x83\xAD\x55\x0D\x2A\x83\x61\x2C\x87\x58\x08\x8E\x3E\xD6\x07\x84\x37\x5C\x80\x21\x67\x82\x30\x86\x54\xD7\x0B\x66\x82\x6A\x59\x2E\x8F\x80\x02\x18\x0D\x4E\x81\x3C\x1C\x8E\x80\xFF\x5F\x82\x20\x8F\x83\x26\x5A\x83\x53\x6E\x80\xD9\x0D\x85\x45\x69\x84\x08\x68\x80\xDA\x0A\x86\x05\x87\x85\xBB\x5E\x80\xDB\x00\x87\x56\x80\x85\x74\x62\x85\xDD\x3C\x0D\x76\x80\x56\x72\x8D\x65\xAD\x5D\x0D\x7D\x8F\x68\x5F\x8D\x83\x66\x65\x65\x83\x3E\x0D\x68\x5F\x0D\x13\x84\x82\x3B\x86", + "\x82\x86\x8A\x85\x63\x85\x42\xE0\x02\x84\xBB\x2C\x67\x59\x84\x86\x93\x8B\x81\x7F\x8D\x66\x4B\x83\x88\xE5\x4C\x86\x10\x67\x88\x76\x63\x85\xEE\x31\x0E\x96\x8A\x2B\x98\x8A\x87\x9A\x8E\x3E\xE2\x03\x82\x4A\x64\x84\x99\x8A\x86\xE3\x05\x10\xE4\x09\x8A\xB9\x2B\x8A\x91\x81\x3B\xE6\x0E\x62\xE5\x08\x8B\xB8\x2A\x8B\xA4\x8F\x81\xE7\x00\x8A\x5B\x6D\x89\x8A\x6F\x89\xA6\x87\x33\xE8\x07\x87\x66\x8D\x80\xBB\x89\x54\xE9\x0E\x62\xA2\x85\x66\xE7\x58\x88\xDE\x2A\x0E\xC6\x8E\x87\x78\x83\x68\x91\x8B\x0E\xDB\x86\x54\xD5\x89\x5C\xC3\x82\x86\xAD\x89\x83\x8E\x87\x86\xD1\x8B\x8C\xEC\x89\x56\x85\x85\x8E\xD7\x81\x1E\xEC\x01\x8E\xA1\x8F\x8E\xF1\x8B\x8E\x9B\x89\x8F\xAA\x56\x8F\x61\x87\x8F\xE6\x8D\x4D\xED\x04\x8D\xFC\x89\x62\xF8\x87\x8E\xED\x87\x5F\xA7\x22\x8C\xFE\x82\x89\xE4\x2E\x0E\xF4\x88\x63\x03\x91\x63\xB3\x87\x90\x37\x3F\x0E\xCE\x89\x8E\xD0\x80\x8F\xB1\x30\x0F\x0F\x96\x3B\xCF\x81\x85\x05\x9D\x91\x28\x43\x8E\xF8\x5A\x91\x21\x31\x0F\x22\x98\x90\xA3\x2A\x90\xFD\x86\x90\xFA\x8F\x61\xDD\x88\x85\xAC\x87\x33\xF2\x01\x8E\x24\x91\x80\x14\x92\x39", + "\xF3\x07\x91\xB1\x85\x82\x2D\x83\x93\x39\x99\x51\xF4\x0D\x88\x3D\x9F\x88\x3F\x91\x92\xF6\x25\x0F\x29\x91\x7B\x97\x2C\x92\x04\x9F\x8F\x53\x86\x0F\x88\x68\x8C\x07\x83\x91\xDD\x37\x0F\x4B\x9E\x93\x7B\x52\x8B\x40\x99\x8F\xF8\x07\x62\x11\x9C\x83\x26\x9D\x8E\xF9\x08\x8E\x45\x9A\x8E\x63\x99\x8F\xFA\x02\x90\x54\x9D\x81\x5D\x9E\x92\xCF\x2B\x0F\x40\x61\x96\x90\x89\x96\x70\x93\x38\xFC\x04\x94\xBA\x79\x25\xFD\x0C\x94\x7B\x90\x4C\xFE\x0E\x97\x7F\x9A\x69\x82\x93\x98\xAC\x20\x00\x0A\x16\x98\x90\x61\x00\x89\x9A\x98\xC7\x22\x00\x8D\x9E\x98\xC5\x43\x00\x91\x97\x4C\xC4\x60\x26\x97\x93\x25\x99\x9F\x0F\xBF\x62\x6C\x9E\x9D\x99\xA0\x9E\x6B\xA2\x93\x6C\xA3\x9F\x99\xA5\x95\x6B\x59\x23\x6F\xF1\x6B\x9A\xAA\x9A\x9A\xD9\x64\x6F\xB0\x9C\x9A\xF0\x6D\x9A\xE2\x67\x6E\xB1\x94\x9B\xB7\x93\x9B\xBA\x99\x9B\xBC\x92\x9B\xBD\x91\x1E\x04\x0A\x10\xC1\x92\x10\xC3\x90\x00\xC5\x97\x9C\xC2\x99\x9C\xC4\x9A\x9C\xC6\x9C\x9C\xC8\x9B\x9C\xD0\x9D\x9C\xD1\x9F\x9C\xD2\x95\x9D\xD4\x97\x9D\xCE\x99\x9D\xD3\x9A\x9D\xD6\x9C\x9D\xD8\x9B\x9D\xE0\x9D\x9D\xE1\x9F\x9D\xE2", + "\x95\x9E\xE4\x97\x9E\xDE\x95\x99\x92\x92\x4C\x20\x7D\x9E\x03\x72\x70\x1F\x7B\x71\x22\x72\x9F\xEE\x91\x9F\xF6\x9F\x70\x14\x77\x9F\xF5\x93\x9F\xFA\x94\x9F\xFE\x9D\x9F\x00\xAC\x9F\x0F\x71\x1E\x05\x0A\x10\x05\xA2\x10\x07\xA0\x00\x09\xAB\xA0\x06\xAD\xA0\x08\xAE\xA0\x0A\xA0\xA1\x0C\xAF\xA0\x14\xA1\xA1\x15\xA3\xA1\x16\xA9\xA1\x18\xAB\xA1\x12\xAD\xA1\x17\xAE\xA1\x1A\xA0\xA2\x1C\xAF\xA1\x24\xA1\xA2\x25\xA3\xA2\x26\xA9\xA2\x28\xAB\xA2\x22\xAA\x9E\xEB\x9F\xA2\x84\x26\x00\x2E\xA0\xA3\x5C\x20\x74\x42\x71\x74\x00\x0F\x43\x3E\x78\xA3\x36\xAB\xA3\x4D\x4A\x73\x3E\xA1\xA4\x3D\xA3\xA4\x3C\xA5\xA4\x37\xAD\x44\xE1\x14\x78\x83\x74\x1D\x81\x7A\xA4\x4E\xAD\xA4\x50\xA2\x10\x76\x4B\xA4\x86\x7F\xA4\x55\xA1\xA5\x54\xA9\xA5\x71\x71\x1E\x08\x0A\x10\x5D\xAB\x10\x5E\xA1\xA6\x60\xA3\xA6\x00\x0F\xA5\x65\xA2\xA6\x67\xA4\xA6\x66\xAB\xA6\x68\xA7\x00\x68\xAC\xA6\x64\xA9\x00\x6F\xA3\xA7\x6A\xA4\xA7\x69\xA7\xA7\x70\xA8\xA7\x76\xA9\xA7\x7C\xAB\xA7\x7E\xA5\xA7\x80\xAA\xA7\x81\xAD\xA7\x83\xAF\xA7\x77\xA1\x1E\xCC\x7F\x7C\x8A\xAE\x7C\xA1\x4D\x7C\x89\xAC", + "\xA8\x8F\xA1\xA9\x8E\xA3\xA9\x8B\xA2\xA9\x95\xA0\x7D\x34\xA9\xA9\x82\x2E\x94\x12\x95\x8A\x2F\x9D\x8E\x37\x9E\x66\x0A\x0A\x10\x77\x9B\x5F\xA1\xAA\x8C\x9F\xA8\x42\x0B\x04\xAA\x3C\x93\x66\x5A\x9D\x86\x56\x95\xAA\xDD\x3C\x00\xAC\xA1\x54\x74\x97\x94\x76\x9E\x68\x0D\x05\xAB\x84\x8D\x96\x60\x8F\x94\x0C\x99\x95\x29\x47\xAB\x4A\x81\xAB\x37\x3E\x00\xBC\xA2\xAB\xFB\x8E\xAB\x91\x8D\x92\xC2\xA1\x3B\xA7\xA6\xAC\x41\x91\x3B\x0F\x09\xAC\xC7\x81\x93\x73\x88\x94\x55\x30\x01\xD6\xA3\xAD\x7A\x9B\x67\x5C\x9A\xAD\xE4\x21\x01\xDD\xA9\xAA\xE5\x54\xAC\xB0\xAF\x96\xCF\xA0\x91\xCC\xA0\x8F\xCE\xAB\x5F\x12\x05\xAE\x2E\x91\xAD\xEA\xA7\x42\x13\x02\xAF\x53\x98\xAD\x80\x82\xAD\x43\x28\xAF\xDE\xAE\x85\xED\xAB\x90\xEF\xA6\xAE\x83\x35\x01\xFE\xAF\x62\xE8\xA3\x8A\x0B\x9A\xAC\x83\x36\x01\x07\xBE\x52\x01\xBD\x8F\x03\xBE\x92\x17\x0F\xB0\xB0\x8E\xAA\x46\x95\xAC\x5D\x98\x01\x16\xBF\xAF\x2B\x89\xB0\xD6\x83\xB1\x83\x39\x01\x1D\xB4\xB0\x1E\x98\x91\x20\x99\xAB\x31\x25\xB2\x0C\xBC\x89\xFA\xAE\x89\xFC\xAD\xB2\xF9\x84\xAF\xE2\xAA\x82\x1B\x0C\xB2\xEC\xAF\xB2", + "\xC9\x81\xB3\x54\x3C\x01\x38\xB0\xAA\x20\xB4\x8E\x0B\xBB\xAE\xDC\x8F\x91\x79\x85\xB3\x1E\xB8\x84\x41\xB5\x92\x43\xBF\x3B\x1D\x0F\xB3\x26\xBE\x8E\x11\xB0\xAC\x22\xB9\xB4\xDA\x2E\x01\x50\xB0\xB1\x3A\xB5\x95\xF5\xA1\xB5\x9A\x84\xB3\x2A\xBE\xB5\xF9\xA6\xB4\xDE\x81\xB6\x6E\x5F\x01\x59\xB4\x52\x60\xBD\xB4\xF7\x20\x02\x69\xB6\xB5\x81\x6B\xB5\x6E\x98\xB4\x62\xB6\xAA\x4B\xB8\x93\x75\xB8\x42\x21\x0F\xB6\x52\xB2\xB7\xBF\xAD\xA9\x3E\x84\xB4\x7D\xB4\xB6\x32\x94\xB7\x32\xBA\xB4\x53\xB0\xB8\x66\xB8\x56\x22\x0C\xB7\xCB\xAE\xB7\xCD\xA0\xAC\xB1\x33\x02\x8E\xBC\x96\x90\xBE\xAE\x92\xB1\x32\x24\x05\xB9\x1E\xBB\xB6\x55\xB9\xB7\xE4\x25\x02\x9C\xB3\xB8\x28\xB7\xB4\x8B\xBE\xB1\x26\x03\xBA\x2A\x92\x2A\x9C\xA2\x96\xC1\xA0\xB7\x6B\x87\xB7\x36\x80\xBB\xE7\xA9\xB8\xAE\xBF\xB9\x87\xBA\xB6\xB2\xB8\xAA\xB9\xB6\x2F\x27\x0C\xB7\x9E\xB9\xB9\x0E\x38\x02\xAA\xB0\x96\xB6\xB5\x97\x6C\xBD\xBB\x33\xBB\xBB\x3C\xB7\x42\x29\x05\xBC\x00\xBA\xA9\xB1\x2A\x02\x33\xA2\xBD\xC4\x2B\x02\xD5\xB6\xBD\xAE\x2C\x02\xD9\xBA\xBD\x9B\x2D\x02\xDD\xBE\xBD\x83\x9E\x02\xE1", + "\xB2\xBE\xAC\x2F\x02\xE5\xB6\xBE\x80\x20\x03\xE9\xB5\x2B\xB8\x9E\x9B\xF0\xBE\x9A\xBB\x91\xBF\xF3\xBF\xBE\xE5\x66\x9B\xF4\xBD\x9B\xF6\xB5\xBF\xFC\xBA\xBF\xFD\xB3\x6E\xF6\x6F\x9F\x02\xA0\x9F\x02\xAB\x9F\x06\xC2\xC0\x07\xCD\x71\xF9\x95\xC0\x08\xCD\xC0\x01\xA9\xC0\x0C\xCF\xC0\x15\x76\x2B\x32\xAF\xAA\xD6\xB4\xA8\x82\xA9\xC1\x18\xCB\xC1\x76\xAE\xA6\x85\xA1\xA7\x86\xAC\xC1\x1F\xCA\xC1\x21\xC5\xC2\x23\xC2\xC2\x24\xC7\xC2\x26\xC9\xC2\x2C\xC8\xA8\x94\xA0\xA9\x2F\xC4\x49\xC1\x70\xC3\x97\xA5\xC3\x34\xC7\xC3\x96\xA8\xC3\x31\xCB\xC3\x36\xCE\xC2\x36\xC9\xC3\xC6\x73\xC3\x40\xCC\xC3\x3A\xCF\xC3\x44\xC3\xC4\x46\xC9\xC4\xBA\x45\x2B\xAD\xB8\xBC\xCA\xB1\x3B\x31\x00\xBC\xCC\xBD\xB5\x4F\xC1\x30\x32\x05\xB2\xC1\xBA\xB8\xAF\xB9\x51\x33\x00\xBD\x20\x89\xC5\xAE\xBE\x3E\x34\x0E\xC5\xF3\xA3\xC5\x86\xB2\xB8\x60\xCE\xC4\x82\xB4\x51\x66\xC7\xBA\xF9\x85\x03\x64\xC0\x93\x84\xB9\xAD\x6E\xC5\xC5\xB6\xA7\xBC\xB8\xA9\xBC\x24\x56\x03\x71\xCE\xB2\x73\xCB\xAF\x54\xC5\x10\x37\x0D\xC7\x51\xB9\xC6\x79\xCB\x51\x38\x04\xC8\x88\xB7\xB9\x02\xB2\xBC\xDD\x39", + "\x03\x8A\xC3\xB6\xA5\xB5\xB6\x7A\xC9\x50\x3A\x01\xC9\x65\x83\xC9\x85\xB5\xC7\x01\x3B\x03\x98\xCF\xC5\x6D\xC5\xC9\xA0\xB4\x32\x52\xC8\xC7\x1A\xBA\xAD\x3D\x0F\xC9\xB2\xA6\xC8\xA7\xC0\x95\x28\x4E\x03\xAA\xCD\xAA\xE0\xA6\xC1\x21\xBE\xC8\x76\xC0\xCA\xA6\xC9\xAE\x67\xC9\x50\x3F\x01\xCB\x27\xB7\x96\x19\x92\xCA\xB7\xC5\xBB\x8C\xC2\xB1\xB6\xCB\xC6\x39\xBF\xC7\x30\xB1\xC8\xB4\xB0\x8C\xB7\x2D\xC4\x87\xC3\x38\x40\x0E\xCB\xBD\xA5\xCC\x54\xB7\xCC\x41\x91\x04\x9F\xCC\xCA\xBA\xCE\xCA\xE4\x22\x04\xD4\xCB\xC8\xCA\xCB\xB3\xCC\xC3\xCA\x27\x4C\xCD\x0A\xB3\xCC\xBA\xB9\xCB\x0A\xB8\xBB\x49\x53\x04\xE1\xC5\x98\x90\x20\xCD\xAD\xCB\xC5\xCA\xB4\x04\xA3\xB8\xCE\xD6\x8A\xCE\x09\x5A\xCF\x42\xBC\xCF\xB8\xC6\xCD\x5A\xCE\xCE\x1F\x31\xCF\xFD\xCA\xBE\x5B\x26\x04\xED\xB8\xD0\xAE\x27\x04\x0B\xDC\xD0\x9B\x28\x04\x0F\xD0\xD1\xB2\x29\x04\x13\xD4\xD1\xC8\x2A\x04\x17\xD8\xD1\x92\x9B\x04\x1B\xDC\xD1\x91\x2C\x04\x1F\xDE\x4B\xF4\xCD\xCD\xF6\xC8\xC6\xA1\xC4\xD0\xF7\x2D\x04\x06\xD1\xD0\xE3\xCC\xB5\x74\xBE\x04\x2D\xD6\x65\xFE\xCC\xB4\x4F\x03\xD3\x66\x98\xB1", + "\x68\x92\xCC\x6A\x80\x05\x50\xB5\xD3\x23\x62\xAC\x51\x0C\xAB\x40\xDC\x63\x00\xD1\x87\x02\xD7\xBB\xD8\xC6\xCE\xCB\xBC\xCE\xB5\xCA\xC5\x47\xD7\xB1\xB3\xC9\xB1\x26\xDA\xD2\xB7\xC2\x05\xA5\xC9\xD4\xC8\xB6\xD5\x28\xDE\xD4\x42\xBC\xD5\xCD\xC1\xBD\x2F\xD3\xB7\x9C\xC1\xD6\xE2\x89\xD2\x4B\xD1\xD5\x62\xDA\xC9\x74\xCC\xD3\x66\xDF\x2C\x53\x0F\xD3\x68\xD0\xD5\xC8\xC1\xB7\x63\xDF\xB7\xAE\xB4\x05\x38\xD0\xB4\x5E\xDC\xB4\x60\xDC\xD4\xC4\xC7\xD7\x91\xB4\xD7\x6F\xD2\xD5\x34\x84\xCB\x5F\xD9\xD6\xDA\x25\x05\x7B\xD1\xBB\x7D\xD8\xB7\x6A\xD5\xCD\xD6\xB6\x05\x23\xD0\xD2\x8D\x47\x05\x95\xD6\xD9\xBF\x48\x05\x99\xDA\xD9\x9C\x29\x05\x9D\xDE\xD9\xA2\xD3\xDA\xE1\x1A\x05\xA1\xD4\xDA\x52\x2B\x05\xA7\xD8\xD0\x25\xD9\xCE\x75\xD3\xAC\x8F\xD3\xBB\xF7\x2C\x05\x8D\xD1\xD8\x6C\xD0\xC8\xDA\xAD\x05\xB5\xDB\xCE\x5A\xD9\xC7\x7F\xDE\x56\x5E\x0D\xD8\x45\xD7\x66\xAF\xD3\xDC\xD8\x80\xD8\xBC\xD2\xD8\x98\xB4\xD8\xDD\x3F\x05\xBB\xD7\xC7\xBD\xD5\xCF\x9F\xB0\x06\xCF\xDE\xD2\xB7\xDB\xCC\x74\xB1\x06\xD5\xD6\xDB\xA8\xD8\x25\x63\x05\xBE\x62\x0B\xDA\xDD\xD3\xDE\xE4", + "\xDF\x24\x64\x02\xDE\xE5\xD5\x28\x65\x08\xDE\xE9\xD4\x25\x66\x0C\xDE\xED\xDE\x25\x67\x00\xDF\xE3\xDD\xDA\xFB\xCF\xDA\x5A\xBA\xDC\x8D\xCC\xDC\x72\x38\x06\xDB\xDE\xCC\xFF\x78\xD8\x7E\xDA\xD8\x85\xDB\xD6\xC0\xC9\xB2\x6E\xD8\xDC\xE7\xC3\xD7\x61\xC1\x32\x69\x0F\xDF\x06\xEA\xD3\xC1\xCF\xDB\xC2\xA0\xD2\x6A\x04\xDF\xF1\xD4\x2C\x6B\x08\xE1\x19\xEC\x06\x1C\xE9\xE1\x7B\x2D\x06\x1F\xE0\xE2\xBF\x2E\x06\x23\xE4\xE2\xDB\x1F\x06\x27\xEC\xD0\xF6\xDF\xCF\xF8\xD9\xCC\xD7\xD4\xCE\xBB\xCA\xE0\x92\xDE\xD9\x70\x0B\xE2\x28\xEA\x2B\x71\x08\xE3\x39\xE2\x28\x72\x0C\xE3\x3D\xED\x26\x73\x00\xE4\x1C\xD4\x07\x44\xE1\xE4\x6A\x25\x07\x47\xE8\xE4\x74\x26\x07\x4B\xEC\xE4\xAF\x27\x07\x4F\xE2\xBE\x78\x03\xE5\x50\xE3\x26\x79\x06\xE5\x57\xEB\xE5\x5C\xED\xE5\xDB\x1A\x07\x5A\xEE\xE5\x8B\x2B\x07\x61\xE2\xE6\x66\xE7\xE6\x7B\x9C\x07\x65\xE8\xE6\x6C\xEB\x27\x7D\x0B\xE6\x6D\xE0\x98\xEF\x01\x1E\xF4\x0B\x24\x3F\x08\x09\xC8\x0C\x0F\x4B\x21\x00\xC9\x00\x0F\x4A\x2F\x01\x40\x0E\x0F\xDB\x13\x00\x82\xEF\x07\xE4\x0F\x0B\xF0\x03\x00\x03\x00\x03\x2B\x00\x10\x06\x1F", + "\xE8\x88\x98\x1F\x05\x1D\x1F\xC4\x90\x20\x05\x1E\x1E\x02\x10\x1F\x0A\x23\x11\x1A\x15\x1B\x02\x1B\x1F\x00\x02\x21\x02\x15\x21\x02\x14\x24\x47\x22\x1F\xF4\x15\x10\x0F\x22\x10\x3D\x21\x23\x05\x18\x22\x3A\x2D\x19\x02\x1C\x3E\x00\x04\xEB\xB6\xE2\xEB\xB5\xE8\xEB\xB7\xE3\xEB\xBA\xED\xEB\xBC\xEF\xEB\xB9\xE0\xEC\xB4\xE3\x3E\xC1\xE0\x00\x1D\x40\x00\x10\x48\xEC\xAF\x12\x10\xC9\xE6\x24\x00\x0E\x10\x02\x17\x1E\x00\x0D\x20\x00\x06\x20\x02\x1F\x1F\xC2\xEE\xEB\x00\x0E\x22\x00\x09\x29\x02\x15\x2F\xC5\xE7\x27\x02\x15\x2A\x02\x1F\x32\xD9\xE7\xEE\xC5\xEB\xEB\xE9\xEA\xED\xEA\xED\xEE\xEC\xEF\xEE\x02\x1F\x29\xE8\xEE\xEE\xF3\xE0\xEF\xEB\xE5\xEF\xE8\xE9\xEC\xFA\xEE\xE9\xCA\xE2\x10\xE1\x30\x00\xF9\x3D\xEF\x02\xF7\xEC\xFB\xEC\xEC\xA9\x16\xF0\x08\xF0\x00\x16\x40\x00\x13\x42\xF0\xC9\xE4\xEB\x13\x37\xEF\xC5\xEE\x21\x12\xF4\xEF\x12\xF8\x35\xF8\xE5\xF1\xB8\xE7\x13\x02\x1A\x13\x19\xF6\xF1\x16\xFD\x13\x02\x10\x14\xC0\xEC\x1E\xC5\xE3\x29\x19\xFA\x35\xC0\xE3\x1E\x20\xF6\xEF\x2D\xF9\xF0\x05\xFE\xF0\xFC\xE9\xEC\xFF\xE1\xF3\x1B\x42\xF3\x02\x17\xF3", + "\x03\x48\xF3\x3C\xF8\x41\x00\x03\x22\x1F\xF3\x12\xC0\xE0\x3A\x1A\xF2\x10\xE2\x25\xF4\x48\xF6\xF1\x39\x22\xF1\xAA\x20\x00\x32\x38\xEE\x2C\x20\x00\xF2\x22\xF1\x2A\x24\xEB\x4C\x12\x10\x4F\x1E\x2D\x2F\xF0\x00\x10\x32\x10\x39\x32\x10\x67\x38\xEE\x79\x30\xEC\x31\xF5\xF6\x33\xF7\xF6\x02\x1B\xF3\x31\xFE\xF3\x5B\xF6\x39\x00\x00\x24\xC5\xE9\x1E\x41\xF3\xF7\xC5\xE4\x13\xC0\xE5\x36\x02\x12\x36\x02\x1C\x30\x48\xFD\x28\x02\x14\x33\xE8\xE5\x38\x02\x13\x34\x64\xF8\xF6\x3C\xF1\xF3\x20\x24\xF7\xB4\xEA\x21\x00\x08\x16\x02\x13\x32\xC0\xE0\x23\x00\x05\x37\x02\x11\x39\x00\x06\x33\xC0\xEB\x2F\xC5\xE4\x2D\x00\x06\x32\xC0\xE6\x3A\x00\x06\x3C\x87\xF1\x19\x30\xF0\x16\x19\xF9\x36\x02\x16\x34\x19\xF9\xEC\xB3\x33\xFA\x09\xF4\x39\xC5\xE7\x37\x02\x10\x32\xC0\xE3\x35\xA5\xF7\xFB\x3C\xF7\x23\x00\x03\x3A\xAE\xFD\xFB\x66\xF9\xF0\xC8\x3E\x3D\x86\xF4\x18\x02\x1D\x3B\x02\xFF\x3A\x02\xFE\x39\x00\x00", + }; + vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); } } diff --git a/Import/VlppWorkflowCompiler.h b/Import/VlppWorkflowCompiler.h index 80abdc80..36370566 100644 --- a/Import/VlppWorkflowCompiler.h +++ b/Import/VlppWorkflowCompiler.h @@ -68,2038 +68,2029 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_WORKFLOW_PARSER_AST_AST -namespace vl +namespace vl::workflow { - namespace workflow + class WfAttachEventExpression; + class WfAttribute; + class WfAutoPropertyDeclaration; + class WfBaseConstructorCall; + class WfBinaryExpression; + class WfBindExpression; + class WfBlockStatement; + class WfBreakStatement; + class WfCallExpression; + class WfCastResultInterfaceDeclaration; + class WfChildExpression; + class WfChildType; + class WfClassDeclaration; + class WfCoOperatorExpression; + class WfCoOperatorStatement; + class WfCoPauseStatement; + class WfCoProviderStatement; + class WfConstructorArgument; + class WfConstructorDeclaration; + class WfConstructorExpression; + class WfContinueStatement; + class WfCoroutineStatement; + class WfDeclaration; + class WfDeleteStatement; + class WfDestructorDeclaration; + class WfDetachEventExpression; + class WfEnumDeclaration; + class WfEnumItem; + class WfEnumItemIntersection; + class WfEnumerableType; + class WfEventDeclaration; + class WfExpectedTypeCastExpression; + class WfExpression; + class WfExpressionStatement; + class WfFloatingExpression; + class WfForEachStatement; + class WfFormatExpression; + class WfFunctionArgument; + class WfFunctionDeclaration; + class WfFunctionExpression; + class WfFunctionType; + class WfGotoStatement; + class WfIfExpression; + class WfIfStatement; + class WfInferExpression; + class WfIntegerExpression; + class WfLetExpression; + class WfLetVariable; + class WfLiteralExpression; + class WfMapType; + class WfMemberExpression; + class WfMixinCastExpression; + class WfModule; + class WfModuleUsingFragment; + class WfModuleUsingItem; + class WfModuleUsingNameFragment; + class WfModuleUsingPath; + class WfModuleUsingWildCardFragment; + class WfNamespaceDeclaration; + class WfNewClassExpression; + class WfNewCoroutineExpression; + class WfNewInterfaceExpression; + class WfNullableType; + class WfObservableListType; + class WfObserveExpression; + class WfOrderedLambdaExpression; + class WfOrderedNameExpression; + class WfPredefinedType; + class WfPropertyDeclaration; + class WfRaiseExceptionStatement; + class WfRangeExpression; + class WfRawPointerType; + class WfReferenceExpression; + class WfReferenceType; + class WfReturnStatement; + class WfSetTestingExpression; + class WfSharedPointerType; + class WfStateDeclaration; + class WfStateInput; + class WfStateInvokeStatement; + class WfStateMachineDeclaration; + class WfStateMachineStatement; + class WfStateSwitchArgument; + class WfStateSwitchCase; + class WfStateSwitchStatement; + class WfStatement; + class WfStringExpression; + class WfStructDeclaration; + class WfStructMember; + class WfSwitchCase; + class WfSwitchStatement; + class WfThisExpression; + class WfTopQualifiedExpression; + class WfTopQualifiedType; + class WfTryStatement; + class WfType; + class WfTypeCastingExpression; + class WfTypeOfExpressionExpression; + class WfTypeOfTypeExpression; + class WfTypeTestingExpression; + class WfUnaryExpression; + class WfVariableDeclaration; + class WfVariableStatement; + class WfVirtualCfeDeclaration; + class WfVirtualCfeExpression; + class WfVirtualCseDeclaration; + class WfVirtualCseExpression; + class WfVirtualCseStatement; + class WfWhileStatement; + + enum class WfFunctionKind { - class WfAttachEventExpression; - class WfAttribute; - class WfAutoPropertyDeclaration; - class WfBaseConstructorCall; - class WfBinaryExpression; - class WfBindExpression; - class WfBlockStatement; - class WfBreakStatement; - class WfCallExpression; - class WfCastResultInterfaceDeclaration; - class WfChildExpression; - class WfChildType; - class WfClassDeclaration; - class WfCoOperatorExpression; - class WfCoOperatorStatement; - class WfCoPauseStatement; - class WfCoProviderStatement; - class WfConstructorArgument; - class WfConstructorDeclaration; - class WfConstructorExpression; - class WfContinueStatement; - class WfCoroutineStatement; - class WfDeclaration; - class WfDeleteStatement; - class WfDestructorDeclaration; - class WfDetachEventExpression; - class WfEnumDeclaration; - class WfEnumItem; - class WfEnumItemIntersection; - class WfEnumerableType; - class WfEventDeclaration; - class WfExpectedTypeCastExpression; - class WfExpression; - class WfExpressionStatement; - class WfFloatingExpression; - class WfForEachStatement; - class WfFormatExpression; - class WfFunctionArgument; - class WfFunctionDeclaration; - class WfFunctionExpression; - class WfFunctionType; - class WfGotoStatement; - class WfIfExpression; - class WfIfStatement; - class WfInferExpression; - class WfIntegerExpression; - class WfLetExpression; - class WfLetVariable; - class WfLiteralExpression; - class WfMapType; - class WfMemberExpression; - class WfMixinCastExpression; - class WfModule; - class WfModuleUsingFragment; - class WfModuleUsingItem; - class WfModuleUsingNameFragment; - class WfModuleUsingPath; - class WfModuleUsingWildCardFragment; - class WfNamespaceDeclaration; - class WfNewClassExpression; - class WfNewCoroutineExpression; - class WfNewInterfaceExpression; - class WfNullableType; - class WfObservableListType; - class WfObserveExpression; - class WfOrderedLambdaExpression; - class WfOrderedNameExpression; - class WfPredefinedType; - class WfPropertyDeclaration; - class WfRaiseExceptionStatement; - class WfRangeExpression; - class WfRawPointerType; - class WfReferenceExpression; - class WfReferenceType; - class WfReturnStatement; - class WfSetTestingExpression; - class WfSharedPointerType; - class WfStateDeclaration; - class WfStateInput; - class WfStateInvokeStatement; - class WfStateMachineDeclaration; - class WfStateMachineStatement; - class WfStateSwitchArgument; - class WfStateSwitchCase; - class WfStateSwitchStatement; - class WfStatement; - class WfStringExpression; - class WfStructDeclaration; - class WfStructMember; - class WfSwitchCase; - class WfSwitchStatement; - class WfThisExpression; - class WfTopQualifiedExpression; - class WfTopQualifiedType; - class WfTryStatement; - class WfType; - class WfTypeCastingExpression; - class WfTypeOfExpressionExpression; - class WfTypeOfTypeExpression; - class WfTypeTestingExpression; - class WfUnaryExpression; - class WfVariableDeclaration; - class WfVariableStatement; - class WfVirtualCfeDeclaration; - class WfVirtualCfeExpression; - class WfVirtualCseDeclaration; - class WfVirtualCseExpression; - class WfVirtualCseStatement; - class WfWhileStatement; - - enum class WfFunctionKind - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Static = 0, - Override = 1, - Normal = 2, - }; - - enum class WfPredefinedTypeName - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Void = 0, - Object = 1, - Interface = 2, - Int = 3, - UInt = 4, - Float = 5, - Double = 6, - String = 7, - Char = 8, - Bool = 9, - }; - - enum class WfMapWritability - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Readonly = 0, - Writable = 1, - }; - - enum class WfFunctionAnonymity - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Named = 0, - Anonymous = 1, - }; - - enum class WfClassKind - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Class = 0, - Interface = 1, - }; - - enum class WfConstructorType - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Undefined = 0, - SharedPtr = 1, - RawPtr = 2, - }; - - enum class WfEnumKind - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Normal = 0, - Flag = 1, - }; - - enum class WfEnumItemKind - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Constant = 0, - Intersection = 1, - }; - - enum class WfAPConst - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Readonly = 0, - Writable = 1, - }; - - enum class WfAPObserve - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Observable = 0, - NotObservable = 1, - }; - - enum class WfForEachDirection - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Normal = 0, - Reversed = 1, - }; - - enum class WfStateSwitchType - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Default = 0, - Pass = 1, - PassAndReturn = 2, - Ignore = 3, - IgnoreAndReturn = 4, - }; - - enum class WfStateInvokeType - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Goto = 0, - Push = 1, - }; - - enum class WfLiteralValue - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Null = 0, - True = 1, - False = 2, - }; - - enum class WfUnaryOperator - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Positive = 0, - Negative = 1, - Not = 2, - }; - - enum class WfBinaryOperator - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Assign = 0, - Index = 1, - FlagAnd = 2, - FlagOr = 3, - FailedThen = 4, - Exp = 5, - Add = 6, - Sub = 7, - Mul = 8, - Div = 9, - Mod = 10, - Shl = 11, - Shr = 12, - LT = 13, - GT = 14, - LE = 15, - GE = 16, - EQ = 17, - NE = 18, - Xor = 19, - And = 20, - Or = 21, - }; - - enum class WfRangeBoundary - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Inclusive = 0, - Exclusive = 1, - }; - - enum class WfSetTesting - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - In = 0, - NotIn = 1, - }; - - enum class WfTypeCastingStrategy - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Strong = 0, - Weak = 1, - }; - - enum class WfTypeTesting - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - IsType = 0, - IsNotType = 1, - IsNull = 2, - IsNotNull = 3, - }; - - enum class WfObserveType - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - SimpleObserve = 0, - ExtendedObserve = 1, - }; - - enum class WfModuleType - { - UNDEFINED_ENUM_ITEM_VALUE = -1, - Module = 0, - Unit = 1, - }; - - class WfType abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfPredefinedType* node) = 0; - virtual void Visit(WfTopQualifiedType* node) = 0; - virtual void Visit(WfReferenceType* node) = 0; - virtual void Visit(WfRawPointerType* node) = 0; - virtual void Visit(WfSharedPointerType* node) = 0; - virtual void Visit(WfNullableType* node) = 0; - virtual void Visit(WfEnumerableType* node) = 0; - virtual void Visit(WfMapType* node) = 0; - virtual void Visit(WfObservableListType* node) = 0; - virtual void Visit(WfFunctionType* node) = 0; - virtual void Visit(WfChildType* node) = 0; - }; - - virtual void Accept(WfType::IVisitor* visitor) = 0; - - }; - - class WfExpression abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfThisExpression* node) = 0; - virtual void Visit(WfTopQualifiedExpression* node) = 0; - virtual void Visit(WfReferenceExpression* node) = 0; - virtual void Visit(WfOrderedNameExpression* node) = 0; - virtual void Visit(WfOrderedLambdaExpression* node) = 0; - virtual void Visit(WfMemberExpression* node) = 0; - virtual void Visit(WfChildExpression* node) = 0; - virtual void Visit(WfLiteralExpression* node) = 0; - virtual void Visit(WfFloatingExpression* node) = 0; - virtual void Visit(WfIntegerExpression* node) = 0; - virtual void Visit(WfStringExpression* node) = 0; - virtual void Visit(WfUnaryExpression* node) = 0; - virtual void Visit(WfBinaryExpression* node) = 0; - virtual void Visit(WfLetExpression* node) = 0; - virtual void Visit(WfIfExpression* node) = 0; - virtual void Visit(WfRangeExpression* node) = 0; - virtual void Visit(WfSetTestingExpression* node) = 0; - virtual void Visit(WfConstructorExpression* node) = 0; - virtual void Visit(WfInferExpression* node) = 0; - virtual void Visit(WfTypeCastingExpression* node) = 0; - virtual void Visit(WfTypeTestingExpression* node) = 0; - virtual void Visit(WfTypeOfTypeExpression* node) = 0; - virtual void Visit(WfTypeOfExpressionExpression* node) = 0; - virtual void Visit(WfAttachEventExpression* node) = 0; - virtual void Visit(WfDetachEventExpression* node) = 0; - virtual void Visit(WfObserveExpression* node) = 0; - virtual void Visit(WfCallExpression* node) = 0; - virtual void Visit(WfFunctionExpression* node) = 0; - virtual void Visit(WfNewClassExpression* node) = 0; - virtual void Visit(WfNewInterfaceExpression* node) = 0; - virtual void Visit(WfVirtualCfeExpression* node) = 0; - virtual void Visit(WfVirtualCseExpression* node) = 0; - }; - - virtual void Accept(WfExpression::IVisitor* visitor) = 0; - - }; - - class WfStatement abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfBreakStatement* node) = 0; - virtual void Visit(WfContinueStatement* node) = 0; - virtual void Visit(WfReturnStatement* node) = 0; - virtual void Visit(WfDeleteStatement* node) = 0; - virtual void Visit(WfRaiseExceptionStatement* node) = 0; - virtual void Visit(WfIfStatement* node) = 0; - virtual void Visit(WfWhileStatement* node) = 0; - virtual void Visit(WfTryStatement* node) = 0; - virtual void Visit(WfBlockStatement* node) = 0; - virtual void Visit(WfGotoStatement* node) = 0; - virtual void Visit(WfVariableStatement* node) = 0; - virtual void Visit(WfExpressionStatement* node) = 0; - virtual void Visit(WfVirtualCseStatement* node) = 0; - virtual void Visit(WfCoroutineStatement* node) = 0; - virtual void Visit(WfStateMachineStatement* node) = 0; - }; - - virtual void Accept(WfStatement::IVisitor* visitor) = 0; - - }; - - class WfAttribute : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken category; - vl::glr::ParsingToken name; - vl::Ptr value; - }; - - class WfDeclaration abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfNamespaceDeclaration* node) = 0; - virtual void Visit(WfFunctionDeclaration* node) = 0; - virtual void Visit(WfVariableDeclaration* node) = 0; - virtual void Visit(WfEventDeclaration* node) = 0; - virtual void Visit(WfPropertyDeclaration* node) = 0; - virtual void Visit(WfConstructorDeclaration* node) = 0; - virtual void Visit(WfDestructorDeclaration* node) = 0; - virtual void Visit(WfClassDeclaration* node) = 0; - virtual void Visit(WfEnumDeclaration* node) = 0; - virtual void Visit(WfStructDeclaration* node) = 0; - virtual void Visit(WfVirtualCfeDeclaration* node) = 0; - virtual void Visit(WfVirtualCseDeclaration* node) = 0; - }; - - virtual void Accept(WfDeclaration::IVisitor* visitor) = 0; - - vl::collections::List> attributes; - vl::glr::ParsingToken name; - }; - - class WfPredefinedType : public WfType, vl::reflection::Description - { - public: - WfPredefinedTypeName name = WfPredefinedTypeName::UNDEFINED_ENUM_ITEM_VALUE; - - void Accept(WfType::IVisitor* visitor) override; - }; - - class WfTopQualifiedType : public WfType, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - - void Accept(WfType::IVisitor* visitor) override; - }; - - class WfReferenceType : public WfType, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - - void Accept(WfType::IVisitor* visitor) override; - }; - - class WfRawPointerType : public WfType, vl::reflection::Description - { - public: - vl::Ptr element; - - void Accept(WfType::IVisitor* visitor) override; - }; - - class WfSharedPointerType : public WfType, vl::reflection::Description - { - public: - vl::Ptr element; - - void Accept(WfType::IVisitor* visitor) override; - }; - - class WfNullableType : public WfType, vl::reflection::Description - { - public: - vl::Ptr element; - - void Accept(WfType::IVisitor* visitor) override; - }; - - class WfEnumerableType : public WfType, vl::reflection::Description - { - public: - vl::Ptr element; - - void Accept(WfType::IVisitor* visitor) override; - }; - - class WfMapType : public WfType, vl::reflection::Description - { - public: - WfMapWritability writability = WfMapWritability::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr key; - vl::Ptr value; - - void Accept(WfType::IVisitor* visitor) override; - }; - - class WfObservableListType : public WfType, vl::reflection::Description - { - public: - vl::Ptr element; - - void Accept(WfType::IVisitor* visitor) override; - }; - - class WfFunctionType : public WfType, vl::reflection::Description - { - public: - vl::Ptr result; - vl::collections::List> arguments; - - void Accept(WfType::IVisitor* visitor) override; - }; - - class WfChildType : public WfType, vl::reflection::Description - { - public: - vl::Ptr parent; - vl::glr::ParsingToken name; - - void Accept(WfType::IVisitor* visitor) override; - }; - - class WfNamespaceDeclaration : public WfDeclaration, vl::reflection::Description - { - public: - vl::collections::List> declarations; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfFunctionArgument : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::collections::List> attributes; - vl::glr::ParsingToken name; - vl::Ptr type; - }; - - class WfFunctionDeclaration : public WfDeclaration, vl::reflection::Description - { - public: - WfFunctionKind functionKind = WfFunctionKind::UNDEFINED_ENUM_ITEM_VALUE; - WfFunctionAnonymity anonymity = WfFunctionAnonymity::UNDEFINED_ENUM_ITEM_VALUE; - vl::collections::List> arguments; - vl::Ptr returnType; - vl::Ptr statement; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfVariableDeclaration : public WfDeclaration, vl::reflection::Description - { - public: - vl::Ptr type; - vl::Ptr expression; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfEventDeclaration : public WfDeclaration, vl::reflection::Description - { - public: - vl::collections::List> arguments; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfPropertyDeclaration : public WfDeclaration, vl::reflection::Description - { - public: - vl::Ptr type; - vl::glr::ParsingToken getter; - vl::glr::ParsingToken setter; - vl::glr::ParsingToken valueChangedEvent; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfBaseConstructorCall : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::Ptr type; - vl::collections::List> arguments; - }; - - class WfConstructorDeclaration : public WfDeclaration, vl::reflection::Description - { - public: - WfConstructorType constructorType = WfConstructorType::UNDEFINED_ENUM_ITEM_VALUE; - vl::collections::List> baseConstructorCalls; - vl::collections::List> arguments; - vl::Ptr statement; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfDestructorDeclaration : public WfDeclaration, vl::reflection::Description - { - public: - vl::Ptr statement; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfClassDeclaration : public WfDeclaration, vl::reflection::Description - { - public: - WfClassKind kind = WfClassKind::UNDEFINED_ENUM_ITEM_VALUE; - WfConstructorType constructorType = WfConstructorType::UNDEFINED_ENUM_ITEM_VALUE; - vl::collections::List> baseTypes; - vl::collections::List> declarations; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfEnumItemIntersection : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - }; - - class WfEnumItem : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::collections::List> attributes; - vl::glr::ParsingToken name; - WfEnumItemKind kind = WfEnumItemKind::UNDEFINED_ENUM_ITEM_VALUE; - vl::glr::ParsingToken number; - vl::collections::List> intersections; - }; - - class WfEnumDeclaration : public WfDeclaration, vl::reflection::Description - { - public: - WfEnumKind kind = WfEnumKind::UNDEFINED_ENUM_ITEM_VALUE; - vl::collections::List> items; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfStructMember : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::collections::List> attributes; - vl::glr::ParsingToken name; - vl::Ptr type; - }; - - class WfStructDeclaration : public WfDeclaration, vl::reflection::Description - { - public: - vl::collections::List> members; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfVirtualCfeDeclaration abstract : public WfDeclaration, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfAutoPropertyDeclaration* node) = 0; - virtual void Visit(WfCastResultInterfaceDeclaration* node) = 0; - }; - - virtual void Accept(WfVirtualCfeDeclaration::IVisitor* visitor) = 0; - - vl::collections::List> expandedDeclarations; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfAutoPropertyDeclaration : public WfVirtualCfeDeclaration, vl::reflection::Description - { - public: - WfFunctionKind functionKind = WfFunctionKind::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr type; - WfAPConst configConst = WfAPConst::UNDEFINED_ENUM_ITEM_VALUE; - WfAPObserve configObserve = WfAPObserve::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr expression; - - void Accept(WfVirtualCfeDeclaration::IVisitor* visitor) override; - }; - - class WfCastResultInterfaceDeclaration : public WfVirtualCfeDeclaration, vl::reflection::Description - { - public: - vl::Ptr baseType; - vl::Ptr elementType; - - void Accept(WfVirtualCfeDeclaration::IVisitor* visitor) override; - }; - - class WfVirtualCseDeclaration abstract : public WfDeclaration, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfStateMachineDeclaration* node) = 0; - }; - - virtual void Accept(WfVirtualCseDeclaration::IVisitor* visitor) = 0; - - vl::collections::List> expandedDeclarations; - - void Accept(WfDeclaration::IVisitor* visitor) override; - }; - - class WfStateInput : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - vl::collections::List> arguments; - }; - - class WfStateDeclaration : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - vl::collections::List> arguments; - vl::Ptr statement; - }; - - class WfStateMachineDeclaration : public WfVirtualCseDeclaration, vl::reflection::Description - { - public: - vl::collections::List> inputs; - vl::collections::List> states; - - void Accept(WfVirtualCseDeclaration::IVisitor* visitor) override; - }; - - class WfBreakStatement : public WfStatement, vl::reflection::Description - { - public: - - void Accept(WfStatement::IVisitor* visitor) override; - }; - - class WfContinueStatement : public WfStatement, vl::reflection::Description - { - public: - - void Accept(WfStatement::IVisitor* visitor) override; - }; - - class WfReturnStatement : public WfStatement, vl::reflection::Description - { - public: - vl::Ptr expression; - - void Accept(WfStatement::IVisitor* visitor) override; - }; - - class WfDeleteStatement : public WfStatement, vl::reflection::Description - { - public: - vl::Ptr expression; - - void Accept(WfStatement::IVisitor* visitor) override; - }; - - class WfRaiseExceptionStatement : public WfStatement, vl::reflection::Description - { - public: - vl::Ptr expression; - - void Accept(WfStatement::IVisitor* visitor) override; - }; - - class WfIfStatement : public WfStatement, vl::reflection::Description - { - public: - vl::Ptr type; - vl::glr::ParsingToken name; - vl::Ptr expression; - vl::Ptr trueBranch; - vl::Ptr falseBranch; - - void Accept(WfStatement::IVisitor* visitor) override; - }; - - class WfWhileStatement : public WfStatement, vl::reflection::Description - { - public: - vl::Ptr condition; - vl::Ptr statement; - - void Accept(WfStatement::IVisitor* visitor) override; - }; - - class WfTryStatement : public WfStatement, vl::reflection::Description - { - public: - vl::Ptr protectedStatement; - vl::glr::ParsingToken name; - vl::Ptr catchStatement; - vl::Ptr finallyStatement; - - void Accept(WfStatement::IVisitor* visitor) override; - }; - - class WfBlockStatement : public WfStatement, vl::reflection::Description - { - public: - vl::collections::List> statements; - vl::glr::ParsingToken endLabel; - - void Accept(WfStatement::IVisitor* visitor) override; - }; - - class WfGotoStatement : public WfStatement, vl::reflection::Description - { - public: - vl::glr::ParsingToken label; - - void Accept(WfStatement::IVisitor* visitor) override; - }; - - class WfVariableStatement : public WfStatement, vl::reflection::Description - { - public: - vl::Ptr variable; - - void Accept(WfStatement::IVisitor* visitor) override; - }; + UNDEFINED_ENUM_ITEM_VALUE = -1, + Static = 0, + Override = 1, + Normal = 2, + }; + + enum class WfPredefinedTypeName + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Void = 0, + Object = 1, + Interface = 2, + Int = 3, + UInt = 4, + Float = 5, + Double = 6, + String = 7, + Char = 8, + Bool = 9, + }; + + enum class WfMapWritability + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Readonly = 0, + Writable = 1, + }; + + enum class WfFunctionAnonymity + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Named = 0, + Anonymous = 1, + }; + + enum class WfClassKind + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Class = 0, + Interface = 1, + }; + + enum class WfConstructorType + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Undefined = 0, + SharedPtr = 1, + RawPtr = 2, + }; + + enum class WfEnumKind + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Normal = 0, + Flag = 1, + }; + + enum class WfEnumItemKind + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Constant = 0, + Intersection = 1, + }; + + enum class WfAPConst + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Readonly = 0, + Writable = 1, + }; + + enum class WfAPObserve + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Observable = 0, + NotObservable = 1, + }; + + enum class WfForEachDirection + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Normal = 0, + Reversed = 1, + }; + + enum class WfStateSwitchType + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Default = 0, + Pass = 1, + PassAndReturn = 2, + Ignore = 3, + IgnoreAndReturn = 4, + }; + + enum class WfStateInvokeType + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Goto = 0, + Push = 1, + }; + + enum class WfLiteralValue + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Null = 0, + True = 1, + False = 2, + }; + + enum class WfUnaryOperator + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Positive = 0, + Negative = 1, + Not = 2, + }; + + enum class WfBinaryOperator + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Assign = 0, + Index = 1, + FlagAnd = 2, + FlagOr = 3, + FailedThen = 4, + Exp = 5, + Add = 6, + Sub = 7, + Mul = 8, + Div = 9, + Mod = 10, + Shl = 11, + Shr = 12, + LT = 13, + GT = 14, + LE = 15, + GE = 16, + EQ = 17, + NE = 18, + Xor = 19, + And = 20, + Or = 21, + }; + + enum class WfRangeBoundary + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Inclusive = 0, + Exclusive = 1, + }; + + enum class WfSetTesting + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + In = 0, + NotIn = 1, + }; + + enum class WfTypeCastingStrategy + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Strong = 0, + Weak = 1, + }; + + enum class WfTypeTesting + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + IsType = 0, + IsNotType = 1, + IsNull = 2, + IsNotNull = 3, + }; + + enum class WfObserveType + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + SimpleObserve = 0, + ExtendedObserve = 1, + }; + + enum class WfModuleType + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Module = 0, + Unit = 1, + }; + + class WfType abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description + { + public: + virtual void Visit(WfPredefinedType* node) = 0; + virtual void Visit(WfTopQualifiedType* node) = 0; + virtual void Visit(WfReferenceType* node) = 0; + virtual void Visit(WfRawPointerType* node) = 0; + virtual void Visit(WfSharedPointerType* node) = 0; + virtual void Visit(WfNullableType* node) = 0; + virtual void Visit(WfEnumerableType* node) = 0; + virtual void Visit(WfMapType* node) = 0; + virtual void Visit(WfObservableListType* node) = 0; + virtual void Visit(WfFunctionType* node) = 0; + virtual void Visit(WfChildType* node) = 0; + }; + + virtual void Accept(WfType::IVisitor* visitor) = 0; + + }; + + class WfExpression abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description + { + public: + virtual void Visit(WfThisExpression* node) = 0; + virtual void Visit(WfTopQualifiedExpression* node) = 0; + virtual void Visit(WfReferenceExpression* node) = 0; + virtual void Visit(WfOrderedNameExpression* node) = 0; + virtual void Visit(WfOrderedLambdaExpression* node) = 0; + virtual void Visit(WfMemberExpression* node) = 0; + virtual void Visit(WfChildExpression* node) = 0; + virtual void Visit(WfLiteralExpression* node) = 0; + virtual void Visit(WfFloatingExpression* node) = 0; + virtual void Visit(WfIntegerExpression* node) = 0; + virtual void Visit(WfStringExpression* node) = 0; + virtual void Visit(WfUnaryExpression* node) = 0; + virtual void Visit(WfBinaryExpression* node) = 0; + virtual void Visit(WfLetExpression* node) = 0; + virtual void Visit(WfIfExpression* node) = 0; + virtual void Visit(WfRangeExpression* node) = 0; + virtual void Visit(WfSetTestingExpression* node) = 0; + virtual void Visit(WfConstructorExpression* node) = 0; + virtual void Visit(WfInferExpression* node) = 0; + virtual void Visit(WfTypeCastingExpression* node) = 0; + virtual void Visit(WfTypeTestingExpression* node) = 0; + virtual void Visit(WfTypeOfTypeExpression* node) = 0; + virtual void Visit(WfTypeOfExpressionExpression* node) = 0; + virtual void Visit(WfAttachEventExpression* node) = 0; + virtual void Visit(WfDetachEventExpression* node) = 0; + virtual void Visit(WfObserveExpression* node) = 0; + virtual void Visit(WfCallExpression* node) = 0; + virtual void Visit(WfFunctionExpression* node) = 0; + virtual void Visit(WfNewClassExpression* node) = 0; + virtual void Visit(WfNewInterfaceExpression* node) = 0; + virtual void Visit(WfVirtualCfeExpression* node) = 0; + virtual void Visit(WfVirtualCseExpression* node) = 0; + }; + + virtual void Accept(WfExpression::IVisitor* visitor) = 0; + + }; + + class WfStatement abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description + { + public: + virtual void Visit(WfBreakStatement* node) = 0; + virtual void Visit(WfContinueStatement* node) = 0; + virtual void Visit(WfReturnStatement* node) = 0; + virtual void Visit(WfDeleteStatement* node) = 0; + virtual void Visit(WfRaiseExceptionStatement* node) = 0; + virtual void Visit(WfIfStatement* node) = 0; + virtual void Visit(WfWhileStatement* node) = 0; + virtual void Visit(WfTryStatement* node) = 0; + virtual void Visit(WfBlockStatement* node) = 0; + virtual void Visit(WfGotoStatement* node) = 0; + virtual void Visit(WfVariableStatement* node) = 0; + virtual void Visit(WfExpressionStatement* node) = 0; + virtual void Visit(WfVirtualCseStatement* node) = 0; + virtual void Visit(WfCoroutineStatement* node) = 0; + virtual void Visit(WfStateMachineStatement* node) = 0; + }; + + virtual void Accept(WfStatement::IVisitor* visitor) = 0; + + }; + + class WfAttribute : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken category; + vl::glr::ParsingToken name; + vl::Ptr value; + }; + + class WfDeclaration abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description + { + public: + virtual void Visit(WfNamespaceDeclaration* node) = 0; + virtual void Visit(WfFunctionDeclaration* node) = 0; + virtual void Visit(WfVariableDeclaration* node) = 0; + virtual void Visit(WfEventDeclaration* node) = 0; + virtual void Visit(WfPropertyDeclaration* node) = 0; + virtual void Visit(WfConstructorDeclaration* node) = 0; + virtual void Visit(WfDestructorDeclaration* node) = 0; + virtual void Visit(WfClassDeclaration* node) = 0; + virtual void Visit(WfEnumDeclaration* node) = 0; + virtual void Visit(WfStructDeclaration* node) = 0; + virtual void Visit(WfVirtualCfeDeclaration* node) = 0; + virtual void Visit(WfVirtualCseDeclaration* node) = 0; + }; + + virtual void Accept(WfDeclaration::IVisitor* visitor) = 0; + + vl::collections::List> attributes; + vl::glr::ParsingToken name; + }; + + class WfPredefinedType : public WfType, vl::reflection::Description + { + public: + WfPredefinedTypeName name = WfPredefinedTypeName::UNDEFINED_ENUM_ITEM_VALUE; + + void Accept(WfType::IVisitor* visitor) override; + }; + + class WfTopQualifiedType : public WfType, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + + void Accept(WfType::IVisitor* visitor) override; + }; + + class WfReferenceType : public WfType, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + + void Accept(WfType::IVisitor* visitor) override; + }; + + class WfRawPointerType : public WfType, vl::reflection::Description + { + public: + vl::Ptr element; + + void Accept(WfType::IVisitor* visitor) override; + }; + + class WfSharedPointerType : public WfType, vl::reflection::Description + { + public: + vl::Ptr element; + + void Accept(WfType::IVisitor* visitor) override; + }; + + class WfNullableType : public WfType, vl::reflection::Description + { + public: + vl::Ptr element; + + void Accept(WfType::IVisitor* visitor) override; + }; + + class WfEnumerableType : public WfType, vl::reflection::Description + { + public: + vl::Ptr element; + + void Accept(WfType::IVisitor* visitor) override; + }; + + class WfMapType : public WfType, vl::reflection::Description + { + public: + WfMapWritability writability = WfMapWritability::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr key; + vl::Ptr value; + + void Accept(WfType::IVisitor* visitor) override; + }; + + class WfObservableListType : public WfType, vl::reflection::Description + { + public: + vl::Ptr element; + + void Accept(WfType::IVisitor* visitor) override; + }; + + class WfFunctionType : public WfType, vl::reflection::Description + { + public: + vl::Ptr result; + vl::collections::List> arguments; + + void Accept(WfType::IVisitor* visitor) override; + }; + + class WfChildType : public WfType, vl::reflection::Description + { + public: + vl::Ptr parent; + vl::glr::ParsingToken name; + + void Accept(WfType::IVisitor* visitor) override; + }; + + class WfNamespaceDeclaration : public WfDeclaration, vl::reflection::Description + { + public: + vl::collections::List> declarations; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfFunctionArgument : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::collections::List> attributes; + vl::glr::ParsingToken name; + vl::Ptr type; + }; + + class WfFunctionDeclaration : public WfDeclaration, vl::reflection::Description + { + public: + WfFunctionKind functionKind = WfFunctionKind::UNDEFINED_ENUM_ITEM_VALUE; + WfFunctionAnonymity anonymity = WfFunctionAnonymity::UNDEFINED_ENUM_ITEM_VALUE; + vl::collections::List> arguments; + vl::Ptr returnType; + vl::Ptr statement; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfVariableDeclaration : public WfDeclaration, vl::reflection::Description + { + public: + vl::Ptr type; + vl::Ptr expression; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfEventDeclaration : public WfDeclaration, vl::reflection::Description + { + public: + vl::collections::List> arguments; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfPropertyDeclaration : public WfDeclaration, vl::reflection::Description + { + public: + vl::Ptr type; + vl::glr::ParsingToken getter; + vl::glr::ParsingToken setter; + vl::glr::ParsingToken valueChangedEvent; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfBaseConstructorCall : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::Ptr type; + vl::collections::List> arguments; + }; + + class WfConstructorDeclaration : public WfDeclaration, vl::reflection::Description + { + public: + WfConstructorType constructorType = WfConstructorType::UNDEFINED_ENUM_ITEM_VALUE; + vl::collections::List> baseConstructorCalls; + vl::collections::List> arguments; + vl::Ptr statement; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfDestructorDeclaration : public WfDeclaration, vl::reflection::Description + { + public: + vl::Ptr statement; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfClassDeclaration : public WfDeclaration, vl::reflection::Description + { + public: + WfClassKind kind = WfClassKind::UNDEFINED_ENUM_ITEM_VALUE; + WfConstructorType constructorType = WfConstructorType::UNDEFINED_ENUM_ITEM_VALUE; + vl::collections::List> baseTypes; + vl::collections::List> declarations; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfEnumItemIntersection : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + }; + + class WfEnumItem : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::collections::List> attributes; + vl::glr::ParsingToken name; + WfEnumItemKind kind = WfEnumItemKind::UNDEFINED_ENUM_ITEM_VALUE; + vl::glr::ParsingToken number; + vl::collections::List> intersections; + }; + + class WfEnumDeclaration : public WfDeclaration, vl::reflection::Description + { + public: + WfEnumKind kind = WfEnumKind::UNDEFINED_ENUM_ITEM_VALUE; + vl::collections::List> items; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfStructMember : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::collections::List> attributes; + vl::glr::ParsingToken name; + vl::Ptr type; + }; + + class WfStructDeclaration : public WfDeclaration, vl::reflection::Description + { + public: + vl::collections::List> members; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfVirtualCfeDeclaration abstract : public WfDeclaration, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description + { + public: + virtual void Visit(WfAutoPropertyDeclaration* node) = 0; + virtual void Visit(WfCastResultInterfaceDeclaration* node) = 0; + }; + + virtual void Accept(WfVirtualCfeDeclaration::IVisitor* visitor) = 0; + + vl::collections::List> expandedDeclarations; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfAutoPropertyDeclaration : public WfVirtualCfeDeclaration, vl::reflection::Description + { + public: + WfFunctionKind functionKind = WfFunctionKind::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr type; + WfAPConst configConst = WfAPConst::UNDEFINED_ENUM_ITEM_VALUE; + WfAPObserve configObserve = WfAPObserve::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr expression; + + void Accept(WfVirtualCfeDeclaration::IVisitor* visitor) override; + }; + + class WfCastResultInterfaceDeclaration : public WfVirtualCfeDeclaration, vl::reflection::Description + { + public: + vl::Ptr baseType; + vl::Ptr elementType; + + void Accept(WfVirtualCfeDeclaration::IVisitor* visitor) override; + }; + + class WfVirtualCseDeclaration abstract : public WfDeclaration, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description + { + public: + virtual void Visit(WfStateMachineDeclaration* node) = 0; + }; + + virtual void Accept(WfVirtualCseDeclaration::IVisitor* visitor) = 0; + + vl::collections::List> expandedDeclarations; + + void Accept(WfDeclaration::IVisitor* visitor) override; + }; + + class WfStateInput : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + vl::collections::List> arguments; + }; + + class WfStateDeclaration : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + vl::collections::List> arguments; + vl::Ptr statement; + }; + + class WfStateMachineDeclaration : public WfVirtualCseDeclaration, vl::reflection::Description + { + public: + vl::collections::List> inputs; + vl::collections::List> states; - class WfExpressionStatement : public WfStatement, vl::reflection::Description - { - public: - vl::Ptr expression; + void Accept(WfVirtualCseDeclaration::IVisitor* visitor) override; + }; - void Accept(WfStatement::IVisitor* visitor) override; - }; + class WfBreakStatement : public WfStatement, vl::reflection::Description + { + public: - class WfVirtualCseStatement abstract : public WfStatement, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfForEachStatement* node) = 0; - virtual void Visit(WfSwitchStatement* node) = 0; - virtual void Visit(WfCoProviderStatement* node) = 0; - }; + void Accept(WfStatement::IVisitor* visitor) override; + }; + + class WfContinueStatement : public WfStatement, vl::reflection::Description + { + public: - virtual void Accept(WfVirtualCseStatement::IVisitor* visitor) = 0; + void Accept(WfStatement::IVisitor* visitor) override; + }; - vl::Ptr expandedStatement; + class WfReturnStatement : public WfStatement, vl::reflection::Description + { + public: + vl::Ptr expression; - void Accept(WfStatement::IVisitor* visitor) override; - }; + void Accept(WfStatement::IVisitor* visitor) override; + }; - class WfForEachStatement : public WfVirtualCseStatement, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - WfForEachDirection direction = WfForEachDirection::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr collection; - vl::Ptr statement; + class WfDeleteStatement : public WfStatement, vl::reflection::Description + { + public: + vl::Ptr expression; - void Accept(WfVirtualCseStatement::IVisitor* visitor) override; - }; + void Accept(WfStatement::IVisitor* visitor) override; + }; - class WfSwitchCase : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::Ptr expression; - vl::Ptr statement; - }; + class WfRaiseExceptionStatement : public WfStatement, vl::reflection::Description + { + public: + vl::Ptr expression; - class WfSwitchStatement : public WfVirtualCseStatement, vl::reflection::Description - { - public: - vl::Ptr expression; - vl::collections::List> caseBranches; - vl::Ptr defaultBranch; + void Accept(WfStatement::IVisitor* visitor) override; + }; + + class WfIfStatement : public WfStatement, vl::reflection::Description + { + public: + vl::Ptr type; + vl::glr::ParsingToken name; + vl::Ptr expression; + vl::Ptr trueBranch; + vl::Ptr falseBranch; - void Accept(WfVirtualCseStatement::IVisitor* visitor) override; - }; + void Accept(WfStatement::IVisitor* visitor) override; + }; - class WfCoProviderStatement : public WfVirtualCseStatement, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - vl::Ptr statement; + class WfWhileStatement : public WfStatement, vl::reflection::Description + { + public: + vl::Ptr condition; + vl::Ptr statement; - void Accept(WfVirtualCseStatement::IVisitor* visitor) override; - }; + void Accept(WfStatement::IVisitor* visitor) override; + }; - class WfCoroutineStatement abstract : public WfStatement, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfCoPauseStatement* node) = 0; - virtual void Visit(WfCoOperatorStatement* node) = 0; - }; + class WfTryStatement : public WfStatement, vl::reflection::Description + { + public: + vl::Ptr protectedStatement; + vl::glr::ParsingToken name; + vl::Ptr catchStatement; + vl::Ptr finallyStatement; - virtual void Accept(WfCoroutineStatement::IVisitor* visitor) = 0; + void Accept(WfStatement::IVisitor* visitor) override; + }; + class WfBlockStatement : public WfStatement, vl::reflection::Description + { + public: + vl::collections::List> statements; + vl::glr::ParsingToken endLabel; - void Accept(WfStatement::IVisitor* visitor) override; - }; + void Accept(WfStatement::IVisitor* visitor) override; + }; - class WfCoPauseStatement : public WfCoroutineStatement, vl::reflection::Description - { - public: - vl::Ptr statement; + class WfGotoStatement : public WfStatement, vl::reflection::Description + { + public: + vl::glr::ParsingToken label; - void Accept(WfCoroutineStatement::IVisitor* visitor) override; - }; + void Accept(WfStatement::IVisitor* visitor) override; + }; - class WfCoOperatorStatement : public WfCoroutineStatement, vl::reflection::Description - { - public: - vl::glr::ParsingToken varName; - vl::glr::ParsingToken opName; - vl::collections::List> arguments; + class WfVariableStatement : public WfStatement, vl::reflection::Description + { + public: + vl::Ptr variable; - void Accept(WfCoroutineStatement::IVisitor* visitor) override; - }; + void Accept(WfStatement::IVisitor* visitor) override; + }; - class WfStateMachineStatement abstract : public WfStatement, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfStateSwitchStatement* node) = 0; - virtual void Visit(WfStateInvokeStatement* node) = 0; - }; - - virtual void Accept(WfStateMachineStatement::IVisitor* visitor) = 0; + class WfExpressionStatement : public WfStatement, vl::reflection::Description + { + public: + vl::Ptr expression; + void Accept(WfStatement::IVisitor* visitor) override; + }; - void Accept(WfStatement::IVisitor* visitor) override; - }; - - class WfStateSwitchArgument : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - }; - - class WfStateSwitchCase : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - vl::collections::List> arguments; - vl::Ptr statement; - }; - - class WfStateSwitchStatement : public WfStateMachineStatement, vl::reflection::Description - { - public: - WfStateSwitchType type = WfStateSwitchType::UNDEFINED_ENUM_ITEM_VALUE; - vl::collections::List> caseBranches; - - void Accept(WfStateMachineStatement::IVisitor* visitor) override; - }; - - class WfStateInvokeStatement : public WfStateMachineStatement, vl::reflection::Description - { - public: - WfStateInvokeType type = WfStateInvokeType::UNDEFINED_ENUM_ITEM_VALUE; - vl::glr::ParsingToken name; - vl::collections::List> arguments; - - void Accept(WfStateMachineStatement::IVisitor* visitor) override; - }; - - class WfThisExpression : public WfExpression, vl::reflection::Description + class WfVirtualCseStatement abstract : public WfStatement, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description { public: - - void Accept(WfExpression::IVisitor* visitor) override; + virtual void Visit(WfForEachStatement* node) = 0; + virtual void Visit(WfSwitchStatement* node) = 0; + virtual void Visit(WfCoProviderStatement* node) = 0; }; - class WfTopQualifiedExpression : public WfExpression, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; + virtual void Accept(WfVirtualCseStatement::IVisitor* visitor) = 0; - void Accept(WfExpression::IVisitor* visitor) override; - }; + vl::Ptr expandedStatement; - class WfReferenceExpression : public WfExpression, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; + void Accept(WfStatement::IVisitor* visitor) override; + }; - void Accept(WfExpression::IVisitor* visitor) override; - }; + class WfForEachStatement : public WfVirtualCseStatement, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + WfForEachDirection direction = WfForEachDirection::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr collection; + vl::Ptr statement; - class WfOrderedNameExpression : public WfExpression, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; + void Accept(WfVirtualCseStatement::IVisitor* visitor) override; + }; - void Accept(WfExpression::IVisitor* visitor) override; - }; + class WfSwitchCase : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::Ptr expression; + vl::Ptr statement; + }; - class WfOrderedLambdaExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr body; + class WfSwitchStatement : public WfVirtualCseStatement, vl::reflection::Description + { + public: + vl::Ptr expression; + vl::collections::List> caseBranches; + vl::Ptr defaultBranch; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfVirtualCseStatement::IVisitor* visitor) override; + }; - class WfMemberExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr parent; - vl::glr::ParsingToken name; + class WfCoProviderStatement : public WfVirtualCseStatement, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + vl::Ptr statement; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfVirtualCseStatement::IVisitor* visitor) override; + }; - class WfChildExpression : public WfExpression, vl::reflection::Description + class WfCoroutineStatement abstract : public WfStatement, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description { public: - vl::Ptr parent; - vl::glr::ParsingToken name; - - void Accept(WfExpression::IVisitor* visitor) override; + virtual void Visit(WfCoPauseStatement* node) = 0; + virtual void Visit(WfCoOperatorStatement* node) = 0; }; - class WfLiteralExpression : public WfExpression, vl::reflection::Description - { - public: - WfLiteralValue value = WfLiteralValue::UNDEFINED_ENUM_ITEM_VALUE; + virtual void Accept(WfCoroutineStatement::IVisitor* visitor) = 0; - void Accept(WfExpression::IVisitor* visitor) override; - }; - class WfFloatingExpression : public WfExpression, vl::reflection::Description - { - public: - vl::glr::ParsingToken value; + void Accept(WfStatement::IVisitor* visitor) override; + }; - void Accept(WfExpression::IVisitor* visitor) override; - }; + class WfCoPauseStatement : public WfCoroutineStatement, vl::reflection::Description + { + public: + vl::Ptr statement; - class WfIntegerExpression : public WfExpression, vl::reflection::Description - { - public: - vl::glr::ParsingToken value; + void Accept(WfCoroutineStatement::IVisitor* visitor) override; + }; - void Accept(WfExpression::IVisitor* visitor) override; - }; + class WfCoOperatorStatement : public WfCoroutineStatement, vl::reflection::Description + { + public: + vl::glr::ParsingToken varName; + vl::glr::ParsingToken opName; + vl::collections::List> arguments; - class WfStringExpression : public WfExpression, vl::reflection::Description - { - public: - vl::glr::ParsingToken value; - - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfCoroutineStatement::IVisitor* visitor) override; + }; - class WfUnaryExpression : public WfExpression, vl::reflection::Description + class WfStateMachineStatement abstract : public WfStatement, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description { public: - WfUnaryOperator op = WfUnaryOperator::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr operand; - - void Accept(WfExpression::IVisitor* visitor) override; + virtual void Visit(WfStateSwitchStatement* node) = 0; + virtual void Visit(WfStateInvokeStatement* node) = 0; }; - class WfBinaryExpression : public WfExpression, vl::reflection::Description - { - public: - WfBinaryOperator op = WfBinaryOperator::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr first; - vl::Ptr second; + virtual void Accept(WfStateMachineStatement::IVisitor* visitor) = 0; - void Accept(WfExpression::IVisitor* visitor) override; - }; - class WfLetVariable : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - vl::Ptr value; - }; + void Accept(WfStatement::IVisitor* visitor) override; + }; - class WfLetExpression : public WfExpression, vl::reflection::Description - { - public: - vl::collections::List> variables; - vl::Ptr expression; + class WfStateSwitchArgument : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + }; - void Accept(WfExpression::IVisitor* visitor) override; - }; + class WfStateSwitchCase : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + vl::collections::List> arguments; + vl::Ptr statement; + }; - class WfIfExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr condition; - vl::Ptr trueBranch; - vl::Ptr falseBranch; + class WfStateSwitchStatement : public WfStateMachineStatement, vl::reflection::Description + { + public: + WfStateSwitchType type = WfStateSwitchType::UNDEFINED_ENUM_ITEM_VALUE; + vl::collections::List> caseBranches; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfStateMachineStatement::IVisitor* visitor) override; + }; - class WfRangeExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr begin; - WfRangeBoundary beginBoundary = WfRangeBoundary::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr end; - WfRangeBoundary endBoundary = WfRangeBoundary::UNDEFINED_ENUM_ITEM_VALUE; + class WfStateInvokeStatement : public WfStateMachineStatement, vl::reflection::Description + { + public: + WfStateInvokeType type = WfStateInvokeType::UNDEFINED_ENUM_ITEM_VALUE; + vl::glr::ParsingToken name; + vl::collections::List> arguments; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfStateMachineStatement::IVisitor* visitor) override; + }; - class WfSetTestingExpression : public WfExpression, vl::reflection::Description - { - public: - WfSetTesting test = WfSetTesting::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr element; - vl::Ptr collection; + class WfThisExpression : public WfExpression, vl::reflection::Description + { + public: - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfExpression::IVisitor* visitor) override; + }; - class WfConstructorArgument : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::Ptr key; - vl::Ptr value; - }; + class WfTopQualifiedExpression : public WfExpression, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; - class WfConstructorExpression : public WfExpression, vl::reflection::Description - { - public: - vl::collections::List> arguments; + void Accept(WfExpression::IVisitor* visitor) override; + }; - void Accept(WfExpression::IVisitor* visitor) override; - }; - - class WfInferExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr expression; - vl::Ptr type; + class WfReferenceExpression : public WfExpression, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfExpression::IVisitor* visitor) override; + }; - class WfTypeCastingExpression : public WfExpression, vl::reflection::Description - { - public: - WfTypeCastingStrategy strategy = WfTypeCastingStrategy::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr expression; - vl::Ptr type; + class WfOrderedNameExpression : public WfExpression, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfOrderedLambdaExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr body; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfMemberExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr parent; + vl::glr::ParsingToken name; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfChildExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr parent; + vl::glr::ParsingToken name; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfLiteralExpression : public WfExpression, vl::reflection::Description + { + public: + WfLiteralValue value = WfLiteralValue::UNDEFINED_ENUM_ITEM_VALUE; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfFloatingExpression : public WfExpression, vl::reflection::Description + { + public: + vl::glr::ParsingToken value; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfIntegerExpression : public WfExpression, vl::reflection::Description + { + public: + vl::glr::ParsingToken value; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfStringExpression : public WfExpression, vl::reflection::Description + { + public: + vl::glr::ParsingToken value; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfUnaryExpression : public WfExpression, vl::reflection::Description + { + public: + WfUnaryOperator op = WfUnaryOperator::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr operand; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfBinaryExpression : public WfExpression, vl::reflection::Description + { + public: + WfBinaryOperator op = WfBinaryOperator::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr first; + vl::Ptr second; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfLetVariable : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + vl::Ptr value; + }; + + class WfLetExpression : public WfExpression, vl::reflection::Description + { + public: + vl::collections::List> variables; + vl::Ptr expression; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfIfExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr condition; + vl::Ptr trueBranch; + vl::Ptr falseBranch; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfRangeExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr begin; + WfRangeBoundary beginBoundary = WfRangeBoundary::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr end; + WfRangeBoundary endBoundary = WfRangeBoundary::UNDEFINED_ENUM_ITEM_VALUE; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfSetTestingExpression : public WfExpression, vl::reflection::Description + { + public: + WfSetTesting test = WfSetTesting::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr element; + vl::Ptr collection; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfConstructorArgument : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::Ptr key; + vl::Ptr value; + }; + + class WfConstructorExpression : public WfExpression, vl::reflection::Description + { + public: + vl::collections::List> arguments; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfInferExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr expression; + vl::Ptr type; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfTypeCastingExpression : public WfExpression, vl::reflection::Description + { + public: + WfTypeCastingStrategy strategy = WfTypeCastingStrategy::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr expression; + vl::Ptr type; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfTypeTestingExpression : public WfExpression, vl::reflection::Description + { + public: + WfTypeTesting test = WfTypeTesting::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr expression; + vl::Ptr type; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfTypeOfTypeExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr type; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfTypeOfExpressionExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr expression; + + void Accept(WfExpression::IVisitor* visitor) override; + }; + + class WfAttachEventExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr event; + vl::Ptr function; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfExpression::IVisitor* visitor) override; + }; - class WfTypeTestingExpression : public WfExpression, vl::reflection::Description - { - public: - WfTypeTesting test = WfTypeTesting::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr expression; - vl::Ptr type; + class WfDetachEventExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr event; + vl::Ptr handler; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfExpression::IVisitor* visitor) override; + }; - class WfTypeOfTypeExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr type; + class WfObserveExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr parent; + WfObserveType observeType = WfObserveType::UNDEFINED_ENUM_ITEM_VALUE; + vl::glr::ParsingToken name; + vl::Ptr expression; + vl::collections::List> events; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfExpression::IVisitor* visitor) override; + }; - class WfTypeOfExpressionExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr expression; + class WfCallExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr function; + vl::collections::List> arguments; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfExpression::IVisitor* visitor) override; + }; - class WfAttachEventExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr event; - vl::Ptr function; + class WfFunctionExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr function; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfExpression::IVisitor* visitor) override; + }; - class WfDetachEventExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr event; - vl::Ptr handler; + class WfNewClassExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr type; + vl::collections::List> arguments; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfExpression::IVisitor* visitor) override; + }; - class WfObserveExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr parent; - WfObserveType observeType = WfObserveType::UNDEFINED_ENUM_ITEM_VALUE; - vl::glr::ParsingToken name; - vl::Ptr expression; - vl::collections::List> events; + class WfNewInterfaceExpression : public WfExpression, vl::reflection::Description + { + public: + vl::Ptr type; + vl::collections::List> declarations; - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfExpression::IVisitor* visitor) override; + }; - class WfCallExpression : public WfExpression, vl::reflection::Description + class WfVirtualCfeExpression abstract : public WfExpression, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description { public: - vl::Ptr function; - vl::collections::List> arguments; - - void Accept(WfExpression::IVisitor* visitor) override; + virtual void Visit(WfFormatExpression* node) = 0; }; - class WfFunctionExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr function; + virtual void Accept(WfVirtualCfeExpression::IVisitor* visitor) = 0; - void Accept(WfExpression::IVisitor* visitor) override; - }; + vl::Ptr expandedExpression; - class WfNewClassExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr type; - vl::collections::List> arguments; + void Accept(WfExpression::IVisitor* visitor) override; + }; - void Accept(WfExpression::IVisitor* visitor) override; - }; + class WfFormatExpression : public WfVirtualCfeExpression, vl::reflection::Description + { + public: + vl::glr::ParsingToken value; - class WfNewInterfaceExpression : public WfExpression, vl::reflection::Description - { - public: - vl::Ptr type; - vl::collections::List> declarations; - - void Accept(WfExpression::IVisitor* visitor) override; - }; + void Accept(WfVirtualCfeExpression::IVisitor* visitor) override; + }; - class WfVirtualCfeExpression abstract : public WfExpression, vl::reflection::Description + class WfVirtualCseExpression abstract : public WfExpression, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description { public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfFormatExpression* node) = 0; - }; - - virtual void Accept(WfVirtualCfeExpression::IVisitor* visitor) = 0; - - vl::Ptr expandedExpression; - - void Accept(WfExpression::IVisitor* visitor) override; + virtual void Visit(WfBindExpression* node) = 0; + virtual void Visit(WfNewCoroutineExpression* node) = 0; + virtual void Visit(WfMixinCastExpression* node) = 0; + virtual void Visit(WfExpectedTypeCastExpression* node) = 0; + virtual void Visit(WfCoOperatorExpression* node) = 0; }; - class WfFormatExpression : public WfVirtualCfeExpression, vl::reflection::Description - { - public: - vl::glr::ParsingToken value; + virtual void Accept(WfVirtualCseExpression::IVisitor* visitor) = 0; - void Accept(WfVirtualCfeExpression::IVisitor* visitor) override; - }; + vl::Ptr expandedExpression; - class WfVirtualCseExpression abstract : public WfExpression, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfBindExpression* node) = 0; - virtual void Visit(WfNewCoroutineExpression* node) = 0; - virtual void Visit(WfMixinCastExpression* node) = 0; - virtual void Visit(WfExpectedTypeCastExpression* node) = 0; - virtual void Visit(WfCoOperatorExpression* node) = 0; - }; + void Accept(WfExpression::IVisitor* visitor) override; + }; - virtual void Accept(WfVirtualCseExpression::IVisitor* visitor) = 0; + class WfBindExpression : public WfVirtualCseExpression, vl::reflection::Description + { + public: + vl::Ptr expression; - vl::Ptr expandedExpression; + void Accept(WfVirtualCseExpression::IVisitor* visitor) override; + }; - void Accept(WfExpression::IVisitor* visitor) override; - }; + class WfNewCoroutineExpression : public WfVirtualCseExpression, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + vl::Ptr statement; - class WfBindExpression : public WfVirtualCseExpression, vl::reflection::Description - { - public: - vl::Ptr expression; + void Accept(WfVirtualCseExpression::IVisitor* visitor) override; + }; - void Accept(WfVirtualCseExpression::IVisitor* visitor) override; - }; + class WfMixinCastExpression : public WfVirtualCseExpression, vl::reflection::Description + { + public: + vl::Ptr type; + vl::Ptr expression; - class WfNewCoroutineExpression : public WfVirtualCseExpression, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; - vl::Ptr statement; + void Accept(WfVirtualCseExpression::IVisitor* visitor) override; + }; - void Accept(WfVirtualCseExpression::IVisitor* visitor) override; - }; + class WfExpectedTypeCastExpression : public WfVirtualCseExpression, vl::reflection::Description + { + public: + WfTypeCastingStrategy strategy = WfTypeCastingStrategy::UNDEFINED_ENUM_ITEM_VALUE; + vl::Ptr expression; - class WfMixinCastExpression : public WfVirtualCseExpression, vl::reflection::Description - { - public: - vl::Ptr type; - vl::Ptr expression; + void Accept(WfVirtualCseExpression::IVisitor* visitor) override; + }; - void Accept(WfVirtualCseExpression::IVisitor* visitor) override; - }; + class WfCoOperatorExpression : public WfVirtualCseExpression, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; - class WfExpectedTypeCastExpression : public WfVirtualCseExpression, vl::reflection::Description - { - public: - WfTypeCastingStrategy strategy = WfTypeCastingStrategy::UNDEFINED_ENUM_ITEM_VALUE; - vl::Ptr expression; + void Accept(WfVirtualCseExpression::IVisitor* visitor) override; + }; - void Accept(WfVirtualCseExpression::IVisitor* visitor) override; - }; - - class WfCoOperatorExpression : public WfVirtualCseExpression, vl::reflection::Description + class WfModuleUsingFragment abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description { public: - vl::glr::ParsingToken name; - - void Accept(WfVirtualCseExpression::IVisitor* visitor) override; + virtual void Visit(WfModuleUsingNameFragment* node) = 0; + virtual void Visit(WfModuleUsingWildCardFragment* node) = 0; }; - class WfModuleUsingFragment abstract : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description - { - public: - virtual void Visit(WfModuleUsingNameFragment* node) = 0; - virtual void Visit(WfModuleUsingWildCardFragment* node) = 0; - }; - - virtual void Accept(WfModuleUsingFragment::IVisitor* visitor) = 0; + virtual void Accept(WfModuleUsingFragment::IVisitor* visitor) = 0; - }; + }; - class WfModuleUsingNameFragment : public WfModuleUsingFragment, vl::reflection::Description - { - public: - vl::glr::ParsingToken name; + class WfModuleUsingNameFragment : public WfModuleUsingFragment, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; - void Accept(WfModuleUsingFragment::IVisitor* visitor) override; - }; + void Accept(WfModuleUsingFragment::IVisitor* visitor) override; + }; - class WfModuleUsingWildCardFragment : public WfModuleUsingFragment, vl::reflection::Description - { - public: + class WfModuleUsingWildCardFragment : public WfModuleUsingFragment, vl::reflection::Description + { + public: - void Accept(WfModuleUsingFragment::IVisitor* visitor) override; - }; + void Accept(WfModuleUsingFragment::IVisitor* visitor) override; + }; - class WfModuleUsingItem : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::collections::List> fragments; - }; + class WfModuleUsingItem : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::collections::List> fragments; + }; - class WfModuleUsingPath : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - vl::collections::List> items; - }; + class WfModuleUsingPath : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::collections::List> items; + }; - class WfModule : public vl::glr::ParsingAstBase, vl::reflection::Description - { - public: - WfModuleType moduleType = WfModuleType::UNDEFINED_ENUM_ITEM_VALUE; - vl::glr::ParsingToken name; - vl::collections::List> paths; - vl::collections::List> declarations; - }; - } + class WfModule : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + WfModuleType moduleType = WfModuleType::UNDEFINED_ENUM_ITEM_VALUE; + vl::glr::ParsingToken name; + vl::collections::List> paths; + vl::collections::List> declarations; + }; } -namespace vl +namespace vl::reflection::description { - namespace reflection - { - namespace description - { #ifndef VCZH_DEBUG_NO_REFLECTION - DECL_TYPE_INFO(vl::workflow::WfType) - DECL_TYPE_INFO(vl::workflow::WfType::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfExpression) - DECL_TYPE_INFO(vl::workflow::WfExpression::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfStatement) - DECL_TYPE_INFO(vl::workflow::WfStatement::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfAttribute) - DECL_TYPE_INFO(vl::workflow::WfDeclaration) - DECL_TYPE_INFO(vl::workflow::WfDeclaration::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfFunctionKind) - DECL_TYPE_INFO(vl::workflow::WfPredefinedTypeName) - DECL_TYPE_INFO(vl::workflow::WfPredefinedType) - DECL_TYPE_INFO(vl::workflow::WfTopQualifiedType) - DECL_TYPE_INFO(vl::workflow::WfReferenceType) - DECL_TYPE_INFO(vl::workflow::WfRawPointerType) - DECL_TYPE_INFO(vl::workflow::WfSharedPointerType) - DECL_TYPE_INFO(vl::workflow::WfNullableType) - DECL_TYPE_INFO(vl::workflow::WfEnumerableType) - DECL_TYPE_INFO(vl::workflow::WfMapWritability) - DECL_TYPE_INFO(vl::workflow::WfMapType) - DECL_TYPE_INFO(vl::workflow::WfObservableListType) - DECL_TYPE_INFO(vl::workflow::WfFunctionType) - DECL_TYPE_INFO(vl::workflow::WfChildType) - DECL_TYPE_INFO(vl::workflow::WfNamespaceDeclaration) - DECL_TYPE_INFO(vl::workflow::WfFunctionArgument) - DECL_TYPE_INFO(vl::workflow::WfFunctionAnonymity) - DECL_TYPE_INFO(vl::workflow::WfFunctionDeclaration) - DECL_TYPE_INFO(vl::workflow::WfVariableDeclaration) - DECL_TYPE_INFO(vl::workflow::WfEventDeclaration) - DECL_TYPE_INFO(vl::workflow::WfPropertyDeclaration) - DECL_TYPE_INFO(vl::workflow::WfClassKind) - DECL_TYPE_INFO(vl::workflow::WfConstructorType) - DECL_TYPE_INFO(vl::workflow::WfBaseConstructorCall) - DECL_TYPE_INFO(vl::workflow::WfConstructorDeclaration) - DECL_TYPE_INFO(vl::workflow::WfDestructorDeclaration) - DECL_TYPE_INFO(vl::workflow::WfClassDeclaration) - DECL_TYPE_INFO(vl::workflow::WfEnumKind) - DECL_TYPE_INFO(vl::workflow::WfEnumItemKind) - DECL_TYPE_INFO(vl::workflow::WfEnumItemIntersection) - DECL_TYPE_INFO(vl::workflow::WfEnumItem) - DECL_TYPE_INFO(vl::workflow::WfEnumDeclaration) - DECL_TYPE_INFO(vl::workflow::WfStructMember) - DECL_TYPE_INFO(vl::workflow::WfStructDeclaration) - DECL_TYPE_INFO(vl::workflow::WfVirtualCfeDeclaration) - DECL_TYPE_INFO(vl::workflow::WfVirtualCfeDeclaration::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfAPConst) - DECL_TYPE_INFO(vl::workflow::WfAPObserve) - DECL_TYPE_INFO(vl::workflow::WfAutoPropertyDeclaration) - DECL_TYPE_INFO(vl::workflow::WfCastResultInterfaceDeclaration) - DECL_TYPE_INFO(vl::workflow::WfVirtualCseDeclaration) - DECL_TYPE_INFO(vl::workflow::WfVirtualCseDeclaration::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfStateInput) - DECL_TYPE_INFO(vl::workflow::WfStateDeclaration) - DECL_TYPE_INFO(vl::workflow::WfStateMachineDeclaration) - DECL_TYPE_INFO(vl::workflow::WfBreakStatement) - DECL_TYPE_INFO(vl::workflow::WfContinueStatement) - DECL_TYPE_INFO(vl::workflow::WfReturnStatement) - DECL_TYPE_INFO(vl::workflow::WfDeleteStatement) - DECL_TYPE_INFO(vl::workflow::WfRaiseExceptionStatement) - DECL_TYPE_INFO(vl::workflow::WfIfStatement) - DECL_TYPE_INFO(vl::workflow::WfWhileStatement) - DECL_TYPE_INFO(vl::workflow::WfTryStatement) - DECL_TYPE_INFO(vl::workflow::WfBlockStatement) - DECL_TYPE_INFO(vl::workflow::WfGotoStatement) - DECL_TYPE_INFO(vl::workflow::WfVariableStatement) - DECL_TYPE_INFO(vl::workflow::WfExpressionStatement) - DECL_TYPE_INFO(vl::workflow::WfVirtualCseStatement) - DECL_TYPE_INFO(vl::workflow::WfVirtualCseStatement::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfForEachDirection) - DECL_TYPE_INFO(vl::workflow::WfForEachStatement) - DECL_TYPE_INFO(vl::workflow::WfSwitchCase) - DECL_TYPE_INFO(vl::workflow::WfSwitchStatement) - DECL_TYPE_INFO(vl::workflow::WfCoProviderStatement) - DECL_TYPE_INFO(vl::workflow::WfCoroutineStatement) - DECL_TYPE_INFO(vl::workflow::WfCoroutineStatement::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfCoPauseStatement) - DECL_TYPE_INFO(vl::workflow::WfCoOperatorStatement) - DECL_TYPE_INFO(vl::workflow::WfStateSwitchType) - DECL_TYPE_INFO(vl::workflow::WfStateInvokeType) - DECL_TYPE_INFO(vl::workflow::WfStateMachineStatement) - DECL_TYPE_INFO(vl::workflow::WfStateMachineStatement::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfStateSwitchArgument) - DECL_TYPE_INFO(vl::workflow::WfStateSwitchCase) - DECL_TYPE_INFO(vl::workflow::WfStateSwitchStatement) - DECL_TYPE_INFO(vl::workflow::WfStateInvokeStatement) - DECL_TYPE_INFO(vl::workflow::WfThisExpression) - DECL_TYPE_INFO(vl::workflow::WfTopQualifiedExpression) - DECL_TYPE_INFO(vl::workflow::WfReferenceExpression) - DECL_TYPE_INFO(vl::workflow::WfOrderedNameExpression) - DECL_TYPE_INFO(vl::workflow::WfOrderedLambdaExpression) - DECL_TYPE_INFO(vl::workflow::WfMemberExpression) - DECL_TYPE_INFO(vl::workflow::WfChildExpression) - DECL_TYPE_INFO(vl::workflow::WfLiteralValue) - DECL_TYPE_INFO(vl::workflow::WfLiteralExpression) - DECL_TYPE_INFO(vl::workflow::WfFloatingExpression) - DECL_TYPE_INFO(vl::workflow::WfIntegerExpression) - DECL_TYPE_INFO(vl::workflow::WfStringExpression) - DECL_TYPE_INFO(vl::workflow::WfUnaryOperator) - DECL_TYPE_INFO(vl::workflow::WfUnaryExpression) - DECL_TYPE_INFO(vl::workflow::WfBinaryOperator) - DECL_TYPE_INFO(vl::workflow::WfBinaryExpression) - DECL_TYPE_INFO(vl::workflow::WfLetVariable) - DECL_TYPE_INFO(vl::workflow::WfLetExpression) - DECL_TYPE_INFO(vl::workflow::WfIfExpression) - DECL_TYPE_INFO(vl::workflow::WfRangeBoundary) - DECL_TYPE_INFO(vl::workflow::WfRangeExpression) - DECL_TYPE_INFO(vl::workflow::WfSetTesting) - DECL_TYPE_INFO(vl::workflow::WfSetTestingExpression) - DECL_TYPE_INFO(vl::workflow::WfConstructorArgument) - DECL_TYPE_INFO(vl::workflow::WfConstructorExpression) - DECL_TYPE_INFO(vl::workflow::WfInferExpression) - DECL_TYPE_INFO(vl::workflow::WfTypeCastingStrategy) - DECL_TYPE_INFO(vl::workflow::WfTypeCastingExpression) - DECL_TYPE_INFO(vl::workflow::WfTypeTesting) - DECL_TYPE_INFO(vl::workflow::WfTypeTestingExpression) - DECL_TYPE_INFO(vl::workflow::WfTypeOfTypeExpression) - DECL_TYPE_INFO(vl::workflow::WfTypeOfExpressionExpression) - DECL_TYPE_INFO(vl::workflow::WfAttachEventExpression) - DECL_TYPE_INFO(vl::workflow::WfDetachEventExpression) - DECL_TYPE_INFO(vl::workflow::WfObserveType) - DECL_TYPE_INFO(vl::workflow::WfObserveExpression) - DECL_TYPE_INFO(vl::workflow::WfCallExpression) - DECL_TYPE_INFO(vl::workflow::WfFunctionExpression) - DECL_TYPE_INFO(vl::workflow::WfNewClassExpression) - DECL_TYPE_INFO(vl::workflow::WfNewInterfaceExpression) - DECL_TYPE_INFO(vl::workflow::WfVirtualCfeExpression) - DECL_TYPE_INFO(vl::workflow::WfVirtualCfeExpression::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfFormatExpression) - DECL_TYPE_INFO(vl::workflow::WfVirtualCseExpression) - DECL_TYPE_INFO(vl::workflow::WfVirtualCseExpression::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfBindExpression) - DECL_TYPE_INFO(vl::workflow::WfNewCoroutineExpression) - DECL_TYPE_INFO(vl::workflow::WfMixinCastExpression) - DECL_TYPE_INFO(vl::workflow::WfExpectedTypeCastExpression) - DECL_TYPE_INFO(vl::workflow::WfCoOperatorExpression) - DECL_TYPE_INFO(vl::workflow::WfModuleUsingFragment) - DECL_TYPE_INFO(vl::workflow::WfModuleUsingFragment::IVisitor) - DECL_TYPE_INFO(vl::workflow::WfModuleUsingNameFragment) - DECL_TYPE_INFO(vl::workflow::WfModuleUsingWildCardFragment) - DECL_TYPE_INFO(vl::workflow::WfModuleUsingItem) - DECL_TYPE_INFO(vl::workflow::WfModuleUsingPath) - DECL_TYPE_INFO(vl::workflow::WfModuleType) - DECL_TYPE_INFO(vl::workflow::WfModule) + DECL_TYPE_INFO(vl::workflow::WfType) + DECL_TYPE_INFO(vl::workflow::WfType::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfExpression) + DECL_TYPE_INFO(vl::workflow::WfExpression::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfStatement) + DECL_TYPE_INFO(vl::workflow::WfStatement::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfAttribute) + DECL_TYPE_INFO(vl::workflow::WfDeclaration) + DECL_TYPE_INFO(vl::workflow::WfDeclaration::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfFunctionKind) + DECL_TYPE_INFO(vl::workflow::WfPredefinedTypeName) + DECL_TYPE_INFO(vl::workflow::WfPredefinedType) + DECL_TYPE_INFO(vl::workflow::WfTopQualifiedType) + DECL_TYPE_INFO(vl::workflow::WfReferenceType) + DECL_TYPE_INFO(vl::workflow::WfRawPointerType) + DECL_TYPE_INFO(vl::workflow::WfSharedPointerType) + DECL_TYPE_INFO(vl::workflow::WfNullableType) + DECL_TYPE_INFO(vl::workflow::WfEnumerableType) + DECL_TYPE_INFO(vl::workflow::WfMapWritability) + DECL_TYPE_INFO(vl::workflow::WfMapType) + DECL_TYPE_INFO(vl::workflow::WfObservableListType) + DECL_TYPE_INFO(vl::workflow::WfFunctionType) + DECL_TYPE_INFO(vl::workflow::WfChildType) + DECL_TYPE_INFO(vl::workflow::WfNamespaceDeclaration) + DECL_TYPE_INFO(vl::workflow::WfFunctionArgument) + DECL_TYPE_INFO(vl::workflow::WfFunctionAnonymity) + DECL_TYPE_INFO(vl::workflow::WfFunctionDeclaration) + DECL_TYPE_INFO(vl::workflow::WfVariableDeclaration) + DECL_TYPE_INFO(vl::workflow::WfEventDeclaration) + DECL_TYPE_INFO(vl::workflow::WfPropertyDeclaration) + DECL_TYPE_INFO(vl::workflow::WfClassKind) + DECL_TYPE_INFO(vl::workflow::WfConstructorType) + DECL_TYPE_INFO(vl::workflow::WfBaseConstructorCall) + DECL_TYPE_INFO(vl::workflow::WfConstructorDeclaration) + DECL_TYPE_INFO(vl::workflow::WfDestructorDeclaration) + DECL_TYPE_INFO(vl::workflow::WfClassDeclaration) + DECL_TYPE_INFO(vl::workflow::WfEnumKind) + DECL_TYPE_INFO(vl::workflow::WfEnumItemKind) + DECL_TYPE_INFO(vl::workflow::WfEnumItemIntersection) + DECL_TYPE_INFO(vl::workflow::WfEnumItem) + DECL_TYPE_INFO(vl::workflow::WfEnumDeclaration) + DECL_TYPE_INFO(vl::workflow::WfStructMember) + DECL_TYPE_INFO(vl::workflow::WfStructDeclaration) + DECL_TYPE_INFO(vl::workflow::WfVirtualCfeDeclaration) + DECL_TYPE_INFO(vl::workflow::WfVirtualCfeDeclaration::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfAPConst) + DECL_TYPE_INFO(vl::workflow::WfAPObserve) + DECL_TYPE_INFO(vl::workflow::WfAutoPropertyDeclaration) + DECL_TYPE_INFO(vl::workflow::WfCastResultInterfaceDeclaration) + DECL_TYPE_INFO(vl::workflow::WfVirtualCseDeclaration) + DECL_TYPE_INFO(vl::workflow::WfVirtualCseDeclaration::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfStateInput) + DECL_TYPE_INFO(vl::workflow::WfStateDeclaration) + DECL_TYPE_INFO(vl::workflow::WfStateMachineDeclaration) + DECL_TYPE_INFO(vl::workflow::WfBreakStatement) + DECL_TYPE_INFO(vl::workflow::WfContinueStatement) + DECL_TYPE_INFO(vl::workflow::WfReturnStatement) + DECL_TYPE_INFO(vl::workflow::WfDeleteStatement) + DECL_TYPE_INFO(vl::workflow::WfRaiseExceptionStatement) + DECL_TYPE_INFO(vl::workflow::WfIfStatement) + DECL_TYPE_INFO(vl::workflow::WfWhileStatement) + DECL_TYPE_INFO(vl::workflow::WfTryStatement) + DECL_TYPE_INFO(vl::workflow::WfBlockStatement) + DECL_TYPE_INFO(vl::workflow::WfGotoStatement) + DECL_TYPE_INFO(vl::workflow::WfVariableStatement) + DECL_TYPE_INFO(vl::workflow::WfExpressionStatement) + DECL_TYPE_INFO(vl::workflow::WfVirtualCseStatement) + DECL_TYPE_INFO(vl::workflow::WfVirtualCseStatement::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfForEachDirection) + DECL_TYPE_INFO(vl::workflow::WfForEachStatement) + DECL_TYPE_INFO(vl::workflow::WfSwitchCase) + DECL_TYPE_INFO(vl::workflow::WfSwitchStatement) + DECL_TYPE_INFO(vl::workflow::WfCoProviderStatement) + DECL_TYPE_INFO(vl::workflow::WfCoroutineStatement) + DECL_TYPE_INFO(vl::workflow::WfCoroutineStatement::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfCoPauseStatement) + DECL_TYPE_INFO(vl::workflow::WfCoOperatorStatement) + DECL_TYPE_INFO(vl::workflow::WfStateSwitchType) + DECL_TYPE_INFO(vl::workflow::WfStateInvokeType) + DECL_TYPE_INFO(vl::workflow::WfStateMachineStatement) + DECL_TYPE_INFO(vl::workflow::WfStateMachineStatement::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfStateSwitchArgument) + DECL_TYPE_INFO(vl::workflow::WfStateSwitchCase) + DECL_TYPE_INFO(vl::workflow::WfStateSwitchStatement) + DECL_TYPE_INFO(vl::workflow::WfStateInvokeStatement) + DECL_TYPE_INFO(vl::workflow::WfThisExpression) + DECL_TYPE_INFO(vl::workflow::WfTopQualifiedExpression) + DECL_TYPE_INFO(vl::workflow::WfReferenceExpression) + DECL_TYPE_INFO(vl::workflow::WfOrderedNameExpression) + DECL_TYPE_INFO(vl::workflow::WfOrderedLambdaExpression) + DECL_TYPE_INFO(vl::workflow::WfMemberExpression) + DECL_TYPE_INFO(vl::workflow::WfChildExpression) + DECL_TYPE_INFO(vl::workflow::WfLiteralValue) + DECL_TYPE_INFO(vl::workflow::WfLiteralExpression) + DECL_TYPE_INFO(vl::workflow::WfFloatingExpression) + DECL_TYPE_INFO(vl::workflow::WfIntegerExpression) + DECL_TYPE_INFO(vl::workflow::WfStringExpression) + DECL_TYPE_INFO(vl::workflow::WfUnaryOperator) + DECL_TYPE_INFO(vl::workflow::WfUnaryExpression) + DECL_TYPE_INFO(vl::workflow::WfBinaryOperator) + DECL_TYPE_INFO(vl::workflow::WfBinaryExpression) + DECL_TYPE_INFO(vl::workflow::WfLetVariable) + DECL_TYPE_INFO(vl::workflow::WfLetExpression) + DECL_TYPE_INFO(vl::workflow::WfIfExpression) + DECL_TYPE_INFO(vl::workflow::WfRangeBoundary) + DECL_TYPE_INFO(vl::workflow::WfRangeExpression) + DECL_TYPE_INFO(vl::workflow::WfSetTesting) + DECL_TYPE_INFO(vl::workflow::WfSetTestingExpression) + DECL_TYPE_INFO(vl::workflow::WfConstructorArgument) + DECL_TYPE_INFO(vl::workflow::WfConstructorExpression) + DECL_TYPE_INFO(vl::workflow::WfInferExpression) + DECL_TYPE_INFO(vl::workflow::WfTypeCastingStrategy) + DECL_TYPE_INFO(vl::workflow::WfTypeCastingExpression) + DECL_TYPE_INFO(vl::workflow::WfTypeTesting) + DECL_TYPE_INFO(vl::workflow::WfTypeTestingExpression) + DECL_TYPE_INFO(vl::workflow::WfTypeOfTypeExpression) + DECL_TYPE_INFO(vl::workflow::WfTypeOfExpressionExpression) + DECL_TYPE_INFO(vl::workflow::WfAttachEventExpression) + DECL_TYPE_INFO(vl::workflow::WfDetachEventExpression) + DECL_TYPE_INFO(vl::workflow::WfObserveType) + DECL_TYPE_INFO(vl::workflow::WfObserveExpression) + DECL_TYPE_INFO(vl::workflow::WfCallExpression) + DECL_TYPE_INFO(vl::workflow::WfFunctionExpression) + DECL_TYPE_INFO(vl::workflow::WfNewClassExpression) + DECL_TYPE_INFO(vl::workflow::WfNewInterfaceExpression) + DECL_TYPE_INFO(vl::workflow::WfVirtualCfeExpression) + DECL_TYPE_INFO(vl::workflow::WfVirtualCfeExpression::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfFormatExpression) + DECL_TYPE_INFO(vl::workflow::WfVirtualCseExpression) + DECL_TYPE_INFO(vl::workflow::WfVirtualCseExpression::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfBindExpression) + DECL_TYPE_INFO(vl::workflow::WfNewCoroutineExpression) + DECL_TYPE_INFO(vl::workflow::WfMixinCastExpression) + DECL_TYPE_INFO(vl::workflow::WfExpectedTypeCastExpression) + DECL_TYPE_INFO(vl::workflow::WfCoOperatorExpression) + DECL_TYPE_INFO(vl::workflow::WfModuleUsingFragment) + DECL_TYPE_INFO(vl::workflow::WfModuleUsingFragment::IVisitor) + DECL_TYPE_INFO(vl::workflow::WfModuleUsingNameFragment) + DECL_TYPE_INFO(vl::workflow::WfModuleUsingWildCardFragment) + DECL_TYPE_INFO(vl::workflow::WfModuleUsingItem) + DECL_TYPE_INFO(vl::workflow::WfModuleUsingPath) + DECL_TYPE_INFO(vl::workflow::WfModuleType) + DECL_TYPE_INFO(vl::workflow::WfModule) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfType::IVisitor) - void Visit(vl::workflow::WfPredefinedType* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfTopQualifiedType* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfReferenceType* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfRawPointerType* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfSharedPointerType* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfNullableType* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfEnumerableType* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfMapType* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfObservableListType* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfFunctionType* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfChildType* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfType::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfExpression::IVisitor) - void Visit(vl::workflow::WfThisExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfTopQualifiedExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfReferenceExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfOrderedNameExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfOrderedLambdaExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfMemberExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfChildExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfLiteralExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfFloatingExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfIntegerExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfStringExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfUnaryExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfBinaryExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfLetExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfIfExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfRangeExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfSetTestingExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfConstructorExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfInferExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfTypeCastingExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfTypeTestingExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfTypeOfTypeExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfTypeOfExpressionExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfAttachEventExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfDetachEventExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfObserveExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfCallExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfFunctionExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfNewClassExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfNewInterfaceExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfVirtualCfeExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfVirtualCseExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfExpression::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfStatement::IVisitor) - void Visit(vl::workflow::WfBreakStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfContinueStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfReturnStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfDeleteStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfRaiseExceptionStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfIfStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfWhileStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfTryStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfBlockStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfGotoStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfVariableStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfExpressionStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfVirtualCseStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfCoroutineStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfStateMachineStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfStatement::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfDeclaration::IVisitor) - void Visit(vl::workflow::WfNamespaceDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfFunctionDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfVariableDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfEventDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfPropertyDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfConstructorDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfDestructorDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfClassDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfEnumDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfStructDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfVirtualCfeDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfVirtualCseDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfDeclaration::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfVirtualCfeDeclaration::IVisitor) - void Visit(vl::workflow::WfAutoPropertyDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfCastResultInterfaceDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfVirtualCfeDeclaration::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfVirtualCseDeclaration::IVisitor) - void Visit(vl::workflow::WfStateMachineDeclaration* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfVirtualCseDeclaration::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfVirtualCseStatement::IVisitor) - void Visit(vl::workflow::WfForEachStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfSwitchStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfCoProviderStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfVirtualCseStatement::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfCoroutineStatement::IVisitor) - void Visit(vl::workflow::WfCoPauseStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfCoOperatorStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfCoroutineStatement::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfStateMachineStatement::IVisitor) - void Visit(vl::workflow::WfStateSwitchStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfStateInvokeStatement* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfStateMachineStatement::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfVirtualCfeExpression::IVisitor) - void Visit(vl::workflow::WfFormatExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfVirtualCfeExpression::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfVirtualCseExpression::IVisitor) - void Visit(vl::workflow::WfBindExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfNewCoroutineExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfMixinCastExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfExpectedTypeCastExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfCoOperatorExpression* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfVirtualCseExpression::IVisitor) - - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfModuleUsingFragment::IVisitor) - void Visit(vl::workflow::WfModuleUsingNameFragment* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - void Visit(vl::workflow::WfModuleUsingWildCardFragment* node) override - { - INVOKE_INTERFACE_PROXY(Visit, node); - } - - END_INTERFACE_PROXY(vl::workflow::WfModuleUsingFragment::IVisitor) - -#endif -#endif - /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. - /// Returns true if this operation succeeded. - extern bool WorkflowAstLoadTypes(); + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfType::IVisitor) + void Visit(vl::workflow::WfPredefinedType* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); } - } + + void Visit(vl::workflow::WfTopQualifiedType* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfReferenceType* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfRawPointerType* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfSharedPointerType* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfNullableType* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfEnumerableType* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfMapType* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfObservableListType* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfFunctionType* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfChildType* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfType::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfExpression::IVisitor) + void Visit(vl::workflow::WfThisExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfTopQualifiedExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfReferenceExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfOrderedNameExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfOrderedLambdaExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfMemberExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfChildExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfLiteralExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfFloatingExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfIntegerExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfStringExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfUnaryExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfBinaryExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfLetExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfIfExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfRangeExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfSetTestingExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfConstructorExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfInferExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfTypeCastingExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfTypeTestingExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfTypeOfTypeExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfTypeOfExpressionExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfAttachEventExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfDetachEventExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfObserveExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfCallExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfFunctionExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfNewClassExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfNewInterfaceExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfVirtualCfeExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfVirtualCseExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfExpression::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfStatement::IVisitor) + void Visit(vl::workflow::WfBreakStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfContinueStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfReturnStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfDeleteStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfRaiseExceptionStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfIfStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfWhileStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfTryStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfBlockStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfGotoStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfVariableStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfExpressionStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfVirtualCseStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfCoroutineStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfStateMachineStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfStatement::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfDeclaration::IVisitor) + void Visit(vl::workflow::WfNamespaceDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfFunctionDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfVariableDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfEventDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfPropertyDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfConstructorDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfDestructorDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfClassDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfEnumDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfStructDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfVirtualCfeDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfVirtualCseDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfDeclaration::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfVirtualCfeDeclaration::IVisitor) + void Visit(vl::workflow::WfAutoPropertyDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfCastResultInterfaceDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfVirtualCfeDeclaration::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfVirtualCseDeclaration::IVisitor) + void Visit(vl::workflow::WfStateMachineDeclaration* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfVirtualCseDeclaration::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfVirtualCseStatement::IVisitor) + void Visit(vl::workflow::WfForEachStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfSwitchStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfCoProviderStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfVirtualCseStatement::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfCoroutineStatement::IVisitor) + void Visit(vl::workflow::WfCoPauseStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfCoOperatorStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfCoroutineStatement::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfStateMachineStatement::IVisitor) + void Visit(vl::workflow::WfStateSwitchStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfStateInvokeStatement* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfStateMachineStatement::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfVirtualCfeExpression::IVisitor) + void Visit(vl::workflow::WfFormatExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfVirtualCfeExpression::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfVirtualCseExpression::IVisitor) + void Visit(vl::workflow::WfBindExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfNewCoroutineExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfMixinCastExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfExpectedTypeCastExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfCoOperatorExpression* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfVirtualCseExpression::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::workflow::WfModuleUsingFragment::IVisitor) + void Visit(vl::workflow::WfModuleUsingNameFragment* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::workflow::WfModuleUsingWildCardFragment* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + END_INTERFACE_PROXY(vl::workflow::WfModuleUsingFragment::IVisitor) + +#endif +#endif + /// Load all reflectable AST types, only available when VCZH_DEBUG_NO_REFLECTION is off. + /// Returns true if this operation succeeded. + extern bool WorkflowAstLoadTypes(); } #endif @@ -2116,748 +2107,742 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_WORKFLOW_PARSER_AST_AST_BUILDER -namespace vl +namespace vl::workflow::builder { - namespace workflow + class MakeAttachEventExpression : public vl::glr::ParsingAstBuilder { - namespace builder - { - class MakeAttachEventExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeAttachEventExpression& event(const vl::Ptr& value); - MakeAttachEventExpression& function(const vl::Ptr& value); - }; - - class MakeAttribute : public vl::glr::ParsingAstBuilder - { - public: - MakeAttribute& category(const vl::WString& value); - MakeAttribute& name(const vl::WString& value); - MakeAttribute& value(const vl::Ptr& value); - }; - - class MakeAutoPropertyDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeAutoPropertyDeclaration& configConst(WfAPConst value); - MakeAutoPropertyDeclaration& configObserve(WfAPObserve value); - MakeAutoPropertyDeclaration& expression(const vl::Ptr& value); - MakeAutoPropertyDeclaration& functionKind(WfFunctionKind value); - MakeAutoPropertyDeclaration& type(const vl::Ptr& value); - MakeAutoPropertyDeclaration& expandedDeclarations(const vl::Ptr& value); - MakeAutoPropertyDeclaration& attributes(const vl::Ptr& value); - MakeAutoPropertyDeclaration& name(const vl::WString& value); - }; - - class MakeBaseConstructorCall : public vl::glr::ParsingAstBuilder - { - public: - MakeBaseConstructorCall& arguments(const vl::Ptr& value); - MakeBaseConstructorCall& type(const vl::Ptr& value); - }; - - class MakeBinaryExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeBinaryExpression& first(const vl::Ptr& value); - MakeBinaryExpression& op(WfBinaryOperator value); - MakeBinaryExpression& second(const vl::Ptr& value); - }; - - class MakeBindExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeBindExpression& expression(const vl::Ptr& value); - MakeBindExpression& expandedExpression(const vl::Ptr& value); - }; - - class MakeBlockStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeBlockStatement& endLabel(const vl::WString& value); - MakeBlockStatement& statements(const vl::Ptr& value); - }; - - class MakeCallExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeCallExpression& arguments(const vl::Ptr& value); - MakeCallExpression& function(const vl::Ptr& value); - }; - - class MakeCastResultInterfaceDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeCastResultInterfaceDeclaration& baseType(const vl::Ptr& value); - MakeCastResultInterfaceDeclaration& elementType(const vl::Ptr& value); - MakeCastResultInterfaceDeclaration& expandedDeclarations(const vl::Ptr& value); - MakeCastResultInterfaceDeclaration& attributes(const vl::Ptr& value); - MakeCastResultInterfaceDeclaration& name(const vl::WString& value); - }; - - class MakeChildExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeChildExpression& name(const vl::WString& value); - MakeChildExpression& parent(const vl::Ptr& value); - }; - - class MakeChildType : public vl::glr::ParsingAstBuilder - { - public: - MakeChildType& name(const vl::WString& value); - MakeChildType& parent(const vl::Ptr& value); - }; - - class MakeClassDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeClassDeclaration& baseTypes(const vl::Ptr& value); - MakeClassDeclaration& constructorType(WfConstructorType value); - MakeClassDeclaration& declarations(const vl::Ptr& value); - MakeClassDeclaration& kind(WfClassKind value); - MakeClassDeclaration& attributes(const vl::Ptr& value); - MakeClassDeclaration& name(const vl::WString& value); - }; - - class MakeCoOperatorExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeCoOperatorExpression& name(const vl::WString& value); - MakeCoOperatorExpression& expandedExpression(const vl::Ptr& value); - }; - - class MakeCoOperatorStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeCoOperatorStatement& arguments(const vl::Ptr& value); - MakeCoOperatorStatement& opName(const vl::WString& value); - MakeCoOperatorStatement& varName(const vl::WString& value); - }; - - class MakeCoPauseStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeCoPauseStatement& statement(const vl::Ptr& value); - }; - - class MakeCoProviderStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeCoProviderStatement& name(const vl::WString& value); - MakeCoProviderStatement& statement(const vl::Ptr& value); - MakeCoProviderStatement& expandedStatement(const vl::Ptr& value); - }; - - class MakeConstructorArgument : public vl::glr::ParsingAstBuilder - { - public: - MakeConstructorArgument& key(const vl::Ptr& value); - MakeConstructorArgument& value(const vl::Ptr& value); - }; - - class MakeConstructorDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeConstructorDeclaration& arguments(const vl::Ptr& value); - MakeConstructorDeclaration& baseConstructorCalls(const vl::Ptr& value); - MakeConstructorDeclaration& constructorType(WfConstructorType value); - MakeConstructorDeclaration& statement(const vl::Ptr& value); - MakeConstructorDeclaration& attributes(const vl::Ptr& value); - MakeConstructorDeclaration& name(const vl::WString& value); - }; - - class MakeConstructorExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeConstructorExpression& arguments(const vl::Ptr& value); - }; - - class MakeDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeDeclaration& attributes(const vl::Ptr& value); - MakeDeclaration& name(const vl::WString& value); - }; - - class MakeDeleteStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeDeleteStatement& expression(const vl::Ptr& value); - }; - - class MakeDestructorDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeDestructorDeclaration& statement(const vl::Ptr& value); - MakeDestructorDeclaration& attributes(const vl::Ptr& value); - MakeDestructorDeclaration& name(const vl::WString& value); - }; - - class MakeDetachEventExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeDetachEventExpression& event(const vl::Ptr& value); - MakeDetachEventExpression& handler(const vl::Ptr& value); - }; - - class MakeEnumDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeEnumDeclaration& items(const vl::Ptr& value); - MakeEnumDeclaration& kind(WfEnumKind value); - MakeEnumDeclaration& attributes(const vl::Ptr& value); - MakeEnumDeclaration& name(const vl::WString& value); - }; - - class MakeEnumItem : public vl::glr::ParsingAstBuilder - { - public: - MakeEnumItem& attributes(const vl::Ptr& value); - MakeEnumItem& intersections(const vl::Ptr& value); - MakeEnumItem& kind(WfEnumItemKind value); - MakeEnumItem& name(const vl::WString& value); - MakeEnumItem& number(const vl::WString& value); - }; - - class MakeEnumItemIntersection : public vl::glr::ParsingAstBuilder - { - public: - MakeEnumItemIntersection& name(const vl::WString& value); - }; - - class MakeEnumerableType : public vl::glr::ParsingAstBuilder - { - public: - MakeEnumerableType& element(const vl::Ptr& value); - }; - - class MakeEventDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeEventDeclaration& arguments(const vl::Ptr& value); - MakeEventDeclaration& attributes(const vl::Ptr& value); - MakeEventDeclaration& name(const vl::WString& value); - }; - - class MakeExpectedTypeCastExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeExpectedTypeCastExpression& expression(const vl::Ptr& value); - MakeExpectedTypeCastExpression& strategy(WfTypeCastingStrategy value); - MakeExpectedTypeCastExpression& expandedExpression(const vl::Ptr& value); - }; - - class MakeExpressionStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeExpressionStatement& expression(const vl::Ptr& value); - }; - - class MakeFloatingExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeFloatingExpression& value(const vl::WString& value); - }; - - class MakeForEachStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeForEachStatement& collection(const vl::Ptr& value); - MakeForEachStatement& direction(WfForEachDirection value); - MakeForEachStatement& name(const vl::WString& value); - MakeForEachStatement& statement(const vl::Ptr& value); - MakeForEachStatement& expandedStatement(const vl::Ptr& value); - }; - - class MakeFormatExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeFormatExpression& value(const vl::WString& value); - MakeFormatExpression& expandedExpression(const vl::Ptr& value); - }; - - class MakeFunctionArgument : public vl::glr::ParsingAstBuilder - { - public: - MakeFunctionArgument& attributes(const vl::Ptr& value); - MakeFunctionArgument& name(const vl::WString& value); - MakeFunctionArgument& type(const vl::Ptr& value); - }; - - class MakeFunctionDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeFunctionDeclaration& anonymity(WfFunctionAnonymity value); - MakeFunctionDeclaration& arguments(const vl::Ptr& value); - MakeFunctionDeclaration& functionKind(WfFunctionKind value); - MakeFunctionDeclaration& returnType(const vl::Ptr& value); - MakeFunctionDeclaration& statement(const vl::Ptr& value); - MakeFunctionDeclaration& attributes(const vl::Ptr& value); - MakeFunctionDeclaration& name(const vl::WString& value); - }; - - class MakeFunctionExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeFunctionExpression& function(const vl::Ptr& value); - }; - - class MakeFunctionType : public vl::glr::ParsingAstBuilder - { - public: - MakeFunctionType& arguments(const vl::Ptr& value); - MakeFunctionType& result(const vl::Ptr& value); - }; - - class MakeGotoStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeGotoStatement& label(const vl::WString& value); - }; - - class MakeIfExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeIfExpression& condition(const vl::Ptr& value); - MakeIfExpression& falseBranch(const vl::Ptr& value); - MakeIfExpression& trueBranch(const vl::Ptr& value); - }; - - class MakeIfStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeIfStatement& expression(const vl::Ptr& value); - MakeIfStatement& falseBranch(const vl::Ptr& value); - MakeIfStatement& name(const vl::WString& value); - MakeIfStatement& trueBranch(const vl::Ptr& value); - MakeIfStatement& type(const vl::Ptr& value); - }; - - class MakeInferExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeInferExpression& expression(const vl::Ptr& value); - MakeInferExpression& type(const vl::Ptr& value); - }; - - class MakeIntegerExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeIntegerExpression& value(const vl::WString& value); - }; - - class MakeLetExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeLetExpression& expression(const vl::Ptr& value); - MakeLetExpression& variables(const vl::Ptr& value); - }; - - class MakeLetVariable : public vl::glr::ParsingAstBuilder - { - public: - MakeLetVariable& name(const vl::WString& value); - MakeLetVariable& value(const vl::Ptr& value); - }; - - class MakeLiteralExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeLiteralExpression& value(WfLiteralValue value); - }; - - class MakeMapType : public vl::glr::ParsingAstBuilder - { - public: - MakeMapType& key(const vl::Ptr& value); - MakeMapType& value(const vl::Ptr& value); - MakeMapType& writability(WfMapWritability value); - }; - - class MakeMemberExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeMemberExpression& name(const vl::WString& value); - MakeMemberExpression& parent(const vl::Ptr& value); - }; - - class MakeMixinCastExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeMixinCastExpression& expression(const vl::Ptr& value); - MakeMixinCastExpression& type(const vl::Ptr& value); - MakeMixinCastExpression& expandedExpression(const vl::Ptr& value); - }; - - class MakeModule : public vl::glr::ParsingAstBuilder - { - public: - MakeModule& declarations(const vl::Ptr& value); - MakeModule& moduleType(WfModuleType value); - MakeModule& name(const vl::WString& value); - MakeModule& paths(const vl::Ptr& value); - }; - - class MakeModuleUsingItem : public vl::glr::ParsingAstBuilder - { - public: - MakeModuleUsingItem& fragments(const vl::Ptr& value); - }; - - class MakeModuleUsingNameFragment : public vl::glr::ParsingAstBuilder - { - public: - MakeModuleUsingNameFragment& name(const vl::WString& value); - }; - - class MakeModuleUsingPath : public vl::glr::ParsingAstBuilder - { - public: - MakeModuleUsingPath& items(const vl::Ptr& value); - }; - - class MakeNamespaceDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeNamespaceDeclaration& declarations(const vl::Ptr& value); - MakeNamespaceDeclaration& attributes(const vl::Ptr& value); - MakeNamespaceDeclaration& name(const vl::WString& value); - }; - - class MakeNewClassExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeNewClassExpression& arguments(const vl::Ptr& value); - MakeNewClassExpression& type(const vl::Ptr& value); - }; - - class MakeNewCoroutineExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeNewCoroutineExpression& name(const vl::WString& value); - MakeNewCoroutineExpression& statement(const vl::Ptr& value); - MakeNewCoroutineExpression& expandedExpression(const vl::Ptr& value); - }; - - class MakeNewInterfaceExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeNewInterfaceExpression& declarations(const vl::Ptr& value); - MakeNewInterfaceExpression& type(const vl::Ptr& value); - }; - - class MakeNullableType : public vl::glr::ParsingAstBuilder - { - public: - MakeNullableType& element(const vl::Ptr& value); - }; - - class MakeObservableListType : public vl::glr::ParsingAstBuilder - { - public: - MakeObservableListType& element(const vl::Ptr& value); - }; - - class MakeObserveExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeObserveExpression& events(const vl::Ptr& value); - MakeObserveExpression& expression(const vl::Ptr& value); - MakeObserveExpression& name(const vl::WString& value); - MakeObserveExpression& observeType(WfObserveType value); - MakeObserveExpression& parent(const vl::Ptr& value); - }; - - class MakeOrderedLambdaExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeOrderedLambdaExpression& body(const vl::Ptr& value); - }; - - class MakeOrderedNameExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeOrderedNameExpression& name(const vl::WString& value); - }; - - class MakePredefinedType : public vl::glr::ParsingAstBuilder - { - public: - MakePredefinedType& name(WfPredefinedTypeName value); - }; - - class MakePropertyDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakePropertyDeclaration& getter(const vl::WString& value); - MakePropertyDeclaration& setter(const vl::WString& value); - MakePropertyDeclaration& type(const vl::Ptr& value); - MakePropertyDeclaration& valueChangedEvent(const vl::WString& value); - MakePropertyDeclaration& attributes(const vl::Ptr& value); - MakePropertyDeclaration& name(const vl::WString& value); - }; - - class MakeRaiseExceptionStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeRaiseExceptionStatement& expression(const vl::Ptr& value); - }; - - class MakeRangeExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeRangeExpression& begin(const vl::Ptr& value); - MakeRangeExpression& beginBoundary(WfRangeBoundary value); - MakeRangeExpression& end(const vl::Ptr& value); - MakeRangeExpression& endBoundary(WfRangeBoundary value); - }; - - class MakeRawPointerType : public vl::glr::ParsingAstBuilder - { - public: - MakeRawPointerType& element(const vl::Ptr& value); - }; - - class MakeReferenceExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeReferenceExpression& name(const vl::WString& value); - }; - - class MakeReferenceType : public vl::glr::ParsingAstBuilder - { - public: - MakeReferenceType& name(const vl::WString& value); - }; - - class MakeReturnStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeReturnStatement& expression(const vl::Ptr& value); - }; - - class MakeSetTestingExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeSetTestingExpression& collection(const vl::Ptr& value); - MakeSetTestingExpression& element(const vl::Ptr& value); - MakeSetTestingExpression& test(WfSetTesting value); - }; - - class MakeSharedPointerType : public vl::glr::ParsingAstBuilder - { - public: - MakeSharedPointerType& element(const vl::Ptr& value); - }; - - class MakeStateDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeStateDeclaration& arguments(const vl::Ptr& value); - MakeStateDeclaration& name(const vl::WString& value); - MakeStateDeclaration& statement(const vl::Ptr& value); - }; - - class MakeStateInput : public vl::glr::ParsingAstBuilder - { - public: - MakeStateInput& arguments(const vl::Ptr& value); - MakeStateInput& name(const vl::WString& value); - }; - - class MakeStateInvokeStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeStateInvokeStatement& arguments(const vl::Ptr& value); - MakeStateInvokeStatement& name(const vl::WString& value); - MakeStateInvokeStatement& type(WfStateInvokeType value); - }; - - class MakeStateMachineDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeStateMachineDeclaration& inputs(const vl::Ptr& value); - MakeStateMachineDeclaration& states(const vl::Ptr& value); - MakeStateMachineDeclaration& expandedDeclarations(const vl::Ptr& value); - MakeStateMachineDeclaration& attributes(const vl::Ptr& value); - MakeStateMachineDeclaration& name(const vl::WString& value); - }; - - class MakeStateSwitchArgument : public vl::glr::ParsingAstBuilder - { - public: - MakeStateSwitchArgument& name(const vl::WString& value); - }; - - class MakeStateSwitchCase : public vl::glr::ParsingAstBuilder - { - public: - MakeStateSwitchCase& arguments(const vl::Ptr& value); - MakeStateSwitchCase& name(const vl::WString& value); - MakeStateSwitchCase& statement(const vl::Ptr& value); - }; - - class MakeStateSwitchStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeStateSwitchStatement& caseBranches(const vl::Ptr& value); - MakeStateSwitchStatement& type(WfStateSwitchType value); - }; - - class MakeStringExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeStringExpression& value(const vl::WString& value); - }; - - class MakeStructDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeStructDeclaration& members(const vl::Ptr& value); - MakeStructDeclaration& attributes(const vl::Ptr& value); - MakeStructDeclaration& name(const vl::WString& value); - }; - - class MakeStructMember : public vl::glr::ParsingAstBuilder - { - public: - MakeStructMember& attributes(const vl::Ptr& value); - MakeStructMember& name(const vl::WString& value); - MakeStructMember& type(const vl::Ptr& value); - }; - - class MakeSwitchCase : public vl::glr::ParsingAstBuilder - { - public: - MakeSwitchCase& expression(const vl::Ptr& value); - MakeSwitchCase& statement(const vl::Ptr& value); - }; - - class MakeSwitchStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeSwitchStatement& caseBranches(const vl::Ptr& value); - MakeSwitchStatement& defaultBranch(const vl::Ptr& value); - MakeSwitchStatement& expression(const vl::Ptr& value); - MakeSwitchStatement& expandedStatement(const vl::Ptr& value); - }; - - class MakeTopQualifiedExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeTopQualifiedExpression& name(const vl::WString& value); - }; - - class MakeTopQualifiedType : public vl::glr::ParsingAstBuilder - { - public: - MakeTopQualifiedType& name(const vl::WString& value); - }; - - class MakeTryStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeTryStatement& catchStatement(const vl::Ptr& value); - MakeTryStatement& finallyStatement(const vl::Ptr& value); - MakeTryStatement& name(const vl::WString& value); - MakeTryStatement& protectedStatement(const vl::Ptr& value); - }; - - class MakeTypeCastingExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeTypeCastingExpression& expression(const vl::Ptr& value); - MakeTypeCastingExpression& strategy(WfTypeCastingStrategy value); - MakeTypeCastingExpression& type(const vl::Ptr& value); - }; - - class MakeTypeOfExpressionExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeTypeOfExpressionExpression& expression(const vl::Ptr& value); - }; - - class MakeTypeOfTypeExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeTypeOfTypeExpression& type(const vl::Ptr& value); - }; - - class MakeTypeTestingExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeTypeTestingExpression& expression(const vl::Ptr& value); - MakeTypeTestingExpression& test(WfTypeTesting value); - MakeTypeTestingExpression& type(const vl::Ptr& value); - }; - - class MakeUnaryExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeUnaryExpression& op(WfUnaryOperator value); - MakeUnaryExpression& operand(const vl::Ptr& value); - }; - - class MakeVariableDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeVariableDeclaration& expression(const vl::Ptr& value); - MakeVariableDeclaration& type(const vl::Ptr& value); - MakeVariableDeclaration& attributes(const vl::Ptr& value); - MakeVariableDeclaration& name(const vl::WString& value); - }; - - class MakeVariableStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeVariableStatement& variable(const vl::Ptr& value); - }; - - class MakeVirtualCfeDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeVirtualCfeDeclaration& expandedDeclarations(const vl::Ptr& value); - MakeVirtualCfeDeclaration& attributes(const vl::Ptr& value); - MakeVirtualCfeDeclaration& name(const vl::WString& value); - }; - - class MakeVirtualCfeExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeVirtualCfeExpression& expandedExpression(const vl::Ptr& value); - }; - - class MakeVirtualCseDeclaration : public vl::glr::ParsingAstBuilder - { - public: - MakeVirtualCseDeclaration& expandedDeclarations(const vl::Ptr& value); - MakeVirtualCseDeclaration& attributes(const vl::Ptr& value); - MakeVirtualCseDeclaration& name(const vl::WString& value); - }; - - class MakeVirtualCseExpression : public vl::glr::ParsingAstBuilder - { - public: - MakeVirtualCseExpression& expandedExpression(const vl::Ptr& value); - }; - - class MakeVirtualCseStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeVirtualCseStatement& expandedStatement(const vl::Ptr& value); - }; - - class MakeWhileStatement : public vl::glr::ParsingAstBuilder - { - public: - MakeWhileStatement& condition(const vl::Ptr& value); - MakeWhileStatement& statement(const vl::Ptr& value); - }; - - } - } + public: + MakeAttachEventExpression& event(const vl::Ptr& value); + MakeAttachEventExpression& function(const vl::Ptr& value); + }; + + class MakeAttribute : public vl::glr::ParsingAstBuilder + { + public: + MakeAttribute& category(const vl::WString& value); + MakeAttribute& name(const vl::WString& value); + MakeAttribute& value(const vl::Ptr& value); + }; + + class MakeAutoPropertyDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeAutoPropertyDeclaration& configConst(WfAPConst value); + MakeAutoPropertyDeclaration& configObserve(WfAPObserve value); + MakeAutoPropertyDeclaration& expression(const vl::Ptr& value); + MakeAutoPropertyDeclaration& functionKind(WfFunctionKind value); + MakeAutoPropertyDeclaration& type(const vl::Ptr& value); + MakeAutoPropertyDeclaration& expandedDeclarations(const vl::Ptr& value); + MakeAutoPropertyDeclaration& attributes(const vl::Ptr& value); + MakeAutoPropertyDeclaration& name(const vl::WString& value); + }; + + class MakeBaseConstructorCall : public vl::glr::ParsingAstBuilder + { + public: + MakeBaseConstructorCall& arguments(const vl::Ptr& value); + MakeBaseConstructorCall& type(const vl::Ptr& value); + }; + + class MakeBinaryExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeBinaryExpression& first(const vl::Ptr& value); + MakeBinaryExpression& op(WfBinaryOperator value); + MakeBinaryExpression& second(const vl::Ptr& value); + }; + + class MakeBindExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeBindExpression& expression(const vl::Ptr& value); + MakeBindExpression& expandedExpression(const vl::Ptr& value); + }; + + class MakeBlockStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeBlockStatement& endLabel(const vl::WString& value); + MakeBlockStatement& statements(const vl::Ptr& value); + }; + + class MakeCallExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeCallExpression& arguments(const vl::Ptr& value); + MakeCallExpression& function(const vl::Ptr& value); + }; + + class MakeCastResultInterfaceDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeCastResultInterfaceDeclaration& baseType(const vl::Ptr& value); + MakeCastResultInterfaceDeclaration& elementType(const vl::Ptr& value); + MakeCastResultInterfaceDeclaration& expandedDeclarations(const vl::Ptr& value); + MakeCastResultInterfaceDeclaration& attributes(const vl::Ptr& value); + MakeCastResultInterfaceDeclaration& name(const vl::WString& value); + }; + + class MakeChildExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeChildExpression& name(const vl::WString& value); + MakeChildExpression& parent(const vl::Ptr& value); + }; + + class MakeChildType : public vl::glr::ParsingAstBuilder + { + public: + MakeChildType& name(const vl::WString& value); + MakeChildType& parent(const vl::Ptr& value); + }; + + class MakeClassDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeClassDeclaration& baseTypes(const vl::Ptr& value); + MakeClassDeclaration& constructorType(WfConstructorType value); + MakeClassDeclaration& declarations(const vl::Ptr& value); + MakeClassDeclaration& kind(WfClassKind value); + MakeClassDeclaration& attributes(const vl::Ptr& value); + MakeClassDeclaration& name(const vl::WString& value); + }; + + class MakeCoOperatorExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeCoOperatorExpression& name(const vl::WString& value); + MakeCoOperatorExpression& expandedExpression(const vl::Ptr& value); + }; + + class MakeCoOperatorStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeCoOperatorStatement& arguments(const vl::Ptr& value); + MakeCoOperatorStatement& opName(const vl::WString& value); + MakeCoOperatorStatement& varName(const vl::WString& value); + }; + + class MakeCoPauseStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeCoPauseStatement& statement(const vl::Ptr& value); + }; + + class MakeCoProviderStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeCoProviderStatement& name(const vl::WString& value); + MakeCoProviderStatement& statement(const vl::Ptr& value); + MakeCoProviderStatement& expandedStatement(const vl::Ptr& value); + }; + + class MakeConstructorArgument : public vl::glr::ParsingAstBuilder + { + public: + MakeConstructorArgument& key(const vl::Ptr& value); + MakeConstructorArgument& value(const vl::Ptr& value); + }; + + class MakeConstructorDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeConstructorDeclaration& arguments(const vl::Ptr& value); + MakeConstructorDeclaration& baseConstructorCalls(const vl::Ptr& value); + MakeConstructorDeclaration& constructorType(WfConstructorType value); + MakeConstructorDeclaration& statement(const vl::Ptr& value); + MakeConstructorDeclaration& attributes(const vl::Ptr& value); + MakeConstructorDeclaration& name(const vl::WString& value); + }; + + class MakeConstructorExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeConstructorExpression& arguments(const vl::Ptr& value); + }; + + class MakeDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeDeclaration& attributes(const vl::Ptr& value); + MakeDeclaration& name(const vl::WString& value); + }; + + class MakeDeleteStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeDeleteStatement& expression(const vl::Ptr& value); + }; + + class MakeDestructorDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeDestructorDeclaration& statement(const vl::Ptr& value); + MakeDestructorDeclaration& attributes(const vl::Ptr& value); + MakeDestructorDeclaration& name(const vl::WString& value); + }; + + class MakeDetachEventExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeDetachEventExpression& event(const vl::Ptr& value); + MakeDetachEventExpression& handler(const vl::Ptr& value); + }; + + class MakeEnumDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeEnumDeclaration& items(const vl::Ptr& value); + MakeEnumDeclaration& kind(WfEnumKind value); + MakeEnumDeclaration& attributes(const vl::Ptr& value); + MakeEnumDeclaration& name(const vl::WString& value); + }; + + class MakeEnumItem : public vl::glr::ParsingAstBuilder + { + public: + MakeEnumItem& attributes(const vl::Ptr& value); + MakeEnumItem& intersections(const vl::Ptr& value); + MakeEnumItem& kind(WfEnumItemKind value); + MakeEnumItem& name(const vl::WString& value); + MakeEnumItem& number(const vl::WString& value); + }; + + class MakeEnumItemIntersection : public vl::glr::ParsingAstBuilder + { + public: + MakeEnumItemIntersection& name(const vl::WString& value); + }; + + class MakeEnumerableType : public vl::glr::ParsingAstBuilder + { + public: + MakeEnumerableType& element(const vl::Ptr& value); + }; + + class MakeEventDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeEventDeclaration& arguments(const vl::Ptr& value); + MakeEventDeclaration& attributes(const vl::Ptr& value); + MakeEventDeclaration& name(const vl::WString& value); + }; + + class MakeExpectedTypeCastExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeExpectedTypeCastExpression& expression(const vl::Ptr& value); + MakeExpectedTypeCastExpression& strategy(WfTypeCastingStrategy value); + MakeExpectedTypeCastExpression& expandedExpression(const vl::Ptr& value); + }; + + class MakeExpressionStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeExpressionStatement& expression(const vl::Ptr& value); + }; + + class MakeFloatingExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeFloatingExpression& value(const vl::WString& value); + }; + + class MakeForEachStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeForEachStatement& collection(const vl::Ptr& value); + MakeForEachStatement& direction(WfForEachDirection value); + MakeForEachStatement& name(const vl::WString& value); + MakeForEachStatement& statement(const vl::Ptr& value); + MakeForEachStatement& expandedStatement(const vl::Ptr& value); + }; + + class MakeFormatExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeFormatExpression& value(const vl::WString& value); + MakeFormatExpression& expandedExpression(const vl::Ptr& value); + }; + + class MakeFunctionArgument : public vl::glr::ParsingAstBuilder + { + public: + MakeFunctionArgument& attributes(const vl::Ptr& value); + MakeFunctionArgument& name(const vl::WString& value); + MakeFunctionArgument& type(const vl::Ptr& value); + }; + + class MakeFunctionDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeFunctionDeclaration& anonymity(WfFunctionAnonymity value); + MakeFunctionDeclaration& arguments(const vl::Ptr& value); + MakeFunctionDeclaration& functionKind(WfFunctionKind value); + MakeFunctionDeclaration& returnType(const vl::Ptr& value); + MakeFunctionDeclaration& statement(const vl::Ptr& value); + MakeFunctionDeclaration& attributes(const vl::Ptr& value); + MakeFunctionDeclaration& name(const vl::WString& value); + }; + + class MakeFunctionExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeFunctionExpression& function(const vl::Ptr& value); + }; + + class MakeFunctionType : public vl::glr::ParsingAstBuilder + { + public: + MakeFunctionType& arguments(const vl::Ptr& value); + MakeFunctionType& result(const vl::Ptr& value); + }; + + class MakeGotoStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeGotoStatement& label(const vl::WString& value); + }; + + class MakeIfExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeIfExpression& condition(const vl::Ptr& value); + MakeIfExpression& falseBranch(const vl::Ptr& value); + MakeIfExpression& trueBranch(const vl::Ptr& value); + }; + + class MakeIfStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeIfStatement& expression(const vl::Ptr& value); + MakeIfStatement& falseBranch(const vl::Ptr& value); + MakeIfStatement& name(const vl::WString& value); + MakeIfStatement& trueBranch(const vl::Ptr& value); + MakeIfStatement& type(const vl::Ptr& value); + }; + + class MakeInferExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeInferExpression& expression(const vl::Ptr& value); + MakeInferExpression& type(const vl::Ptr& value); + }; + + class MakeIntegerExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeIntegerExpression& value(const vl::WString& value); + }; + + class MakeLetExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeLetExpression& expression(const vl::Ptr& value); + MakeLetExpression& variables(const vl::Ptr& value); + }; + + class MakeLetVariable : public vl::glr::ParsingAstBuilder + { + public: + MakeLetVariable& name(const vl::WString& value); + MakeLetVariable& value(const vl::Ptr& value); + }; + + class MakeLiteralExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeLiteralExpression& value(WfLiteralValue value); + }; + + class MakeMapType : public vl::glr::ParsingAstBuilder + { + public: + MakeMapType& key(const vl::Ptr& value); + MakeMapType& value(const vl::Ptr& value); + MakeMapType& writability(WfMapWritability value); + }; + + class MakeMemberExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeMemberExpression& name(const vl::WString& value); + MakeMemberExpression& parent(const vl::Ptr& value); + }; + + class MakeMixinCastExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeMixinCastExpression& expression(const vl::Ptr& value); + MakeMixinCastExpression& type(const vl::Ptr& value); + MakeMixinCastExpression& expandedExpression(const vl::Ptr& value); + }; + + class MakeModule : public vl::glr::ParsingAstBuilder + { + public: + MakeModule& declarations(const vl::Ptr& value); + MakeModule& moduleType(WfModuleType value); + MakeModule& name(const vl::WString& value); + MakeModule& paths(const vl::Ptr& value); + }; + + class MakeModuleUsingItem : public vl::glr::ParsingAstBuilder + { + public: + MakeModuleUsingItem& fragments(const vl::Ptr& value); + }; + + class MakeModuleUsingNameFragment : public vl::glr::ParsingAstBuilder + { + public: + MakeModuleUsingNameFragment& name(const vl::WString& value); + }; + + class MakeModuleUsingPath : public vl::glr::ParsingAstBuilder + { + public: + MakeModuleUsingPath& items(const vl::Ptr& value); + }; + + class MakeNamespaceDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeNamespaceDeclaration& declarations(const vl::Ptr& value); + MakeNamespaceDeclaration& attributes(const vl::Ptr& value); + MakeNamespaceDeclaration& name(const vl::WString& value); + }; + + class MakeNewClassExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeNewClassExpression& arguments(const vl::Ptr& value); + MakeNewClassExpression& type(const vl::Ptr& value); + }; + + class MakeNewCoroutineExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeNewCoroutineExpression& name(const vl::WString& value); + MakeNewCoroutineExpression& statement(const vl::Ptr& value); + MakeNewCoroutineExpression& expandedExpression(const vl::Ptr& value); + }; + + class MakeNewInterfaceExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeNewInterfaceExpression& declarations(const vl::Ptr& value); + MakeNewInterfaceExpression& type(const vl::Ptr& value); + }; + + class MakeNullableType : public vl::glr::ParsingAstBuilder + { + public: + MakeNullableType& element(const vl::Ptr& value); + }; + + class MakeObservableListType : public vl::glr::ParsingAstBuilder + { + public: + MakeObservableListType& element(const vl::Ptr& value); + }; + + class MakeObserveExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeObserveExpression& events(const vl::Ptr& value); + MakeObserveExpression& expression(const vl::Ptr& value); + MakeObserveExpression& name(const vl::WString& value); + MakeObserveExpression& observeType(WfObserveType value); + MakeObserveExpression& parent(const vl::Ptr& value); + }; + + class MakeOrderedLambdaExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeOrderedLambdaExpression& body(const vl::Ptr& value); + }; + + class MakeOrderedNameExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeOrderedNameExpression& name(const vl::WString& value); + }; + + class MakePredefinedType : public vl::glr::ParsingAstBuilder + { + public: + MakePredefinedType& name(WfPredefinedTypeName value); + }; + + class MakePropertyDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakePropertyDeclaration& getter(const vl::WString& value); + MakePropertyDeclaration& setter(const vl::WString& value); + MakePropertyDeclaration& type(const vl::Ptr& value); + MakePropertyDeclaration& valueChangedEvent(const vl::WString& value); + MakePropertyDeclaration& attributes(const vl::Ptr& value); + MakePropertyDeclaration& name(const vl::WString& value); + }; + + class MakeRaiseExceptionStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeRaiseExceptionStatement& expression(const vl::Ptr& value); + }; + + class MakeRangeExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeRangeExpression& begin(const vl::Ptr& value); + MakeRangeExpression& beginBoundary(WfRangeBoundary value); + MakeRangeExpression& end(const vl::Ptr& value); + MakeRangeExpression& endBoundary(WfRangeBoundary value); + }; + + class MakeRawPointerType : public vl::glr::ParsingAstBuilder + { + public: + MakeRawPointerType& element(const vl::Ptr& value); + }; + + class MakeReferenceExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeReferenceExpression& name(const vl::WString& value); + }; + + class MakeReferenceType : public vl::glr::ParsingAstBuilder + { + public: + MakeReferenceType& name(const vl::WString& value); + }; + + class MakeReturnStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeReturnStatement& expression(const vl::Ptr& value); + }; + + class MakeSetTestingExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeSetTestingExpression& collection(const vl::Ptr& value); + MakeSetTestingExpression& element(const vl::Ptr& value); + MakeSetTestingExpression& test(WfSetTesting value); + }; + + class MakeSharedPointerType : public vl::glr::ParsingAstBuilder + { + public: + MakeSharedPointerType& element(const vl::Ptr& value); + }; + + class MakeStateDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeStateDeclaration& arguments(const vl::Ptr& value); + MakeStateDeclaration& name(const vl::WString& value); + MakeStateDeclaration& statement(const vl::Ptr& value); + }; + + class MakeStateInput : public vl::glr::ParsingAstBuilder + { + public: + MakeStateInput& arguments(const vl::Ptr& value); + MakeStateInput& name(const vl::WString& value); + }; + + class MakeStateInvokeStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeStateInvokeStatement& arguments(const vl::Ptr& value); + MakeStateInvokeStatement& name(const vl::WString& value); + MakeStateInvokeStatement& type(WfStateInvokeType value); + }; + + class MakeStateMachineDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeStateMachineDeclaration& inputs(const vl::Ptr& value); + MakeStateMachineDeclaration& states(const vl::Ptr& value); + MakeStateMachineDeclaration& expandedDeclarations(const vl::Ptr& value); + MakeStateMachineDeclaration& attributes(const vl::Ptr& value); + MakeStateMachineDeclaration& name(const vl::WString& value); + }; + + class MakeStateSwitchArgument : public vl::glr::ParsingAstBuilder + { + public: + MakeStateSwitchArgument& name(const vl::WString& value); + }; + + class MakeStateSwitchCase : public vl::glr::ParsingAstBuilder + { + public: + MakeStateSwitchCase& arguments(const vl::Ptr& value); + MakeStateSwitchCase& name(const vl::WString& value); + MakeStateSwitchCase& statement(const vl::Ptr& value); + }; + + class MakeStateSwitchStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeStateSwitchStatement& caseBranches(const vl::Ptr& value); + MakeStateSwitchStatement& type(WfStateSwitchType value); + }; + + class MakeStringExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeStringExpression& value(const vl::WString& value); + }; + + class MakeStructDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeStructDeclaration& members(const vl::Ptr& value); + MakeStructDeclaration& attributes(const vl::Ptr& value); + MakeStructDeclaration& name(const vl::WString& value); + }; + + class MakeStructMember : public vl::glr::ParsingAstBuilder + { + public: + MakeStructMember& attributes(const vl::Ptr& value); + MakeStructMember& name(const vl::WString& value); + MakeStructMember& type(const vl::Ptr& value); + }; + + class MakeSwitchCase : public vl::glr::ParsingAstBuilder + { + public: + MakeSwitchCase& expression(const vl::Ptr& value); + MakeSwitchCase& statement(const vl::Ptr& value); + }; + + class MakeSwitchStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeSwitchStatement& caseBranches(const vl::Ptr& value); + MakeSwitchStatement& defaultBranch(const vl::Ptr& value); + MakeSwitchStatement& expression(const vl::Ptr& value); + MakeSwitchStatement& expandedStatement(const vl::Ptr& value); + }; + + class MakeTopQualifiedExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeTopQualifiedExpression& name(const vl::WString& value); + }; + + class MakeTopQualifiedType : public vl::glr::ParsingAstBuilder + { + public: + MakeTopQualifiedType& name(const vl::WString& value); + }; + + class MakeTryStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeTryStatement& catchStatement(const vl::Ptr& value); + MakeTryStatement& finallyStatement(const vl::Ptr& value); + MakeTryStatement& name(const vl::WString& value); + MakeTryStatement& protectedStatement(const vl::Ptr& value); + }; + + class MakeTypeCastingExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeTypeCastingExpression& expression(const vl::Ptr& value); + MakeTypeCastingExpression& strategy(WfTypeCastingStrategy value); + MakeTypeCastingExpression& type(const vl::Ptr& value); + }; + + class MakeTypeOfExpressionExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeTypeOfExpressionExpression& expression(const vl::Ptr& value); + }; + + class MakeTypeOfTypeExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeTypeOfTypeExpression& type(const vl::Ptr& value); + }; + + class MakeTypeTestingExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeTypeTestingExpression& expression(const vl::Ptr& value); + MakeTypeTestingExpression& test(WfTypeTesting value); + MakeTypeTestingExpression& type(const vl::Ptr& value); + }; + + class MakeUnaryExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeUnaryExpression& op(WfUnaryOperator value); + MakeUnaryExpression& operand(const vl::Ptr& value); + }; + + class MakeVariableDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeVariableDeclaration& expression(const vl::Ptr& value); + MakeVariableDeclaration& type(const vl::Ptr& value); + MakeVariableDeclaration& attributes(const vl::Ptr& value); + MakeVariableDeclaration& name(const vl::WString& value); + }; + + class MakeVariableStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeVariableStatement& variable(const vl::Ptr& value); + }; + + class MakeVirtualCfeDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeVirtualCfeDeclaration& expandedDeclarations(const vl::Ptr& value); + MakeVirtualCfeDeclaration& attributes(const vl::Ptr& value); + MakeVirtualCfeDeclaration& name(const vl::WString& value); + }; + + class MakeVirtualCfeExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeVirtualCfeExpression& expandedExpression(const vl::Ptr& value); + }; + + class MakeVirtualCseDeclaration : public vl::glr::ParsingAstBuilder + { + public: + MakeVirtualCseDeclaration& expandedDeclarations(const vl::Ptr& value); + MakeVirtualCseDeclaration& attributes(const vl::Ptr& value); + MakeVirtualCseDeclaration& name(const vl::WString& value); + }; + + class MakeVirtualCseExpression : public vl::glr::ParsingAstBuilder + { + public: + MakeVirtualCseExpression& expandedExpression(const vl::Ptr& value); + }; + + class MakeVirtualCseStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeVirtualCseStatement& expandedStatement(const vl::Ptr& value); + }; + + class MakeWhileStatement : public vl::glr::ParsingAstBuilder + { + public: + MakeWhileStatement& condition(const vl::Ptr& value); + MakeWhileStatement& statement(const vl::Ptr& value); + }; + } #endif @@ -2874,371 +2859,365 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_WORKFLOW_PARSER_AST_AST_COPY_VISITOR -namespace vl +namespace vl::workflow::copy_visitor { - namespace workflow + /// A copy visitor, overriding all abstract methods with AST copying code. + class AstVisitor + : public virtual vl::glr::CopyVisitorBase + , protected virtual WfType::IVisitor + , protected virtual WfExpression::IVisitor + , protected virtual WfStatement::IVisitor + , protected virtual WfDeclaration::IVisitor + , protected virtual WfVirtualCfeDeclaration::IVisitor + , protected virtual WfVirtualCseDeclaration::IVisitor + , protected virtual WfVirtualCseStatement::IVisitor + , protected virtual WfCoroutineStatement::IVisitor + , protected virtual WfStateMachineStatement::IVisitor + , protected virtual WfVirtualCfeExpression::IVisitor + , protected virtual WfVirtualCseExpression::IVisitor + , protected virtual WfModuleUsingFragment::IVisitor { - namespace copy_visitor - { - /// A copy visitor, overriding all abstract methods with AST copying code. - class AstVisitor - : public virtual vl::glr::CopyVisitorBase - , protected virtual WfType::IVisitor - , protected virtual WfExpression::IVisitor - , protected virtual WfStatement::IVisitor - , protected virtual WfDeclaration::IVisitor - , protected virtual WfVirtualCfeDeclaration::IVisitor - , protected virtual WfVirtualCseDeclaration::IVisitor - , protected virtual WfVirtualCseStatement::IVisitor - , protected virtual WfCoroutineStatement::IVisitor - , protected virtual WfStateMachineStatement::IVisitor - , protected virtual WfVirtualCfeExpression::IVisitor - , protected virtual WfVirtualCseExpression::IVisitor - , protected virtual WfModuleUsingFragment::IVisitor - { - protected: - void CopyFields(WfAttachEventExpression* from, WfAttachEventExpression* to); - void CopyFields(WfAttribute* from, WfAttribute* to); - void CopyFields(WfAutoPropertyDeclaration* from, WfAutoPropertyDeclaration* to); - void CopyFields(WfBaseConstructorCall* from, WfBaseConstructorCall* to); - void CopyFields(WfBinaryExpression* from, WfBinaryExpression* to); - void CopyFields(WfBindExpression* from, WfBindExpression* to); - void CopyFields(WfBlockStatement* from, WfBlockStatement* to); - void CopyFields(WfBreakStatement* from, WfBreakStatement* to); - void CopyFields(WfCallExpression* from, WfCallExpression* to); - void CopyFields(WfCastResultInterfaceDeclaration* from, WfCastResultInterfaceDeclaration* to); - void CopyFields(WfChildExpression* from, WfChildExpression* to); - void CopyFields(WfChildType* from, WfChildType* to); - void CopyFields(WfClassDeclaration* from, WfClassDeclaration* to); - void CopyFields(WfCoOperatorExpression* from, WfCoOperatorExpression* to); - void CopyFields(WfCoOperatorStatement* from, WfCoOperatorStatement* to); - void CopyFields(WfCoPauseStatement* from, WfCoPauseStatement* to); - void CopyFields(WfCoProviderStatement* from, WfCoProviderStatement* to); - void CopyFields(WfConstructorArgument* from, WfConstructorArgument* to); - void CopyFields(WfConstructorDeclaration* from, WfConstructorDeclaration* to); - void CopyFields(WfConstructorExpression* from, WfConstructorExpression* to); - void CopyFields(WfContinueStatement* from, WfContinueStatement* to); - void CopyFields(WfCoroutineStatement* from, WfCoroutineStatement* to); - void CopyFields(WfDeclaration* from, WfDeclaration* to); - void CopyFields(WfDeleteStatement* from, WfDeleteStatement* to); - void CopyFields(WfDestructorDeclaration* from, WfDestructorDeclaration* to); - void CopyFields(WfDetachEventExpression* from, WfDetachEventExpression* to); - void CopyFields(WfEnumDeclaration* from, WfEnumDeclaration* to); - void CopyFields(WfEnumItem* from, WfEnumItem* to); - void CopyFields(WfEnumItemIntersection* from, WfEnumItemIntersection* to); - void CopyFields(WfEnumerableType* from, WfEnumerableType* to); - void CopyFields(WfEventDeclaration* from, WfEventDeclaration* to); - void CopyFields(WfExpectedTypeCastExpression* from, WfExpectedTypeCastExpression* to); - void CopyFields(WfExpression* from, WfExpression* to); - void CopyFields(WfExpressionStatement* from, WfExpressionStatement* to); - void CopyFields(WfFloatingExpression* from, WfFloatingExpression* to); - void CopyFields(WfForEachStatement* from, WfForEachStatement* to); - void CopyFields(WfFormatExpression* from, WfFormatExpression* to); - void CopyFields(WfFunctionArgument* from, WfFunctionArgument* to); - void CopyFields(WfFunctionDeclaration* from, WfFunctionDeclaration* to); - void CopyFields(WfFunctionExpression* from, WfFunctionExpression* to); - void CopyFields(WfFunctionType* from, WfFunctionType* to); - void CopyFields(WfGotoStatement* from, WfGotoStatement* to); - void CopyFields(WfIfExpression* from, WfIfExpression* to); - void CopyFields(WfIfStatement* from, WfIfStatement* to); - void CopyFields(WfInferExpression* from, WfInferExpression* to); - void CopyFields(WfIntegerExpression* from, WfIntegerExpression* to); - void CopyFields(WfLetExpression* from, WfLetExpression* to); - void CopyFields(WfLetVariable* from, WfLetVariable* to); - void CopyFields(WfLiteralExpression* from, WfLiteralExpression* to); - void CopyFields(WfMapType* from, WfMapType* to); - void CopyFields(WfMemberExpression* from, WfMemberExpression* to); - void CopyFields(WfMixinCastExpression* from, WfMixinCastExpression* to); - void CopyFields(WfModule* from, WfModule* to); - void CopyFields(WfModuleUsingFragment* from, WfModuleUsingFragment* to); - void CopyFields(WfModuleUsingItem* from, WfModuleUsingItem* to); - void CopyFields(WfModuleUsingNameFragment* from, WfModuleUsingNameFragment* to); - void CopyFields(WfModuleUsingPath* from, WfModuleUsingPath* to); - void CopyFields(WfModuleUsingWildCardFragment* from, WfModuleUsingWildCardFragment* to); - void CopyFields(WfNamespaceDeclaration* from, WfNamespaceDeclaration* to); - void CopyFields(WfNewClassExpression* from, WfNewClassExpression* to); - void CopyFields(WfNewCoroutineExpression* from, WfNewCoroutineExpression* to); - void CopyFields(WfNewInterfaceExpression* from, WfNewInterfaceExpression* to); - void CopyFields(WfNullableType* from, WfNullableType* to); - void CopyFields(WfObservableListType* from, WfObservableListType* to); - void CopyFields(WfObserveExpression* from, WfObserveExpression* to); - void CopyFields(WfOrderedLambdaExpression* from, WfOrderedLambdaExpression* to); - void CopyFields(WfOrderedNameExpression* from, WfOrderedNameExpression* to); - void CopyFields(WfPredefinedType* from, WfPredefinedType* to); - void CopyFields(WfPropertyDeclaration* from, WfPropertyDeclaration* to); - void CopyFields(WfRaiseExceptionStatement* from, WfRaiseExceptionStatement* to); - void CopyFields(WfRangeExpression* from, WfRangeExpression* to); - void CopyFields(WfRawPointerType* from, WfRawPointerType* to); - void CopyFields(WfReferenceExpression* from, WfReferenceExpression* to); - void CopyFields(WfReferenceType* from, WfReferenceType* to); - void CopyFields(WfReturnStatement* from, WfReturnStatement* to); - void CopyFields(WfSetTestingExpression* from, WfSetTestingExpression* to); - void CopyFields(WfSharedPointerType* from, WfSharedPointerType* to); - void CopyFields(WfStateDeclaration* from, WfStateDeclaration* to); - void CopyFields(WfStateInput* from, WfStateInput* to); - void CopyFields(WfStateInvokeStatement* from, WfStateInvokeStatement* to); - void CopyFields(WfStateMachineDeclaration* from, WfStateMachineDeclaration* to); - void CopyFields(WfStateMachineStatement* from, WfStateMachineStatement* to); - void CopyFields(WfStateSwitchArgument* from, WfStateSwitchArgument* to); - void CopyFields(WfStateSwitchCase* from, WfStateSwitchCase* to); - void CopyFields(WfStateSwitchStatement* from, WfStateSwitchStatement* to); - void CopyFields(WfStatement* from, WfStatement* to); - void CopyFields(WfStringExpression* from, WfStringExpression* to); - void CopyFields(WfStructDeclaration* from, WfStructDeclaration* to); - void CopyFields(WfStructMember* from, WfStructMember* to); - void CopyFields(WfSwitchCase* from, WfSwitchCase* to); - void CopyFields(WfSwitchStatement* from, WfSwitchStatement* to); - void CopyFields(WfThisExpression* from, WfThisExpression* to); - void CopyFields(WfTopQualifiedExpression* from, WfTopQualifiedExpression* to); - void CopyFields(WfTopQualifiedType* from, WfTopQualifiedType* to); - void CopyFields(WfTryStatement* from, WfTryStatement* to); - void CopyFields(WfType* from, WfType* to); - void CopyFields(WfTypeCastingExpression* from, WfTypeCastingExpression* to); - void CopyFields(WfTypeOfExpressionExpression* from, WfTypeOfExpressionExpression* to); - void CopyFields(WfTypeOfTypeExpression* from, WfTypeOfTypeExpression* to); - void CopyFields(WfTypeTestingExpression* from, WfTypeTestingExpression* to); - void CopyFields(WfUnaryExpression* from, WfUnaryExpression* to); - void CopyFields(WfVariableDeclaration* from, WfVariableDeclaration* to); - void CopyFields(WfVariableStatement* from, WfVariableStatement* to); - void CopyFields(WfVirtualCfeDeclaration* from, WfVirtualCfeDeclaration* to); - void CopyFields(WfVirtualCfeExpression* from, WfVirtualCfeExpression* to); - void CopyFields(WfVirtualCseDeclaration* from, WfVirtualCseDeclaration* to); - void CopyFields(WfVirtualCseExpression* from, WfVirtualCseExpression* to); - void CopyFields(WfVirtualCseStatement* from, WfVirtualCseStatement* to); - void CopyFields(WfWhileStatement* from, WfWhileStatement* to); + protected: + void CopyFields(WfAttachEventExpression* from, WfAttachEventExpression* to); + void CopyFields(WfAttribute* from, WfAttribute* to); + void CopyFields(WfAutoPropertyDeclaration* from, WfAutoPropertyDeclaration* to); + void CopyFields(WfBaseConstructorCall* from, WfBaseConstructorCall* to); + void CopyFields(WfBinaryExpression* from, WfBinaryExpression* to); + void CopyFields(WfBindExpression* from, WfBindExpression* to); + void CopyFields(WfBlockStatement* from, WfBlockStatement* to); + void CopyFields(WfBreakStatement* from, WfBreakStatement* to); + void CopyFields(WfCallExpression* from, WfCallExpression* to); + void CopyFields(WfCastResultInterfaceDeclaration* from, WfCastResultInterfaceDeclaration* to); + void CopyFields(WfChildExpression* from, WfChildExpression* to); + void CopyFields(WfChildType* from, WfChildType* to); + void CopyFields(WfClassDeclaration* from, WfClassDeclaration* to); + void CopyFields(WfCoOperatorExpression* from, WfCoOperatorExpression* to); + void CopyFields(WfCoOperatorStatement* from, WfCoOperatorStatement* to); + void CopyFields(WfCoPauseStatement* from, WfCoPauseStatement* to); + void CopyFields(WfCoProviderStatement* from, WfCoProviderStatement* to); + void CopyFields(WfConstructorArgument* from, WfConstructorArgument* to); + void CopyFields(WfConstructorDeclaration* from, WfConstructorDeclaration* to); + void CopyFields(WfConstructorExpression* from, WfConstructorExpression* to); + void CopyFields(WfContinueStatement* from, WfContinueStatement* to); + void CopyFields(WfCoroutineStatement* from, WfCoroutineStatement* to); + void CopyFields(WfDeclaration* from, WfDeclaration* to); + void CopyFields(WfDeleteStatement* from, WfDeleteStatement* to); + void CopyFields(WfDestructorDeclaration* from, WfDestructorDeclaration* to); + void CopyFields(WfDetachEventExpression* from, WfDetachEventExpression* to); + void CopyFields(WfEnumDeclaration* from, WfEnumDeclaration* to); + void CopyFields(WfEnumItem* from, WfEnumItem* to); + void CopyFields(WfEnumItemIntersection* from, WfEnumItemIntersection* to); + void CopyFields(WfEnumerableType* from, WfEnumerableType* to); + void CopyFields(WfEventDeclaration* from, WfEventDeclaration* to); + void CopyFields(WfExpectedTypeCastExpression* from, WfExpectedTypeCastExpression* to); + void CopyFields(WfExpression* from, WfExpression* to); + void CopyFields(WfExpressionStatement* from, WfExpressionStatement* to); + void CopyFields(WfFloatingExpression* from, WfFloatingExpression* to); + void CopyFields(WfForEachStatement* from, WfForEachStatement* to); + void CopyFields(WfFormatExpression* from, WfFormatExpression* to); + void CopyFields(WfFunctionArgument* from, WfFunctionArgument* to); + void CopyFields(WfFunctionDeclaration* from, WfFunctionDeclaration* to); + void CopyFields(WfFunctionExpression* from, WfFunctionExpression* to); + void CopyFields(WfFunctionType* from, WfFunctionType* to); + void CopyFields(WfGotoStatement* from, WfGotoStatement* to); + void CopyFields(WfIfExpression* from, WfIfExpression* to); + void CopyFields(WfIfStatement* from, WfIfStatement* to); + void CopyFields(WfInferExpression* from, WfInferExpression* to); + void CopyFields(WfIntegerExpression* from, WfIntegerExpression* to); + void CopyFields(WfLetExpression* from, WfLetExpression* to); + void CopyFields(WfLetVariable* from, WfLetVariable* to); + void CopyFields(WfLiteralExpression* from, WfLiteralExpression* to); + void CopyFields(WfMapType* from, WfMapType* to); + void CopyFields(WfMemberExpression* from, WfMemberExpression* to); + void CopyFields(WfMixinCastExpression* from, WfMixinCastExpression* to); + void CopyFields(WfModule* from, WfModule* to); + void CopyFields(WfModuleUsingFragment* from, WfModuleUsingFragment* to); + void CopyFields(WfModuleUsingItem* from, WfModuleUsingItem* to); + void CopyFields(WfModuleUsingNameFragment* from, WfModuleUsingNameFragment* to); + void CopyFields(WfModuleUsingPath* from, WfModuleUsingPath* to); + void CopyFields(WfModuleUsingWildCardFragment* from, WfModuleUsingWildCardFragment* to); + void CopyFields(WfNamespaceDeclaration* from, WfNamespaceDeclaration* to); + void CopyFields(WfNewClassExpression* from, WfNewClassExpression* to); + void CopyFields(WfNewCoroutineExpression* from, WfNewCoroutineExpression* to); + void CopyFields(WfNewInterfaceExpression* from, WfNewInterfaceExpression* to); + void CopyFields(WfNullableType* from, WfNullableType* to); + void CopyFields(WfObservableListType* from, WfObservableListType* to); + void CopyFields(WfObserveExpression* from, WfObserveExpression* to); + void CopyFields(WfOrderedLambdaExpression* from, WfOrderedLambdaExpression* to); + void CopyFields(WfOrderedNameExpression* from, WfOrderedNameExpression* to); + void CopyFields(WfPredefinedType* from, WfPredefinedType* to); + void CopyFields(WfPropertyDeclaration* from, WfPropertyDeclaration* to); + void CopyFields(WfRaiseExceptionStatement* from, WfRaiseExceptionStatement* to); + void CopyFields(WfRangeExpression* from, WfRangeExpression* to); + void CopyFields(WfRawPointerType* from, WfRawPointerType* to); + void CopyFields(WfReferenceExpression* from, WfReferenceExpression* to); + void CopyFields(WfReferenceType* from, WfReferenceType* to); + void CopyFields(WfReturnStatement* from, WfReturnStatement* to); + void CopyFields(WfSetTestingExpression* from, WfSetTestingExpression* to); + void CopyFields(WfSharedPointerType* from, WfSharedPointerType* to); + void CopyFields(WfStateDeclaration* from, WfStateDeclaration* to); + void CopyFields(WfStateInput* from, WfStateInput* to); + void CopyFields(WfStateInvokeStatement* from, WfStateInvokeStatement* to); + void CopyFields(WfStateMachineDeclaration* from, WfStateMachineDeclaration* to); + void CopyFields(WfStateMachineStatement* from, WfStateMachineStatement* to); + void CopyFields(WfStateSwitchArgument* from, WfStateSwitchArgument* to); + void CopyFields(WfStateSwitchCase* from, WfStateSwitchCase* to); + void CopyFields(WfStateSwitchStatement* from, WfStateSwitchStatement* to); + void CopyFields(WfStatement* from, WfStatement* to); + void CopyFields(WfStringExpression* from, WfStringExpression* to); + void CopyFields(WfStructDeclaration* from, WfStructDeclaration* to); + void CopyFields(WfStructMember* from, WfStructMember* to); + void CopyFields(WfSwitchCase* from, WfSwitchCase* to); + void CopyFields(WfSwitchStatement* from, WfSwitchStatement* to); + void CopyFields(WfThisExpression* from, WfThisExpression* to); + void CopyFields(WfTopQualifiedExpression* from, WfTopQualifiedExpression* to); + void CopyFields(WfTopQualifiedType* from, WfTopQualifiedType* to); + void CopyFields(WfTryStatement* from, WfTryStatement* to); + void CopyFields(WfType* from, WfType* to); + void CopyFields(WfTypeCastingExpression* from, WfTypeCastingExpression* to); + void CopyFields(WfTypeOfExpressionExpression* from, WfTypeOfExpressionExpression* to); + void CopyFields(WfTypeOfTypeExpression* from, WfTypeOfTypeExpression* to); + void CopyFields(WfTypeTestingExpression* from, WfTypeTestingExpression* to); + void CopyFields(WfUnaryExpression* from, WfUnaryExpression* to); + void CopyFields(WfVariableDeclaration* from, WfVariableDeclaration* to); + void CopyFields(WfVariableStatement* from, WfVariableStatement* to); + void CopyFields(WfVirtualCfeDeclaration* from, WfVirtualCfeDeclaration* to); + void CopyFields(WfVirtualCfeExpression* from, WfVirtualCfeExpression* to); + void CopyFields(WfVirtualCseDeclaration* from, WfVirtualCseDeclaration* to); + void CopyFields(WfVirtualCseExpression* from, WfVirtualCseExpression* to); + void CopyFields(WfVirtualCseStatement* from, WfVirtualCseStatement* to); + void CopyFields(WfWhileStatement* from, WfWhileStatement* to); - protected: - virtual void Visit(WfAttribute* node); - virtual void Visit(WfFunctionArgument* node); - virtual void Visit(WfBaseConstructorCall* node); - virtual void Visit(WfEnumItemIntersection* node); - virtual void Visit(WfEnumItem* node); - virtual void Visit(WfStructMember* node); - virtual void Visit(WfStateInput* node); - virtual void Visit(WfStateDeclaration* node); - virtual void Visit(WfSwitchCase* node); - virtual void Visit(WfStateSwitchArgument* node); - virtual void Visit(WfStateSwitchCase* node); - virtual void Visit(WfLetVariable* node); - virtual void Visit(WfConstructorArgument* node); - virtual void Visit(WfModuleUsingItem* node); - virtual void Visit(WfModuleUsingPath* node); - virtual void Visit(WfModule* node); + protected: + virtual void Visit(WfAttribute* node); + virtual void Visit(WfFunctionArgument* node); + virtual void Visit(WfBaseConstructorCall* node); + virtual void Visit(WfEnumItemIntersection* node); + virtual void Visit(WfEnumItem* node); + virtual void Visit(WfStructMember* node); + virtual void Visit(WfStateInput* node); + virtual void Visit(WfStateDeclaration* node); + virtual void Visit(WfSwitchCase* node); + virtual void Visit(WfStateSwitchArgument* node); + virtual void Visit(WfStateSwitchCase* node); + virtual void Visit(WfLetVariable* node); + virtual void Visit(WfConstructorArgument* node); + virtual void Visit(WfModuleUsingItem* node); + virtual void Visit(WfModuleUsingPath* node); + virtual void Visit(WfModule* node); - void Visit(WfPredefinedType* node) override; - void Visit(WfTopQualifiedType* node) override; - void Visit(WfReferenceType* node) override; - void Visit(WfRawPointerType* node) override; - void Visit(WfSharedPointerType* node) override; - void Visit(WfNullableType* node) override; - void Visit(WfEnumerableType* node) override; - void Visit(WfMapType* node) override; - void Visit(WfObservableListType* node) override; - void Visit(WfFunctionType* node) override; - void Visit(WfChildType* node) override; + void Visit(WfPredefinedType* node) override; + void Visit(WfTopQualifiedType* node) override; + void Visit(WfReferenceType* node) override; + void Visit(WfRawPointerType* node) override; + void Visit(WfSharedPointerType* node) override; + void Visit(WfNullableType* node) override; + void Visit(WfEnumerableType* node) override; + void Visit(WfMapType* node) override; + void Visit(WfObservableListType* node) override; + void Visit(WfFunctionType* node) override; + void Visit(WfChildType* node) override; - void Visit(WfThisExpression* node) override; - void Visit(WfTopQualifiedExpression* node) override; - void Visit(WfReferenceExpression* node) override; - void Visit(WfOrderedNameExpression* node) override; - void Visit(WfOrderedLambdaExpression* node) override; - void Visit(WfMemberExpression* node) override; - void Visit(WfChildExpression* node) override; - void Visit(WfLiteralExpression* node) override; - void Visit(WfFloatingExpression* node) override; - void Visit(WfIntegerExpression* node) override; - void Visit(WfStringExpression* node) override; - void Visit(WfUnaryExpression* node) override; - void Visit(WfBinaryExpression* node) override; - void Visit(WfLetExpression* node) override; - void Visit(WfIfExpression* node) override; - void Visit(WfRangeExpression* node) override; - void Visit(WfSetTestingExpression* node) override; - void Visit(WfConstructorExpression* node) override; - void Visit(WfInferExpression* node) override; - void Visit(WfTypeCastingExpression* node) override; - void Visit(WfTypeTestingExpression* node) override; - void Visit(WfTypeOfTypeExpression* node) override; - void Visit(WfTypeOfExpressionExpression* node) override; - void Visit(WfAttachEventExpression* node) override; - void Visit(WfDetachEventExpression* node) override; - void Visit(WfObserveExpression* node) override; - void Visit(WfCallExpression* node) override; - void Visit(WfFunctionExpression* node) override; - void Visit(WfNewClassExpression* node) override; - void Visit(WfNewInterfaceExpression* node) override; - void Visit(WfVirtualCfeExpression* node) override; - void Visit(WfVirtualCseExpression* node) override; + void Visit(WfThisExpression* node) override; + void Visit(WfTopQualifiedExpression* node) override; + void Visit(WfReferenceExpression* node) override; + void Visit(WfOrderedNameExpression* node) override; + void Visit(WfOrderedLambdaExpression* node) override; + void Visit(WfMemberExpression* node) override; + void Visit(WfChildExpression* node) override; + void Visit(WfLiteralExpression* node) override; + void Visit(WfFloatingExpression* node) override; + void Visit(WfIntegerExpression* node) override; + void Visit(WfStringExpression* node) override; + void Visit(WfUnaryExpression* node) override; + void Visit(WfBinaryExpression* node) override; + void Visit(WfLetExpression* node) override; + void Visit(WfIfExpression* node) override; + void Visit(WfRangeExpression* node) override; + void Visit(WfSetTestingExpression* node) override; + void Visit(WfConstructorExpression* node) override; + void Visit(WfInferExpression* node) override; + void Visit(WfTypeCastingExpression* node) override; + void Visit(WfTypeTestingExpression* node) override; + void Visit(WfTypeOfTypeExpression* node) override; + void Visit(WfTypeOfExpressionExpression* node) override; + void Visit(WfAttachEventExpression* node) override; + void Visit(WfDetachEventExpression* node) override; + void Visit(WfObserveExpression* node) override; + void Visit(WfCallExpression* node) override; + void Visit(WfFunctionExpression* node) override; + void Visit(WfNewClassExpression* node) override; + void Visit(WfNewInterfaceExpression* node) override; + void Visit(WfVirtualCfeExpression* node) override; + void Visit(WfVirtualCseExpression* node) override; - void Visit(WfBreakStatement* node) override; - void Visit(WfContinueStatement* node) override; - void Visit(WfReturnStatement* node) override; - void Visit(WfDeleteStatement* node) override; - void Visit(WfRaiseExceptionStatement* node) override; - void Visit(WfIfStatement* node) override; - void Visit(WfWhileStatement* node) override; - void Visit(WfTryStatement* node) override; - void Visit(WfBlockStatement* node) override; - void Visit(WfGotoStatement* node) override; - void Visit(WfVariableStatement* node) override; - void Visit(WfExpressionStatement* node) override; - void Visit(WfVirtualCseStatement* node) override; - void Visit(WfCoroutineStatement* node) override; - void Visit(WfStateMachineStatement* node) override; + void Visit(WfBreakStatement* node) override; + void Visit(WfContinueStatement* node) override; + void Visit(WfReturnStatement* node) override; + void Visit(WfDeleteStatement* node) override; + void Visit(WfRaiseExceptionStatement* node) override; + void Visit(WfIfStatement* node) override; + void Visit(WfWhileStatement* node) override; + void Visit(WfTryStatement* node) override; + void Visit(WfBlockStatement* node) override; + void Visit(WfGotoStatement* node) override; + void Visit(WfVariableStatement* node) override; + void Visit(WfExpressionStatement* node) override; + void Visit(WfVirtualCseStatement* node) override; + void Visit(WfCoroutineStatement* node) override; + void Visit(WfStateMachineStatement* node) override; - void Visit(WfNamespaceDeclaration* node) override; - void Visit(WfFunctionDeclaration* node) override; - void Visit(WfVariableDeclaration* node) override; - void Visit(WfEventDeclaration* node) override; - void Visit(WfPropertyDeclaration* node) override; - void Visit(WfConstructorDeclaration* node) override; - void Visit(WfDestructorDeclaration* node) override; - void Visit(WfClassDeclaration* node) override; - void Visit(WfEnumDeclaration* node) override; - void Visit(WfStructDeclaration* node) override; - void Visit(WfVirtualCfeDeclaration* node) override; - void Visit(WfVirtualCseDeclaration* node) override; + void Visit(WfNamespaceDeclaration* node) override; + void Visit(WfFunctionDeclaration* node) override; + void Visit(WfVariableDeclaration* node) override; + void Visit(WfEventDeclaration* node) override; + void Visit(WfPropertyDeclaration* node) override; + void Visit(WfConstructorDeclaration* node) override; + void Visit(WfDestructorDeclaration* node) override; + void Visit(WfClassDeclaration* node) override; + void Visit(WfEnumDeclaration* node) override; + void Visit(WfStructDeclaration* node) override; + void Visit(WfVirtualCfeDeclaration* node) override; + void Visit(WfVirtualCseDeclaration* node) override; - void Visit(WfAutoPropertyDeclaration* node) override; - void Visit(WfCastResultInterfaceDeclaration* node) override; + void Visit(WfAutoPropertyDeclaration* node) override; + void Visit(WfCastResultInterfaceDeclaration* node) override; - void Visit(WfStateMachineDeclaration* node) override; + void Visit(WfStateMachineDeclaration* node) override; - void Visit(WfForEachStatement* node) override; - void Visit(WfSwitchStatement* node) override; - void Visit(WfCoProviderStatement* node) override; + void Visit(WfForEachStatement* node) override; + void Visit(WfSwitchStatement* node) override; + void Visit(WfCoProviderStatement* node) override; - void Visit(WfCoPauseStatement* node) override; - void Visit(WfCoOperatorStatement* node) override; + void Visit(WfCoPauseStatement* node) override; + void Visit(WfCoOperatorStatement* node) override; - void Visit(WfStateSwitchStatement* node) override; - void Visit(WfStateInvokeStatement* node) override; + void Visit(WfStateSwitchStatement* node) override; + void Visit(WfStateInvokeStatement* node) override; - void Visit(WfFormatExpression* node) override; + void Visit(WfFormatExpression* node) override; - void Visit(WfBindExpression* node) override; - void Visit(WfNewCoroutineExpression* node) override; - void Visit(WfMixinCastExpression* node) override; - void Visit(WfExpectedTypeCastExpression* node) override; - void Visit(WfCoOperatorExpression* node) override; + void Visit(WfBindExpression* node) override; + void Visit(WfNewCoroutineExpression* node) override; + void Visit(WfMixinCastExpression* node) override; + void Visit(WfExpectedTypeCastExpression* node) override; + void Visit(WfCoOperatorExpression* node) override; - void Visit(WfModuleUsingNameFragment* node) override; - void Visit(WfModuleUsingWildCardFragment* node) override; + void Visit(WfModuleUsingNameFragment* node) override; + void Visit(WfModuleUsingWildCardFragment* node) override; - public: - virtual vl::Ptr CopyNode(WfType* node); - virtual vl::Ptr CopyNode(WfExpression* node); - virtual vl::Ptr CopyNode(WfStatement* node); - virtual vl::Ptr CopyNode(WfDeclaration* node); - virtual vl::Ptr CopyNode(WfModuleUsingFragment* node); - virtual vl::Ptr CopyNode(WfAttribute* node); - virtual vl::Ptr CopyNode(WfFunctionArgument* node); - virtual vl::Ptr CopyNode(WfBaseConstructorCall* node); - virtual vl::Ptr CopyNode(WfEnumItemIntersection* node); - virtual vl::Ptr CopyNode(WfEnumItem* node); - virtual vl::Ptr CopyNode(WfStructMember* node); - virtual vl::Ptr CopyNode(WfStateInput* node); - virtual vl::Ptr CopyNode(WfStateDeclaration* node); - virtual vl::Ptr CopyNode(WfSwitchCase* node); - virtual vl::Ptr CopyNode(WfStateSwitchArgument* node); - virtual vl::Ptr CopyNode(WfStateSwitchCase* node); - virtual vl::Ptr CopyNode(WfLetVariable* node); - virtual vl::Ptr CopyNode(WfConstructorArgument* node); - virtual vl::Ptr CopyNode(WfModuleUsingItem* node); - virtual vl::Ptr CopyNode(WfModuleUsingPath* node); - virtual vl::Ptr CopyNode(WfModule* node); + public: + virtual vl::Ptr CopyNode(WfType* node); + virtual vl::Ptr CopyNode(WfExpression* node); + virtual vl::Ptr CopyNode(WfStatement* node); + virtual vl::Ptr CopyNode(WfDeclaration* node); + virtual vl::Ptr CopyNode(WfModuleUsingFragment* node); + virtual vl::Ptr CopyNode(WfAttribute* node); + virtual vl::Ptr CopyNode(WfFunctionArgument* node); + virtual vl::Ptr CopyNode(WfBaseConstructorCall* node); + virtual vl::Ptr CopyNode(WfEnumItemIntersection* node); + virtual vl::Ptr CopyNode(WfEnumItem* node); + virtual vl::Ptr CopyNode(WfStructMember* node); + virtual vl::Ptr CopyNode(WfStateInput* node); + virtual vl::Ptr CopyNode(WfStateDeclaration* node); + virtual vl::Ptr CopyNode(WfSwitchCase* node); + virtual vl::Ptr CopyNode(WfStateSwitchArgument* node); + virtual vl::Ptr CopyNode(WfStateSwitchCase* node); + virtual vl::Ptr CopyNode(WfLetVariable* node); + virtual vl::Ptr CopyNode(WfConstructorArgument* node); + virtual vl::Ptr CopyNode(WfModuleUsingItem* node); + virtual vl::Ptr CopyNode(WfModuleUsingPath* node); + virtual vl::Ptr CopyNode(WfModule* node); - vl::Ptr CopyNode(WfAttachEventExpression* node); - vl::Ptr CopyNode(WfAutoPropertyDeclaration* node); - vl::Ptr CopyNode(WfBinaryExpression* node); - vl::Ptr CopyNode(WfBindExpression* node); - vl::Ptr CopyNode(WfBlockStatement* node); - vl::Ptr CopyNode(WfBreakStatement* node); - vl::Ptr CopyNode(WfCallExpression* node); - vl::Ptr CopyNode(WfCastResultInterfaceDeclaration* node); - vl::Ptr CopyNode(WfChildExpression* node); - vl::Ptr CopyNode(WfChildType* node); - vl::Ptr CopyNode(WfClassDeclaration* node); - vl::Ptr CopyNode(WfCoOperatorExpression* node); - vl::Ptr CopyNode(WfCoOperatorStatement* node); - vl::Ptr CopyNode(WfCoPauseStatement* node); - vl::Ptr CopyNode(WfCoProviderStatement* node); - vl::Ptr CopyNode(WfConstructorDeclaration* node); - vl::Ptr CopyNode(WfConstructorExpression* node); - vl::Ptr CopyNode(WfContinueStatement* node); - vl::Ptr CopyNode(WfCoroutineStatement* node); - vl::Ptr CopyNode(WfDeleteStatement* node); - vl::Ptr CopyNode(WfDestructorDeclaration* node); - vl::Ptr CopyNode(WfDetachEventExpression* node); - vl::Ptr CopyNode(WfEnumDeclaration* node); - vl::Ptr CopyNode(WfEnumerableType* node); - vl::Ptr CopyNode(WfEventDeclaration* node); - vl::Ptr CopyNode(WfExpectedTypeCastExpression* node); - vl::Ptr CopyNode(WfExpressionStatement* node); - vl::Ptr CopyNode(WfFloatingExpression* node); - vl::Ptr CopyNode(WfForEachStatement* node); - vl::Ptr CopyNode(WfFormatExpression* node); - vl::Ptr CopyNode(WfFunctionDeclaration* node); - vl::Ptr CopyNode(WfFunctionExpression* node); - vl::Ptr CopyNode(WfFunctionType* node); - vl::Ptr CopyNode(WfGotoStatement* node); - vl::Ptr CopyNode(WfIfExpression* node); - vl::Ptr CopyNode(WfIfStatement* node); - vl::Ptr CopyNode(WfInferExpression* node); - vl::Ptr CopyNode(WfIntegerExpression* node); - vl::Ptr CopyNode(WfLetExpression* node); - vl::Ptr CopyNode(WfLiteralExpression* node); - vl::Ptr CopyNode(WfMapType* node); - vl::Ptr CopyNode(WfMemberExpression* node); - vl::Ptr CopyNode(WfMixinCastExpression* node); - vl::Ptr CopyNode(WfModuleUsingNameFragment* node); - vl::Ptr CopyNode(WfModuleUsingWildCardFragment* node); - vl::Ptr CopyNode(WfNamespaceDeclaration* node); - vl::Ptr CopyNode(WfNewClassExpression* node); - vl::Ptr CopyNode(WfNewCoroutineExpression* node); - vl::Ptr CopyNode(WfNewInterfaceExpression* node); - vl::Ptr CopyNode(WfNullableType* node); - vl::Ptr CopyNode(WfObservableListType* node); - vl::Ptr CopyNode(WfObserveExpression* node); - vl::Ptr CopyNode(WfOrderedLambdaExpression* node); - vl::Ptr CopyNode(WfOrderedNameExpression* node); - vl::Ptr CopyNode(WfPredefinedType* node); - vl::Ptr CopyNode(WfPropertyDeclaration* node); - vl::Ptr CopyNode(WfRaiseExceptionStatement* node); - vl::Ptr CopyNode(WfRangeExpression* node); - vl::Ptr CopyNode(WfRawPointerType* node); - vl::Ptr CopyNode(WfReferenceExpression* node); - vl::Ptr CopyNode(WfReferenceType* node); - vl::Ptr CopyNode(WfReturnStatement* node); - vl::Ptr CopyNode(WfSetTestingExpression* node); - vl::Ptr CopyNode(WfSharedPointerType* node); - vl::Ptr CopyNode(WfStateInvokeStatement* node); - vl::Ptr CopyNode(WfStateMachineDeclaration* node); - vl::Ptr CopyNode(WfStateMachineStatement* node); - vl::Ptr CopyNode(WfStateSwitchStatement* node); - vl::Ptr CopyNode(WfStringExpression* node); - vl::Ptr CopyNode(WfStructDeclaration* node); - vl::Ptr CopyNode(WfSwitchStatement* node); - vl::Ptr CopyNode(WfThisExpression* node); - vl::Ptr CopyNode(WfTopQualifiedExpression* node); - vl::Ptr CopyNode(WfTopQualifiedType* node); - vl::Ptr CopyNode(WfTryStatement* node); - vl::Ptr CopyNode(WfTypeCastingExpression* node); - vl::Ptr CopyNode(WfTypeOfExpressionExpression* node); - vl::Ptr CopyNode(WfTypeOfTypeExpression* node); - vl::Ptr CopyNode(WfTypeTestingExpression* node); - vl::Ptr CopyNode(WfUnaryExpression* node); - vl::Ptr CopyNode(WfVariableDeclaration* node); - vl::Ptr CopyNode(WfVariableStatement* node); - vl::Ptr CopyNode(WfVirtualCfeDeclaration* node); - vl::Ptr CopyNode(WfVirtualCfeExpression* node); - vl::Ptr CopyNode(WfVirtualCseDeclaration* node); - vl::Ptr CopyNode(WfVirtualCseExpression* node); - vl::Ptr CopyNode(WfVirtualCseStatement* node); - vl::Ptr CopyNode(WfWhileStatement* node); - }; - } - } + vl::Ptr CopyNode(WfAttachEventExpression* node); + vl::Ptr CopyNode(WfAutoPropertyDeclaration* node); + vl::Ptr CopyNode(WfBinaryExpression* node); + vl::Ptr CopyNode(WfBindExpression* node); + vl::Ptr CopyNode(WfBlockStatement* node); + vl::Ptr CopyNode(WfBreakStatement* node); + vl::Ptr CopyNode(WfCallExpression* node); + vl::Ptr CopyNode(WfCastResultInterfaceDeclaration* node); + vl::Ptr CopyNode(WfChildExpression* node); + vl::Ptr CopyNode(WfChildType* node); + vl::Ptr CopyNode(WfClassDeclaration* node); + vl::Ptr CopyNode(WfCoOperatorExpression* node); + vl::Ptr CopyNode(WfCoOperatorStatement* node); + vl::Ptr CopyNode(WfCoPauseStatement* node); + vl::Ptr CopyNode(WfCoProviderStatement* node); + vl::Ptr CopyNode(WfConstructorDeclaration* node); + vl::Ptr CopyNode(WfConstructorExpression* node); + vl::Ptr CopyNode(WfContinueStatement* node); + vl::Ptr CopyNode(WfCoroutineStatement* node); + vl::Ptr CopyNode(WfDeleteStatement* node); + vl::Ptr CopyNode(WfDestructorDeclaration* node); + vl::Ptr CopyNode(WfDetachEventExpression* node); + vl::Ptr CopyNode(WfEnumDeclaration* node); + vl::Ptr CopyNode(WfEnumerableType* node); + vl::Ptr CopyNode(WfEventDeclaration* node); + vl::Ptr CopyNode(WfExpectedTypeCastExpression* node); + vl::Ptr CopyNode(WfExpressionStatement* node); + vl::Ptr CopyNode(WfFloatingExpression* node); + vl::Ptr CopyNode(WfForEachStatement* node); + vl::Ptr CopyNode(WfFormatExpression* node); + vl::Ptr CopyNode(WfFunctionDeclaration* node); + vl::Ptr CopyNode(WfFunctionExpression* node); + vl::Ptr CopyNode(WfFunctionType* node); + vl::Ptr CopyNode(WfGotoStatement* node); + vl::Ptr CopyNode(WfIfExpression* node); + vl::Ptr CopyNode(WfIfStatement* node); + vl::Ptr CopyNode(WfInferExpression* node); + vl::Ptr CopyNode(WfIntegerExpression* node); + vl::Ptr CopyNode(WfLetExpression* node); + vl::Ptr CopyNode(WfLiteralExpression* node); + vl::Ptr CopyNode(WfMapType* node); + vl::Ptr CopyNode(WfMemberExpression* node); + vl::Ptr CopyNode(WfMixinCastExpression* node); + vl::Ptr CopyNode(WfModuleUsingNameFragment* node); + vl::Ptr CopyNode(WfModuleUsingWildCardFragment* node); + vl::Ptr CopyNode(WfNamespaceDeclaration* node); + vl::Ptr CopyNode(WfNewClassExpression* node); + vl::Ptr CopyNode(WfNewCoroutineExpression* node); + vl::Ptr CopyNode(WfNewInterfaceExpression* node); + vl::Ptr CopyNode(WfNullableType* node); + vl::Ptr CopyNode(WfObservableListType* node); + vl::Ptr CopyNode(WfObserveExpression* node); + vl::Ptr CopyNode(WfOrderedLambdaExpression* node); + vl::Ptr CopyNode(WfOrderedNameExpression* node); + vl::Ptr CopyNode(WfPredefinedType* node); + vl::Ptr CopyNode(WfPropertyDeclaration* node); + vl::Ptr CopyNode(WfRaiseExceptionStatement* node); + vl::Ptr CopyNode(WfRangeExpression* node); + vl::Ptr CopyNode(WfRawPointerType* node); + vl::Ptr CopyNode(WfReferenceExpression* node); + vl::Ptr CopyNode(WfReferenceType* node); + vl::Ptr CopyNode(WfReturnStatement* node); + vl::Ptr CopyNode(WfSetTestingExpression* node); + vl::Ptr CopyNode(WfSharedPointerType* node); + vl::Ptr CopyNode(WfStateInvokeStatement* node); + vl::Ptr CopyNode(WfStateMachineDeclaration* node); + vl::Ptr CopyNode(WfStateMachineStatement* node); + vl::Ptr CopyNode(WfStateSwitchStatement* node); + vl::Ptr CopyNode(WfStringExpression* node); + vl::Ptr CopyNode(WfStructDeclaration* node); + vl::Ptr CopyNode(WfSwitchStatement* node); + vl::Ptr CopyNode(WfThisExpression* node); + vl::Ptr CopyNode(WfTopQualifiedExpression* node); + vl::Ptr CopyNode(WfTopQualifiedType* node); + vl::Ptr CopyNode(WfTryStatement* node); + vl::Ptr CopyNode(WfTypeCastingExpression* node); + vl::Ptr CopyNode(WfTypeOfExpressionExpression* node); + vl::Ptr CopyNode(WfTypeOfTypeExpression* node); + vl::Ptr CopyNode(WfTypeTestingExpression* node); + vl::Ptr CopyNode(WfUnaryExpression* node); + vl::Ptr CopyNode(WfVariableDeclaration* node); + vl::Ptr CopyNode(WfVariableStatement* node); + vl::Ptr CopyNode(WfVirtualCfeDeclaration* node); + vl::Ptr CopyNode(WfVirtualCfeExpression* node); + vl::Ptr CopyNode(WfVirtualCseDeclaration* node); + vl::Ptr CopyNode(WfVirtualCseExpression* node); + vl::Ptr CopyNode(WfVirtualCseStatement* node); + vl::Ptr CopyNode(WfWhileStatement* node); + }; } #endif @@ -3255,229 +3234,223 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_WORKFLOW_PARSER_AST_AST_EMPTY_VISITOR -namespace vl +namespace vl::workflow::empty_visitor { - namespace workflow + /// An empty visitor, overriding all abstract methods with empty implementations. + class TypeVisitor : public vl::Object, public WfType::IVisitor { - namespace empty_visitor - { - /// An empty visitor, overriding all abstract methods with empty implementations. - class TypeVisitor : public vl::Object, public WfType::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(WfPredefinedType* node) override; - void Visit(WfTopQualifiedType* node) override; - void Visit(WfReferenceType* node) override; - void Visit(WfRawPointerType* node) override; - void Visit(WfSharedPointerType* node) override; - void Visit(WfNullableType* node) override; - void Visit(WfEnumerableType* node) override; - void Visit(WfMapType* node) override; - void Visit(WfObservableListType* node) override; - void Visit(WfFunctionType* node) override; - void Visit(WfChildType* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfPredefinedType* node) override; + void Visit(WfTopQualifiedType* node) override; + void Visit(WfReferenceType* node) override; + void Visit(WfRawPointerType* node) override; + void Visit(WfSharedPointerType* node) override; + void Visit(WfNullableType* node) override; + void Visit(WfEnumerableType* node) override; + void Visit(WfMapType* node) override; + void Visit(WfObservableListType* node) override; + void Visit(WfFunctionType* node) override; + void Visit(WfChildType* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class ExpressionVisitor : public vl::Object, public WfExpression::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- - virtual void Dispatch(WfVirtualCfeExpression* node) = 0; - virtual void Dispatch(WfVirtualCseExpression* node) = 0; + /// An empty visitor, overriding all abstract methods with empty implementations. + class ExpressionVisitor : public vl::Object, public WfExpression::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- + virtual void Dispatch(WfVirtualCfeExpression* node) = 0; + virtual void Dispatch(WfVirtualCseExpression* node) = 0; - public: - // Visitor Members ----------------------------------- - void Visit(WfThisExpression* node) override; - void Visit(WfTopQualifiedExpression* node) override; - void Visit(WfReferenceExpression* node) override; - void Visit(WfOrderedNameExpression* node) override; - void Visit(WfOrderedLambdaExpression* node) override; - void Visit(WfMemberExpression* node) override; - void Visit(WfChildExpression* node) override; - void Visit(WfLiteralExpression* node) override; - void Visit(WfFloatingExpression* node) override; - void Visit(WfIntegerExpression* node) override; - void Visit(WfStringExpression* node) override; - void Visit(WfUnaryExpression* node) override; - void Visit(WfBinaryExpression* node) override; - void Visit(WfLetExpression* node) override; - void Visit(WfIfExpression* node) override; - void Visit(WfRangeExpression* node) override; - void Visit(WfSetTestingExpression* node) override; - void Visit(WfConstructorExpression* node) override; - void Visit(WfInferExpression* node) override; - void Visit(WfTypeCastingExpression* node) override; - void Visit(WfTypeTestingExpression* node) override; - void Visit(WfTypeOfTypeExpression* node) override; - void Visit(WfTypeOfExpressionExpression* node) override; - void Visit(WfAttachEventExpression* node) override; - void Visit(WfDetachEventExpression* node) override; - void Visit(WfObserveExpression* node) override; - void Visit(WfCallExpression* node) override; - void Visit(WfFunctionExpression* node) override; - void Visit(WfNewClassExpression* node) override; - void Visit(WfNewInterfaceExpression* node) override; - void Visit(WfVirtualCfeExpression* node) override; - void Visit(WfVirtualCseExpression* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfThisExpression* node) override; + void Visit(WfTopQualifiedExpression* node) override; + void Visit(WfReferenceExpression* node) override; + void Visit(WfOrderedNameExpression* node) override; + void Visit(WfOrderedLambdaExpression* node) override; + void Visit(WfMemberExpression* node) override; + void Visit(WfChildExpression* node) override; + void Visit(WfLiteralExpression* node) override; + void Visit(WfFloatingExpression* node) override; + void Visit(WfIntegerExpression* node) override; + void Visit(WfStringExpression* node) override; + void Visit(WfUnaryExpression* node) override; + void Visit(WfBinaryExpression* node) override; + void Visit(WfLetExpression* node) override; + void Visit(WfIfExpression* node) override; + void Visit(WfRangeExpression* node) override; + void Visit(WfSetTestingExpression* node) override; + void Visit(WfConstructorExpression* node) override; + void Visit(WfInferExpression* node) override; + void Visit(WfTypeCastingExpression* node) override; + void Visit(WfTypeTestingExpression* node) override; + void Visit(WfTypeOfTypeExpression* node) override; + void Visit(WfTypeOfExpressionExpression* node) override; + void Visit(WfAttachEventExpression* node) override; + void Visit(WfDetachEventExpression* node) override; + void Visit(WfObserveExpression* node) override; + void Visit(WfCallExpression* node) override; + void Visit(WfFunctionExpression* node) override; + void Visit(WfNewClassExpression* node) override; + void Visit(WfNewInterfaceExpression* node) override; + void Visit(WfVirtualCfeExpression* node) override; + void Visit(WfVirtualCseExpression* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class StatementVisitor : public vl::Object, public WfStatement::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- - virtual void Dispatch(WfVirtualCseStatement* node) = 0; - virtual void Dispatch(WfCoroutineStatement* node) = 0; - virtual void Dispatch(WfStateMachineStatement* node) = 0; + /// An empty visitor, overriding all abstract methods with empty implementations. + class StatementVisitor : public vl::Object, public WfStatement::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- + virtual void Dispatch(WfVirtualCseStatement* node) = 0; + virtual void Dispatch(WfCoroutineStatement* node) = 0; + virtual void Dispatch(WfStateMachineStatement* node) = 0; - public: - // Visitor Members ----------------------------------- - void Visit(WfBreakStatement* node) override; - void Visit(WfContinueStatement* node) override; - void Visit(WfReturnStatement* node) override; - void Visit(WfDeleteStatement* node) override; - void Visit(WfRaiseExceptionStatement* node) override; - void Visit(WfIfStatement* node) override; - void Visit(WfWhileStatement* node) override; - void Visit(WfTryStatement* node) override; - void Visit(WfBlockStatement* node) override; - void Visit(WfGotoStatement* node) override; - void Visit(WfVariableStatement* node) override; - void Visit(WfExpressionStatement* node) override; - void Visit(WfVirtualCseStatement* node) override; - void Visit(WfCoroutineStatement* node) override; - void Visit(WfStateMachineStatement* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfBreakStatement* node) override; + void Visit(WfContinueStatement* node) override; + void Visit(WfReturnStatement* node) override; + void Visit(WfDeleteStatement* node) override; + void Visit(WfRaiseExceptionStatement* node) override; + void Visit(WfIfStatement* node) override; + void Visit(WfWhileStatement* node) override; + void Visit(WfTryStatement* node) override; + void Visit(WfBlockStatement* node) override; + void Visit(WfGotoStatement* node) override; + void Visit(WfVariableStatement* node) override; + void Visit(WfExpressionStatement* node) override; + void Visit(WfVirtualCseStatement* node) override; + void Visit(WfCoroutineStatement* node) override; + void Visit(WfStateMachineStatement* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class DeclarationVisitor : public vl::Object, public WfDeclaration::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- - virtual void Dispatch(WfVirtualCfeDeclaration* node) = 0; - virtual void Dispatch(WfVirtualCseDeclaration* node) = 0; + /// An empty visitor, overriding all abstract methods with empty implementations. + class DeclarationVisitor : public vl::Object, public WfDeclaration::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- + virtual void Dispatch(WfVirtualCfeDeclaration* node) = 0; + virtual void Dispatch(WfVirtualCseDeclaration* node) = 0; - public: - // Visitor Members ----------------------------------- - void Visit(WfNamespaceDeclaration* node) override; - void Visit(WfFunctionDeclaration* node) override; - void Visit(WfVariableDeclaration* node) override; - void Visit(WfEventDeclaration* node) override; - void Visit(WfPropertyDeclaration* node) override; - void Visit(WfConstructorDeclaration* node) override; - void Visit(WfDestructorDeclaration* node) override; - void Visit(WfClassDeclaration* node) override; - void Visit(WfEnumDeclaration* node) override; - void Visit(WfStructDeclaration* node) override; - void Visit(WfVirtualCfeDeclaration* node) override; - void Visit(WfVirtualCseDeclaration* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfNamespaceDeclaration* node) override; + void Visit(WfFunctionDeclaration* node) override; + void Visit(WfVariableDeclaration* node) override; + void Visit(WfEventDeclaration* node) override; + void Visit(WfPropertyDeclaration* node) override; + void Visit(WfConstructorDeclaration* node) override; + void Visit(WfDestructorDeclaration* node) override; + void Visit(WfClassDeclaration* node) override; + void Visit(WfEnumDeclaration* node) override; + void Visit(WfStructDeclaration* node) override; + void Visit(WfVirtualCfeDeclaration* node) override; + void Visit(WfVirtualCseDeclaration* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class VirtualCfeDeclarationVisitor : public vl::Object, public WfVirtualCfeDeclaration::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + /// An empty visitor, overriding all abstract methods with empty implementations. + class VirtualCfeDeclarationVisitor : public vl::Object, public WfVirtualCfeDeclaration::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(WfAutoPropertyDeclaration* node) override; - void Visit(WfCastResultInterfaceDeclaration* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfAutoPropertyDeclaration* node) override; + void Visit(WfCastResultInterfaceDeclaration* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class VirtualCseDeclarationVisitor : public vl::Object, public WfVirtualCseDeclaration::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + /// An empty visitor, overriding all abstract methods with empty implementations. + class VirtualCseDeclarationVisitor : public vl::Object, public WfVirtualCseDeclaration::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(WfStateMachineDeclaration* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfStateMachineDeclaration* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class VirtualCseStatementVisitor : public vl::Object, public WfVirtualCseStatement::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + /// An empty visitor, overriding all abstract methods with empty implementations. + class VirtualCseStatementVisitor : public vl::Object, public WfVirtualCseStatement::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(WfForEachStatement* node) override; - void Visit(WfSwitchStatement* node) override; - void Visit(WfCoProviderStatement* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfForEachStatement* node) override; + void Visit(WfSwitchStatement* node) override; + void Visit(WfCoProviderStatement* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class CoroutineStatementVisitor : public vl::Object, public WfCoroutineStatement::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + /// An empty visitor, overriding all abstract methods with empty implementations. + class CoroutineStatementVisitor : public vl::Object, public WfCoroutineStatement::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(WfCoPauseStatement* node) override; - void Visit(WfCoOperatorStatement* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfCoPauseStatement* node) override; + void Visit(WfCoOperatorStatement* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class StateMachineStatementVisitor : public vl::Object, public WfStateMachineStatement::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + /// An empty visitor, overriding all abstract methods with empty implementations. + class StateMachineStatementVisitor : public vl::Object, public WfStateMachineStatement::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(WfStateSwitchStatement* node) override; - void Visit(WfStateInvokeStatement* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfStateSwitchStatement* node) override; + void Visit(WfStateInvokeStatement* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class VirtualCfeExpressionVisitor : public vl::Object, public WfVirtualCfeExpression::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + /// An empty visitor, overriding all abstract methods with empty implementations. + class VirtualCfeExpressionVisitor : public vl::Object, public WfVirtualCfeExpression::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(WfFormatExpression* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfFormatExpression* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class VirtualCseExpressionVisitor : public vl::Object, public WfVirtualCseExpression::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + /// An empty visitor, overriding all abstract methods with empty implementations. + class VirtualCseExpressionVisitor : public vl::Object, public WfVirtualCseExpression::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(WfBindExpression* node) override; - void Visit(WfNewCoroutineExpression* node) override; - void Visit(WfMixinCastExpression* node) override; - void Visit(WfExpectedTypeCastExpression* node) override; - void Visit(WfCoOperatorExpression* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfBindExpression* node) override; + void Visit(WfNewCoroutineExpression* node) override; + void Visit(WfMixinCastExpression* node) override; + void Visit(WfExpectedTypeCastExpression* node) override; + void Visit(WfCoOperatorExpression* node) override; + }; - /// An empty visitor, overriding all abstract methods with empty implementations. - class ModuleUsingFragmentVisitor : public vl::Object, public WfModuleUsingFragment::IVisitor - { - protected: - // Dispatch (virtual) -------------------------------- + /// An empty visitor, overriding all abstract methods with empty implementations. + class ModuleUsingFragmentVisitor : public vl::Object, public WfModuleUsingFragment::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- - public: - // Visitor Members ----------------------------------- - void Visit(WfModuleUsingNameFragment* node) override; - void Visit(WfModuleUsingWildCardFragment* node) override; - }; + public: + // Visitor Members ----------------------------------- + void Visit(WfModuleUsingNameFragment* node) override; + void Visit(WfModuleUsingWildCardFragment* node) override; + }; - } - } } #endif @@ -3494,267 +3467,261 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_WORKFLOW_PARSER_AST_AST_JSON_VISITOR -namespace vl +namespace vl::workflow::json_visitor { - namespace workflow + /// A JSON visitor, overriding all abstract methods with AST to JSON serialization code. + class AstVisitor + : public vl::glr::JsonVisitorBase + , protected virtual WfType::IVisitor + , protected virtual WfExpression::IVisitor + , protected virtual WfStatement::IVisitor + , protected virtual WfDeclaration::IVisitor + , protected virtual WfVirtualCfeDeclaration::IVisitor + , protected virtual WfVirtualCseDeclaration::IVisitor + , protected virtual WfVirtualCseStatement::IVisitor + , protected virtual WfCoroutineStatement::IVisitor + , protected virtual WfStateMachineStatement::IVisitor + , protected virtual WfVirtualCfeExpression::IVisitor + , protected virtual WfVirtualCseExpression::IVisitor + , protected virtual WfModuleUsingFragment::IVisitor { - namespace json_visitor - { - /// A JSON visitor, overriding all abstract methods with AST to JSON serialization code. - class AstVisitor - : public vl::glr::JsonVisitorBase - , protected virtual WfType::IVisitor - , protected virtual WfExpression::IVisitor - , protected virtual WfStatement::IVisitor - , protected virtual WfDeclaration::IVisitor - , protected virtual WfVirtualCfeDeclaration::IVisitor - , protected virtual WfVirtualCseDeclaration::IVisitor - , protected virtual WfVirtualCseStatement::IVisitor - , protected virtual WfCoroutineStatement::IVisitor - , protected virtual WfStateMachineStatement::IVisitor - , protected virtual WfVirtualCfeExpression::IVisitor - , protected virtual WfVirtualCseExpression::IVisitor - , protected virtual WfModuleUsingFragment::IVisitor - { - protected: - virtual void PrintFields(WfAttachEventExpression* node); - virtual void PrintFields(WfAttribute* node); - virtual void PrintFields(WfAutoPropertyDeclaration* node); - virtual void PrintFields(WfBaseConstructorCall* node); - virtual void PrintFields(WfBinaryExpression* node); - virtual void PrintFields(WfBindExpression* node); - virtual void PrintFields(WfBlockStatement* node); - virtual void PrintFields(WfBreakStatement* node); - virtual void PrintFields(WfCallExpression* node); - virtual void PrintFields(WfCastResultInterfaceDeclaration* node); - virtual void PrintFields(WfChildExpression* node); - virtual void PrintFields(WfChildType* node); - virtual void PrintFields(WfClassDeclaration* node); - virtual void PrintFields(WfCoOperatorExpression* node); - virtual void PrintFields(WfCoOperatorStatement* node); - virtual void PrintFields(WfCoPauseStatement* node); - virtual void PrintFields(WfCoProviderStatement* node); - virtual void PrintFields(WfConstructorArgument* node); - virtual void PrintFields(WfConstructorDeclaration* node); - virtual void PrintFields(WfConstructorExpression* node); - virtual void PrintFields(WfContinueStatement* node); - virtual void PrintFields(WfCoroutineStatement* node); - virtual void PrintFields(WfDeclaration* node); - virtual void PrintFields(WfDeleteStatement* node); - virtual void PrintFields(WfDestructorDeclaration* node); - virtual void PrintFields(WfDetachEventExpression* node); - virtual void PrintFields(WfEnumDeclaration* node); - virtual void PrintFields(WfEnumItem* node); - virtual void PrintFields(WfEnumItemIntersection* node); - virtual void PrintFields(WfEnumerableType* node); - virtual void PrintFields(WfEventDeclaration* node); - virtual void PrintFields(WfExpectedTypeCastExpression* node); - virtual void PrintFields(WfExpression* node); - virtual void PrintFields(WfExpressionStatement* node); - virtual void PrintFields(WfFloatingExpression* node); - virtual void PrintFields(WfForEachStatement* node); - virtual void PrintFields(WfFormatExpression* node); - virtual void PrintFields(WfFunctionArgument* node); - virtual void PrintFields(WfFunctionDeclaration* node); - virtual void PrintFields(WfFunctionExpression* node); - virtual void PrintFields(WfFunctionType* node); - virtual void PrintFields(WfGotoStatement* node); - virtual void PrintFields(WfIfExpression* node); - virtual void PrintFields(WfIfStatement* node); - virtual void PrintFields(WfInferExpression* node); - virtual void PrintFields(WfIntegerExpression* node); - virtual void PrintFields(WfLetExpression* node); - virtual void PrintFields(WfLetVariable* node); - virtual void PrintFields(WfLiteralExpression* node); - virtual void PrintFields(WfMapType* node); - virtual void PrintFields(WfMemberExpression* node); - virtual void PrintFields(WfMixinCastExpression* node); - virtual void PrintFields(WfModule* node); - virtual void PrintFields(WfModuleUsingFragment* node); - virtual void PrintFields(WfModuleUsingItem* node); - virtual void PrintFields(WfModuleUsingNameFragment* node); - virtual void PrintFields(WfModuleUsingPath* node); - virtual void PrintFields(WfModuleUsingWildCardFragment* node); - virtual void PrintFields(WfNamespaceDeclaration* node); - virtual void PrintFields(WfNewClassExpression* node); - virtual void PrintFields(WfNewCoroutineExpression* node); - virtual void PrintFields(WfNewInterfaceExpression* node); - virtual void PrintFields(WfNullableType* node); - virtual void PrintFields(WfObservableListType* node); - virtual void PrintFields(WfObserveExpression* node); - virtual void PrintFields(WfOrderedLambdaExpression* node); - virtual void PrintFields(WfOrderedNameExpression* node); - virtual void PrintFields(WfPredefinedType* node); - virtual void PrintFields(WfPropertyDeclaration* node); - virtual void PrintFields(WfRaiseExceptionStatement* node); - virtual void PrintFields(WfRangeExpression* node); - virtual void PrintFields(WfRawPointerType* node); - virtual void PrintFields(WfReferenceExpression* node); - virtual void PrintFields(WfReferenceType* node); - virtual void PrintFields(WfReturnStatement* node); - virtual void PrintFields(WfSetTestingExpression* node); - virtual void PrintFields(WfSharedPointerType* node); - virtual void PrintFields(WfStateDeclaration* node); - virtual void PrintFields(WfStateInput* node); - virtual void PrintFields(WfStateInvokeStatement* node); - virtual void PrintFields(WfStateMachineDeclaration* node); - virtual void PrintFields(WfStateMachineStatement* node); - virtual void PrintFields(WfStateSwitchArgument* node); - virtual void PrintFields(WfStateSwitchCase* node); - virtual void PrintFields(WfStateSwitchStatement* node); - virtual void PrintFields(WfStatement* node); - virtual void PrintFields(WfStringExpression* node); - virtual void PrintFields(WfStructDeclaration* node); - virtual void PrintFields(WfStructMember* node); - virtual void PrintFields(WfSwitchCase* node); - virtual void PrintFields(WfSwitchStatement* node); - virtual void PrintFields(WfThisExpression* node); - virtual void PrintFields(WfTopQualifiedExpression* node); - virtual void PrintFields(WfTopQualifiedType* node); - virtual void PrintFields(WfTryStatement* node); - virtual void PrintFields(WfType* node); - virtual void PrintFields(WfTypeCastingExpression* node); - virtual void PrintFields(WfTypeOfExpressionExpression* node); - virtual void PrintFields(WfTypeOfTypeExpression* node); - virtual void PrintFields(WfTypeTestingExpression* node); - virtual void PrintFields(WfUnaryExpression* node); - virtual void PrintFields(WfVariableDeclaration* node); - virtual void PrintFields(WfVariableStatement* node); - virtual void PrintFields(WfVirtualCfeDeclaration* node); - virtual void PrintFields(WfVirtualCfeExpression* node); - virtual void PrintFields(WfVirtualCseDeclaration* node); - virtual void PrintFields(WfVirtualCseExpression* node); - virtual void PrintFields(WfVirtualCseStatement* node); - virtual void PrintFields(WfWhileStatement* node); + protected: + virtual void PrintFields(WfAttachEventExpression* node); + virtual void PrintFields(WfAttribute* node); + virtual void PrintFields(WfAutoPropertyDeclaration* node); + virtual void PrintFields(WfBaseConstructorCall* node); + virtual void PrintFields(WfBinaryExpression* node); + virtual void PrintFields(WfBindExpression* node); + virtual void PrintFields(WfBlockStatement* node); + virtual void PrintFields(WfBreakStatement* node); + virtual void PrintFields(WfCallExpression* node); + virtual void PrintFields(WfCastResultInterfaceDeclaration* node); + virtual void PrintFields(WfChildExpression* node); + virtual void PrintFields(WfChildType* node); + virtual void PrintFields(WfClassDeclaration* node); + virtual void PrintFields(WfCoOperatorExpression* node); + virtual void PrintFields(WfCoOperatorStatement* node); + virtual void PrintFields(WfCoPauseStatement* node); + virtual void PrintFields(WfCoProviderStatement* node); + virtual void PrintFields(WfConstructorArgument* node); + virtual void PrintFields(WfConstructorDeclaration* node); + virtual void PrintFields(WfConstructorExpression* node); + virtual void PrintFields(WfContinueStatement* node); + virtual void PrintFields(WfCoroutineStatement* node); + virtual void PrintFields(WfDeclaration* node); + virtual void PrintFields(WfDeleteStatement* node); + virtual void PrintFields(WfDestructorDeclaration* node); + virtual void PrintFields(WfDetachEventExpression* node); + virtual void PrintFields(WfEnumDeclaration* node); + virtual void PrintFields(WfEnumItem* node); + virtual void PrintFields(WfEnumItemIntersection* node); + virtual void PrintFields(WfEnumerableType* node); + virtual void PrintFields(WfEventDeclaration* node); + virtual void PrintFields(WfExpectedTypeCastExpression* node); + virtual void PrintFields(WfExpression* node); + virtual void PrintFields(WfExpressionStatement* node); + virtual void PrintFields(WfFloatingExpression* node); + virtual void PrintFields(WfForEachStatement* node); + virtual void PrintFields(WfFormatExpression* node); + virtual void PrintFields(WfFunctionArgument* node); + virtual void PrintFields(WfFunctionDeclaration* node); + virtual void PrintFields(WfFunctionExpression* node); + virtual void PrintFields(WfFunctionType* node); + virtual void PrintFields(WfGotoStatement* node); + virtual void PrintFields(WfIfExpression* node); + virtual void PrintFields(WfIfStatement* node); + virtual void PrintFields(WfInferExpression* node); + virtual void PrintFields(WfIntegerExpression* node); + virtual void PrintFields(WfLetExpression* node); + virtual void PrintFields(WfLetVariable* node); + virtual void PrintFields(WfLiteralExpression* node); + virtual void PrintFields(WfMapType* node); + virtual void PrintFields(WfMemberExpression* node); + virtual void PrintFields(WfMixinCastExpression* node); + virtual void PrintFields(WfModule* node); + virtual void PrintFields(WfModuleUsingFragment* node); + virtual void PrintFields(WfModuleUsingItem* node); + virtual void PrintFields(WfModuleUsingNameFragment* node); + virtual void PrintFields(WfModuleUsingPath* node); + virtual void PrintFields(WfModuleUsingWildCardFragment* node); + virtual void PrintFields(WfNamespaceDeclaration* node); + virtual void PrintFields(WfNewClassExpression* node); + virtual void PrintFields(WfNewCoroutineExpression* node); + virtual void PrintFields(WfNewInterfaceExpression* node); + virtual void PrintFields(WfNullableType* node); + virtual void PrintFields(WfObservableListType* node); + virtual void PrintFields(WfObserveExpression* node); + virtual void PrintFields(WfOrderedLambdaExpression* node); + virtual void PrintFields(WfOrderedNameExpression* node); + virtual void PrintFields(WfPredefinedType* node); + virtual void PrintFields(WfPropertyDeclaration* node); + virtual void PrintFields(WfRaiseExceptionStatement* node); + virtual void PrintFields(WfRangeExpression* node); + virtual void PrintFields(WfRawPointerType* node); + virtual void PrintFields(WfReferenceExpression* node); + virtual void PrintFields(WfReferenceType* node); + virtual void PrintFields(WfReturnStatement* node); + virtual void PrintFields(WfSetTestingExpression* node); + virtual void PrintFields(WfSharedPointerType* node); + virtual void PrintFields(WfStateDeclaration* node); + virtual void PrintFields(WfStateInput* node); + virtual void PrintFields(WfStateInvokeStatement* node); + virtual void PrintFields(WfStateMachineDeclaration* node); + virtual void PrintFields(WfStateMachineStatement* node); + virtual void PrintFields(WfStateSwitchArgument* node); + virtual void PrintFields(WfStateSwitchCase* node); + virtual void PrintFields(WfStateSwitchStatement* node); + virtual void PrintFields(WfStatement* node); + virtual void PrintFields(WfStringExpression* node); + virtual void PrintFields(WfStructDeclaration* node); + virtual void PrintFields(WfStructMember* node); + virtual void PrintFields(WfSwitchCase* node); + virtual void PrintFields(WfSwitchStatement* node); + virtual void PrintFields(WfThisExpression* node); + virtual void PrintFields(WfTopQualifiedExpression* node); + virtual void PrintFields(WfTopQualifiedType* node); + virtual void PrintFields(WfTryStatement* node); + virtual void PrintFields(WfType* node); + virtual void PrintFields(WfTypeCastingExpression* node); + virtual void PrintFields(WfTypeOfExpressionExpression* node); + virtual void PrintFields(WfTypeOfTypeExpression* node); + virtual void PrintFields(WfTypeTestingExpression* node); + virtual void PrintFields(WfUnaryExpression* node); + virtual void PrintFields(WfVariableDeclaration* node); + virtual void PrintFields(WfVariableStatement* node); + virtual void PrintFields(WfVirtualCfeDeclaration* node); + virtual void PrintFields(WfVirtualCfeExpression* node); + virtual void PrintFields(WfVirtualCseDeclaration* node); + virtual void PrintFields(WfVirtualCseExpression* node); + virtual void PrintFields(WfVirtualCseStatement* node); + virtual void PrintFields(WfWhileStatement* node); - protected: - void Visit(WfPredefinedType* node) override; - void Visit(WfTopQualifiedType* node) override; - void Visit(WfReferenceType* node) override; - void Visit(WfRawPointerType* node) override; - void Visit(WfSharedPointerType* node) override; - void Visit(WfNullableType* node) override; - void Visit(WfEnumerableType* node) override; - void Visit(WfMapType* node) override; - void Visit(WfObservableListType* node) override; - void Visit(WfFunctionType* node) override; - void Visit(WfChildType* node) override; + protected: + void Visit(WfPredefinedType* node) override; + void Visit(WfTopQualifiedType* node) override; + void Visit(WfReferenceType* node) override; + void Visit(WfRawPointerType* node) override; + void Visit(WfSharedPointerType* node) override; + void Visit(WfNullableType* node) override; + void Visit(WfEnumerableType* node) override; + void Visit(WfMapType* node) override; + void Visit(WfObservableListType* node) override; + void Visit(WfFunctionType* node) override; + void Visit(WfChildType* node) override; - void Visit(WfThisExpression* node) override; - void Visit(WfTopQualifiedExpression* node) override; - void Visit(WfReferenceExpression* node) override; - void Visit(WfOrderedNameExpression* node) override; - void Visit(WfOrderedLambdaExpression* node) override; - void Visit(WfMemberExpression* node) override; - void Visit(WfChildExpression* node) override; - void Visit(WfLiteralExpression* node) override; - void Visit(WfFloatingExpression* node) override; - void Visit(WfIntegerExpression* node) override; - void Visit(WfStringExpression* node) override; - void Visit(WfUnaryExpression* node) override; - void Visit(WfBinaryExpression* node) override; - void Visit(WfLetExpression* node) override; - void Visit(WfIfExpression* node) override; - void Visit(WfRangeExpression* node) override; - void Visit(WfSetTestingExpression* node) override; - void Visit(WfConstructorExpression* node) override; - void Visit(WfInferExpression* node) override; - void Visit(WfTypeCastingExpression* node) override; - void Visit(WfTypeTestingExpression* node) override; - void Visit(WfTypeOfTypeExpression* node) override; - void Visit(WfTypeOfExpressionExpression* node) override; - void Visit(WfAttachEventExpression* node) override; - void Visit(WfDetachEventExpression* node) override; - void Visit(WfObserveExpression* node) override; - void Visit(WfCallExpression* node) override; - void Visit(WfFunctionExpression* node) override; - void Visit(WfNewClassExpression* node) override; - void Visit(WfNewInterfaceExpression* node) override; - void Visit(WfVirtualCfeExpression* node) override; - void Visit(WfVirtualCseExpression* node) override; + void Visit(WfThisExpression* node) override; + void Visit(WfTopQualifiedExpression* node) override; + void Visit(WfReferenceExpression* node) override; + void Visit(WfOrderedNameExpression* node) override; + void Visit(WfOrderedLambdaExpression* node) override; + void Visit(WfMemberExpression* node) override; + void Visit(WfChildExpression* node) override; + void Visit(WfLiteralExpression* node) override; + void Visit(WfFloatingExpression* node) override; + void Visit(WfIntegerExpression* node) override; + void Visit(WfStringExpression* node) override; + void Visit(WfUnaryExpression* node) override; + void Visit(WfBinaryExpression* node) override; + void Visit(WfLetExpression* node) override; + void Visit(WfIfExpression* node) override; + void Visit(WfRangeExpression* node) override; + void Visit(WfSetTestingExpression* node) override; + void Visit(WfConstructorExpression* node) override; + void Visit(WfInferExpression* node) override; + void Visit(WfTypeCastingExpression* node) override; + void Visit(WfTypeTestingExpression* node) override; + void Visit(WfTypeOfTypeExpression* node) override; + void Visit(WfTypeOfExpressionExpression* node) override; + void Visit(WfAttachEventExpression* node) override; + void Visit(WfDetachEventExpression* node) override; + void Visit(WfObserveExpression* node) override; + void Visit(WfCallExpression* node) override; + void Visit(WfFunctionExpression* node) override; + void Visit(WfNewClassExpression* node) override; + void Visit(WfNewInterfaceExpression* node) override; + void Visit(WfVirtualCfeExpression* node) override; + void Visit(WfVirtualCseExpression* node) override; - void Visit(WfBreakStatement* node) override; - void Visit(WfContinueStatement* node) override; - void Visit(WfReturnStatement* node) override; - void Visit(WfDeleteStatement* node) override; - void Visit(WfRaiseExceptionStatement* node) override; - void Visit(WfIfStatement* node) override; - void Visit(WfWhileStatement* node) override; - void Visit(WfTryStatement* node) override; - void Visit(WfBlockStatement* node) override; - void Visit(WfGotoStatement* node) override; - void Visit(WfVariableStatement* node) override; - void Visit(WfExpressionStatement* node) override; - void Visit(WfVirtualCseStatement* node) override; - void Visit(WfCoroutineStatement* node) override; - void Visit(WfStateMachineStatement* node) override; + void Visit(WfBreakStatement* node) override; + void Visit(WfContinueStatement* node) override; + void Visit(WfReturnStatement* node) override; + void Visit(WfDeleteStatement* node) override; + void Visit(WfRaiseExceptionStatement* node) override; + void Visit(WfIfStatement* node) override; + void Visit(WfWhileStatement* node) override; + void Visit(WfTryStatement* node) override; + void Visit(WfBlockStatement* node) override; + void Visit(WfGotoStatement* node) override; + void Visit(WfVariableStatement* node) override; + void Visit(WfExpressionStatement* node) override; + void Visit(WfVirtualCseStatement* node) override; + void Visit(WfCoroutineStatement* node) override; + void Visit(WfStateMachineStatement* node) override; - void Visit(WfNamespaceDeclaration* node) override; - void Visit(WfFunctionDeclaration* node) override; - void Visit(WfVariableDeclaration* node) override; - void Visit(WfEventDeclaration* node) override; - void Visit(WfPropertyDeclaration* node) override; - void Visit(WfConstructorDeclaration* node) override; - void Visit(WfDestructorDeclaration* node) override; - void Visit(WfClassDeclaration* node) override; - void Visit(WfEnumDeclaration* node) override; - void Visit(WfStructDeclaration* node) override; - void Visit(WfVirtualCfeDeclaration* node) override; - void Visit(WfVirtualCseDeclaration* node) override; + void Visit(WfNamespaceDeclaration* node) override; + void Visit(WfFunctionDeclaration* node) override; + void Visit(WfVariableDeclaration* node) override; + void Visit(WfEventDeclaration* node) override; + void Visit(WfPropertyDeclaration* node) override; + void Visit(WfConstructorDeclaration* node) override; + void Visit(WfDestructorDeclaration* node) override; + void Visit(WfClassDeclaration* node) override; + void Visit(WfEnumDeclaration* node) override; + void Visit(WfStructDeclaration* node) override; + void Visit(WfVirtualCfeDeclaration* node) override; + void Visit(WfVirtualCseDeclaration* node) override; - void Visit(WfAutoPropertyDeclaration* node) override; - void Visit(WfCastResultInterfaceDeclaration* node) override; + void Visit(WfAutoPropertyDeclaration* node) override; + void Visit(WfCastResultInterfaceDeclaration* node) override; - void Visit(WfStateMachineDeclaration* node) override; + void Visit(WfStateMachineDeclaration* node) override; - void Visit(WfForEachStatement* node) override; - void Visit(WfSwitchStatement* node) override; - void Visit(WfCoProviderStatement* node) override; + void Visit(WfForEachStatement* node) override; + void Visit(WfSwitchStatement* node) override; + void Visit(WfCoProviderStatement* node) override; - void Visit(WfCoPauseStatement* node) override; - void Visit(WfCoOperatorStatement* node) override; + void Visit(WfCoPauseStatement* node) override; + void Visit(WfCoOperatorStatement* node) override; - void Visit(WfStateSwitchStatement* node) override; - void Visit(WfStateInvokeStatement* node) override; + void Visit(WfStateSwitchStatement* node) override; + void Visit(WfStateInvokeStatement* node) override; - void Visit(WfFormatExpression* node) override; + void Visit(WfFormatExpression* node) override; - void Visit(WfBindExpression* node) override; - void Visit(WfNewCoroutineExpression* node) override; - void Visit(WfMixinCastExpression* node) override; - void Visit(WfExpectedTypeCastExpression* node) override; - void Visit(WfCoOperatorExpression* node) override; + void Visit(WfBindExpression* node) override; + void Visit(WfNewCoroutineExpression* node) override; + void Visit(WfMixinCastExpression* node) override; + void Visit(WfExpectedTypeCastExpression* node) override; + void Visit(WfCoOperatorExpression* node) override; - void Visit(WfModuleUsingNameFragment* node) override; - void Visit(WfModuleUsingWildCardFragment* node) override; + void Visit(WfModuleUsingNameFragment* node) override; + void Visit(WfModuleUsingWildCardFragment* node) override; - public: - AstVisitor(vl::stream::StreamWriter& _writer); + public: + AstVisitor(vl::stream::StreamWriter& _writer); - void Print(WfType* node); - void Print(WfExpression* node); - void Print(WfStatement* node); - void Print(WfDeclaration* node); - void Print(WfModuleUsingFragment* node); - void Print(WfAttribute* node); - void Print(WfFunctionArgument* node); - void Print(WfBaseConstructorCall* node); - void Print(WfEnumItemIntersection* node); - void Print(WfEnumItem* node); - void Print(WfStructMember* node); - void Print(WfStateInput* node); - void Print(WfStateDeclaration* node); - void Print(WfSwitchCase* node); - void Print(WfStateSwitchArgument* node); - void Print(WfStateSwitchCase* node); - void Print(WfLetVariable* node); - void Print(WfConstructorArgument* node); - void Print(WfModuleUsingItem* node); - void Print(WfModuleUsingPath* node); - void Print(WfModule* node); - }; - } - } + void Print(WfType* node); + void Print(WfExpression* node); + void Print(WfStatement* node); + void Print(WfDeclaration* node); + void Print(WfModuleUsingFragment* node); + void Print(WfAttribute* node); + void Print(WfFunctionArgument* node); + void Print(WfBaseConstructorCall* node); + void Print(WfEnumItemIntersection* node); + void Print(WfEnumItem* node); + void Print(WfStructMember* node); + void Print(WfStateInput* node); + void Print(WfStateDeclaration* node); + void Print(WfSwitchCase* node); + void Print(WfStateSwitchArgument* node); + void Print(WfStateSwitchCase* node); + void Print(WfLetVariable* node); + void Print(WfConstructorArgument* node); + void Print(WfModuleUsingItem* node); + void Print(WfModuleUsingPath* node); + void Print(WfModule* node); + }; } #endif @@ -3771,379 +3738,373 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_WORKFLOW_PARSER_AST_AST_TRAVERSE_VISITOR -namespace vl +namespace vl::workflow::traverse_visitor { - namespace workflow + /// A traverse visitor, overriding all abstract methods with AST visiting code. + class AstVisitor + : public vl::Object + , protected virtual WfType::IVisitor + , protected virtual WfExpression::IVisitor + , protected virtual WfStatement::IVisitor + , protected virtual WfDeclaration::IVisitor + , protected virtual WfVirtualCfeDeclaration::IVisitor + , protected virtual WfVirtualCseDeclaration::IVisitor + , protected virtual WfVirtualCseStatement::IVisitor + , protected virtual WfCoroutineStatement::IVisitor + , protected virtual WfStateMachineStatement::IVisitor + , protected virtual WfVirtualCfeExpression::IVisitor + , protected virtual WfVirtualCseExpression::IVisitor + , protected virtual WfModuleUsingFragment::IVisitor { - namespace traverse_visitor - { - /// A traverse visitor, overriding all abstract methods with AST visiting code. - class AstVisitor - : public vl::Object - , protected virtual WfType::IVisitor - , protected virtual WfExpression::IVisitor - , protected virtual WfStatement::IVisitor - , protected virtual WfDeclaration::IVisitor - , protected virtual WfVirtualCfeDeclaration::IVisitor - , protected virtual WfVirtualCseDeclaration::IVisitor - , protected virtual WfVirtualCseStatement::IVisitor - , protected virtual WfCoroutineStatement::IVisitor - , protected virtual WfStateMachineStatement::IVisitor - , protected virtual WfVirtualCfeExpression::IVisitor - , protected virtual WfVirtualCseExpression::IVisitor - , protected virtual WfModuleUsingFragment::IVisitor - { - protected: - virtual void Traverse(vl::glr::ParsingToken& token); - virtual void Traverse(vl::glr::ParsingAstBase* node); - virtual void Traverse(WfAttachEventExpression* node); - virtual void Traverse(WfAttribute* node); - virtual void Traverse(WfAutoPropertyDeclaration* node); - virtual void Traverse(WfBaseConstructorCall* node); - virtual void Traverse(WfBinaryExpression* node); - virtual void Traverse(WfBindExpression* node); - virtual void Traverse(WfBlockStatement* node); - virtual void Traverse(WfBreakStatement* node); - virtual void Traverse(WfCallExpression* node); - virtual void Traverse(WfCastResultInterfaceDeclaration* node); - virtual void Traverse(WfChildExpression* node); - virtual void Traverse(WfChildType* node); - virtual void Traverse(WfClassDeclaration* node); - virtual void Traverse(WfCoOperatorExpression* node); - virtual void Traverse(WfCoOperatorStatement* node); - virtual void Traverse(WfCoPauseStatement* node); - virtual void Traverse(WfCoProviderStatement* node); - virtual void Traverse(WfConstructorArgument* node); - virtual void Traverse(WfConstructorDeclaration* node); - virtual void Traverse(WfConstructorExpression* node); - virtual void Traverse(WfContinueStatement* node); - virtual void Traverse(WfCoroutineStatement* node); - virtual void Traverse(WfDeclaration* node); - virtual void Traverse(WfDeleteStatement* node); - virtual void Traverse(WfDestructorDeclaration* node); - virtual void Traverse(WfDetachEventExpression* node); - virtual void Traverse(WfEnumDeclaration* node); - virtual void Traverse(WfEnumItem* node); - virtual void Traverse(WfEnumItemIntersection* node); - virtual void Traverse(WfEnumerableType* node); - virtual void Traverse(WfEventDeclaration* node); - virtual void Traverse(WfExpectedTypeCastExpression* node); - virtual void Traverse(WfExpression* node); - virtual void Traverse(WfExpressionStatement* node); - virtual void Traverse(WfFloatingExpression* node); - virtual void Traverse(WfForEachStatement* node); - virtual void Traverse(WfFormatExpression* node); - virtual void Traverse(WfFunctionArgument* node); - virtual void Traverse(WfFunctionDeclaration* node); - virtual void Traverse(WfFunctionExpression* node); - virtual void Traverse(WfFunctionType* node); - virtual void Traverse(WfGotoStatement* node); - virtual void Traverse(WfIfExpression* node); - virtual void Traverse(WfIfStatement* node); - virtual void Traverse(WfInferExpression* node); - virtual void Traverse(WfIntegerExpression* node); - virtual void Traverse(WfLetExpression* node); - virtual void Traverse(WfLetVariable* node); - virtual void Traverse(WfLiteralExpression* node); - virtual void Traverse(WfMapType* node); - virtual void Traverse(WfMemberExpression* node); - virtual void Traverse(WfMixinCastExpression* node); - virtual void Traverse(WfModule* node); - virtual void Traverse(WfModuleUsingFragment* node); - virtual void Traverse(WfModuleUsingItem* node); - virtual void Traverse(WfModuleUsingNameFragment* node); - virtual void Traverse(WfModuleUsingPath* node); - virtual void Traverse(WfModuleUsingWildCardFragment* node); - virtual void Traverse(WfNamespaceDeclaration* node); - virtual void Traverse(WfNewClassExpression* node); - virtual void Traverse(WfNewCoroutineExpression* node); - virtual void Traverse(WfNewInterfaceExpression* node); - virtual void Traverse(WfNullableType* node); - virtual void Traverse(WfObservableListType* node); - virtual void Traverse(WfObserveExpression* node); - virtual void Traverse(WfOrderedLambdaExpression* node); - virtual void Traverse(WfOrderedNameExpression* node); - virtual void Traverse(WfPredefinedType* node); - virtual void Traverse(WfPropertyDeclaration* node); - virtual void Traverse(WfRaiseExceptionStatement* node); - virtual void Traverse(WfRangeExpression* node); - virtual void Traverse(WfRawPointerType* node); - virtual void Traverse(WfReferenceExpression* node); - virtual void Traverse(WfReferenceType* node); - virtual void Traverse(WfReturnStatement* node); - virtual void Traverse(WfSetTestingExpression* node); - virtual void Traverse(WfSharedPointerType* node); - virtual void Traverse(WfStateDeclaration* node); - virtual void Traverse(WfStateInput* node); - virtual void Traverse(WfStateInvokeStatement* node); - virtual void Traverse(WfStateMachineDeclaration* node); - virtual void Traverse(WfStateMachineStatement* node); - virtual void Traverse(WfStateSwitchArgument* node); - virtual void Traverse(WfStateSwitchCase* node); - virtual void Traverse(WfStateSwitchStatement* node); - virtual void Traverse(WfStatement* node); - virtual void Traverse(WfStringExpression* node); - virtual void Traverse(WfStructDeclaration* node); - virtual void Traverse(WfStructMember* node); - virtual void Traverse(WfSwitchCase* node); - virtual void Traverse(WfSwitchStatement* node); - virtual void Traverse(WfThisExpression* node); - virtual void Traverse(WfTopQualifiedExpression* node); - virtual void Traverse(WfTopQualifiedType* node); - virtual void Traverse(WfTryStatement* node); - virtual void Traverse(WfType* node); - virtual void Traverse(WfTypeCastingExpression* node); - virtual void Traverse(WfTypeOfExpressionExpression* node); - virtual void Traverse(WfTypeOfTypeExpression* node); - virtual void Traverse(WfTypeTestingExpression* node); - virtual void Traverse(WfUnaryExpression* node); - virtual void Traverse(WfVariableDeclaration* node); - virtual void Traverse(WfVariableStatement* node); - virtual void Traverse(WfVirtualCfeDeclaration* node); - virtual void Traverse(WfVirtualCfeExpression* node); - virtual void Traverse(WfVirtualCseDeclaration* node); - virtual void Traverse(WfVirtualCseExpression* node); - virtual void Traverse(WfVirtualCseStatement* node); - virtual void Traverse(WfWhileStatement* node); + protected: + virtual void Traverse(vl::glr::ParsingToken& token); + virtual void Traverse(vl::glr::ParsingAstBase* node); + virtual void Traverse(WfAttachEventExpression* node); + virtual void Traverse(WfAttribute* node); + virtual void Traverse(WfAutoPropertyDeclaration* node); + virtual void Traverse(WfBaseConstructorCall* node); + virtual void Traverse(WfBinaryExpression* node); + virtual void Traverse(WfBindExpression* node); + virtual void Traverse(WfBlockStatement* node); + virtual void Traverse(WfBreakStatement* node); + virtual void Traverse(WfCallExpression* node); + virtual void Traverse(WfCastResultInterfaceDeclaration* node); + virtual void Traverse(WfChildExpression* node); + virtual void Traverse(WfChildType* node); + virtual void Traverse(WfClassDeclaration* node); + virtual void Traverse(WfCoOperatorExpression* node); + virtual void Traverse(WfCoOperatorStatement* node); + virtual void Traverse(WfCoPauseStatement* node); + virtual void Traverse(WfCoProviderStatement* node); + virtual void Traverse(WfConstructorArgument* node); + virtual void Traverse(WfConstructorDeclaration* node); + virtual void Traverse(WfConstructorExpression* node); + virtual void Traverse(WfContinueStatement* node); + virtual void Traverse(WfCoroutineStatement* node); + virtual void Traverse(WfDeclaration* node); + virtual void Traverse(WfDeleteStatement* node); + virtual void Traverse(WfDestructorDeclaration* node); + virtual void Traverse(WfDetachEventExpression* node); + virtual void Traverse(WfEnumDeclaration* node); + virtual void Traverse(WfEnumItem* node); + virtual void Traverse(WfEnumItemIntersection* node); + virtual void Traverse(WfEnumerableType* node); + virtual void Traverse(WfEventDeclaration* node); + virtual void Traverse(WfExpectedTypeCastExpression* node); + virtual void Traverse(WfExpression* node); + virtual void Traverse(WfExpressionStatement* node); + virtual void Traverse(WfFloatingExpression* node); + virtual void Traverse(WfForEachStatement* node); + virtual void Traverse(WfFormatExpression* node); + virtual void Traverse(WfFunctionArgument* node); + virtual void Traverse(WfFunctionDeclaration* node); + virtual void Traverse(WfFunctionExpression* node); + virtual void Traverse(WfFunctionType* node); + virtual void Traverse(WfGotoStatement* node); + virtual void Traverse(WfIfExpression* node); + virtual void Traverse(WfIfStatement* node); + virtual void Traverse(WfInferExpression* node); + virtual void Traverse(WfIntegerExpression* node); + virtual void Traverse(WfLetExpression* node); + virtual void Traverse(WfLetVariable* node); + virtual void Traverse(WfLiteralExpression* node); + virtual void Traverse(WfMapType* node); + virtual void Traverse(WfMemberExpression* node); + virtual void Traverse(WfMixinCastExpression* node); + virtual void Traverse(WfModule* node); + virtual void Traverse(WfModuleUsingFragment* node); + virtual void Traverse(WfModuleUsingItem* node); + virtual void Traverse(WfModuleUsingNameFragment* node); + virtual void Traverse(WfModuleUsingPath* node); + virtual void Traverse(WfModuleUsingWildCardFragment* node); + virtual void Traverse(WfNamespaceDeclaration* node); + virtual void Traverse(WfNewClassExpression* node); + virtual void Traverse(WfNewCoroutineExpression* node); + virtual void Traverse(WfNewInterfaceExpression* node); + virtual void Traverse(WfNullableType* node); + virtual void Traverse(WfObservableListType* node); + virtual void Traverse(WfObserveExpression* node); + virtual void Traverse(WfOrderedLambdaExpression* node); + virtual void Traverse(WfOrderedNameExpression* node); + virtual void Traverse(WfPredefinedType* node); + virtual void Traverse(WfPropertyDeclaration* node); + virtual void Traverse(WfRaiseExceptionStatement* node); + virtual void Traverse(WfRangeExpression* node); + virtual void Traverse(WfRawPointerType* node); + virtual void Traverse(WfReferenceExpression* node); + virtual void Traverse(WfReferenceType* node); + virtual void Traverse(WfReturnStatement* node); + virtual void Traverse(WfSetTestingExpression* node); + virtual void Traverse(WfSharedPointerType* node); + virtual void Traverse(WfStateDeclaration* node); + virtual void Traverse(WfStateInput* node); + virtual void Traverse(WfStateInvokeStatement* node); + virtual void Traverse(WfStateMachineDeclaration* node); + virtual void Traverse(WfStateMachineStatement* node); + virtual void Traverse(WfStateSwitchArgument* node); + virtual void Traverse(WfStateSwitchCase* node); + virtual void Traverse(WfStateSwitchStatement* node); + virtual void Traverse(WfStatement* node); + virtual void Traverse(WfStringExpression* node); + virtual void Traverse(WfStructDeclaration* node); + virtual void Traverse(WfStructMember* node); + virtual void Traverse(WfSwitchCase* node); + virtual void Traverse(WfSwitchStatement* node); + virtual void Traverse(WfThisExpression* node); + virtual void Traverse(WfTopQualifiedExpression* node); + virtual void Traverse(WfTopQualifiedType* node); + virtual void Traverse(WfTryStatement* node); + virtual void Traverse(WfType* node); + virtual void Traverse(WfTypeCastingExpression* node); + virtual void Traverse(WfTypeOfExpressionExpression* node); + virtual void Traverse(WfTypeOfTypeExpression* node); + virtual void Traverse(WfTypeTestingExpression* node); + virtual void Traverse(WfUnaryExpression* node); + virtual void Traverse(WfVariableDeclaration* node); + virtual void Traverse(WfVariableStatement* node); + virtual void Traverse(WfVirtualCfeDeclaration* node); + virtual void Traverse(WfVirtualCfeExpression* node); + virtual void Traverse(WfVirtualCseDeclaration* node); + virtual void Traverse(WfVirtualCseExpression* node); + virtual void Traverse(WfVirtualCseStatement* node); + virtual void Traverse(WfWhileStatement* node); - protected: - virtual void Finishing(vl::glr::ParsingAstBase* node); - virtual void Finishing(WfAttachEventExpression* node); - virtual void Finishing(WfAttribute* node); - virtual void Finishing(WfAutoPropertyDeclaration* node); - virtual void Finishing(WfBaseConstructorCall* node); - virtual void Finishing(WfBinaryExpression* node); - virtual void Finishing(WfBindExpression* node); - virtual void Finishing(WfBlockStatement* node); - virtual void Finishing(WfBreakStatement* node); - virtual void Finishing(WfCallExpression* node); - virtual void Finishing(WfCastResultInterfaceDeclaration* node); - virtual void Finishing(WfChildExpression* node); - virtual void Finishing(WfChildType* node); - virtual void Finishing(WfClassDeclaration* node); - virtual void Finishing(WfCoOperatorExpression* node); - virtual void Finishing(WfCoOperatorStatement* node); - virtual void Finishing(WfCoPauseStatement* node); - virtual void Finishing(WfCoProviderStatement* node); - virtual void Finishing(WfConstructorArgument* node); - virtual void Finishing(WfConstructorDeclaration* node); - virtual void Finishing(WfConstructorExpression* node); - virtual void Finishing(WfContinueStatement* node); - virtual void Finishing(WfCoroutineStatement* node); - virtual void Finishing(WfDeclaration* node); - virtual void Finishing(WfDeleteStatement* node); - virtual void Finishing(WfDestructorDeclaration* node); - virtual void Finishing(WfDetachEventExpression* node); - virtual void Finishing(WfEnumDeclaration* node); - virtual void Finishing(WfEnumItem* node); - virtual void Finishing(WfEnumItemIntersection* node); - virtual void Finishing(WfEnumerableType* node); - virtual void Finishing(WfEventDeclaration* node); - virtual void Finishing(WfExpectedTypeCastExpression* node); - virtual void Finishing(WfExpression* node); - virtual void Finishing(WfExpressionStatement* node); - virtual void Finishing(WfFloatingExpression* node); - virtual void Finishing(WfForEachStatement* node); - virtual void Finishing(WfFormatExpression* node); - virtual void Finishing(WfFunctionArgument* node); - virtual void Finishing(WfFunctionDeclaration* node); - virtual void Finishing(WfFunctionExpression* node); - virtual void Finishing(WfFunctionType* node); - virtual void Finishing(WfGotoStatement* node); - virtual void Finishing(WfIfExpression* node); - virtual void Finishing(WfIfStatement* node); - virtual void Finishing(WfInferExpression* node); - virtual void Finishing(WfIntegerExpression* node); - virtual void Finishing(WfLetExpression* node); - virtual void Finishing(WfLetVariable* node); - virtual void Finishing(WfLiteralExpression* node); - virtual void Finishing(WfMapType* node); - virtual void Finishing(WfMemberExpression* node); - virtual void Finishing(WfMixinCastExpression* node); - virtual void Finishing(WfModule* node); - virtual void Finishing(WfModuleUsingFragment* node); - virtual void Finishing(WfModuleUsingItem* node); - virtual void Finishing(WfModuleUsingNameFragment* node); - virtual void Finishing(WfModuleUsingPath* node); - virtual void Finishing(WfModuleUsingWildCardFragment* node); - virtual void Finishing(WfNamespaceDeclaration* node); - virtual void Finishing(WfNewClassExpression* node); - virtual void Finishing(WfNewCoroutineExpression* node); - virtual void Finishing(WfNewInterfaceExpression* node); - virtual void Finishing(WfNullableType* node); - virtual void Finishing(WfObservableListType* node); - virtual void Finishing(WfObserveExpression* node); - virtual void Finishing(WfOrderedLambdaExpression* node); - virtual void Finishing(WfOrderedNameExpression* node); - virtual void Finishing(WfPredefinedType* node); - virtual void Finishing(WfPropertyDeclaration* node); - virtual void Finishing(WfRaiseExceptionStatement* node); - virtual void Finishing(WfRangeExpression* node); - virtual void Finishing(WfRawPointerType* node); - virtual void Finishing(WfReferenceExpression* node); - virtual void Finishing(WfReferenceType* node); - virtual void Finishing(WfReturnStatement* node); - virtual void Finishing(WfSetTestingExpression* node); - virtual void Finishing(WfSharedPointerType* node); - virtual void Finishing(WfStateDeclaration* node); - virtual void Finishing(WfStateInput* node); - virtual void Finishing(WfStateInvokeStatement* node); - virtual void Finishing(WfStateMachineDeclaration* node); - virtual void Finishing(WfStateMachineStatement* node); - virtual void Finishing(WfStateSwitchArgument* node); - virtual void Finishing(WfStateSwitchCase* node); - virtual void Finishing(WfStateSwitchStatement* node); - virtual void Finishing(WfStatement* node); - virtual void Finishing(WfStringExpression* node); - virtual void Finishing(WfStructDeclaration* node); - virtual void Finishing(WfStructMember* node); - virtual void Finishing(WfSwitchCase* node); - virtual void Finishing(WfSwitchStatement* node); - virtual void Finishing(WfThisExpression* node); - virtual void Finishing(WfTopQualifiedExpression* node); - virtual void Finishing(WfTopQualifiedType* node); - virtual void Finishing(WfTryStatement* node); - virtual void Finishing(WfType* node); - virtual void Finishing(WfTypeCastingExpression* node); - virtual void Finishing(WfTypeOfExpressionExpression* node); - virtual void Finishing(WfTypeOfTypeExpression* node); - virtual void Finishing(WfTypeTestingExpression* node); - virtual void Finishing(WfUnaryExpression* node); - virtual void Finishing(WfVariableDeclaration* node); - virtual void Finishing(WfVariableStatement* node); - virtual void Finishing(WfVirtualCfeDeclaration* node); - virtual void Finishing(WfVirtualCfeExpression* node); - virtual void Finishing(WfVirtualCseDeclaration* node); - virtual void Finishing(WfVirtualCseExpression* node); - virtual void Finishing(WfVirtualCseStatement* node); - virtual void Finishing(WfWhileStatement* node); + protected: + virtual void Finishing(vl::glr::ParsingAstBase* node); + virtual void Finishing(WfAttachEventExpression* node); + virtual void Finishing(WfAttribute* node); + virtual void Finishing(WfAutoPropertyDeclaration* node); + virtual void Finishing(WfBaseConstructorCall* node); + virtual void Finishing(WfBinaryExpression* node); + virtual void Finishing(WfBindExpression* node); + virtual void Finishing(WfBlockStatement* node); + virtual void Finishing(WfBreakStatement* node); + virtual void Finishing(WfCallExpression* node); + virtual void Finishing(WfCastResultInterfaceDeclaration* node); + virtual void Finishing(WfChildExpression* node); + virtual void Finishing(WfChildType* node); + virtual void Finishing(WfClassDeclaration* node); + virtual void Finishing(WfCoOperatorExpression* node); + virtual void Finishing(WfCoOperatorStatement* node); + virtual void Finishing(WfCoPauseStatement* node); + virtual void Finishing(WfCoProviderStatement* node); + virtual void Finishing(WfConstructorArgument* node); + virtual void Finishing(WfConstructorDeclaration* node); + virtual void Finishing(WfConstructorExpression* node); + virtual void Finishing(WfContinueStatement* node); + virtual void Finishing(WfCoroutineStatement* node); + virtual void Finishing(WfDeclaration* node); + virtual void Finishing(WfDeleteStatement* node); + virtual void Finishing(WfDestructorDeclaration* node); + virtual void Finishing(WfDetachEventExpression* node); + virtual void Finishing(WfEnumDeclaration* node); + virtual void Finishing(WfEnumItem* node); + virtual void Finishing(WfEnumItemIntersection* node); + virtual void Finishing(WfEnumerableType* node); + virtual void Finishing(WfEventDeclaration* node); + virtual void Finishing(WfExpectedTypeCastExpression* node); + virtual void Finishing(WfExpression* node); + virtual void Finishing(WfExpressionStatement* node); + virtual void Finishing(WfFloatingExpression* node); + virtual void Finishing(WfForEachStatement* node); + virtual void Finishing(WfFormatExpression* node); + virtual void Finishing(WfFunctionArgument* node); + virtual void Finishing(WfFunctionDeclaration* node); + virtual void Finishing(WfFunctionExpression* node); + virtual void Finishing(WfFunctionType* node); + virtual void Finishing(WfGotoStatement* node); + virtual void Finishing(WfIfExpression* node); + virtual void Finishing(WfIfStatement* node); + virtual void Finishing(WfInferExpression* node); + virtual void Finishing(WfIntegerExpression* node); + virtual void Finishing(WfLetExpression* node); + virtual void Finishing(WfLetVariable* node); + virtual void Finishing(WfLiteralExpression* node); + virtual void Finishing(WfMapType* node); + virtual void Finishing(WfMemberExpression* node); + virtual void Finishing(WfMixinCastExpression* node); + virtual void Finishing(WfModule* node); + virtual void Finishing(WfModuleUsingFragment* node); + virtual void Finishing(WfModuleUsingItem* node); + virtual void Finishing(WfModuleUsingNameFragment* node); + virtual void Finishing(WfModuleUsingPath* node); + virtual void Finishing(WfModuleUsingWildCardFragment* node); + virtual void Finishing(WfNamespaceDeclaration* node); + virtual void Finishing(WfNewClassExpression* node); + virtual void Finishing(WfNewCoroutineExpression* node); + virtual void Finishing(WfNewInterfaceExpression* node); + virtual void Finishing(WfNullableType* node); + virtual void Finishing(WfObservableListType* node); + virtual void Finishing(WfObserveExpression* node); + virtual void Finishing(WfOrderedLambdaExpression* node); + virtual void Finishing(WfOrderedNameExpression* node); + virtual void Finishing(WfPredefinedType* node); + virtual void Finishing(WfPropertyDeclaration* node); + virtual void Finishing(WfRaiseExceptionStatement* node); + virtual void Finishing(WfRangeExpression* node); + virtual void Finishing(WfRawPointerType* node); + virtual void Finishing(WfReferenceExpression* node); + virtual void Finishing(WfReferenceType* node); + virtual void Finishing(WfReturnStatement* node); + virtual void Finishing(WfSetTestingExpression* node); + virtual void Finishing(WfSharedPointerType* node); + virtual void Finishing(WfStateDeclaration* node); + virtual void Finishing(WfStateInput* node); + virtual void Finishing(WfStateInvokeStatement* node); + virtual void Finishing(WfStateMachineDeclaration* node); + virtual void Finishing(WfStateMachineStatement* node); + virtual void Finishing(WfStateSwitchArgument* node); + virtual void Finishing(WfStateSwitchCase* node); + virtual void Finishing(WfStateSwitchStatement* node); + virtual void Finishing(WfStatement* node); + virtual void Finishing(WfStringExpression* node); + virtual void Finishing(WfStructDeclaration* node); + virtual void Finishing(WfStructMember* node); + virtual void Finishing(WfSwitchCase* node); + virtual void Finishing(WfSwitchStatement* node); + virtual void Finishing(WfThisExpression* node); + virtual void Finishing(WfTopQualifiedExpression* node); + virtual void Finishing(WfTopQualifiedType* node); + virtual void Finishing(WfTryStatement* node); + virtual void Finishing(WfType* node); + virtual void Finishing(WfTypeCastingExpression* node); + virtual void Finishing(WfTypeOfExpressionExpression* node); + virtual void Finishing(WfTypeOfTypeExpression* node); + virtual void Finishing(WfTypeTestingExpression* node); + virtual void Finishing(WfUnaryExpression* node); + virtual void Finishing(WfVariableDeclaration* node); + virtual void Finishing(WfVariableStatement* node); + virtual void Finishing(WfVirtualCfeDeclaration* node); + virtual void Finishing(WfVirtualCfeExpression* node); + virtual void Finishing(WfVirtualCseDeclaration* node); + virtual void Finishing(WfVirtualCseExpression* node); + virtual void Finishing(WfVirtualCseStatement* node); + virtual void Finishing(WfWhileStatement* node); - protected: - void Visit(WfPredefinedType* node) override; - void Visit(WfTopQualifiedType* node) override; - void Visit(WfReferenceType* node) override; - void Visit(WfRawPointerType* node) override; - void Visit(WfSharedPointerType* node) override; - void Visit(WfNullableType* node) override; - void Visit(WfEnumerableType* node) override; - void Visit(WfMapType* node) override; - void Visit(WfObservableListType* node) override; - void Visit(WfFunctionType* node) override; - void Visit(WfChildType* node) override; + protected: + void Visit(WfPredefinedType* node) override; + void Visit(WfTopQualifiedType* node) override; + void Visit(WfReferenceType* node) override; + void Visit(WfRawPointerType* node) override; + void Visit(WfSharedPointerType* node) override; + void Visit(WfNullableType* node) override; + void Visit(WfEnumerableType* node) override; + void Visit(WfMapType* node) override; + void Visit(WfObservableListType* node) override; + void Visit(WfFunctionType* node) override; + void Visit(WfChildType* node) override; - void Visit(WfThisExpression* node) override; - void Visit(WfTopQualifiedExpression* node) override; - void Visit(WfReferenceExpression* node) override; - void Visit(WfOrderedNameExpression* node) override; - void Visit(WfOrderedLambdaExpression* node) override; - void Visit(WfMemberExpression* node) override; - void Visit(WfChildExpression* node) override; - void Visit(WfLiteralExpression* node) override; - void Visit(WfFloatingExpression* node) override; - void Visit(WfIntegerExpression* node) override; - void Visit(WfStringExpression* node) override; - void Visit(WfUnaryExpression* node) override; - void Visit(WfBinaryExpression* node) override; - void Visit(WfLetExpression* node) override; - void Visit(WfIfExpression* node) override; - void Visit(WfRangeExpression* node) override; - void Visit(WfSetTestingExpression* node) override; - void Visit(WfConstructorExpression* node) override; - void Visit(WfInferExpression* node) override; - void Visit(WfTypeCastingExpression* node) override; - void Visit(WfTypeTestingExpression* node) override; - void Visit(WfTypeOfTypeExpression* node) override; - void Visit(WfTypeOfExpressionExpression* node) override; - void Visit(WfAttachEventExpression* node) override; - void Visit(WfDetachEventExpression* node) override; - void Visit(WfObserveExpression* node) override; - void Visit(WfCallExpression* node) override; - void Visit(WfFunctionExpression* node) override; - void Visit(WfNewClassExpression* node) override; - void Visit(WfNewInterfaceExpression* node) override; - void Visit(WfVirtualCfeExpression* node) override; - void Visit(WfVirtualCseExpression* node) override; + void Visit(WfThisExpression* node) override; + void Visit(WfTopQualifiedExpression* node) override; + void Visit(WfReferenceExpression* node) override; + void Visit(WfOrderedNameExpression* node) override; + void Visit(WfOrderedLambdaExpression* node) override; + void Visit(WfMemberExpression* node) override; + void Visit(WfChildExpression* node) override; + void Visit(WfLiteralExpression* node) override; + void Visit(WfFloatingExpression* node) override; + void Visit(WfIntegerExpression* node) override; + void Visit(WfStringExpression* node) override; + void Visit(WfUnaryExpression* node) override; + void Visit(WfBinaryExpression* node) override; + void Visit(WfLetExpression* node) override; + void Visit(WfIfExpression* node) override; + void Visit(WfRangeExpression* node) override; + void Visit(WfSetTestingExpression* node) override; + void Visit(WfConstructorExpression* node) override; + void Visit(WfInferExpression* node) override; + void Visit(WfTypeCastingExpression* node) override; + void Visit(WfTypeTestingExpression* node) override; + void Visit(WfTypeOfTypeExpression* node) override; + void Visit(WfTypeOfExpressionExpression* node) override; + void Visit(WfAttachEventExpression* node) override; + void Visit(WfDetachEventExpression* node) override; + void Visit(WfObserveExpression* node) override; + void Visit(WfCallExpression* node) override; + void Visit(WfFunctionExpression* node) override; + void Visit(WfNewClassExpression* node) override; + void Visit(WfNewInterfaceExpression* node) override; + void Visit(WfVirtualCfeExpression* node) override; + void Visit(WfVirtualCseExpression* node) override; - void Visit(WfBreakStatement* node) override; - void Visit(WfContinueStatement* node) override; - void Visit(WfReturnStatement* node) override; - void Visit(WfDeleteStatement* node) override; - void Visit(WfRaiseExceptionStatement* node) override; - void Visit(WfIfStatement* node) override; - void Visit(WfWhileStatement* node) override; - void Visit(WfTryStatement* node) override; - void Visit(WfBlockStatement* node) override; - void Visit(WfGotoStatement* node) override; - void Visit(WfVariableStatement* node) override; - void Visit(WfExpressionStatement* node) override; - void Visit(WfVirtualCseStatement* node) override; - void Visit(WfCoroutineStatement* node) override; - void Visit(WfStateMachineStatement* node) override; + void Visit(WfBreakStatement* node) override; + void Visit(WfContinueStatement* node) override; + void Visit(WfReturnStatement* node) override; + void Visit(WfDeleteStatement* node) override; + void Visit(WfRaiseExceptionStatement* node) override; + void Visit(WfIfStatement* node) override; + void Visit(WfWhileStatement* node) override; + void Visit(WfTryStatement* node) override; + void Visit(WfBlockStatement* node) override; + void Visit(WfGotoStatement* node) override; + void Visit(WfVariableStatement* node) override; + void Visit(WfExpressionStatement* node) override; + void Visit(WfVirtualCseStatement* node) override; + void Visit(WfCoroutineStatement* node) override; + void Visit(WfStateMachineStatement* node) override; - void Visit(WfNamespaceDeclaration* node) override; - void Visit(WfFunctionDeclaration* node) override; - void Visit(WfVariableDeclaration* node) override; - void Visit(WfEventDeclaration* node) override; - void Visit(WfPropertyDeclaration* node) override; - void Visit(WfConstructorDeclaration* node) override; - void Visit(WfDestructorDeclaration* node) override; - void Visit(WfClassDeclaration* node) override; - void Visit(WfEnumDeclaration* node) override; - void Visit(WfStructDeclaration* node) override; - void Visit(WfVirtualCfeDeclaration* node) override; - void Visit(WfVirtualCseDeclaration* node) override; + void Visit(WfNamespaceDeclaration* node) override; + void Visit(WfFunctionDeclaration* node) override; + void Visit(WfVariableDeclaration* node) override; + void Visit(WfEventDeclaration* node) override; + void Visit(WfPropertyDeclaration* node) override; + void Visit(WfConstructorDeclaration* node) override; + void Visit(WfDestructorDeclaration* node) override; + void Visit(WfClassDeclaration* node) override; + void Visit(WfEnumDeclaration* node) override; + void Visit(WfStructDeclaration* node) override; + void Visit(WfVirtualCfeDeclaration* node) override; + void Visit(WfVirtualCseDeclaration* node) override; - void Visit(WfAutoPropertyDeclaration* node) override; - void Visit(WfCastResultInterfaceDeclaration* node) override; + void Visit(WfAutoPropertyDeclaration* node) override; + void Visit(WfCastResultInterfaceDeclaration* node) override; - void Visit(WfStateMachineDeclaration* node) override; + void Visit(WfStateMachineDeclaration* node) override; - void Visit(WfForEachStatement* node) override; - void Visit(WfSwitchStatement* node) override; - void Visit(WfCoProviderStatement* node) override; + void Visit(WfForEachStatement* node) override; + void Visit(WfSwitchStatement* node) override; + void Visit(WfCoProviderStatement* node) override; - void Visit(WfCoPauseStatement* node) override; - void Visit(WfCoOperatorStatement* node) override; + void Visit(WfCoPauseStatement* node) override; + void Visit(WfCoOperatorStatement* node) override; - void Visit(WfStateSwitchStatement* node) override; - void Visit(WfStateInvokeStatement* node) override; + void Visit(WfStateSwitchStatement* node) override; + void Visit(WfStateInvokeStatement* node) override; - void Visit(WfFormatExpression* node) override; + void Visit(WfFormatExpression* node) override; - void Visit(WfBindExpression* node) override; - void Visit(WfNewCoroutineExpression* node) override; - void Visit(WfMixinCastExpression* node) override; - void Visit(WfExpectedTypeCastExpression* node) override; - void Visit(WfCoOperatorExpression* node) override; + void Visit(WfBindExpression* node) override; + void Visit(WfNewCoroutineExpression* node) override; + void Visit(WfMixinCastExpression* node) override; + void Visit(WfExpectedTypeCastExpression* node) override; + void Visit(WfCoOperatorExpression* node) override; - void Visit(WfModuleUsingNameFragment* node) override; - void Visit(WfModuleUsingWildCardFragment* node) override; + void Visit(WfModuleUsingNameFragment* node) override; + void Visit(WfModuleUsingWildCardFragment* node) override; - public: - void InspectInto(WfType* node); - void InspectInto(WfExpression* node); - void InspectInto(WfStatement* node); - void InspectInto(WfDeclaration* node); - void InspectInto(WfModuleUsingFragment* node); - void InspectInto(WfAttribute* node); - void InspectInto(WfFunctionArgument* node); - void InspectInto(WfBaseConstructorCall* node); - void InspectInto(WfEnumItemIntersection* node); - void InspectInto(WfEnumItem* node); - void InspectInto(WfStructMember* node); - void InspectInto(WfStateInput* node); - void InspectInto(WfStateDeclaration* node); - void InspectInto(WfSwitchCase* node); - void InspectInto(WfStateSwitchArgument* node); - void InspectInto(WfStateSwitchCase* node); - void InspectInto(WfLetVariable* node); - void InspectInto(WfConstructorArgument* node); - void InspectInto(WfModuleUsingItem* node); - void InspectInto(WfModuleUsingPath* node); - void InspectInto(WfModule* node); - }; - } - } + public: + void InspectInto(WfType* node); + void InspectInto(WfExpression* node); + void InspectInto(WfStatement* node); + void InspectInto(WfDeclaration* node); + void InspectInto(WfModuleUsingFragment* node); + void InspectInto(WfAttribute* node); + void InspectInto(WfFunctionArgument* node); + void InspectInto(WfBaseConstructorCall* node); + void InspectInto(WfEnumItemIntersection* node); + void InspectInto(WfEnumItem* node); + void InspectInto(WfStructMember* node); + void InspectInto(WfStateInput* node); + void InspectInto(WfStateDeclaration* node); + void InspectInto(WfSwitchCase* node); + void InspectInto(WfStateSwitchArgument* node); + void InspectInto(WfStateSwitchCase* node); + void InspectInto(WfLetVariable* node); + void InspectInto(WfConstructorArgument* node); + void InspectInto(WfModuleUsingItem* node); + void InspectInto(WfModuleUsingPath* node); + void InspectInto(WfModule* node); + }; } #endif @@ -4160,339 +4121,336 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_WORKFLOW_PARSER_AST_ASSEMBLER -namespace vl +namespace vl::workflow { - namespace workflow + enum class WorkflowClasses : vl::vint32_t { - enum class WorkflowClasses : vl::vint32_t - { - AttachEventExpression = 0, - Attribute = 1, - AutoPropertyDeclaration = 2, - BaseConstructorCall = 3, - BinaryExpression = 4, - BindExpression = 5, - BlockStatement = 6, - BreakStatement = 7, - CallExpression = 8, - CastResultInterfaceDeclaration = 9, - ChildExpression = 10, - ChildType = 11, - ClassDeclaration = 12, - CoOperatorExpression = 13, - CoOperatorStatement = 14, - CoPauseStatement = 15, - CoProviderStatement = 16, - ConstructorArgument = 17, - ConstructorDeclaration = 18, - ConstructorExpression = 19, - ContinueStatement = 20, - CoroutineStatement = 21, - Declaration = 22, - DeleteStatement = 23, - DestructorDeclaration = 24, - DetachEventExpression = 25, - EnumDeclaration = 26, - EnumItem = 27, - EnumItemIntersection = 28, - EnumerableType = 29, - EventDeclaration = 30, - ExpectedTypeCastExpression = 31, - Expression = 32, - ExpressionStatement = 33, - FloatingExpression = 34, - ForEachStatement = 35, - FormatExpression = 36, - FunctionArgument = 37, - FunctionDeclaration = 38, - FunctionExpression = 39, - FunctionType = 40, - GotoStatement = 41, - IfExpression = 42, - IfStatement = 43, - InferExpression = 44, - IntegerExpression = 45, - LetExpression = 46, - LetVariable = 47, - LiteralExpression = 48, - MapType = 49, - MemberExpression = 50, - MixinCastExpression = 51, - Module = 52, - ModuleUsingFragment = 53, - ModuleUsingItem = 54, - ModuleUsingNameFragment = 55, - ModuleUsingPath = 56, - ModuleUsingWildCardFragment = 57, - NamespaceDeclaration = 58, - NewClassExpression = 59, - NewCoroutineExpression = 60, - NewInterfaceExpression = 61, - NullableType = 62, - ObservableListType = 63, - ObserveExpression = 64, - OrderedLambdaExpression = 65, - OrderedNameExpression = 66, - PredefinedType = 67, - PropertyDeclaration = 68, - RaiseExceptionStatement = 69, - RangeExpression = 70, - RawPointerType = 71, - ReferenceExpression = 72, - ReferenceType = 73, - ReturnStatement = 74, - SetTestingExpression = 75, - SharedPointerType = 76, - StateDeclaration = 77, - StateInput = 78, - StateInvokeStatement = 79, - StateMachineDeclaration = 80, - StateMachineStatement = 81, - StateSwitchArgument = 82, - StateSwitchCase = 83, - StateSwitchStatement = 84, - Statement = 85, - StringExpression = 86, - StructDeclaration = 87, - StructMember = 88, - SwitchCase = 89, - SwitchStatement = 90, - ThisExpression = 91, - TopQualifiedExpression = 92, - TopQualifiedType = 93, - TryStatement = 94, - Type = 95, - TypeCastingExpression = 96, - TypeOfExpressionExpression = 97, - TypeOfTypeExpression = 98, - TypeTestingExpression = 99, - UnaryExpression = 100, - VariableDeclaration = 101, - VariableStatement = 102, - VirtualCfeDeclaration = 103, - VirtualCfeExpression = 104, - VirtualCseDeclaration = 105, - VirtualCseExpression = 106, - VirtualCseStatement = 107, - WhileStatement = 108, - }; + AttachEventExpression = 0, + Attribute = 1, + AutoPropertyDeclaration = 2, + BaseConstructorCall = 3, + BinaryExpression = 4, + BindExpression = 5, + BlockStatement = 6, + BreakStatement = 7, + CallExpression = 8, + CastResultInterfaceDeclaration = 9, + ChildExpression = 10, + ChildType = 11, + ClassDeclaration = 12, + CoOperatorExpression = 13, + CoOperatorStatement = 14, + CoPauseStatement = 15, + CoProviderStatement = 16, + ConstructorArgument = 17, + ConstructorDeclaration = 18, + ConstructorExpression = 19, + ContinueStatement = 20, + CoroutineStatement = 21, + Declaration = 22, + DeleteStatement = 23, + DestructorDeclaration = 24, + DetachEventExpression = 25, + EnumDeclaration = 26, + EnumItem = 27, + EnumItemIntersection = 28, + EnumerableType = 29, + EventDeclaration = 30, + ExpectedTypeCastExpression = 31, + Expression = 32, + ExpressionStatement = 33, + FloatingExpression = 34, + ForEachStatement = 35, + FormatExpression = 36, + FunctionArgument = 37, + FunctionDeclaration = 38, + FunctionExpression = 39, + FunctionType = 40, + GotoStatement = 41, + IfExpression = 42, + IfStatement = 43, + InferExpression = 44, + IntegerExpression = 45, + LetExpression = 46, + LetVariable = 47, + LiteralExpression = 48, + MapType = 49, + MemberExpression = 50, + MixinCastExpression = 51, + Module = 52, + ModuleUsingFragment = 53, + ModuleUsingItem = 54, + ModuleUsingNameFragment = 55, + ModuleUsingPath = 56, + ModuleUsingWildCardFragment = 57, + NamespaceDeclaration = 58, + NewClassExpression = 59, + NewCoroutineExpression = 60, + NewInterfaceExpression = 61, + NullableType = 62, + ObservableListType = 63, + ObserveExpression = 64, + OrderedLambdaExpression = 65, + OrderedNameExpression = 66, + PredefinedType = 67, + PropertyDeclaration = 68, + RaiseExceptionStatement = 69, + RangeExpression = 70, + RawPointerType = 71, + ReferenceExpression = 72, + ReferenceType = 73, + ReturnStatement = 74, + SetTestingExpression = 75, + SharedPointerType = 76, + StateDeclaration = 77, + StateInput = 78, + StateInvokeStatement = 79, + StateMachineDeclaration = 80, + StateMachineStatement = 81, + StateSwitchArgument = 82, + StateSwitchCase = 83, + StateSwitchStatement = 84, + Statement = 85, + StringExpression = 86, + StructDeclaration = 87, + StructMember = 88, + SwitchCase = 89, + SwitchStatement = 90, + ThisExpression = 91, + TopQualifiedExpression = 92, + TopQualifiedType = 93, + TryStatement = 94, + Type = 95, + TypeCastingExpression = 96, + TypeOfExpressionExpression = 97, + TypeOfTypeExpression = 98, + TypeTestingExpression = 99, + UnaryExpression = 100, + VariableDeclaration = 101, + VariableStatement = 102, + VirtualCfeDeclaration = 103, + VirtualCfeExpression = 104, + VirtualCseDeclaration = 105, + VirtualCseExpression = 106, + VirtualCseStatement = 107, + WhileStatement = 108, + }; - enum class WorkflowFields : vl::vint32_t - { - AttachEventExpression_event = 0, - AttachEventExpression_function = 1, - Attribute_category = 2, - Attribute_name = 3, - Attribute_value = 4, - AutoPropertyDeclaration_configConst = 5, - AutoPropertyDeclaration_configObserve = 6, - AutoPropertyDeclaration_expression = 7, - AutoPropertyDeclaration_functionKind = 8, - AutoPropertyDeclaration_type = 9, - BaseConstructorCall_arguments = 10, - BaseConstructorCall_type = 11, - BinaryExpression_first = 12, - BinaryExpression_op = 13, - BinaryExpression_second = 14, - BindExpression_expression = 15, - BlockStatement_endLabel = 16, - BlockStatement_statements = 17, - CallExpression_arguments = 18, - CallExpression_function = 19, - CastResultInterfaceDeclaration_baseType = 20, - CastResultInterfaceDeclaration_elementType = 21, - ChildExpression_name = 22, - ChildExpression_parent = 23, - ChildType_name = 24, - ChildType_parent = 25, - ClassDeclaration_baseTypes = 26, - ClassDeclaration_constructorType = 27, - ClassDeclaration_declarations = 28, - ClassDeclaration_kind = 29, - CoOperatorExpression_name = 30, - CoOperatorStatement_arguments = 31, - CoOperatorStatement_opName = 32, - CoOperatorStatement_varName = 33, - CoPauseStatement_statement = 34, - CoProviderStatement_name = 35, - CoProviderStatement_statement = 36, - ConstructorArgument_key = 37, - ConstructorArgument_value = 38, - ConstructorDeclaration_arguments = 39, - ConstructorDeclaration_baseConstructorCalls = 40, - ConstructorDeclaration_constructorType = 41, - ConstructorDeclaration_statement = 42, - ConstructorExpression_arguments = 43, - Declaration_attributes = 44, - Declaration_name = 45, - DeleteStatement_expression = 46, - DestructorDeclaration_statement = 47, - DetachEventExpression_event = 48, - DetachEventExpression_handler = 49, - EnumDeclaration_items = 50, - EnumDeclaration_kind = 51, - EnumItem_attributes = 52, - EnumItem_intersections = 53, - EnumItem_kind = 54, - EnumItem_name = 55, - EnumItem_number = 56, - EnumItemIntersection_name = 57, - EnumerableType_element = 58, - EventDeclaration_arguments = 59, - ExpectedTypeCastExpression_expression = 60, - ExpectedTypeCastExpression_strategy = 61, - ExpressionStatement_expression = 62, - FloatingExpression_value = 63, - ForEachStatement_collection = 64, - ForEachStatement_direction = 65, - ForEachStatement_name = 66, - ForEachStatement_statement = 67, - FormatExpression_value = 68, - FunctionArgument_attributes = 69, - FunctionArgument_name = 70, - FunctionArgument_type = 71, - FunctionDeclaration_anonymity = 72, - FunctionDeclaration_arguments = 73, - FunctionDeclaration_functionKind = 74, - FunctionDeclaration_returnType = 75, - FunctionDeclaration_statement = 76, - FunctionExpression_function = 77, - FunctionType_arguments = 78, - FunctionType_result = 79, - GotoStatement_label = 80, - IfExpression_condition = 81, - IfExpression_falseBranch = 82, - IfExpression_trueBranch = 83, - IfStatement_expression = 84, - IfStatement_falseBranch = 85, - IfStatement_name = 86, - IfStatement_trueBranch = 87, - IfStatement_type = 88, - InferExpression_expression = 89, - InferExpression_type = 90, - IntegerExpression_value = 91, - LetExpression_expression = 92, - LetExpression_variables = 93, - LetVariable_name = 94, - LetVariable_value = 95, - LiteralExpression_value = 96, - MapType_key = 97, - MapType_value = 98, - MapType_writability = 99, - MemberExpression_name = 100, - MemberExpression_parent = 101, - MixinCastExpression_expression = 102, - MixinCastExpression_type = 103, - Module_declarations = 104, - Module_moduleType = 105, - Module_name = 106, - Module_paths = 107, - ModuleUsingItem_fragments = 108, - ModuleUsingNameFragment_name = 109, - ModuleUsingPath_items = 110, - NamespaceDeclaration_declarations = 111, - NewClassExpression_arguments = 112, - NewClassExpression_type = 113, - NewCoroutineExpression_name = 114, - NewCoroutineExpression_statement = 115, - NewInterfaceExpression_declarations = 116, - NewInterfaceExpression_type = 117, - NullableType_element = 118, - ObservableListType_element = 119, - ObserveExpression_events = 120, - ObserveExpression_expression = 121, - ObserveExpression_name = 122, - ObserveExpression_observeType = 123, - ObserveExpression_parent = 124, - OrderedLambdaExpression_body = 125, - OrderedNameExpression_name = 126, - PredefinedType_name = 127, - PropertyDeclaration_getter = 128, - PropertyDeclaration_setter = 129, - PropertyDeclaration_type = 130, - PropertyDeclaration_valueChangedEvent = 131, - RaiseExceptionStatement_expression = 132, - RangeExpression_begin = 133, - RangeExpression_beginBoundary = 134, - RangeExpression_end = 135, - RangeExpression_endBoundary = 136, - RawPointerType_element = 137, - ReferenceExpression_name = 138, - ReferenceType_name = 139, - ReturnStatement_expression = 140, - SetTestingExpression_collection = 141, - SetTestingExpression_element = 142, - SetTestingExpression_test = 143, - SharedPointerType_element = 144, - StateDeclaration_arguments = 145, - StateDeclaration_name = 146, - StateDeclaration_statement = 147, - StateInput_arguments = 148, - StateInput_name = 149, - StateInvokeStatement_arguments = 150, - StateInvokeStatement_name = 151, - StateInvokeStatement_type = 152, - StateMachineDeclaration_inputs = 153, - StateMachineDeclaration_states = 154, - StateSwitchArgument_name = 155, - StateSwitchCase_arguments = 156, - StateSwitchCase_name = 157, - StateSwitchCase_statement = 158, - StateSwitchStatement_caseBranches = 159, - StateSwitchStatement_type = 160, - StringExpression_value = 161, - StructDeclaration_members = 162, - StructMember_attributes = 163, - StructMember_name = 164, - StructMember_type = 165, - SwitchCase_expression = 166, - SwitchCase_statement = 167, - SwitchStatement_caseBranches = 168, - SwitchStatement_defaultBranch = 169, - SwitchStatement_expression = 170, - TopQualifiedExpression_name = 171, - TopQualifiedType_name = 172, - TryStatement_catchStatement = 173, - TryStatement_finallyStatement = 174, - TryStatement_name = 175, - TryStatement_protectedStatement = 176, - TypeCastingExpression_expression = 177, - TypeCastingExpression_strategy = 178, - TypeCastingExpression_type = 179, - TypeOfExpressionExpression_expression = 180, - TypeOfTypeExpression_type = 181, - TypeTestingExpression_expression = 182, - TypeTestingExpression_test = 183, - TypeTestingExpression_type = 184, - UnaryExpression_op = 185, - UnaryExpression_operand = 186, - VariableDeclaration_expression = 187, - VariableDeclaration_type = 188, - VariableStatement_variable = 189, - VirtualCfeDeclaration_expandedDeclarations = 190, - VirtualCfeExpression_expandedExpression = 191, - VirtualCseDeclaration_expandedDeclarations = 192, - VirtualCseExpression_expandedExpression = 193, - VirtualCseStatement_expandedStatement = 194, - WhileStatement_condition = 195, - WhileStatement_statement = 196, - }; + enum class WorkflowFields : vl::vint32_t + { + AttachEventExpression_event = 0, + AttachEventExpression_function = 1, + Attribute_category = 2, + Attribute_name = 3, + Attribute_value = 4, + AutoPropertyDeclaration_configConst = 5, + AutoPropertyDeclaration_configObserve = 6, + AutoPropertyDeclaration_expression = 7, + AutoPropertyDeclaration_functionKind = 8, + AutoPropertyDeclaration_type = 9, + BaseConstructorCall_arguments = 10, + BaseConstructorCall_type = 11, + BinaryExpression_first = 12, + BinaryExpression_op = 13, + BinaryExpression_second = 14, + BindExpression_expression = 15, + BlockStatement_endLabel = 16, + BlockStatement_statements = 17, + CallExpression_arguments = 18, + CallExpression_function = 19, + CastResultInterfaceDeclaration_baseType = 20, + CastResultInterfaceDeclaration_elementType = 21, + ChildExpression_name = 22, + ChildExpression_parent = 23, + ChildType_name = 24, + ChildType_parent = 25, + ClassDeclaration_baseTypes = 26, + ClassDeclaration_constructorType = 27, + ClassDeclaration_declarations = 28, + ClassDeclaration_kind = 29, + CoOperatorExpression_name = 30, + CoOperatorStatement_arguments = 31, + CoOperatorStatement_opName = 32, + CoOperatorStatement_varName = 33, + CoPauseStatement_statement = 34, + CoProviderStatement_name = 35, + CoProviderStatement_statement = 36, + ConstructorArgument_key = 37, + ConstructorArgument_value = 38, + ConstructorDeclaration_arguments = 39, + ConstructorDeclaration_baseConstructorCalls = 40, + ConstructorDeclaration_constructorType = 41, + ConstructorDeclaration_statement = 42, + ConstructorExpression_arguments = 43, + Declaration_attributes = 44, + Declaration_name = 45, + DeleteStatement_expression = 46, + DestructorDeclaration_statement = 47, + DetachEventExpression_event = 48, + DetachEventExpression_handler = 49, + EnumDeclaration_items = 50, + EnumDeclaration_kind = 51, + EnumItem_attributes = 52, + EnumItem_intersections = 53, + EnumItem_kind = 54, + EnumItem_name = 55, + EnumItem_number = 56, + EnumItemIntersection_name = 57, + EnumerableType_element = 58, + EventDeclaration_arguments = 59, + ExpectedTypeCastExpression_expression = 60, + ExpectedTypeCastExpression_strategy = 61, + ExpressionStatement_expression = 62, + FloatingExpression_value = 63, + ForEachStatement_collection = 64, + ForEachStatement_direction = 65, + ForEachStatement_name = 66, + ForEachStatement_statement = 67, + FormatExpression_value = 68, + FunctionArgument_attributes = 69, + FunctionArgument_name = 70, + FunctionArgument_type = 71, + FunctionDeclaration_anonymity = 72, + FunctionDeclaration_arguments = 73, + FunctionDeclaration_functionKind = 74, + FunctionDeclaration_returnType = 75, + FunctionDeclaration_statement = 76, + FunctionExpression_function = 77, + FunctionType_arguments = 78, + FunctionType_result = 79, + GotoStatement_label = 80, + IfExpression_condition = 81, + IfExpression_falseBranch = 82, + IfExpression_trueBranch = 83, + IfStatement_expression = 84, + IfStatement_falseBranch = 85, + IfStatement_name = 86, + IfStatement_trueBranch = 87, + IfStatement_type = 88, + InferExpression_expression = 89, + InferExpression_type = 90, + IntegerExpression_value = 91, + LetExpression_expression = 92, + LetExpression_variables = 93, + LetVariable_name = 94, + LetVariable_value = 95, + LiteralExpression_value = 96, + MapType_key = 97, + MapType_value = 98, + MapType_writability = 99, + MemberExpression_name = 100, + MemberExpression_parent = 101, + MixinCastExpression_expression = 102, + MixinCastExpression_type = 103, + Module_declarations = 104, + Module_moduleType = 105, + Module_name = 106, + Module_paths = 107, + ModuleUsingItem_fragments = 108, + ModuleUsingNameFragment_name = 109, + ModuleUsingPath_items = 110, + NamespaceDeclaration_declarations = 111, + NewClassExpression_arguments = 112, + NewClassExpression_type = 113, + NewCoroutineExpression_name = 114, + NewCoroutineExpression_statement = 115, + NewInterfaceExpression_declarations = 116, + NewInterfaceExpression_type = 117, + NullableType_element = 118, + ObservableListType_element = 119, + ObserveExpression_events = 120, + ObserveExpression_expression = 121, + ObserveExpression_name = 122, + ObserveExpression_observeType = 123, + ObserveExpression_parent = 124, + OrderedLambdaExpression_body = 125, + OrderedNameExpression_name = 126, + PredefinedType_name = 127, + PropertyDeclaration_getter = 128, + PropertyDeclaration_setter = 129, + PropertyDeclaration_type = 130, + PropertyDeclaration_valueChangedEvent = 131, + RaiseExceptionStatement_expression = 132, + RangeExpression_begin = 133, + RangeExpression_beginBoundary = 134, + RangeExpression_end = 135, + RangeExpression_endBoundary = 136, + RawPointerType_element = 137, + ReferenceExpression_name = 138, + ReferenceType_name = 139, + ReturnStatement_expression = 140, + SetTestingExpression_collection = 141, + SetTestingExpression_element = 142, + SetTestingExpression_test = 143, + SharedPointerType_element = 144, + StateDeclaration_arguments = 145, + StateDeclaration_name = 146, + StateDeclaration_statement = 147, + StateInput_arguments = 148, + StateInput_name = 149, + StateInvokeStatement_arguments = 150, + StateInvokeStatement_name = 151, + StateInvokeStatement_type = 152, + StateMachineDeclaration_inputs = 153, + StateMachineDeclaration_states = 154, + StateSwitchArgument_name = 155, + StateSwitchCase_arguments = 156, + StateSwitchCase_name = 157, + StateSwitchCase_statement = 158, + StateSwitchStatement_caseBranches = 159, + StateSwitchStatement_type = 160, + StringExpression_value = 161, + StructDeclaration_members = 162, + StructMember_attributes = 163, + StructMember_name = 164, + StructMember_type = 165, + SwitchCase_expression = 166, + SwitchCase_statement = 167, + SwitchStatement_caseBranches = 168, + SwitchStatement_defaultBranch = 169, + SwitchStatement_expression = 170, + TopQualifiedExpression_name = 171, + TopQualifiedType_name = 172, + TryStatement_catchStatement = 173, + TryStatement_finallyStatement = 174, + TryStatement_name = 175, + TryStatement_protectedStatement = 176, + TypeCastingExpression_expression = 177, + TypeCastingExpression_strategy = 178, + TypeCastingExpression_type = 179, + TypeOfExpressionExpression_expression = 180, + TypeOfTypeExpression_type = 181, + TypeTestingExpression_expression = 182, + TypeTestingExpression_test = 183, + TypeTestingExpression_type = 184, + UnaryExpression_op = 185, + UnaryExpression_operand = 186, + VariableDeclaration_expression = 187, + VariableDeclaration_type = 188, + VariableStatement_variable = 189, + VirtualCfeDeclaration_expandedDeclarations = 190, + VirtualCfeExpression_expandedExpression = 191, + VirtualCseDeclaration_expandedDeclarations = 192, + VirtualCseExpression_expandedExpression = 193, + VirtualCseStatement_expandedStatement = 194, + WhileStatement_condition = 195, + WhileStatement_statement = 196, + }; - extern const wchar_t* WorkflowTypeName(WorkflowClasses type); - extern const wchar_t* WorkflowCppTypeName(WorkflowClasses type); - extern const wchar_t* WorkflowFieldName(WorkflowFields field); - extern const wchar_t* WorkflowCppFieldName(WorkflowFields field); + extern const wchar_t* WorkflowTypeName(WorkflowClasses type); + extern const wchar_t* WorkflowCppTypeName(WorkflowClasses type); + extern const wchar_t* WorkflowFieldName(WorkflowFields field); + extern const wchar_t* WorkflowCppFieldName(WorkflowFields field); - class WorkflowAstInsReceiver : public vl::glr::AstInsReceiverBase - { - protected: - vl::Ptr CreateAstNode(vl::vint32_t type) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; - vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; - }; - } + class WorkflowAstInsReceiver : public vl::glr::AstInsReceiverBase + { + protected: + vl::Ptr CreateAstNode(vl::vint32_t type) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; + vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; + }; } #endif @@ -4509,136 +4467,133 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_WORKFLOW_PARSER_LEXER -namespace vl +namespace vl::workflow { - namespace workflow + enum class WorkflowTokens : vl::vint32_t { - enum class WorkflowTokens : vl::vint32_t - { - EXP = 0, - ADD = 1, - SUB = 2, - MUL = 3, - DIV = 4, - MOD = 5, - JOIN = 6, - INTERSECTION = 7, - LE = 8, - GE = 9, - LT = 10, - GT = 11, - EQ = 12, - NE = 13, - ASSIGN = 14, - FAILED_THEN = 15, - QUESTION_MARK = 16, - SCOPE_DELIMITER = 17, - COLON = 18, - SEMICOLON = 19, - COMMA = 20, - DOT = 21, - OPEN_ARRAY = 22, - CLOSE_ARRAY = 23, - OPEN_BRACE = 24, - CLOSE_BRACE = 25, - OPEN_BRACKET = 26, - CLOSE_BRACKET = 27, - AT = 28, - TYPE_VOID = 29, - TYPE_OBJECT = 30, - TYPE_INTERFACE = 31, - TYPE_INT = 32, - TYPE_UINT = 33, - TYPE_FLOAT = 34, - TYPE_DOUBLE = 35, - TYPE_STRING = 36, - TYPE_CHAR = 37, - TYPE_BOOL = 38, - KEYWORD_CONST = 39, - KEYWORD_SHL = 40, - KEYWORD_SHR = 41, - KEYWORD_XOR = 42, - KEYWORD_AND = 43, - KEYWORD_OR = 44, - KEYWORD_NOT = 45, - KEYWORD_NULL = 46, - KEYWORD_THIS = 47, - KEYWORD_TRUE = 48, - KEYWORD_FALSE = 49, - KEYWORD_LET = 50, - KEYWORD_IN = 51, - KEYWORD_RANGE = 52, - KEYWORD_NEW = 53, - KEYWORD_OF = 54, - KEYWORD_AS = 55, - KEYWORD_IS = 56, - KEYWORD_CAST = 57, - KEYWORD_FUNC = 58, - KEYWORD_TYPEOF = 59, - KEYWORD_TYPE = 60, - KEYWORD_BIND = 61, - KEYWORD_OBSERVE = 62, - KEYWORD_ON = 63, - KEYWORD_ATTACH = 64, - KEYWORD_DETACH = 65, - KEYWORD_GOTO = 66, - KEYWORD_VAR = 67, - KEYWORD_BREAK = 68, - KEYWORD_CONTINUE = 69, - KEYWORD_RETURN = 70, - KEYWORD_DELETE = 71, - KEYWORD_RAISE = 72, - KEYWORD_IF = 73, - KEYWORD_ELSE = 74, - KEYWORD_SWITCH = 75, - KEYWORD_CASE = 76, - KEYWORD_DEFAULT = 77, - KEYWORD_WHILE = 78, - KEYWORD_FOR = 79, - KEYWORD_REVERSED = 80, - KEYWORD_TRY = 81, - KEYWORD_CATCH = 82, - KEYWORD_FINALLY = 83, - KEYWORD_CLASS = 84, - KEYWORD_ENUM = 85, - KEYWORD_FLAGENUM = 86, - KEYWORD_STRUCT = 87, - KEYWORD_PROP = 88, - KEYWORD_EVENT = 89, - KEYWORD_STATIC = 90, - KEYWORD_OVERRIDE = 91, - KEYWORD_USING = 92, - KEYWORD_NAMESPACE = 93, - KEYWORD_MODULE = 94, - KEYWORD_UNIT = 95, - STATE_MACHINE = 96, - STATE_INPUT = 97, - STATE_SWITCH = 98, - STATE_GOTO = 99, - STATE_PUSH = 100, - STATE_DECL = 101, - COROUTINE_COROUTINE = 102, - COROUTINE_PAUSE = 103, - COROUTINE_INTERFACE = 104, - COROUTINE_OPERATOR = 105, - COROUTINE_SIGN = 106, - NAME = 107, - ORDERED_NAME = 108, - FLOAT = 109, - INTEGER = 110, - STRING = 111, - FORMATSTRING = 112, - SPACE = 113, - COMMENT = 114, - }; + EXP = 0, + ADD = 1, + SUB = 2, + MUL = 3, + DIV = 4, + MOD = 5, + JOIN = 6, + INTERSECTION = 7, + LE = 8, + GE = 9, + LT = 10, + GT = 11, + EQ = 12, + NE = 13, + ASSIGN = 14, + FAILED_THEN = 15, + QUESTION_MARK = 16, + SCOPE_DELIMITER = 17, + COLON = 18, + SEMICOLON = 19, + COMMA = 20, + DOT = 21, + OPEN_ARRAY = 22, + CLOSE_ARRAY = 23, + OPEN_BRACE = 24, + CLOSE_BRACE = 25, + OPEN_BRACKET = 26, + CLOSE_BRACKET = 27, + AT = 28, + TYPE_VOID = 29, + TYPE_OBJECT = 30, + TYPE_INTERFACE = 31, + TYPE_INT = 32, + TYPE_UINT = 33, + TYPE_FLOAT = 34, + TYPE_DOUBLE = 35, + TYPE_STRING = 36, + TYPE_CHAR = 37, + TYPE_BOOL = 38, + KEYWORD_CONST = 39, + KEYWORD_SHL = 40, + KEYWORD_SHR = 41, + KEYWORD_XOR = 42, + KEYWORD_AND = 43, + KEYWORD_OR = 44, + KEYWORD_NOT = 45, + KEYWORD_NULL = 46, + KEYWORD_THIS = 47, + KEYWORD_TRUE = 48, + KEYWORD_FALSE = 49, + KEYWORD_LET = 50, + KEYWORD_IN = 51, + KEYWORD_RANGE = 52, + KEYWORD_NEW = 53, + KEYWORD_OF = 54, + KEYWORD_AS = 55, + KEYWORD_IS = 56, + KEYWORD_CAST = 57, + KEYWORD_FUNC = 58, + KEYWORD_TYPEOF = 59, + KEYWORD_TYPE = 60, + KEYWORD_BIND = 61, + KEYWORD_OBSERVE = 62, + KEYWORD_ON = 63, + KEYWORD_ATTACH = 64, + KEYWORD_DETACH = 65, + KEYWORD_GOTO = 66, + KEYWORD_VAR = 67, + KEYWORD_BREAK = 68, + KEYWORD_CONTINUE = 69, + KEYWORD_RETURN = 70, + KEYWORD_DELETE = 71, + KEYWORD_RAISE = 72, + KEYWORD_IF = 73, + KEYWORD_ELSE = 74, + KEYWORD_SWITCH = 75, + KEYWORD_CASE = 76, + KEYWORD_DEFAULT = 77, + KEYWORD_WHILE = 78, + KEYWORD_FOR = 79, + KEYWORD_REVERSED = 80, + KEYWORD_TRY = 81, + KEYWORD_CATCH = 82, + KEYWORD_FINALLY = 83, + KEYWORD_CLASS = 84, + KEYWORD_ENUM = 85, + KEYWORD_FLAGENUM = 86, + KEYWORD_STRUCT = 87, + KEYWORD_PROP = 88, + KEYWORD_EVENT = 89, + KEYWORD_STATIC = 90, + KEYWORD_OVERRIDE = 91, + KEYWORD_USING = 92, + KEYWORD_NAMESPACE = 93, + KEYWORD_MODULE = 94, + KEYWORD_UNIT = 95, + STATE_MACHINE = 96, + STATE_INPUT = 97, + STATE_SWITCH = 98, + STATE_GOTO = 99, + STATE_PUSH = 100, + STATE_DECL = 101, + COROUTINE_COROUTINE = 102, + COROUTINE_PAUSE = 103, + COROUTINE_INTERFACE = 104, + COROUTINE_OPERATOR = 105, + COROUTINE_SIGN = 106, + NAME = 107, + ORDERED_NAME = 108, + FLOAT = 109, + INTEGER = 110, + STRING = 111, + FORMATSTRING = 112, + SPACE = 113, + COMMENT = 114, + }; - constexpr vl::vint WorkflowTokenCount = 115; - extern bool WorkflowTokenDeleter(vl::vint token); - extern const wchar_t* WorkflowTokenId(WorkflowTokens token); - extern const wchar_t* WorkflowTokenDisplayText(WorkflowTokens token); - extern const wchar_t* WorkflowTokenRegex(WorkflowTokens token); - extern void WorkflowLexerData(vl::stream::IStream& outputStream); - } + constexpr vl::vint WorkflowTokenCount = 115; + extern bool WorkflowTokenDeleter(vl::vint token); + extern const wchar_t* WorkflowTokenId(WorkflowTokens token); + extern const wchar_t* WorkflowTokenDisplayText(WorkflowTokens token); + extern const wchar_t* WorkflowTokenRegex(WorkflowTokens token); + extern void WorkflowLexerData(vl::stream::IStream& outputStream); } #endif @@ -4655,112 +4610,110 @@ Licensed under https://github.com/vczh-libraries/License #define VCZH_WORKFLOW_PARSER_PARSER_SYNTAX -namespace vl +namespace vl::workflow { - namespace workflow + enum class ParserStates { - enum class ParserStates - { - _Type = 0, - _CtorFragment = 50, - _LetVariable = 55, - _VirtualExpression = 60, - _BeginBoundary = 81, - _EndBoundary = 85, - _SetTestingOperator = 89, - _ExpPrimitive = 94, - _Exp0 = 231, - _Exp1 = 246, - _Exp2 = 252, - _Exp3 = 264, - _Exp4 = 279, - _Exp5 = 288, - _Exp6 = 309, - _Exp7 = 315, - _Exp8 = 321, - _Exp9 = 327, - _Exp10 = 333, - _Exp11 = 341, - _Expression = 347, - _SwitchCase = 350, - _Block = 356, - _ElseStat = 364, - _If = 368, - _ForOperator = 382, - _VirtualStatement = 387, - _CoStatement = 406, - _CoProvider = 418, - _StateSwitchHead = 423, - _StateSwitchArgument = 446, - _StateSwitchCase = 449, - _StateStatement = 460, - _Statement = 480, - _StateInput = 520, - _StateDecl = 529, - _StateMachine = 539, - _Attribute = 546, - _Namespace = 555, - _FunctionArgument = 562, - _FunctionArgumentList = 568, - _FunctionStat = 574, - _FunctionBody = 578, - _FunctionKind = 588, - _Function = 595, - _Variable = 602, - _Event = 611, - _Property = 620, - _BaseConstructorCall = 633, - _ConstructorType = 641, - _Constructor = 646, - _Destructor = 657, - _ClassBody = 661, - _Class = 670, - _EnumItemInt = 682, - _EnumItemA = 685, - _EnumItemB = 692, - _Enum = 701, - _StructMember = 716, - _Struct = 723, - _APConfig = 730, - _AutoPropertyKind = 747, - _AutoProperty = 754, - _CastResultInterface = 763, - _DeclarationCandidates = 773, - _Declaration = 787, - _UsingFragment = 791, - _UsingItem = 795, - _UsingPath = 799, - _ModuleBody = 806, - _Module = 812, - }; + _Type = 0, + _CtorFragment = 50, + _LetVariable = 55, + _VirtualExpression = 60, + _BeginBoundary = 81, + _EndBoundary = 85, + _SetTestingOperator = 89, + _ExpPrimitive = 94, + _Exp0 = 231, + _Exp1 = 246, + _Exp2 = 252, + _Exp3 = 264, + _Exp4 = 279, + _Exp5 = 288, + _Exp6 = 309, + _Exp7 = 315, + _Exp8 = 321, + _Exp9 = 327, + _Exp10 = 333, + _Exp11 = 341, + _Expression = 347, + _SwitchCase = 350, + _Block = 356, + _ElseStat = 364, + _If = 368, + _ForOperator = 382, + _VirtualStatement = 387, + _CoStatement = 406, + _CoProvider = 418, + _StateSwitchHead = 423, + _StateSwitchArgument = 446, + _StateSwitchCase = 449, + _StateStatement = 460, + _Statement = 480, + _StateInput = 520, + _StateDecl = 529, + _StateMachine = 539, + _Attribute = 546, + _Namespace = 555, + _FunctionArgument = 562, + _FunctionArgumentList = 568, + _FunctionStat = 574, + _FunctionBody = 578, + _FunctionKind = 588, + _Function = 595, + _Variable = 602, + _Event = 611, + _Property = 620, + _BaseConstructorCall = 633, + _ConstructorType = 641, + _Constructor = 646, + _Destructor = 657, + _ClassBody = 661, + _Class = 670, + _EnumItemInt = 682, + _EnumItemA = 685, + _EnumItemB = 692, + _Enum = 701, + _StructMember = 716, + _Struct = 723, + _APConfig = 730, + _AutoPropertyKind = 747, + _AutoProperty = 754, + _CastResultInterface = 763, + _DeclarationCandidates = 773, + _Declaration = 787, + _UsingFragment = 791, + _UsingItem = 795, + _UsingPath = 799, + _ModuleBody = 806, + _Module = 812, + }; - const wchar_t* ParserRuleName(vl::vint index); - const wchar_t* ParserStateLabel(vl::vint index); - extern void WorkflowParserData(vl::stream::IStream& outputStream); + const wchar_t* ParserRuleName(vl::vint index); + const wchar_t* ParserStateLabel(vl::vint index); + extern void WorkflowParserData(vl::stream::IStream& outputStream); - class Parser - : public vl::glr::ParserBase - , protected vl::glr::automaton::IExecutor::ITypeCallback - { - protected: - vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; - public: - Parser(); + class Parser + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback + { + protected: + vl::WString GetClassName(vl::vint32_t classIndex) const override; + vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; + public: + Parser(); - vl::Ptr Parse_Type(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr Parse_Type(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - vl::Ptr Parse_Expression(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr Parse_Expression(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - vl::Ptr Parse_CoProvider(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr Parse_CoProvider(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - vl::Ptr Parse_Statement(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr Parse_Statement(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - vl::Ptr Parse_Declaration(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr Parse_Declaration(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - vl::Ptr Parse_Module(const vl::WString& input, vl::vint codeIndex = -1) const; - vl::Ptr Parse_Module(vl::collections::List& tokens, vl::vint codeIndex = -1) const; - }; - } + vl::Ptr Parse_Type(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr Parse_Type(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + vl::Ptr Parse_Expression(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr Parse_Expression(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + vl::Ptr Parse_CoProvider(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr Parse_CoProvider(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + vl::Ptr Parse_Statement(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr Parse_Statement(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + vl::Ptr Parse_Declaration(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr Parse_Declaration(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + vl::Ptr Parse_Module(const vl::WString& input, vl::vint codeIndex = -1) const; + vl::Ptr Parse_Module(vl::collections::List& tokens, vl::vint codeIndex = -1) const; + }; } #endif @@ -5828,7 +5781,7 @@ namespace vl { auto tdA = manager->declarationTypes[a.Obj()].Obj(); auto tdB = manager->declarationTypes[b.Obj()].Obj(); - return WString::Compare(tdA->GetTypeName(), tdB->GetTypeName()); + return tdA->GetTypeName() <=> tdB->GetTypeName(); }); } diff --git a/Import/VlppWorkflowRuntime.cpp b/Import/VlppWorkflowRuntime.cpp index 392829ad..8085a06a 100644 --- a/Import/VlppWorkflowRuntime.cpp +++ b/Import/VlppWorkflowRuntime.cpp @@ -2826,9 +2826,9 @@ WfDebugger BreakPoints PropertyKey key1(breakPoint.thisObject, breakPoint.propertyInfo); MethodKey key2(breakPoint.thisObject, breakPoint.propertyInfo->GetGetter()); TEST(true, key1, getPropertyBreakPoints); - TEST(key2.f1, key2, invokeMethodBreakPoints); + TEST(key2.get<1>(), key2, invokeMethodBreakPoints); SET(key1, getPropertyBreakPoints); - SETC(key2.f1, key2, invokeMethodBreakPoints); + SETC(key2.get<1>(), key2, invokeMethodBreakPoints); } break; case WfBreakPoint::SetProperty: @@ -2836,9 +2836,9 @@ WfDebugger BreakPoints PropertyKey key1(breakPoint.thisObject, breakPoint.propertyInfo); MethodKey key2(breakPoint.thisObject, breakPoint.propertyInfo->GetSetter()); TEST(true, key1, setPropertyBreakPoints); - TEST(key2.f1, key2, invokeMethodBreakPoints); + TEST(key2.get<1>(), key2, invokeMethodBreakPoints); SET(key1, setPropertyBreakPoints); - SETC(key2.f1, key2, invokeMethodBreakPoints); + SETC(key2.get<1>(), key2, invokeMethodBreakPoints); } break; case WfBreakPoint::AttachEvent: diff --git a/Tools/Executables/CodePack/Codepack_Combine.cpp b/Tools/Executables/CodePack/Codepack_Combine.cpp index 98fbadaa..19f65863 100644 --- a/Tools/Executables/CodePack/Codepack_Combine.cpp +++ b/Tools/Executables/CodePack/Codepack_Combine.cpp @@ -29,11 +29,9 @@ void CollectConditions( vint index = conditions.Keys().IndexOf(file); if (index != -1) { - const auto& tuples = conditions.GetByIndex(index); - for (vint i = 0; i < tuples.Count(); i++) + for (auto [condition, path] : conditions.GetByIndex(index)) { - auto condition = tuples[i].f0; - auto includeFile = inputFileToOutputFiles[tuples[i].f1]; + auto includeFile = inputFileToOutputFiles[path]; if (!categorizedConditions.Contains(condition, includeFile)) { categorizedConditions.Add(condition, includeFile); diff --git a/Tools/Executables/CodePack/Main.cpp b/Tools/Executables/CodePack/Main.cpp index 8419e742..4fae4f50 100644 --- a/Tools/Executables/CodePack/Main.cpp +++ b/Tools/Executables/CodePack/Main.cpp @@ -40,15 +40,15 @@ int main(int argc, char* argv[]) CopyFrom( categorizedOutput, XmlGetElements(XmlGetElement(config->rootElement, L"output"), L"codepair") - .Select([&](Ptr e)->Pair> + .Select([&](Ptr e) { - return { + return Pair( XmlGetAttribute(e, L"category")->value.value, - { + Tuple( XmlGetAttribute(e, L"filename")->value.value, XmlGetAttribute(e, L"generate")->value.value == L"true" - } - }; + ) + ); }) ); } @@ -113,7 +113,7 @@ int main(int argc, char* argv[]) Dictionary skippedImportFiles; // file name -> file path for (vint i = 0; i < categorizedOutput.Count(); i++) { - if (!categorizedOutput.Values()[i].f1) + if (!categorizedOutput.Values()[i].get<1>()) { auto category = categorizedOutput.Keys()[i]; for (auto skippedImportFile : categorizedHeaderFiles[category]) @@ -206,7 +206,7 @@ int main(int argc, char* argv[]) { auto key = inputFileToCategories.Keys()[i]; auto value = inputFileToCategories.Values()[i]; - inputFileToOutputFiles.Add(key, categorizedOutput[value].f0); + inputFileToOutputFiles.Add(key, categorizedOutput[value].get<0>()); } } @@ -233,7 +233,7 @@ int main(int argc, char* argv[]) }) .Select([&](vint nodeIndex) { - return categorizedOutput[componentToCategoryNames[popCategories.nodes[nodeIndex].component][0]].f0 + L".h"; + return categorizedOutput[componentToCategoryNames[popCategories.nodes[nodeIndex].component][0]].get<0>() + L".h"; }) ); } @@ -243,13 +243,13 @@ int main(int argc, char* argv[]) for (vint i = 0; i < popCategories.components.Count(); i++) { auto categoryName = componentToCategoryNames[i][0]; - auto outputPath = outputFolder / (categorizedOutput[categoryName].f0 + L".h"); - auto outputIncludeOnlyPath = outputIncludeOnlyFolder / (categorizedOutput[categoryName].f0 + L".h"); + auto outputPath = outputFolder / (categorizedOutput[categoryName].get<0>() + L".h"); + auto outputIncludeOnlyPath = outputIncludeOnlyFolder / (categorizedOutput[categoryName].get<0>() + L".h"); auto systemIncludes = Ptr(new SortedList); categorizedSystemIncludes.Add(categoryName, systemIncludes); - if (categorizedOutput[categoryName].f1) + if (categorizedOutput[categoryName].get<1>()) { vint headerIndex = categorizedHeaderFiles.Keys().IndexOf(categoryName); if (headerIndex == -1) continue; @@ -272,13 +272,13 @@ int main(int argc, char* argv[]) for (vint i = 0; i < popCategories.components.Count(); i++) { auto categoryName = componentToCategoryNames[i][0]; - if (categorizedOutput[categoryName].f1) + if (categorizedOutput[categoryName].get<1>()) { - WString outputHeader[] = { categorizedOutput[categoryName].f0 + L".h" }; + WString outputHeader[] = { categorizedOutput[categoryName].get<0>() + L".h"}; vint headerIndex = categorizedHeaderFiles.Keys().IndexOf(categoryName); - auto outputPath = outputFolder / (categorizedOutput[categoryName].f0 + L".cpp"); - auto outputIncludeOnlyPath = outputIncludeOnlyFolder / (categorizedOutput[categoryName].f0 + L".cpp"); + auto outputPath = outputFolder / (categorizedOutput[categoryName].get<0>() + L".cpp"); + auto outputIncludeOnlyPath = outputIncludeOnlyFolder / (categorizedOutput[categoryName].get<0>() + L".cpp"); Combine( inputFileToOutputFiles, skippedImportFiles, diff --git a/Tools/Executables/GlrParserGen/Main.cpp b/Tools/Executables/GlrParserGen/Main.cpp index 3cfb3325..de925144 100644 --- a/Tools/Executables/GlrParserGen/Main.cpp +++ b/Tools/Executables/GlrParserGen/Main.cpp @@ -321,39 +321,6 @@ int main(int argc, char* argv[]) syntaxManager.BuildAutomaton(lexerManager.Tokens().Count(), executable, metadata); EXIT_IF_COMPILE_FAIL(global); - for (auto elementExport : XmlGetElements(elementSyntax, L"Export")) - { - WString rule; - READ_ATTRIBUTE(rule, elementExport, L"rule", L"/Parser/Syntax@file[@name=\"" + name + L"\"]/Export@rule"); - - vint index = syntaxManager.Rules().Keys().IndexOf(rule); - if (index == -1) - { - EXIT_ERROR(L"Rule \"" + rule + L"\" is not defined in the syntax."); - } - - auto ruleSymbol = syntaxManager.Rules().Values()[index]; - syntaxManager.parsableRules.Add(ruleSymbol); - - if (auto attType = XmlGetAttribute(elementExport, L"type")) - { - syntaxManager.ruleTypes.Add(ruleSymbol, attType->value.value); - } - else - { - auto classSymbol = ruleSymbol->ruleType; - auto classFile = classSymbol->Owner(); - auto type = - From(classFile->cppNss) - .Reverse() - .Aggregate( - classFile->classPrefix + classSymbol->Name(), - [](auto&& a, auto&& b) { return b + L"::" + a; } - ); - syntaxManager.ruleTypes.Add(ruleSymbol, type); - } - } - GenerateSyntaxFileNames(syntaxManager, output); WriteSyntaxFiles(syntaxManager, executable, metadata, output, files); } diff --git a/Tools/Reflection32.bin b/Tools/Reflection32.bin index e72e3b71..a2a0f8f7 100644 Binary files a/Tools/Reflection32.bin and b/Tools/Reflection32.bin differ diff --git a/Tools/Reflection64.bin b/Tools/Reflection64.bin index e53dee5d..a7225914 100644 Binary files a/Tools/Reflection64.bin and b/Tools/Reflection64.bin differ diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 index 357daf6a..0dfd6d72 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 and b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 differ diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 index 9e748642..2168928d 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 and b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 differ