//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//       LottieGen version:
//           8.1.240821.1+077322fa26
//       
//       Command:
//           LottieGen -Language CSharp -Public -WinUIVersion 3.0 -InputFile Blueprint.json
//       
//       Input file:
//           Blueprint.json (178324 bytes created 14:04+02:00 Nov 17 2024)
//       
//       LottieGen source:
//           http://aka.ms/Lottie
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
// ____________________________________
// |       Object stats       | Count |
// |__________________________|_______|
// | All CompositionObjects   |   130 |
// |--------------------------+-------|
// | Expression animators     |     1 |
// | KeyFrame animators       |     8 |
// | Reference parameters     |     1 |
// | Expression operations    |     0 |
// |--------------------------+-------|
// | Animated brushes         |     - |
// | Animated gradient stops  |     - |
// | ExpressionAnimations     |     1 |
// | PathKeyFrameAnimations   |     - |
// |--------------------------+-------|
// | ContainerVisuals         |     3 |
// | ShapeVisuals             |     4 |
// |--------------------------+-------|
// | ContainerShapes          |     1 |
// | CompositionSpriteShapes  |    11 |
// |--------------------------+-------|
// | Brushes                  |    14 |
// | Gradient stops           |     7 |
// | CompositionVisualSurface |     2 |
// ------------------------------------
using Microsoft.Graphics;
using Microsoft.Graphics.Canvas;
using Microsoft.Graphics.Canvas.Effects;
using Microsoft.Graphics.Canvas.Geometry;
using Microsoft.UI.Composition;
using System;
using System.Collections.Generic;
using System.Numerics;
using Windows.UI;

namespace AnimatedVisuals
{
    // Name:        blueprint
    // Frame rate:  24 fps
    // Frame count: 28
    // Duration:    1166.7 mS
    // _____________________________________________________________________________________________
    // |           Marker           |           Constant           | Frame |   mS   |   Progress   |
    // |____________________________|______________________________|_______|________|______________|
    // | NormalToPressed_Start      | M_NormalToPressed_Start      |     0 |    0.0 | 0F           |
    // | NormalToPressed_End        | M_NormalToPressed_End        |     9 |  375.0 | 0.323214293F |
    // | PointerOverToPressed_Start | M_PointerOverToPressed_Start |     9 |  375.0 | 0.323214293F |
    // | PointerOverToPressed_End   | M_PointerOverToPressed_End   |    19 |  791.7 | 0.680357158F |
    // | PressedToNormal_Start      | M_PressedToNormal_Start      |    20 |  833.3 | 0.716071427F |
    // | PressedToNormal_End        | M_PressedToNormal_End        |    28 | 1166.7 | 1F           |
    // | PressedToPointerOver_Start | M_PressedToPointerOver_Start |    28 | 1166.7 | 1F           |
    // | PressedToPointerOver_End   | M_PressedToPointerOver_End   |    28 | 1166.7 | 1F           |
    // ---------------------------------------------------------------------------------------------
    sealed partial class Blueprint
        : Microsoft.UI.Xaml.Controls.IAnimatedVisualSource
        , Microsoft.UI.Xaml.Controls.IAnimatedVisualSource2
    {
        // Animation duration: 1.167 seconds.
        internal const long c_durationTicks = 11666666;

        // Marker: NormalToPressed_Start.
        internal const float M_NormalToPressed_Start = 0F;

        // Marker: NormalToPressed_End.
        internal const float M_NormalToPressed_End = 0.323214293F;

        // Marker: PointerOverToPressed_Start.
        internal const float M_PointerOverToPressed_Start = 0.323214293F;

        // Marker: PointerOverToPressed_End.
        internal const float M_PointerOverToPressed_End = 0.680357158F;

        // Marker: PressedToNormal_Start.
        internal const float M_PressedToNormal_Start = 0.716071427F;

        // Marker: PressedToNormal_End.
        internal const float M_PressedToNormal_End = 1F;

        // Marker: PressedToPointerOver_Start.
        internal const float M_PressedToPointerOver_Start = 1F;

        // Marker: PressedToPointerOver_End.
        internal const float M_PressedToPointerOver_End = 1F;

        public Microsoft.UI.Xaml.Controls.IAnimatedVisual TryCreateAnimatedVisual(Compositor compositor)
        {
            object ignored = null;
            return TryCreateAnimatedVisual(compositor, out ignored);
        }

        public Microsoft.UI.Xaml.Controls.IAnimatedVisual TryCreateAnimatedVisual(Compositor compositor, out object diagnostics)
        {
            diagnostics = null;

            var res =
                new Blueprint_AnimatedVisual(
                    compositor
                    );
            res.CreateAnimations();
            return res;
        }

        /// <summary>
        /// Gets the number of frames in the animation.
        /// </summary>
        public double FrameCount => 28d;

        /// <summary>
        /// Gets the frame rate of the animation.
        /// </summary>
        public double Framerate => 24d;

        /// <summary>
        /// Gets the duration of the animation.
        /// </summary>
        public TimeSpan Duration => TimeSpan.FromTicks(11666666);

        /// <summary>
        /// Converts a zero-based frame number to the corresponding progress value denoting the
        /// start of the frame.
        /// </summary>
        public double FrameToProgress(double frameNumber)
        {
            return frameNumber / 28d;
        }

        /// <summary>
        /// Returns a map from marker names to corresponding progress values.
        /// </summary>
        public IReadOnlyDictionary<string, double> Markers =>
            new Dictionary<string, double>
            {
                { "NormalToPressed_Start", 0d },
                { "NormalToPressed_End", 0.323214285714286 },
                { "PointerOverToPressed_Start", 0.323214285714286 },
                { "PointerOverToPressed_End", 0.680357142857143 },
                { "PressedToNormal_Start", 0.716071428571429 },
                { "PressedToNormal_End", 1d },
                { "PressedToPointerOver_Start", 1d },
                { "PressedToPointerOver_End", 1d },
            };

        /// <summary>
        /// Sets the color property with the given name, or does nothing if no such property
        /// exists.
        /// </summary>
        public void SetColorProperty(string propertyName, Color value)
        {
        }

        /// <summary>
        /// Sets the scalar property with the given name, or does nothing if no such property
        /// exists.
        /// </summary>
        public void SetScalarProperty(string propertyName, double value)
        {
        }

        sealed partial class Blueprint_AnimatedVisual
            : Microsoft.UI.Xaml.Controls.IAnimatedVisual
            , Microsoft.UI.Xaml.Controls.IAnimatedVisual2
        {
            const long c_durationTicks = 11666666;
            readonly Compositor _c;
            readonly ExpressionAnimation _reusableExpressionAnimation;
            AnimationController _animationController_0;
            CompositionColorGradientStop _gradientStop_0_AlmostPeru_FFC67740;
            CompositionColorGradientStop _gradientStop_0_AlmostRoyalBlue_FF2F79D5;
            CompositionColorGradientStop _gradientStop_1_AlmostRoyalBlue_FF297BD2;
            CompositionColorGradientStop _gradientStop_1_AlmostSienna_FFAF612B;
            CompositionContainerShape _containerShape;
            CompositionPathGeometry _pathGeometry_0;
            CompositionPathGeometry _pathGeometry_3;
            CompositionPathGeometry _pathGeometry_5;
            CompositionSpriteShape _spriteShape_00;
            CompositionSpriteShape _spriteShape_01;
            CompositionSpriteShape _spriteShape_02;
            ContainerVisual _root;
            CubicBezierEasingFunction _cubicBezierEasingFunction_0;
            ScalarKeyFrameAnimation _scalarAnimation_4_to_4_0;
            ScalarKeyFrameAnimation _scalarAnimation_4_to_4_1;
            StepEasingFunction _holdThenStepEasingFunction;
            StepEasingFunction _stepThenHoldEasingFunction;

            void BindProperty(
                CompositionObject target,
                string animatedPropertyName,
                string expression,
                string referenceParameterName,
                CompositionObject referencedObject)
            {
                _reusableExpressionAnimation.ClearAllParameters();
                _reusableExpressionAnimation.Expression = expression;
                _reusableExpressionAnimation.SetReferenceParameter(referenceParameterName, referencedObject);
                target.StartAnimation(animatedPropertyName, _reusableExpressionAnimation);
            }

            ScalarKeyFrameAnimation CreateScalarKeyFrameAnimation(float initialProgress, float initialValue, CompositionEasingFunction initialEasingFunction)
            {
                var result = _c.CreateScalarKeyFrameAnimation();
                result.Duration = TimeSpan.FromTicks(c_durationTicks);
                result.InsertKeyFrame(initialProgress, initialValue, initialEasingFunction);
                return result;
            }

            Vector2KeyFrameAnimation CreateVector2KeyFrameAnimation(float initialProgress, Vector2 initialValue, CompositionEasingFunction initialEasingFunction)
            {
                var result = _c.CreateVector2KeyFrameAnimation();
                result.Duration = TimeSpan.FromTicks(c_durationTicks);
                result.InsertKeyFrame(initialProgress, initialValue, initialEasingFunction);
                return result;
            }

            CompositionSpriteShape CreateSpriteShape(CompositionGeometry geometry, Matrix3x2 transformMatrix, CompositionBrush fillBrush)
            {
                var result = _c.CreateSpriteShape(geometry);
                result.TransformMatrix = transformMatrix;
                result.FillBrush = fillBrush;
                return result;
            }

            AnimationController AnimationController_0()
            {
                if (_animationController_0 != null) { return _animationController_0; }
                var result = _animationController_0 = _c.CreateAnimationController();
                result.Pause();
                BindProperty(_animationController_0, "Progress", "_.Progress", "_", _root);
                return result;
            }

            CanvasGeometry Geometry_00()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-15F, -17F));
                    builder.AddLine(new Vector2(15F, -17F));
                    builder.AddCubicBezier(new Vector2(16.1049995F, -17F), new Vector2(17F, -16.1049995F), new Vector2(17F, -15F));
                    builder.AddLine(new Vector2(17F, 15F));
                    builder.AddCubicBezier(new Vector2(17F, 16.1049995F), new Vector2(16.1049995F, 17F), new Vector2(15F, 17F));
                    builder.AddLine(new Vector2(-15F, 17F));
                    builder.AddCubicBezier(new Vector2(-16.1049995F, 17F), new Vector2(-17F, 16.1049995F), new Vector2(-17F, 15F));
                    builder.AddLine(new Vector2(-17F, -15F));
                    builder.AddCubicBezier(new Vector2(-17F, -16.1049995F), new Vector2(-16.1049995F, -17F), new Vector2(-15F, -17F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - Shape tree root for layer: net
            // - - ShapeGroup: Group 1
            // - Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path
            // 1.PathGeometry
            CanvasGeometry Geometry_01()
            {
                var result = CanvasGeometry.CreateGroup(
                    null,
                    new CanvasGeometry[] { Geometry_02(), Geometry_03(), Geometry_04(), Geometry_05(), Geometry_06(), Geometry_07(), Geometry_08(), Geometry_09(), Geometry_10(), Geometry_11() },
                    CanvasFilledRegionDetermination.Winding);
                return result;
            }

            // - - - - Shape tree root for layer: net
            // - - - ShapeGroup: Group 1
            // - - Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path
            // 1.PathGeometry
            CanvasGeometry Geometry_02()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(16F, -11F));
                    builder.AddLine(new Vector2(16F, -12F));
                    builder.AddLine(new Vector2(10F, -12F));
                    builder.AddLine(new Vector2(10F, -18F));
                    builder.AddLine(new Vector2(9F, -18F));
                    builder.AddLine(new Vector2(9F, -12F));
                    builder.AddLine(new Vector2(3F, -12F));
                    builder.AddLine(new Vector2(3F, -18F));
                    builder.AddLine(new Vector2(2F, -18F));
                    builder.AddLine(new Vector2(2F, -12F));
                    builder.AddLine(new Vector2(-4F, -12F));
                    builder.AddLine(new Vector2(-4F, -18F));
                    builder.AddLine(new Vector2(-5F, -18F));
                    builder.AddLine(new Vector2(-5F, -12F));
                    builder.AddLine(new Vector2(-11F, -12F));
                    builder.AddLine(new Vector2(-11F, -18F));
                    builder.AddLine(new Vector2(-12F, -18F));
                    builder.AddLine(new Vector2(-12F, -12F));
                    builder.AddLine(new Vector2(-18F, -12F));
                    builder.AddLine(new Vector2(-18F, -11F));
                    builder.AddLine(new Vector2(-12F, -11F));
                    builder.AddLine(new Vector2(-12F, -5F));
                    builder.AddLine(new Vector2(-18F, -5F));
                    builder.AddLine(new Vector2(-18F, -4F));
                    builder.AddLine(new Vector2(-12F, -4F));
                    builder.AddLine(new Vector2(-12F, 2F));
                    builder.AddLine(new Vector2(-18F, 2F));
                    builder.AddLine(new Vector2(-18F, 3F));
                    builder.AddLine(new Vector2(-12F, 3F));
                    builder.AddLine(new Vector2(-12F, 9F));
                    builder.AddLine(new Vector2(-18F, 9F));
                    builder.AddLine(new Vector2(-18F, 10F));
                    builder.AddLine(new Vector2(-12F, 10F));
                    builder.AddLine(new Vector2(-12F, 16F));
                    builder.AddLine(new Vector2(-11F, 16F));
                    builder.AddLine(new Vector2(-11F, 10F));
                    builder.AddLine(new Vector2(-5F, 10F));
                    builder.AddLine(new Vector2(-5F, 16F));
                    builder.AddLine(new Vector2(-4F, 16F));
                    builder.AddLine(new Vector2(-4F, 10F));
                    builder.AddLine(new Vector2(2F, 10F));
                    builder.AddLine(new Vector2(2F, 16F));
                    builder.AddLine(new Vector2(3F, 16F));
                    builder.AddLine(new Vector2(3F, 10F));
                    builder.AddLine(new Vector2(9F, 10F));
                    builder.AddLine(new Vector2(9F, 16F));
                    builder.AddLine(new Vector2(10F, 16F));
                    builder.AddLine(new Vector2(10F, 10F));
                    builder.AddLine(new Vector2(16F, 10F));
                    builder.AddLine(new Vector2(16F, 9F));
                    builder.AddLine(new Vector2(10F, 9F));
                    builder.AddLine(new Vector2(10F, 3F));
                    builder.AddLine(new Vector2(16F, 3F));
                    builder.AddLine(new Vector2(16F, 2F));
                    builder.AddLine(new Vector2(10F, 2F));
                    builder.AddLine(new Vector2(10F, -4F));
                    builder.AddLine(new Vector2(16F, -4F));
                    builder.AddLine(new Vector2(16F, -5F));
                    builder.AddLine(new Vector2(10F, -5F));
                    builder.AddLine(new Vector2(10F, -11F));
                    builder.AddLine(new Vector2(16F, -11F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: net
            // - - - ShapeGroup: Group 1
            // - - Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path
            // 1.PathGeometry
            CanvasGeometry Geometry_03()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-5F, 9F));
                    builder.AddLine(new Vector2(-11F, 9F));
                    builder.AddLine(new Vector2(-11F, 3F));
                    builder.AddLine(new Vector2(-5F, 3F));
                    builder.AddLine(new Vector2(-5F, 9F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: net
            // - - - ShapeGroup: Group 1
            // - - Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path
            // 1.PathGeometry
            CanvasGeometry Geometry_04()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-5F, 2F));
                    builder.AddLine(new Vector2(-11F, 2F));
                    builder.AddLine(new Vector2(-11F, -4F));
                    builder.AddLine(new Vector2(-5F, -4F));
                    builder.AddLine(new Vector2(-5F, 2F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: net
            // - - - ShapeGroup: Group 1
            // - - Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path
            // 1.PathGeometry
            CanvasGeometry Geometry_05()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-5F, -5F));
                    builder.AddLine(new Vector2(-11F, -5F));
                    builder.AddLine(new Vector2(-11F, -11F));
                    builder.AddLine(new Vector2(-5F, -11F));
                    builder.AddLine(new Vector2(-5F, -5F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: net
            // - - - ShapeGroup: Group 1
            // - - Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path
            // 1.PathGeometry
            CanvasGeometry Geometry_06()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(2F, 9F));
                    builder.AddLine(new Vector2(-4F, 9F));
                    builder.AddLine(new Vector2(-4F, 3F));
                    builder.AddLine(new Vector2(2F, 3F));
                    builder.AddLine(new Vector2(2F, 9F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: net
            // - - - ShapeGroup: Group 1
            // - - Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path
            // 1.PathGeometry
            CanvasGeometry Geometry_07()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(2F, 2F));
                    builder.AddLine(new Vector2(-4F, 2F));
                    builder.AddLine(new Vector2(-4F, -4F));
                    builder.AddLine(new Vector2(2F, -4F));
                    builder.AddLine(new Vector2(2F, 2F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: net
            // - - - ShapeGroup: Group 1
            // - - Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path
            // 1.PathGeometry
            CanvasGeometry Geometry_08()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(2F, -5F));
                    builder.AddLine(new Vector2(-4F, -5F));
                    builder.AddLine(new Vector2(-4F, -11F));
                    builder.AddLine(new Vector2(2F, -11F));
                    builder.AddLine(new Vector2(2F, -5F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: net
            // - - - ShapeGroup: Group 1
            // - - Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path
            // 1.PathGeometry
            CanvasGeometry Geometry_09()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(9F, 9F));
                    builder.AddLine(new Vector2(3F, 9F));
                    builder.AddLine(new Vector2(3F, 3F));
                    builder.AddLine(new Vector2(9F, 3F));
                    builder.AddLine(new Vector2(9F, 9F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: net
            // - - - ShapeGroup: Group 1
            // - - Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path
            // 1.PathGeometry
            CanvasGeometry Geometry_10()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(9F, 2F));
                    builder.AddLine(new Vector2(3F, 2F));
                    builder.AddLine(new Vector2(3F, -4F));
                    builder.AddLine(new Vector2(9F, -4F));
                    builder.AddLine(new Vector2(9F, 2F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: net
            // - - - ShapeGroup: Group 1
            // - - Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path
            // 1.PathGeometry
            CanvasGeometry Geometry_11()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(9F, -5F));
                    builder.AddLine(new Vector2(3F, -5F));
                    builder.AddLine(new Vector2(3F, -11F));
                    builder.AddLine(new Vector2(9F, -11F));
                    builder.AddLine(new Vector2(9F, -5F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: ruler
            // - - ShapeGroup: Group 8 Offset:<38.001, 38>
            CanvasGeometry Geometry_12()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(9.71100044F, -4.59100008F));
                    builder.AddLine(new Vector2(-4.59100008F, 9.71100044F));
                    builder.AddCubicBezier(new Vector2(-4.98000002F, 10.0959997F), new Vector2(-5.60699987F, 10.0959997F), new Vector2(-5.99599981F, 9.71100044F));
                    builder.AddLine(new Vector2(-9.71199989F, 5.99599981F));
                    builder.AddCubicBezier(new Vector2(-10.0970001F, 5.60699987F), new Vector2(-10.0970001F, 4.98000002F), new Vector2(-9.71199989F, 4.59100008F));
                    builder.AddLine(new Vector2(4.59000015F, -9.71100044F));
                    builder.AddCubicBezier(new Vector2(4.97900009F, -10.0959997F), new Vector2(5.60599995F, -10.0959997F), new Vector2(5.99499989F, -9.71100044F));
                    builder.AddLine(new Vector2(9.71100044F, -5.99599981F));
                    builder.AddCubicBezier(new Vector2(10.0970001F, -5.60699987F), new Vector2(10.0979996F, -4.98000002F), new Vector2(9.71100044F, -4.59100008F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_13()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(1.38F, 1.02499998F));
                    builder.AddLine(new Vector2(1.02999997F, 1.38F));
                    builder.AddCubicBezier(new Vector2(0.935000002F, 1.47800004F), new Vector2(0.777999997F, 1.48000002F), new Vector2(0.680000007F, 1.38499999F));
                    builder.AddCubicBezier(new Vector2(0.677999973F, 1.38300002F), new Vector2(0.676999986F, 1.38199997F), new Vector2(0.675000012F, 1.38F));
                    builder.AddLine(new Vector2(-1.45500004F, -0.75F));
                    builder.AddLine(new Vector2(-0.75F, -1.45500004F));
                    builder.AddLine(new Vector2(1.38F, 0.675000012F));
                    builder.AddCubicBezier(new Vector2(1.477F, 0.76700002F), new Vector2(1.48000002F, 0.920000017F), new Vector2(1.38800001F, 1.01699996F));
                    builder.AddLine(new Vector2(1.38F, 1.02499998F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: ruler
            // - - ShapeGroup: Group 6 Offset:<40.053, 32.037>
            CanvasGeometry Geometry_14()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-0.252999991F, -0.958000004F));
                    builder.AddLine(new Vector2(0.883000016F, 0.178000003F));
                    builder.AddCubicBezier(new Vector2(0.980000019F, 0.270000011F), new Vector2(0.98299998F, 0.421999991F), new Vector2(0.890999973F, 0.518999994F));
                    builder.AddCubicBezier(new Vector2(0.888000011F, 0.522000015F), new Vector2(0.885999978F, 0.524999976F), new Vector2(0.883000016F, 0.527999997F));
                    builder.AddLine(new Vector2(0.532999992F, 0.883000016F));
                    builder.AddCubicBezier(new Vector2(0.437999994F, 0.981000006F), new Vector2(0.280000001F, 0.981999993F), new Vector2(0.181999996F, 0.887000024F));
                    builder.AddLine(new Vector2(0.178000003F, 0.883000016F));
                    builder.AddLine(new Vector2(-0.958000004F, -0.252999991F));
                    builder.AddLine(new Vector2(-0.252999991F, -0.958000004F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_15()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(0.883000016F, 0.527999997F));
                    builder.AddLine(new Vector2(0.532999992F, 0.883000016F));
                    builder.AddCubicBezier(new Vector2(0.437999994F, 0.981000006F), new Vector2(0.280000001F, 0.98299998F), new Vector2(0.181999996F, 0.888000011F));
                    builder.AddCubicBezier(new Vector2(0.180000007F, 0.885999978F), new Vector2(0.180000007F, 0.88499999F), new Vector2(0.178000003F, 0.883000016F));
                    builder.AddLine(new Vector2(-0.958000004F, -0.252999991F));
                    builder.AddLine(new Vector2(-0.252999991F, -0.958000004F));
                    builder.AddLine(new Vector2(0.883000016F, 0.178000003F));
                    builder.AddCubicBezier(new Vector2(0.980000019F, 0.270000011F), new Vector2(0.98299998F, 0.421999991F), new Vector2(0.890999973F, 0.518999994F));
                    builder.AddCubicBezier(new Vector2(0.888000011F, 0.522000015F), new Vector2(0.885999978F, 0.524999976F), new Vector2(0.883000016F, 0.527999997F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Shape tree root for layer: ruler
            // - - ShapeGroup: Group 2 Offset:<30.549, 42.536>
            CanvasGeometry Geometry_16()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(1.38F, 1.02499998F));
                    builder.AddLine(new Vector2(1.02999997F, 1.38F));
                    builder.AddCubicBezier(new Vector2(0.935000002F, 1.47800004F), new Vector2(0.777999997F, 1.48000002F), new Vector2(0.680000007F, 1.38499999F));
                    builder.AddCubicBezier(new Vector2(0.677999973F, 1.38300002F), new Vector2(0.676999986F, 1.38199997F), new Vector2(0.675000012F, 1.38F));
                    builder.AddLine(new Vector2(-1.45500004F, -0.75F));
                    builder.AddLine(new Vector2(-0.75F, -1.45500004F));
                    builder.AddLine(new Vector2(1.38F, 0.675000012F));
                    builder.AddCubicBezier(new Vector2(1.477F, 0.76700002F), new Vector2(1.48099995F, 0.920000017F), new Vector2(1.38900006F, 1.01699996F));
                    builder.AddCubicBezier(new Vector2(1.38600004F, 1.01999998F), new Vector2(1.38300002F, 1.02199996F), new Vector2(1.38F, 1.02499998F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - Shape tree root for layer: net
            // ShapeGroup: Group 1
            CompositionColorBrush ColorBrush_AlmostTurquoise_FF50E6FF()
            {
                return _c.CreateColorBrush(Color.FromArgb(0xFF, 0x50, 0xE6, 0xFF));
            }

            // Stop 0
            CompositionColorGradientStop GradientStop_0_AlmostPeru_FFC67740()
            {
                return (_gradientStop_0_AlmostPeru_FFC67740 == null)
                    ? _gradientStop_0_AlmostPeru_FFC67740 = _c.CreateColorGradientStop(0F, Color.FromArgb(0xFF, 0xC6, 0x77, 0x40))
                    : _gradientStop_0_AlmostPeru_FFC67740;
            }

            // Stop 0
            CompositionColorGradientStop GradientStop_0_AlmostRoyalBlue_FF2F79D5()
            {
                return (_gradientStop_0_AlmostRoyalBlue_FF2F79D5 == null)
                    ? _gradientStop_0_AlmostRoyalBlue_FF2F79D5 = _c.CreateColorGradientStop(0F, Color.FromArgb(0xFF, 0x2F, 0x79, 0xD5))
                    : _gradientStop_0_AlmostRoyalBlue_FF2F79D5;
            }

            // - - - Shape tree root for layer: ruler
            // - ShapeGroup: Group 8 Offset:<38.001, 38>
            // Stop 0
            CompositionColorGradientStop GradientStop_0_AlmostSandyBrown_FFFFD646()
            {
                return _c.CreateColorGradientStop(0F, Color.FromArgb(0xFF, 0xFF, 0xD6, 0x46));
            }

            // - - - Shape tree root for layer: ruler
            // - ShapeGroup: Group 8 Offset:<38.001, 38>
            // Stop 1
            CompositionColorGradientStop GradientStop_0p482_AlmostSandyBrown_FFFFD545()
            {
                return _c.CreateColorGradientStop(0.481999993F, Color.FromArgb(0xFF, 0xFF, 0xD5, 0x45));
            }

            // - - - Shape tree root for layer: ruler
            // - ShapeGroup: Group 8 Offset:<38.001, 38>
            // Stop 2
            CompositionColorGradientStop GradientStop_1_AlmostOrange_FFF5BB00()
            {
                return _c.CreateColorGradientStop(1F, Color.FromArgb(0xFF, 0xF5, 0xBB, 0x00));
            }

            // Stop 1
            CompositionColorGradientStop GradientStop_1_AlmostRoyalBlue_FF297BD2()
            {
                return (_gradientStop_1_AlmostRoyalBlue_FF297BD2 == null)
                    ? _gradientStop_1_AlmostRoyalBlue_FF297BD2 = _c.CreateColorGradientStop(1F, Color.FromArgb(0xFF, 0x29, 0x7B, 0xD2))
                    : _gradientStop_1_AlmostRoyalBlue_FF297BD2;
            }

            // Stop 1
            CompositionColorGradientStop GradientStop_1_AlmostSienna_FFAF612B()
            {
                return (_gradientStop_1_AlmostSienna_FFAF612B == null)
                    ? _gradientStop_1_AlmostSienna_FFAF612B = _c.CreateColorGradientStop(1F, Color.FromArgb(0xFF, 0xAF, 0x61, 0x2B))
                    : _gradientStop_1_AlmostSienna_FFAF612B;
            }

            // Shape tree root for layer: ruler
            CompositionContainerShape ContainerShape()
            {
                if (_containerShape != null) { return _containerShape; }
                var result = _containerShape = _c.CreateContainerShape();
                result.CenterPoint = new Vector2(38.0009995F, 38F);
                result.Scale = new Vector2(4F, 4F);
                var shapes = result.Shapes;
                // ShapeGroup: Group 8 Offset:<38.001, 38>
                shapes.Add(SpriteShape_03());
                // ShapeGroup: Group 7 Offset:<38.55, 34.535>
                shapes.Add(SpriteShape_04());
                // ShapeGroup: Group 6 Offset:<40.053, 32.037>
                shapes.Add(SpriteShape_05());
                // ShapeGroup: Group 5 Offset:<42.551, 30.534>
                shapes.Add(SpriteShape_06());
                // ShapeGroup: Group 4 Offset:<34.55, 38.535>
                shapes.Add(SpriteShape_07());
                // ShapeGroup: Group 3 Offset:<36.052, 36.037>
                shapes.Add(SpriteShape_08());
                // ShapeGroup: Group 2 Offset:<30.549, 42.536>
                shapes.Add(SpriteShape_09());
                // ShapeGroup: Group 1 Offset:<32.052, 40.038>
                shapes.Add(SpriteShape_10());
                return result;
            }

            CompositionEffectBrush EffectBrush()
            {
                var effectFactory = EffectFactory();
                var result = effectFactory.CreateBrush();
                result.SetSourceParameter("destination", SurfaceBrush_0());
                result.SetSourceParameter("source", SurfaceBrush_1());
                return result;
            }

            CompositionEffectFactory EffectFactory()
            {
                var compositeEffect = new CompositeEffect();
                compositeEffect.Mode = CanvasComposite.DestinationIn;
                compositeEffect.Sources.Add(new CompositionEffectSourceParameter("destination"));
                compositeEffect.Sources.Add(new CompositionEffectSourceParameter("source"));
                var result = _c.CreateEffectFactory(compositeEffect);
                return result;
            }

            // - Shape tree root for layer: square
            // ShapeGroup: Group 1
            CompositionLinearGradientBrush LinearGradientBrush_0()
            {
                var result = _c.CreateLinearGradientBrush();
                var colorStops = result.ColorStops;
                colorStops.Add(GradientStop_0_AlmostRoyalBlue_FF2F79D5());
                colorStops.Add(GradientStop_1_AlmostRoyalBlue_FF297BD2());
                result.MappingMode = CompositionMappingMode.Absolute;
                result.StartPoint = new Vector2(-17F, -4F);
                result.EndPoint = new Vector2(17F, -4F);
                return result;
            }

            // - Shape tree root for layer: mask
            // Transforms: mask
            CompositionLinearGradientBrush LinearGradientBrush_1()
            {
                var result = _c.CreateLinearGradientBrush();
                var colorStops = result.ColorStops;
                colorStops.Add(GradientStop_0_AlmostRoyalBlue_FF2F79D5());
                colorStops.Add(GradientStop_1_AlmostRoyalBlue_FF297BD2());
                result.MappingMode = CompositionMappingMode.Absolute;
                result.StartPoint = new Vector2(-17F, -4F);
                result.EndPoint = new Vector2(17F, -4F);
                return result;
            }

            // - - Shape tree root for layer: ruler
            // ShapeGroup: Group 8 Offset:<38.001, 38>
            CompositionLinearGradientBrush LinearGradientBrush_2()
            {
                var result = _c.CreateLinearGradientBrush();
                var colorStops = result.ColorStops;
                colorStops.Add(GradientStop_0_AlmostSandyBrown_FFFFD646());
                colorStops.Add(GradientStop_0p482_AlmostSandyBrown_FFFFD545());
                colorStops.Add(GradientStop_1_AlmostOrange_FFF5BB00());
                result.MappingMode = CompositionMappingMode.Absolute;
                result.StartPoint = new Vector2(-5.00099993F, 727F);
                result.EndPoint = new Vector2(3.51200008F, 749.174988F);
                return result;
            }

            // - - Shape tree root for layer: ruler
            // ShapeGroup: Group 7 Offset:<38.55, 34.535>
            CompositionLinearGradientBrush LinearGradientBrush_3()
            {
                var result = _c.CreateLinearGradientBrush();
                var colorStops = result.ColorStops;
                colorStops.Add(GradientStop_0_AlmostPeru_FFC67740());
                colorStops.Add(GradientStop_1_AlmostSienna_FFAF612B());
                result.MappingMode = CompositionMappingMode.Absolute;
                result.StartPoint = new Vector2(-1.54999995F, 738.465027F);
                result.EndPoint = new Vector2(0.758000016F, 740.77301F);
                return result;
            }

            // - - Shape tree root for layer: ruler
            // ShapeGroup: Group 6 Offset:<40.053, 32.037>
            CompositionLinearGradientBrush LinearGradientBrush_4()
            {
                var result = _c.CreateLinearGradientBrush();
                var colorStops = result.ColorStops;
                colorStops.Add(GradientStop_0_AlmostPeru_FFC67740());
                colorStops.Add(GradientStop_1_AlmostSienna_FFAF612B());
                result.MappingMode = CompositionMappingMode.Absolute;
                result.StartPoint = new Vector2(-1.05299997F, 738.963013F);
                result.EndPoint = new Vector2(0.25999999F, 740.276001F);
                return result;
            }

            // - - Shape tree root for layer: ruler
            // ShapeGroup: Group 5 Offset:<42.551, 30.534>
            CompositionLinearGradientBrush LinearGradientBrush_5()
            {
                var result = _c.CreateLinearGradientBrush();
                var colorStops = result.ColorStops;
                colorStops.Add(GradientStop_0_AlmostPeru_FFC67740());
                colorStops.Add(GradientStop_1_AlmostSienna_FFAF612B());
                result.MappingMode = CompositionMappingMode.Absolute;
                result.StartPoint = new Vector2(-1.551F, 738.466003F);
                result.EndPoint = new Vector2(0.757000029F, 740.773987F);
                return result;
            }

            // - - Shape tree root for layer: ruler
            // ShapeGroup: Group 4 Offset:<34.55, 38.535>
            CompositionLinearGradientBrush LinearGradientBrush_6()
            {
                var result = _c.CreateLinearGradientBrush();
                var colorStops = result.ColorStops;
                colorStops.Add(GradientStop_0_AlmostPeru_FFC67740());
                colorStops.Add(GradientStop_1_AlmostSienna_FFAF612B());
                result.MappingMode = CompositionMappingMode.Absolute;
                result.StartPoint = new Vector2(-1.54999995F, 738.465027F);
                result.EndPoint = new Vector2(0.758000016F, 740.77301F);
                return result;
            }

            // - - Shape tree root for layer: ruler
            // ShapeGroup: Group 3 Offset:<36.052, 36.037>
            CompositionLinearGradientBrush LinearGradientBrush_7()
            {
                var result = _c.CreateLinearGradientBrush();
                var colorStops = result.ColorStops;
                colorStops.Add(GradientStop_0_AlmostPeru_FFC67740());
                colorStops.Add(GradientStop_1_AlmostSienna_FFAF612B());
                result.MappingMode = CompositionMappingMode.Absolute;
                result.StartPoint = new Vector2(-1.05200005F, 738.963013F);
                result.EndPoint = new Vector2(0.25999999F, 740.275024F);
                return result;
            }

            // - - Shape tree root for layer: ruler
            // ShapeGroup: Group 2 Offset:<30.549, 42.536>
            CompositionLinearGradientBrush LinearGradientBrush_8()
            {
                var result = _c.CreateLinearGradientBrush();
                var colorStops = result.ColorStops;
                colorStops.Add(GradientStop_0_AlmostPeru_FFC67740());
                colorStops.Add(GradientStop_1_AlmostSienna_FFAF612B());
                result.MappingMode = CompositionMappingMode.Absolute;
                result.StartPoint = new Vector2(-1.54900002F, 738.463989F);
                result.EndPoint = new Vector2(0.759000003F, 740.771973F);
                return result;
            }

            // - - Shape tree root for layer: ruler
            // ShapeGroup: Group 1 Offset:<32.052, 40.038>
            CompositionLinearGradientBrush LinearGradientBrush_9()
            {
                var result = _c.CreateLinearGradientBrush();
                var colorStops = result.ColorStops;
                colorStops.Add(GradientStop_0_AlmostPeru_FFC67740());
                colorStops.Add(GradientStop_1_AlmostSienna_FFAF612B());
                result.MappingMode = CompositionMappingMode.Absolute;
                result.StartPoint = new Vector2(-1.05200005F, 738.961975F);
                result.EndPoint = new Vector2(0.261000007F, 740.275024F);
                return result;
            }

            CompositionPathGeometry PathGeometry_0()
            {
                return (_pathGeometry_0 == null)
                    ? _pathGeometry_0 = _c.CreatePathGeometry(new CompositionPath(Geometry_00()))
                    : _pathGeometry_0;
            }

            // - Shape tree root for layer: net
            // ShapeGroup: Group 1
            // Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path 1.PathGeometry
            CompositionPathGeometry PathGeometry_1()
            {
                return _c.CreatePathGeometry(new CompositionPath(Geometry_01()));
            }

            // - - Shape tree root for layer: ruler
            // ShapeGroup: Group 8 Offset:<38.001, 38>
            CompositionPathGeometry PathGeometry_2()
            {
                return _c.CreatePathGeometry(new CompositionPath(Geometry_12()));
            }

            CompositionPathGeometry PathGeometry_3()
            {
                return (_pathGeometry_3 == null)
                    ? _pathGeometry_3 = _c.CreatePathGeometry(new CompositionPath(Geometry_13()))
                    : _pathGeometry_3;
            }

            // - - Shape tree root for layer: ruler
            // ShapeGroup: Group 6 Offset:<40.053, 32.037>
            CompositionPathGeometry PathGeometry_4()
            {
                return _c.CreatePathGeometry(new CompositionPath(Geometry_14()));
            }

            CompositionPathGeometry PathGeometry_5()
            {
                return (_pathGeometry_5 == null)
                    ? _pathGeometry_5 = _c.CreatePathGeometry(new CompositionPath(Geometry_15()))
                    : _pathGeometry_5;
            }

            // - - Shape tree root for layer: ruler
            // ShapeGroup: Group 2 Offset:<30.549, 42.536>
            CompositionPathGeometry PathGeometry_6()
            {
                return _c.CreatePathGeometry(new CompositionPath(Geometry_16()));
            }

            // Shape tree root for layer: square
            // Path 1
            CompositionSpriteShape SpriteShape_00()
            {
                if (_spriteShape_00 != null) { return _spriteShape_00; }
                var result = _spriteShape_00 = _c.CreateSpriteShape(PathGeometry_0());
                result.Offset = new Vector2(92F, 92F);
                result.FillBrush = LinearGradientBrush_0();
                return result;
            }

            // Shape tree root for layer: net
            // Path 10+Path 9+Path 8+Path 7+Path 6+Path 5+Path 4+Path 3+Path 2+Path 1
            CompositionSpriteShape SpriteShape_01()
            {
                if (_spriteShape_01 != null) { return _spriteShape_01; }
                var result = _spriteShape_01 = _c.CreateSpriteShape(PathGeometry_1());
                result.Offset = new Vector2(96F, 96F);
                result.FillBrush = ColorBrush_AlmostTurquoise_FF50E6FF();
                return result;
            }

            // Shape tree root for layer: mask
            // Path 1
            CompositionSpriteShape SpriteShape_02()
            {
                if (_spriteShape_02 != null) { return _spriteShape_02; }
                var result = _spriteShape_02 = _c.CreateSpriteShape(PathGeometry_0());
                result.Offset = new Vector2(92F, 92F);
                result.FillBrush = LinearGradientBrush_1();
                return result;
            }

            // - Shape tree root for layer: ruler
            // Path 1
            CompositionSpriteShape SpriteShape_03()
            {
                // Offset:<38.001, 38>
                var geometry = PathGeometry_2();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 38.0009995F, 38F), LinearGradientBrush_2()); ;
                return result;
            }

            // - Shape tree root for layer: ruler
            // Path 1
            CompositionSpriteShape SpriteShape_04()
            {
                // Offset:<38.55, 34.535>
                var geometry = PathGeometry_3();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 38.5499992F, 34.5349998F), LinearGradientBrush_3()); ;
                return result;
            }

            // - Shape tree root for layer: ruler
            // Path 1
            CompositionSpriteShape SpriteShape_05()
            {
                // Offset:<40.053, 32.037>
                var geometry = PathGeometry_4();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 40.0530014F, 32.0369987F), LinearGradientBrush_4()); ;
                return result;
            }

            // - Shape tree root for layer: ruler
            // Path 1
            CompositionSpriteShape SpriteShape_06()
            {
                // Offset:<42.551, 30.534>
                var geometry = PathGeometry_3();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 42.5509987F, 30.5340004F), LinearGradientBrush_5()); ;
                return result;
            }

            // - Shape tree root for layer: ruler
            // Path 1
            CompositionSpriteShape SpriteShape_07()
            {
                // Offset:<34.55, 38.535>
                var geometry = PathGeometry_3();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 34.5499992F, 38.5349998F), LinearGradientBrush_6()); ;
                return result;
            }

            // - Shape tree root for layer: ruler
            // Path 1
            CompositionSpriteShape SpriteShape_08()
            {
                // Offset:<36.052, 36.037>
                var geometry = PathGeometry_5();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 36.0519981F, 36.0369987F), LinearGradientBrush_7()); ;
                return result;
            }

            // - Shape tree root for layer: ruler
            // Path 1
            CompositionSpriteShape SpriteShape_09()
            {
                // Offset:<30.549, 42.536>
                var geometry = PathGeometry_6();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 30.5489998F, 42.5359993F), LinearGradientBrush_8()); ;
                return result;
            }

            // - Shape tree root for layer: ruler
            // Path 1
            CompositionSpriteShape SpriteShape_10()
            {
                // Offset:<32.052, 40.038>
                var geometry = PathGeometry_5();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 32.0519981F, 40.0379982F), LinearGradientBrush_9()); ;
                return result;
            }

            CompositionSurfaceBrush SurfaceBrush_0()
            {
                return _c.CreateSurfaceBrush(VisualSurface_0());
            }

            CompositionSurfaceBrush SurfaceBrush_1()
            {
                return _c.CreateSurfaceBrush(VisualSurface_1());
            }

            CompositionVisualSurface VisualSurface_0()
            {
                var result = _c.CreateVisualSurface();
                result.SourceVisual = ContainerVisual_0();
                result.SourceSize = new Vector2(192F, 192F);
                return result;
            }

            CompositionVisualSurface VisualSurface_1()
            {
                var result = _c.CreateVisualSurface();
                result.SourceVisual = ContainerVisual_1();
                result.SourceSize = new Vector2(192F, 192F);
                return result;
            }

            ContainerVisual ContainerVisual_0()
            {
                var result = _c.CreateContainerVisual();
                result.BorderMode = CompositionBorderMode.Soft;
                // Shape tree root for layer: net
                result.Children.InsertAtTop(ShapeVisual_1());
                return result;
            }

            ContainerVisual ContainerVisual_1()
            {
                var result = _c.CreateContainerVisual();
                result.BorderMode = CompositionBorderMode.Soft;
                // Shape tree root for layer: mask
                result.Children.InsertAtTop(ShapeVisual_2());
                return result;
            }

            // The root of the composition.
            ContainerVisual Root()
            {
                if (_root != null) { return _root; }
                var result = _root = _c.CreateContainerVisual();
                var propertySet = result.Properties;
                propertySet.InsertScalar("Progress", 0F);
                var children = result.Children;
                // Shape tree root for layer: square
                children.InsertAtTop(ShapeVisual_0());
                children.InsertAtTop(SpriteVisual_0());
                // Shape tree root for layer: ruler
                children.InsertAtTop(ShapeVisual_3());
                return result;
            }

            CubicBezierEasingFunction CubicBezierEasingFunction_0()
            {
                return (_cubicBezierEasingFunction_0 == null)
                    ? _cubicBezierEasingFunction_0 = _c.CreateCubicBezierEasingFunction(new Vector2(0.333000004F, 0F), new Vector2(0.666999996F, 1F))
                    : _cubicBezierEasingFunction_0;
            }

            // - Shape tree root for layer: ruler
            // Rotation
            ScalarKeyFrameAnimation RotationAngleInDegreesScalarAnimation_0_to_0()
            {
                // Frame 0.
                var result = CreateScalarKeyFrameAnimation(0F, 0F, StepThenHoldEasingFunction());
                // Frame 3.
                result.InsertKeyFrame(0.107142858F, 0F, HoldThenStepEasingFunction());
                // Frame 9.
                result.InsertKeyFrame(0.321428567F, 45F, CubicBezierEasingFunction_0());
                // Frame 19.
                result.InsertKeyFrame(0.678571403F, 45F, CubicBezierEasingFunction_0());
                // Frame 25.
                result.InsertKeyFrame(0.892857134F, 0F, CubicBezierEasingFunction_0());
                return result;
            }

            // Scale
            ScalarKeyFrameAnimation ScalarAnimation_4_to_4_0()
            {
                // Frame 0.
                if (_scalarAnimation_4_to_4_0 != null) { return _scalarAnimation_4_to_4_0; }
                var result = _scalarAnimation_4_to_4_0 = CreateScalarKeyFrameAnimation(0F, 4F, StepThenHoldEasingFunction());
                // Frame 4.
                result.InsertKeyFrame(0.142857149F, 4F, HoldThenStepEasingFunction());
                // Frame 10.
                result.InsertKeyFrame(0.357142866F, 3.75F, _c.CreateCubicBezierEasingFunction(new Vector2(0.216999993F, 0F), new Vector2(0.596000016F, 1F)));
                // Frame 16.
                result.InsertKeyFrame(0.571428597F, 4F, _c.CreateCubicBezierEasingFunction(new Vector2(0.499000013F, 0F), new Vector2(0.720000029F, 1F)));
                return result;
            }

            // Scale
            ScalarKeyFrameAnimation ScalarAnimation_4_to_4_1()
            {
                // Frame 0.
                if (_scalarAnimation_4_to_4_1 != null) { return _scalarAnimation_4_to_4_1; }
                var result = _scalarAnimation_4_to_4_1 = CreateScalarKeyFrameAnimation(0F, 4F, StepThenHoldEasingFunction());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, 4F, HoldThenStepEasingFunction());
                // Frame 14.
                result.InsertKeyFrame(0.5F, 4.63999987F, _c.CreateCubicBezierEasingFunction(new Vector2(0.128000006F, 0F), new Vector2(0.300000012F, 1F)));
                // Frame 20.
                result.InsertKeyFrame(0.714285731F, 4F, _c.CreateCubicBezierEasingFunction(new Vector2(0.617999971F, 0F), new Vector2(0.838999987F, 1F)));
                return result;
            }

            // Shape tree root for layer: square
            ShapeVisual ShapeVisual_0()
            {
                var result = _c.CreateShapeVisual();
                result.Size = new Vector2(192F, 192F);
                // ShapeGroup: Group 1
                result.Shapes.Add(SpriteShape_00());
                return result;
            }

            // Shape tree root for layer: net
            ShapeVisual ShapeVisual_1()
            {
                var result = _c.CreateShapeVisual();
                result.Size = new Vector2(192F, 192F);
                // ShapeGroup: Group 1
                result.Shapes.Add(SpriteShape_01());
                return result;
            }

            // Shape tree root for layer: mask
            ShapeVisual ShapeVisual_2()
            {
                var result = _c.CreateShapeVisual();
                result.Size = new Vector2(192F, 192F);
                // Transforms: mask
                result.Shapes.Add(SpriteShape_02());
                return result;
            }

            // Shape tree root for layer: ruler
            ShapeVisual ShapeVisual_3()
            {
                var result = _c.CreateShapeVisual();
                result.Size = new Vector2(192F, 192F);
                result.Shapes.Add(ContainerShape());
                return result;
            }

            SpriteVisual SpriteVisual_0()
            {
                var result = _c.CreateSpriteVisual();
                result.Size = new Vector2(192F, 192F);
                result.Brush = EffectBrush();
                return result;
            }

            StepEasingFunction HoldThenStepEasingFunction()
            {
                if (_holdThenStepEasingFunction != null) { return _holdThenStepEasingFunction; }
                var result = _holdThenStepEasingFunction = _c.CreateStepEasingFunction();
                result.IsFinalStepSingleFrame = true;
                return result;
            }

            StepEasingFunction StepThenHoldEasingFunction()
            {
                if (_stepThenHoldEasingFunction != null) { return _stepThenHoldEasingFunction; }
                var result = _stepThenHoldEasingFunction = _c.CreateStepEasingFunction();
                result.IsInitialStepSingleFrame = true;
                return result;
            }

            // - Shape tree root for layer: ruler
            // Offset
            Vector2KeyFrameAnimation OffsetVector2Animation()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(114.000999F, 114F), StepThenHoldEasingFunction());
                // Frame 3.
                result.InsertKeyFrame(0.107142858F, new Vector2(114.000999F, 114F), HoldThenStepEasingFunction());
                // Frame 9.
                result.InsertKeyFrame(0.321428567F, new Vector2(85.0009995F, 85F), CubicBezierEasingFunction_0());
                // Frame 19.
                result.InsertKeyFrame(0.678571403F, new Vector2(85.0009995F, 85F), _c.CreateCubicBezierEasingFunction(new Vector2(0.333000004F, 0.333000004F), new Vector2(0.666999996F, 0.666999996F)));
                // Frame 25.
                result.InsertKeyFrame(0.892857134F, new Vector2(114.000999F, 114F), CubicBezierEasingFunction_0());
                return result;
            }

            internal Blueprint_AnimatedVisual(
                Compositor compositor
                )
            {
                _c = compositor;
                _reusableExpressionAnimation = compositor.CreateExpressionAnimation();
                Root();
            }

            public Visual RootVisual => _root;
            public TimeSpan Duration => TimeSpan.FromTicks(c_durationTicks);
            public Vector2 Size => new Vector2(192F, 192F);
            void IDisposable.Dispose() => _root?.Dispose();

            public void CreateAnimations()
            {
                _containerShape.StartAnimation("RotationAngleInDegrees", RotationAngleInDegreesScalarAnimation_0_to_0(), AnimationController_0());
                _containerShape.StartAnimation("Offset", OffsetVector2Animation(), AnimationController_0());
                _spriteShape_00.StartAnimation("Scale.X", ScalarAnimation_4_to_4_0(), AnimationController_0());
                _spriteShape_00.StartAnimation("Scale.Y", ScalarAnimation_4_to_4_0(), AnimationController_0());
                _spriteShape_01.StartAnimation("Scale.X", ScalarAnimation_4_to_4_1(), AnimationController_0());
                _spriteShape_01.StartAnimation("Scale.Y", ScalarAnimation_4_to_4_1(), AnimationController_0());
                _spriteShape_02.StartAnimation("Scale.X", ScalarAnimation_4_to_4_0(), AnimationController_0());
                _spriteShape_02.StartAnimation("Scale.Y", ScalarAnimation_4_to_4_0(), AnimationController_0());
            }

            public void DestroyAnimations()
            {
                _containerShape.StopAnimation("RotationAngleInDegrees");
                _containerShape.StopAnimation("Offset");
                _spriteShape_00.StopAnimation("Scale.X");
                _spriteShape_00.StopAnimation("Scale.Y");
                _spriteShape_01.StopAnimation("Scale.X");
                _spriteShape_01.StopAnimation("Scale.Y");
                _spriteShape_02.StopAnimation("Scale.X");
                _spriteShape_02.StopAnimation("Scale.Y");
            }

        }
    }
}
