@splunk/visualizations 23.4.0 → 24.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_SVG_with_XML_and_DTD.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_background_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_black_dot.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_clock.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_color_rectangles.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_fixed_height_400_width_400.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Background_Color_orange.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Gauge_Color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Major_Unit_10.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Major_Unit_auto.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Max_Value_210_Major_Unit_25_ticks_position_unevenly.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Max_value_40K.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Min_Value_20_ticks_position_evenly.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_height_100_no_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Percentage_Range_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Percentage_Value_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Show_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Show_Value_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Too_Small_to_Render.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Background_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order_First_And_Last.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order_Some.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Fields.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Fields_Columns.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Handles_Large_Data_Set.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Link_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Link_Width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Height.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Highlight_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Spacing_X.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Spacing_Y.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Result_Limit.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Show_Node_Counts_False.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Show_Value_Counts_False.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Width_Height.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Background_Color_orange.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_duplicate_entries_from.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_duplicate_entries_to.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_discontinuous_ranges.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_from_equals_to_to.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_from_is_larger_than_to.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_missing_entries.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Major_Unit_10.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Major_Unit_auto.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Percentage_Range_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Percentage_Value_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_min_20_max_100_tick_positions_even.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_min_20_max_110_majorUnit_20_tick_positions_uneven.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_multiple_steps.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_single_step.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Show_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Show_Value_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Too_Small_to_Render.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_array_column_values.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_backgroundColor_navy_000080.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_categorical_dataSources_excessive_categorical_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_dimensions_less_than_minWidth_200_and_minHeight_150.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_lineColor_pink_FFC0CB.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_lineOpacity_0_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_showNullAxis_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_stringified_numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Row_Scale_global.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Scale_area.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Scale_radius.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Max_Bubble_Radius_25.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5_Max_Bubble_Radius_30_Color_Mode_categorical_Bubble_Scale_radius_Bubble_Row_Scale_global.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5_Max_Bubble_Radius_30_Color_Mode_dynamic_Bubble_Scale_area_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_75_Min_Bubble_Size_15_Color_Mode_categorical_Bubble_Scale_area_Bubble_Row_Scale_global.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_75_Min_Bubble_Size_15_Color_Mode_dynamic_Bubble_Scale_radius_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_99.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Min_Bubble_Size_30.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Series_Color_red_blue_green_orange_cyan.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Show_Legend_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Show_Legend_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Bubble_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Min_ColorIntensity_0.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Min_ColorIntensity_100.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Duplicated_data_point_x_8_y_tuesday_size_29_category_Allison_V_1710.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_5_y_friday_size_undefined_category_undefined.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_5_y_undefined_size_12_category_undefined.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_undefined_y_friday_size_29_category_undefined.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Legend_label_is_long_no_overflow.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_all.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_max.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_none.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Some_axis_labels_should_be_hidden.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Sort_axes_useDefaultSort_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_default_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_fixed_height_300_width_700.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_backgroundcolor_pink.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_backward_link_and_self_loop.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_colorMode_dynamic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_dimensions_height_and_width_set_to_non_numeric.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_dimensions_less_than_minWidth_300_and_minHeight_200.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_invalid_columns_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_larger_dataset_charity_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_larger_dataset_energy_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_linkOpacity_changed_to_0_8.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_nodePadding_changed_to_8.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_nodeWidth_changed_to_15.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_resultLimit_set_to_4.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_100_height_and_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Background_color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Opacity_0_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_after.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_below.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_top.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_activity.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_clock.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Major_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Major_Font_Size_128_Trend_Font_Size_30.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Number_Precision_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Show_Value_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Thousand_Separators_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Trend_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Trend_Display_percent.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Truncate_Trend_Units_enabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Unit_specified_Unit_Position_after_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Unit_specified_Unit_Position_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_fixed_height_35_width_35.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_no_props.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_100_height_and_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Background_color_flamenco.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Background_color_is_white.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Major_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Max_Value_50.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Number_Precision_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Radial_Background_Color_pink.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Radial_Stroke_Color_valencia.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_String_values.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Thousand_Separators_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Thousand_Separators_enabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_absolute_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_percent.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Indicator_Position_pushed_below_value_does_not_fit_inside_of_radial.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Truncate_Trend_Value_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Truncate_Trend_Value_enabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Under_label_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Unit_specified_Unit_Position_after_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Unit_specified_Unit_Position_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_dark_theme.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_default_theme.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_scp_theme.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_fixed_height_35_width_35.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_no_props.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Automatic_font_sizing_should_not_overflow.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Background_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Background_Color_white_Under_Label_and_Unit_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Large_card_686_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Font_Size_128_Trend_Font_Size_30_Under_Label_Font_Size_16.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Value_is_null.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Medium_card_250_width_686.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Number_Precision_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Small_card_width_250.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Small_card_width_50.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_after.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_below_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Fill_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_2_Sparkline_Highlight_Dots_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_4_Sparkline_Highlight_Dots_5.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_and_Sparkline_Highlight_Dots_characters_invalid.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_and_Sparkline_Highlight_Dots_negative_3_invalid.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Sparkline_Accept_Null_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Sparkline_Accept_Null_enabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Stroke_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Tooltip_show.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_disabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_billions.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_hundreds.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_millions.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_thousands.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_trillions.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_converts_non_numeric_values_to_null.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_does_not_show_if_only_1_entry_in_graphData.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_String_values.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Thousand_Separators_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Thousand_Separators_enabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Color_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_absolute_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Major_Value_negative_10_Trend_Value_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Major_Value_negative_13_Trend_Value_negative_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Trend_Value_0.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_value_equals_trendValue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Value_Empty_string.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Value_Not_A_Number.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Under_Label_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_after_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic_0_value.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic_all_0.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_35_width_35_Major_Font_Size_8.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_60_width_60_Major_Font_Size_12_Background_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_no_props.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Black_Dot.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Clock.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Color_Rectangles.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_SVG_with_XML_and_DTD.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Area_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Background_Color_french_rose.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Basic_Area.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_20.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_and_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Max_120.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Min_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Mode_seriesCompare.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_connect.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_gaps_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_zero.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_by_Field_count_green_percent_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_red_blue_green_orange_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_X_Axis_Major_Grid_Lines_true_Y_Axis_Major_Grid_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Major_Ticks_Size_15.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_Tick_Interval_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_and_Minor_Tick_Visibility_show_X_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_and_Minor_Tick_Visibility_show_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Maximum_Number_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Minimum_Number_250.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Axis_Y_Maximum_Number_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Axis_Y_Minimum_Number_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Background_Color_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Bar_Spacing_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Basic_Bar.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Major_and_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Minor_Ticks_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Max_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Min_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_by_Field_count_green_percent_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_red_and_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Spacing_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_X_Axis_Major_Grid_true_Y_Axis_Major_Grid_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_Size_15.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Major_and_Minor_Ticks_Visibility_show_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Tick_Interval_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Background_Color_grey.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Basic_Bubble.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Max_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_area_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_diameter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Min_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Column_data_based_on_DSL.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Field_Colors_200_green_201_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_0_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_10_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_50_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Series_Colors_orange_and_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Major_Grid_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_auto.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_off_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_hide_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Interval_6.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Maximum_Number_14.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minimum_Number_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_auto_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Interval_150.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Maximum_Number_800.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minimum_Number_300.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Click.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Missing_Props_Message_When_No_Svg.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Placeholder_If_No_Svg_And_No_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_of_multiple_areas_in_an_Svg_based_on_a_rangeValue_threshold.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_of_multiple_areas_in_an_Svg_based_on_areaIds.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_using_multiMap_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Svg_Shows_Even_When_No_Datasources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Use_Local_To_Download_Svg.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Background_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Basic_Column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_10000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Y2_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Visibility_and_Y2_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Max_80000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Min_50000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Spacing_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_By_Field_splunkd_green_mongod_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_red_blue_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Spacing_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Long_Tooltip_X_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Tooltip_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_X_Axis_Major_Grid_Lines_true_Show_Y_Axis_Major_Grid_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_and_Y_Axis_Major_Tick_Size_20_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Major_Tick_Interval_10000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Maximum_Number_80000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minimum_Number_60000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minor_Tick_Size_10_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Basic_Ellipse.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_purple_Fill_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fixed_height_200_width_200.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown_Fill_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green_Fill_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Dash_Style_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Opacity_0_8_Fill_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5_Stroke_Dash_Style_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Background_Color_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Basic_Filler_Gauge.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_auto_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_height_100_no_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Basic_Image.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Displays_dynamic_image.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Displays_remote_image.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPEG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_No_image_src_present_in_options.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_No_options_present.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_PNG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_JPG_image_link.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_PNG_image_link.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_svg_image_link.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_SVG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Background_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_IANA_timezone.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_serialized_timezone.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_utc_timezone.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_On_Y2_Axis_Major_Tick_Interval_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Y2_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Tick_Visibility_and_Y2_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Maximum_Number_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minimum_Number_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Mode_seriesCompare.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_dot_percent_dash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_longDashDot_percent_longDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_longDash_percent_dashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_shortDashDot_percent_shortDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_shortDash_percent_shortDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_solid_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_filled.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_invalid_value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_off_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_outlined.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_connect.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_gaps_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_zero.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3_Number_of_Results_5_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_By_Field_count_green_percent_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_red_and_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_X_Axis_Major_Grid_Lines_true_Show_Y_Axis_Major_Grid_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Major_Tick_Visibility_hide_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_and_Y_Axis_Major_Tick_Size_20.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Major_Tick_Interval_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Maximum_Number_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minimum_Number_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minor_Tick_Visibility_show_Y_Axis_Minor_Tick_Size_15.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Basic_LinkGraph.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_First_and_Last_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_First_to_the_Last_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_Last_to_the_First_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Node_Text_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Node_Text_Highlight_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Result_Limit_3.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Background_Color_af575a.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Basic_Markdown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Begin_with_Text_Instead_of_Header.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Color_purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Background_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Basic_Marker_Gauge.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Gauge_Ranges_0_to_30_purple_30_to_90_blue_90_to_100_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Gauge_Ranges_negative_10_to_50_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Major_Tick_Interval_7.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Array_column_values.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Background_Color_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Basic_Parallel_Coordinates.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Categorical_dataSources_excessive_categorical_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Larger_Dimensions_width_800_height_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Color_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Opacity_0_3.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Show_Null_Axis_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Smaller_Dimensions_less_than_min_width_200_and_min_height_150.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Stringified_Numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Background_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Basic_Pie.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Label_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Threshold_0_05.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_valuesAndPercentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_values_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_More_than_2_columns_in_datasources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Numeric_and_string_values_in_column_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_0_Number_of_Results_12.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_3_Number_of_Results_12.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_By_Field_April_black_December_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_red_blue_green_orange_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Show_Donut_Hole_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Background_Color_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Basic_Punchcard.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_all_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_max.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_global_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_75_Bubble_Size_Min_15_Bubble_Size_Method_radius_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_75_Bubble_Size_Min_15_Color_Mode_categorical.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_area_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_radius.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Min_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_right_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Series_Color_red_blue_green_orange_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_dynamic_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Max_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5_Bubble_Radius_Max_30_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5_Bubble_Radius_Max_30_Color_Mode_categorical_Bubble_Size_Method_radius.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Basic_Rectangle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple_Fill_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_0_default_Vertical_Corner_Radius_ry_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_15_Vertical_Corner_Radius_ry_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_20_Vertical_Corner_Radius_ry_0.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_20_Vertical_Corner_Radius_ry_Undefined_default_set_to_rx.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_5_Vertical_Corner_Radius_ry_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown_Fill_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow_Fill_Color_purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_Bevel_Stroke_Width_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_miter_default_Stroke_Width_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_round_Stroke_Width_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Background_Color_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Backward_Link_Self_Loop.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Basic_Sankey.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Color_Mode_dynamic.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Dimension_Too_Small.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Larger_Dimension.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_0_8.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_Changed.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Values_Not_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Background_Color_grey.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Basic_Scatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Column_data_based_on_DSL.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Field_Colors_200_green_201_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Marker_Size_7.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_0_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_10_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_50_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Series_Colors_orange_and_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Major_Grid_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_auto.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_off_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_hide_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Interval_6.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Size_15_X_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Maximum_Number_14.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minimum_Number_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_auto_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Interval_150.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Maximum_Number_1000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minimum_Number_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Change_Icon_Color_For_A_Remote_Icon.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_The_Icon_As_A_Remote_Icon.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_backgroundColor_based_on_the_majorValue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_icon_color_based_on_the_majorValue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_majorColor_based_on_the_majorValue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Mixed_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Numerical_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_String_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Time_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Major_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color_By_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Max_Value_1000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Radial_Color_By_Major_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Use_String_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Change_The_Color_Of_Major_Value_Based_On_Its_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_No_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Major_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Color_Of_Major_Value_Based_On_The_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Color_Of_The_Trend_Indicators_And_Number_Based_On_The_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Show_Gaps_For_Null_Value_In_Sparkline.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Trend_Index_Out_Of_Range.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Trend_Value_Is_Zero.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Mixed_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Numerical_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_String_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Time_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_By_Type_Custom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Kitchen_Sink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Right.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Single_Column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Color_light_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_No_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table_With_No_Click.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Cell_Types.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Gradient.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Override.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Count_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Header_Colors.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Row_Colors.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_No_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number_Adv.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_fixed.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_none.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Invalid_Background_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Multi_Value_Field.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes_Row_Numbers.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Row_Numbers_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Formatting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Gradient.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Formatting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Height.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Px.png +0 -0
- package/Area.config.js +38 -31
- package/Area.config.js.map +1 -1
- package/Area.js +217 -182
- package/Area.js.map +1 -1
- package/Bar.config.js +22 -19
- package/Bar.config.js.map +1 -1
- package/Bar.js +200 -169
- package/Bar.js.map +1 -1
- package/Bubble.config.js +15 -12
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +192 -161
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +23 -21
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +205 -190
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +22 -19
- package/Column.config.js.map +1 -1
- package/Column.js +200 -169
- package/Column.js.map +1 -1
- package/Ellipse.config.js +18 -20
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +138 -135
- package/Ellipse.js.map +1 -1
- package/FillerGauge.config.js +108 -20
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +236 -143
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +6 -4
- package/Image.config.js.map +1 -1
- package/Image.js +108 -102
- package/Image.js.map +1 -1
- package/Line.config.js +30 -26
- package/Line.config.js.map +1 -1
- package/Line.js +206 -174
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +58 -9
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +420 -376
- package/LinkGraph.js.map +1 -1
- package/Markdown.config.js +124 -36
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +233 -116
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +56 -18
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +174 -132
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +18 -15
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +329 -167
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +48 -49
- package/Pie.config.js.map +1 -1
- package/Pie.js +218 -190
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +18 -15
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +187 -171
- package/Punchcard.js.map +1 -1
- package/README.internal.md +47 -0
- package/README.md +36 -3
- package/Rectangle.config.js +30 -32
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +163 -153
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +31 -28
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +264 -246
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +25 -22
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +357 -325
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +124 -121
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +668 -508
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +196 -43
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +127 -124
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +460 -298
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +537 -123
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +1187 -666
- package/SingleValueRadial.js.map +1 -1
- package/Table.config.js +15 -13
- package/Table.config.js.map +1 -1
- package/Table.js +231 -215
- package/Table.js.map +1 -1
- package/common/Charting.js +52 -30
- package/common/Charting.js.map +1 -1
- package/common/ChartingApi.js +3 -2
- package/common/ChartingApi.js.map +1 -1
- package/common/EventsDoc.js +7 -6
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +2 -2
- package/common/GaugeMajorTicks.js.map +1 -1
- package/common/GaugeValueMarker.js +2 -2
- package/common/GaugeValueMarker.js.map +1 -1
- package/common/OptionsDoc.js +16 -15
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js +376 -0
- package/common/OverviewDoc.js.map +1 -0
- package/common/SplunkVisualization.js +4 -4
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +4 -4
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemesDoc.js +46 -67
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +2 -2
- package/common/chartingUtils.js.map +1 -1
- package/common/docUtils.js +4 -4
- package/common/docUtils.js.map +1 -1
- package/common/gaugeUtils.js +7 -7
- package/common/gaugeUtils.js.map +1 -1
- package/common/shapeUtils.js +8 -8
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/JSONSchemaUtils.js.map +1 -1
- package/common/utils/configUtils.js +2 -2
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/hocUtils.js +2 -1
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +177 -24
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/utils/testHelper.js.map +1 -1
- package/common/withDashboardViz.js +51 -35
- package/common/withDashboardViz.js.map +1 -1
- package/loki.config.js +11 -0
- package/package.json +23 -24
- package/API.md +0 -365
- package/jest.visual.config.js +0 -14
package/LinkGraph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"styled-components\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@babel/runtime/helpers/typeof\"","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/utils/JSONSchemaUtils.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@babel/runtime/helpers/inherits\"","webpack:///external \"@babel/runtime/helpers/possibleConstructorReturn\"","webpack:///external \"@babel/runtime/helpers/getPrototypeOf\"","webpack:///external \"@splunk/visualizations-shared/dataSourceUtils\"","webpack:///./src/LinkGraph/LinkGraph.tsx","webpack:///./src/LinkGraph/PureLinkGraph/PureLinkGraphUtils.ts","webpack:///./src/LinkGraph/PureLinkGraph/components/GraphStyles.ts","webpack:///./src/LinkGraph/index.ts","webpack:///./src/LinkGraph/PureLinkGraph/PureLinkGraph.tsx","webpack:///./src/LinkGraph/PureLinkGraph/components/Graph.tsx","webpack:///./src/LinkGraph/PureLinkGraph/components/Edges.tsx","webpack:///./src/LinkGraph/PureLinkGraph/components/Nodes.tsx","webpack:///./src/LinkGraph/PureLinkGraph/components/Node.tsx","webpack:///external \"@splunk/react-ui/Paragraph\"","webpack:///./src/LinkGraph/PureLinkGraph/components/Field.tsx","webpack:///external \"@splunk/react-ui/Dropdown\"","webpack:///external \"@splunk/react-ui/Button\"","webpack:///external \"@splunk/react-ui/Menu\"","webpack:///external \"@splunk/react-ui/Chip\"","webpack:///./src/LinkGraph/PureLinkGraph/components/FieldStyles.tsx","webpack:///./src/LinkGraph/config.ts"],"names":[],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;AClFA,uC;;;;;;ACAA,kC;;;;;;ACAA,mC;;;;;;ACAA,kD;;;;;;ACAA,8C;;;;;;;;;;;;;ACAA,IAAY,WAAZ;;AAAA,WAAY,WAAZ,EAAuB;AACnB;;;;;;;;;;AAUG;AACH;AACA;AACA;;;;AAIG;;AACH;AACA;AACH,CArBD,EAAY,WAAW,GAAX,8CAAW,EAAX,CAAZ,E;;;;;;ACAA,kE;;;;;;;;;;;;;;;;ACAA;AAKA;;;;;AAKG;;;AACI,IAAM,wBAAwB,GAAG,SAA3B,wBAA2B,OAK7B;AAAA,MAJP,OAIO,QAJP,OAIO;AAAA,MAHP,aAGO,QAHP,aAGO;AACP,MAAM,gBAAgB,GAAG,CAAC,WAAD,EAAc,cAAd,EAA8B,QAA9B,CAAzB;AACA,kBAAgB,CAAC,OAAjB,CAAyB,UAAC,IAAD,EAAuB;AAC5C,QAAI,aAAa,CAAC,IAAD,CAAjB,EAAyB;AACrB,aAAO,CAAC,IAAD,CAAP,GAAgB,aAAa,CAAC,IAAD,CAA7B;AACH;AACJ,GAJD;AAKH,CAZM;;AAAM,mCAAwB,wBAAxB;AAcb;;;;;;;;;;AAUG;;AACI,IAAM,2BAA2B,GAAG,SAA9B,2BAA8B,CAAC,OAAD,EAAwB;AAC/D,MAAM,KAAK,GAAG,mBAAU,OAAV,CAAd;;AAD+D,oCAAX,OAAW;AAAX,WAAW;AAAA;;AAE/D,SAAO,CAAC,OAAR,CAAgB,uBAAa,EAAG;AAC5B,UAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,OAA3B,CAAmC,mBAAS,EAAG;AAC3C,UAAI,CAAC,KAAK,CAAC,cAAN,CAAqB,SAArB,CAAL,EAAsC;AAClC,aAAK,CAAC,SAAD,CAAL,GAAmB,mBAAU,aAAa,CAAC,SAAD,CAAvB,CAAnB;AACH,OAH0C,CAI3C;;;AACA,UACI,KAAK,CAAC,SAAD,CAAL,IACA,QAAO,KAAK,CAAC,SAAD,CAAZ,MAA4B,QAD5B,IAEA,CAAC,KAAK,CAAC,OAAN,CAAc,KAAK,CAAC,SAAD,CAAnB,CAFD,IAGA,QAAO,aAAa,CAAC,SAAD,CAApB,MAAoC,QAJxC,EAKE;AACE,aAAK,CAAC,SAAD,CAAL,GAAmB,oCAA4B,KAAK,CAAC,SAAD,CAAjC,EAA8C,aAAa,CAAC,SAAD,CAA3D,CAAnB;AACH;AACJ,KAbD;AAcH,GAfD;AAgBA,SAAO,KAAP;AACH,CAnBM;;AAAM,sCAA2B,2BAA3B,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCb;;AACA;;AACA;;AAWA,IAAM,qBAAqB,GAAG;AAC1B,MAAI,EAAE,QADoB;AAE1B,SAAO,EAAE;AAFiB,CAA9B;AAKA;;;;AAIG;;AACH,SAAS,sCAAT,CACI,aADJ,EACwD;AAEpD,MAAM,qBAAqB,GAAkB,EAA7C;AACA,QAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,OAA3B,CAAmC,UAAC,GAAD,EAAc;AACvC,aAgBF,aAAa,CAhBX,GAgBW,CAhBX;AAAA,QAIF,KAJE,GAae,EAbf,CAIF,KAJE;AAAA,QAKF,WALE,GAae,EAbf,CAKF,WALE;AAAA,QAMF,QANE,GAae,EAbf,CAMF,QANE;AAAA,QAOF,SAPE,GAae,EAbf,CAOF,SAPE;AAAA,QAQF,QARE,GAae,EAbf,CAQF,QARE;AAAA,QASO,YATP,GAae,EAbf,CASF,OATE;AAAA,QAWF,IAXE,GAae,EAbf,CAWF,IAXE;AAAA,QAYF,UAZE,GAae,EAbf,CAYF,UAZE;AAAA,QAaF,iBAbE,GAae,EAbf,CAaF,iBAbE;AAAA,QAeC,oBAfD,GAeqB,WAfrB,mHAeqB,CAfrB;;AAkBN,QAAM,WAAW,2FACT,KAAK,KAAK,SAAV,IAAuB;AAAE,WAAK,EAAL;AAAF,KADd,GAET,WAAW,KAAK,SAAhB,IAA6B;AAAE,iBAAW,EAAX;AAAF,KAFpB,GAGT,QAAQ,KAAK,SAAb,IAA0B;AAAE,cAAQ,EAAR;AAAF,KAHjB,GAIT,SAAS,KAAK,SAAd,IAA2B;AAAE,eAAS,EAAT;AAAF,KAJlB,GAKT,QAAQ,KAAK,SAAb,IAA0B;AAAE,cAAQ,EAAR;AAAF,KALjB,GAMT,YAAY,KAAK,SAAjB,IAA8B;AAAE,aAAO,EAAE;AAAX,KANrB,CAAjB;;AASA,QAAI,IAAI,KAAK,QAAb,EAAuB;AACnB,2BAAqB,CAAC,GAAD,CAArB,GAA0B,4DACnB,oBADmB,GAEnB,WAFmB,GAER;AACd,YAAI,EAAJ;AADc,OAFQ,GAIlB,UAAU,IAAI;AAAE,kBAAU,EAAE,sCAAsC,CAAC,UAAD;AAApD,OAJI,CAA1B;;AAMA,UAAI,iBAAJ,EAAuB;AACnB,YAAI,yBAAyB,GAAG,EAAhC;AACA,cAAM,CAAC,IAAP,CAAY,iBAAZ,EAA+B,OAA/B,CAAuC,UAAC,GAAD,EAAc;AACjD,mCAAyB,mCAClB,yBADkB,GAElB,sCAAsC,qBAAI,GAAJ,EAAU,iBAAiB,CAAC,GAAD,CAA3B,EAFpB,CAAzB;AAIH,SALD;AAMA,6BAAqB,CAAC,GAAD,CAArB,CAA2B,iBAA3B,GAA+C,yBAA/C;AACH;AACJ,KAjBD,MAiBO;AACH,2BAAqB,CAAC,GAAD,CAArB,GAA0B,gCACnB,WADmB,GACR;AACd,aAAK,EAAE,C,4BAEE,E,EAAC,IAAI,KAAK,SAAT,IAAsB;AAAE,cAAI,EAAJ;AAAF,S,GAAc,oB,CAFvC,EAGH,qBAHG;AADO,OADQ,CAA1B;AAQH;AACJ,GAvDD;AAwDA,SAAO,qBAAP;AACH;;AA4GG;AA1GJ;;;;AAIG;;AACH,SAAS,aAAT,CAAuB,SAAvB,EAA2C;AACvC,MAAM,cAAc,GAAc,SAAlC;;AACA,MAAI,SAAS,CAAC,QAAV,CAAmB,OAAnB,CAA2B,0BAAY,eAAvC,MAA4D,CAAC,CAAjE,EAAoE;AAChE,kBAAc,CAAC,aAAf,GAA+B,sCAAsC,CAAC,SAAS,CAAC,aAAX,CAArE;AACH;;AACD,SAAO,cAAP;AACH;;AA8FG;;AA5FJ,SAAS,eAAT,CAAyB,MAAzB,EAAwC;AACpC,SAAQ,MAAM,IAAI,OAAO,MAAP,KAAkB,QAA5B,IAAwC,MAAM,CAAC,IAAP,GAAc,UAAd,CAAyB,GAAzB,CAAzC,IAA2E,KAAlF;AACH;;AA4FG,0C,CA1FJ;AACA;;AAEA;;;;;;;AAOG;;AACH,SAAS,qBAAT,CACI,UADJ,EAEI,aAFJ,EAE+C;AAE3C,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAA1B;AACA,SAAO,iBAAiB,CAAC,KAAlB,CACH,UAAC,UAAD;AAAA,WACK,aAAa,CAAC,UAAD,CAAb,KAA8B,SAA9B,IAA2C,UAAU,CAAC,UAAD,CAAV,KAA2B,SAAvE,IACC,aAAa,CAAC,UAAD,CAAb,KAA8B,SAA9B,IAA2C,UAAU,CAAC,UAAD,CAAV,KAA2B,SAF3E;AAAA,GADG,CAAP;AAKH;AAED;;AAEG;;;AACH,SAAS,oBAAT,CACI,UADJ,EAEI,aAFJ,EAE+C;AAE3C,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAAzB;AACA,SAAO,gBAAgB,CAAC,KAAjB,CACH,UAAC,SAAD;AAAA,WACI,eAAe,CAAC,aAAa,CAAC,SAAD,CAAd,CAAf,KAA8C,eAAe,CAAC,UAAU,CAAC,SAAD,CAAX,CADjE;AAAA,GADG,CAAP;AAIH;AAED;;;;;;;AAOG;;;AACH,SAAS,gBAAT,CACI,UADJ,EAEI,UAFJ,EAGI,OAHJ,EAG0B;AAEtB,SAAO,OAAO,CAAC,IAAR,CAAa,UAAC,MAAD,EAAoB;AACpC,QAAM,aAAa,GAAG,aAAI,MAAJ,EAAY,CAAC,OAAD,EAAU,SAAV,CAAZ,EAAkC,EAAlC,CAAtB;AACA,QAAM,aAAa,GAAG,aAAI,MAAJ,EAAY,CAAC,OAAD,EAAU,SAAV,CAAZ,EAAkC,EAAlC,CAAtB;AACA,QAAM,iBAAiB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAA1B;AACA,QAAM,gBAAgB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAAzB,CAJoC,CAMpC;AACA;;AACA,QAAI,iBAAiB,CAAC,MAAlB,KAA6B,CAA7B,IAAkC,gBAAgB,CAAC,MAAjB,KAA4B,CAAlE,EAAqE,OAAO,KAAP;AAErE,WACI,qBAAqB,CAAC,UAAD,EAAa,aAAb,CAArB,IACA,oBAAoB,CAAC,UAAD,EAAa,aAAb,CAFxB;AAIH,GAdM,CAAP;AAeH;;AA0BG;AAnBJ;;;;;AAKG;;AACH,SAAS,uBAAT,CAAiC,kBAAjC,EAA2D;AACvD,SAAO,eAAM,CAAN,EAAS,kBAAkB,GAAG,CAA9B,EAAiC,GAAjC,CACH,UAAC,CAAD;AAAA,WAAyB;AACrB,WAAK,YAAK,CAAL,gBAAY,CAAC,GAAG,CAAJ,GAAQ,GAAR,GAAc,EAA1B,SAA+B,IAAI,MAAJ,CAAW,CAAX,CAA/B,MADgB;AAErB,WAAK,EAAE;AAFc,KAAzB;AAAA,GADG,CAAP;AAMH;;AAOG,0D;;;;;;ACnMJ,kE;;;;;;ACAA,kE;;;;;;ACAA,qE;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AACA;;AAcA,IAAM,IAAI,GAAG,4BAAO,GAAP,CAAW,KAAX,CAA4B;AAAA,MAAG,KAAH,QAAG,KAAH;AAAA,SAAgB;AACrD,SAAK,EAAE;AACH,WAAK,EAAE,aAAK,KAAL;AADJ;AAD8C,GAAhB;AAAA,CAA5B,CAAH;AAAA;AAAA;AAAA,kDAMc,UAAC,KAAD;AAAA,SACf,qBAAQ,KAAK,CAAC,eAAd,KAAkC,KAAK,CAAC,eAAzC,IAA6D,KAAK,CAAC,KAAN,CAAY,sBADzD;AAAA,CANd,CAAV,C,CAgBA;;AACA,IAAM,WAAW,GAAG,4BAAO,GAAP,CAAW,KAAX,CAAmC;AAAA,MAAG,KAAH,SAAG,KAAH;AAAA,MAAU,MAAV,SAAU,MAAV;AAAA,SAEjD;AACF,SAAK,kCACG,KAAK,IAAI;AAAE,WAAK,EAAE,aAAK,KAAL;AAAT,KADZ,GAEG,MAAM,IAAI;AAAE,YAAM,EAAE,aAAK,MAAL;AAAV,KAFb;AADH,GAFiD;AAAA,CAAnC,CAAH;AAAA;AAAA;AAAA,4FAYO,UAAC,KAAD;AAAA,SACf,qBAAQ,KAAK,CAAC,eAAd,KAAkC,KAAK,CAAC,eAAzC,IAA6D,KAAK,CAAC,KAAN,CAAY,sBADzD;AAAA,CAZP,CAAjB;AAgBA,IAAM,WAAW,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,sDAAjB;AAMA,IAAM,kBAAkB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,sEAAxB;;AAaA,IAAM,sBAAsB,GAAG,SAAzB,sBAAyB,CAC3B,GAD2B,EAEH;AACxB,MAAM,kBAAkB,GAAG,SAArB,kBAAqB,CAAC,KAAD,EAAiC;AAAA,QAChD,KADgD,GACb,KADa,CAChD,KADgD;AAAA,QACzC,MADyC,GACb,KADa,CACzC,MADyC;AAAA,QACjC,eADiC,GACb,KADa,CACjC,eADiC;;AAGxD,QAAI,CAAC,MAAL,EAAa;AACT,aACI,oBAAC,IAAD,EAAK;AAAA,qBAAW,MAAX;AAAkB,aAAK,EAAE,KAAzB;AAAgC,uBAAe,EAAE;AAAjD,OAAL,EACI,oBAAC,WAAD,EAAY,IAAZ,EACI,oBAAC,GAAD,EAAI,kBAAK,KAAL,CAAJ,CADJ,CADJ,CADJ;AAOH;;AACD,WACI,oBAAC,WAAD,EAAY;AAAA,mBACE,eADF;AAER,WAAK,EAAE,KAFC;AAGR,YAAM,EAAE,MAHA;AAIR,qBAAe,EAAE;AAJT,KAAZ,EAMI,oBAAC,kBAAD,EAAmB,IAAnB,EACI,oBAAC,0BAAD,EAAiB,IAAjB,EACK;AAAA,UAAU,QAAV,SAAG,KAAH;AAAA,UAA4B,SAA5B,SAAoB,MAApB;AAAA,aACG,oBAAC,GAAD,EAAI,kBAAK,KAAL,EAAU;AAAE,aAAK,EAAE,QAAT;AAAmB,cAAM,EAAE;AAA3B,OAAV,CAAJ,CADH;AAAA,KADL,CADJ,CANJ,CADJ;AAgBH,GA5BD;;AA6BA,oBAAkB,CAAC,WAAnB,GAAiC,wBAAjC;AACA,SAAO,kBAAP;AACH,CAlCD;;AAoCA,kBAAe,sBAAf,C;;;;;;AC1GA,gE;;;;;;ACAA,sE;;;;;;;ACAA,+D;;;;;;ACAA,2E;;;;;;;ACAA,qD;;;;;;;ACAA,gD;;;;;;ACAA,0D;;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AAQa,8BAAsB,CAAC,CAAC,KAAF,CAAQ;AACvC,gBAAc,EAAE,CAAC,CAAC,MADqB;AAEvC,gBAAc,EAAE,CAAC,CAAC,KAAF,CAAQ,0BAAR,CAFuB;AAGvC,QAAM,EAAE,CAAC,CAAC;AAH6B,CAAR,CAAtB;;AAMN,IAAM,gBAAgB,GAAG,SAAnB,gBAAmB,OAAyE;AAAA,MAAtE,aAAsE,QAAtE,aAAsE;AAAA,MAAvD,qBAAuD,QAAvD,qBAAuD;AACrG,MAAI,cAAJ;AACA,MAAI,cAAJ;AAEA,MAAM,cAAc,GAAG;AACnB,OAAG,EAAE,MADc;AAEnB,QAAI,EAAE,KAFa;AAGnB,QAAI,EAAE;AAHa,GAAvB;AAMA,MAAI,MAAJ;;AACA,MAAI,oBAAW,qBAAX,CAAJ,EAAuC;AACnC,QAAI,aAAa,IAAI,aAAI,aAAJ,EAAmB,MAAnB,CAArB,EAAiD;AAC7C,oBAAc,GAAG,MAAM,CAAC,IAAP,CAAY,aAAa,CAAC,IAA1B,EAAgC,KAAhC,EAAjB;AACA,oBAAc,GAAG,aAAa,CAAC,IAAd,CAAmB,cAAnB,CAAjB;AACH,KAJkC,CAMnC;;;AACA,UAAM,GAAG,gBAAC,CAAD,SAAkC;AAAA,UAA5B,OAA4B,SAA5B,OAA4B;AAAA,UAAnB,OAAmB,SAAnB,OAAmB;;AACvC,UAAI,OAAO,OAAP,KAAmB,QAAvB,EAAiC;AAC7B,YAAM,WAAW,GAAG,aAAI,cAAJ,EAAoB,OAApB,IAA+B,cAAc,CAAC,OAAD,CAA7C,GAAyD,MAA7E;AACA,6BAAqB,iCACd,aADc,GAEd;AAAE,gBAAM,EAAE,CAAV;AAAa,cAAI,sBAAK,OAAL,EAAe,WAAf;AAAjB,SAFc,EAArB;AAIH,OAND,MAMO;AACH,6BAAqB,CAAC,aAAD,CAArB;AACH;AACJ,KAVD;AAWH;;AAED,SAAO;AACH,kBAAc,EAAd,cADG;AAEH,kBAAc,EAAd,cAFG;AAGH,UAAM,EAAN;AAHG,GAAP;AAKH,CApCM;;AAAM,2BAAgB,gBAAhB,C;;;;;;;;;;;;;;AChBb;;AACA;;AAca,mCAA2B,CAAC,CAAC,KAAF,CAAQ;AAC5C,UAAQ,EAAE,CAAC,CAAC,IADgC;AAE5C,SAAO,EAAE,CAAC,CAAC,MAFiC;AAG5C,YAAU,EAAE,CAAC,CAAC,MAH8B;AAI5C,UAAQ,EAAE,CAAC,CAAC;AAJgC,CAAR,CAA3B;;AAON,IAAM,mBAAmB,GAAG,SAAtB,mBAAsB,OAIG;AAAA,MAHlC,aAGkC,QAHlC,aAGkC;AAAA,MAFlC,IAEkC,QAFlC,IAEkC;AAAA,MADlC,qBACkC,QADlC,qBACkC;AAClC,MAAM,UAAU,GAAI,IAAI,IAAI,IAAI,CAAC,UAAd,IAA6B,CAAhD;AACA,MAAM,MAAM,GAAI,aAAa,IAAI,aAAa,CAAC,MAAhC,IAA2C,CAA1D;AACA,MAAM,KAAK,GAAG,aAAa,IAAI,aAAa,CAAC,KAA7C;AACA,MAAM,UAAU,GAAG,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,GAAG,CAArC,GAAyC,IAAI,CAAC,IAAL,CAAU,UAAU,GAAG,KAAvB,CAAzC,GAAyE,CAA5F;AACA,MAAM,OAAO,GAAG,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,GAAG,CAArC,GAAyC,IAAI,CAAC,KAAL,CAAW,MAAM,GAAG,KAApB,IAA6B,CAAtE,GAA0E,CAA1F;AACA,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAb,IAAkB,oBAAW,qBAAX,CAAnC;;AAEA,MAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,CAAD,SAAuD;AAAA,QAAjD,IAAiD,SAAjD,IAAiD;AAAA,QAApC,QAAoC,SAA3C,KAA2C;AAC3E,QAAM,SAAS,GAAkB,mBAAU,aAAV,CAAjC;;AAEA,QAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC;AAC9B,eAAS,CAAC,KAAV,GAAkB,QAAlB;AACA,eAAS,CAAC,MAAV,GAAmB,CAAnB;AACH;;AAED,QAAM,SAAS,GAAG,OAAO,SAAS,CAAC,KAAjB,KAA2B,QAA3B,GAAsC,SAAS,CAAC,KAAhD,GAAwD,EAA1E;;AACA,QAAI,OAAO,IAAP,KAAgB,QAAhB,IAA4B,IAAI,GAAG,CAAvC,EAA0C;AACtC,eAAS,CAAC,KAAV,GAAkB,SAAlB;AACA,eAAS,CAAC,MAAV,GAAmB,CAAC,IAAI,GAAG,CAAR,IAAa,SAAhC;AACH;;AAED,yBAAqB,CAAC,SAAD,CAArB;AACH,GAfD;;AAiBA,SAAO;AACH,YAAQ,EAAR,QADG;AAEH,WAAO,EAAP,OAFG;AAGH,cAAU,EAAV,UAHG;AAIH,YAAQ,EAAE,oBAAW,qBAAX,IAAoC,eAApC,GAAsD;AAJ7D,GAAP;AAMH,CAnCM;;AAAM,8BAAmB,mBAAnB,C;;;;;;;;;;;;;;ACtBb;;AACA;;AACA;;AACA;;AACA;;AAEA;AAEA;;;;;AAKG;;;AACI,IAAM,yBAAyB,GAAG,SAA5B,yBAA4B,CACrC,WADqC,EAG5B;AAAA,MADT,OACS,uEADC,KACD;AACT,MAAM,IAAI,GAAG,aAAI,WAAJ,EAAiB,yBAAjB,EAA4C,SAA5C,CAAb;AACA,MAAM,MAAM,GAAG,IAAI,KAAK,SAAxB;AACA,MAAM,MAAM,GAAG,aAAI,WAAJ,EAAiB,wBAAjB,EAA2C,SAA3C,CAAf;AACA,MAAM,QAAQ,GAAG,MAAM,KAAK,SAA5B;AACA,SAAO,OAAO,IAAI,MAAX,IAAqB,QAA5B;AACH,CATM;;AAAM,oCAAyB,yBAAzB;AAkBb,IAAM,SAAS,GAAyD;AACpE,MAAI,EAAE,CAAC,CAAC,IAD4D;AAEpE,OAAK,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAF6D;AAGpE,QAAM,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAH4D;AAIpE,iBAAe,EAAE,CAAC,CAAC;AAJiD,CAAxE;AAOA;;;;AAIG;;AACH,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAoD;AAAA,MAChE,KADgE,GACxC,KADwC,CAChE,KADgE;AAAA,MACzD,MADyD,GACxC,KADwC,CACzD,MADyD;AAAA,MACjD,IADiD,GACxC,KADwC,CACjD,IADiD;;AAExE,MAAI,IAAJ,EAAU;AACN,WAAO,KAAK,CAAC,aAAN,CAAoB,IAApB,EAA0B;AAC7B,WAAK,EAAE;AACH,YAAI,EAAE,KADH;AAEH,WAAG,EAAE,KAFF;AAGH,aAAK,EAAE,MAHJ;AAIH,gBAAQ,EAAE,UAJP;AAKH,iBAAS,EAAE;AALR,OADsB;AAQ7B,WAAK,EAAE,KARsB;AAS7B,YAAM,EAAE;AATqB,KAA1B,CAAP;AAWH;;AAED,SAAO,oBAAC,iBAAD,EAAQ;AAAC,SAAK,EAAE,KAAR;AAAe,UAAM,EAAE,MAAvB;AAA+B,SAAK,EAAC,SAArC;AAA+C,WAAO,EAAE,SAAE,yBAAF;AAAxD,GAAR,CAAP;AACH,CAjBD;;AAmBA,eAAe,CAAC,SAAhB,GAA4B,SAA5B;AACA,eAAe,CAAC,YAAhB,GAA+B;AAC3B,OAAK,EAAE,MADoB;AAE3B,QAAM,EAAE;AAFmB,CAA/B;AAKA,kBAAe,6BAAuB,eAAvB,CAAf,C;;;;;;;;;;;;;ACrEA,IAAY,WAAZ;;AAAA,WAAY,WAAZ,EAAuB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH,CAXD,EAAY,WAAW,GAAX,8CAAW,EAAX,CAAZ,E;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAIA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;AAcA;;;;AAIG;;;AACH,IAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,IAAD,EAAgC;AAAA,MAC7C,QAD6C,GAC2B,IAD3B,CAC7C,QAD6C;AAAA,MACnC,SADmC,GAC2B,IAD3B,CACnC,SADmC;AAAA,8BAC2B,IAD3B,CACxB,eADwB;AAAA,MACxB,eADwB,sCACN,YAAK,CAAG,CADF;AAAA,MACI,kBADJ,GAC2B,IAD3B,CACI,kBADJ,EAGrD;;AACA,MAAM,iBAAiB,GAAG,mCAAmB,QAAnB,CAA1B;AACA,MAAM,cAAc,GAAG,0CAAwB,SAAS,CAAC,aAAlC,EAAiD,SAAjD,CAAvB;;AAEA,MAAM,YAAY,GAAG,SAAf,YAAe,CAAC,KAAD,EAAoE;AAAA,QAEjF,IAFiF,GAajF,KAbiF,CAEjF,IAFiF;AAAA,QAGjF,gBAHiF,GAajF,KAbiF,CAGjF,gBAHiF;AAAA,QAIjF,WAJiF,GAajF,KAbiF,CAIjF,WAJiF;AAAA,QAKjF,OALiF,GAajF,KAbiF,CAKjF,OALiF;AAAA,yBAajF,KAbiF,CAMjF,OANiF;AAAA,QAMjF,OANiF,+BAMvE,EANuE;AAAA,QAOjF,KAPiF,GAajF,KAbiF,CAOjF,KAPiF;AAAA,QAQjF,MARiF,GAajF,KAbiF,CAQjF,MARiF;AAAA,QASjF,eATiF,GAajF,KAbiF,CASjF,eATiF;AAAA,QAUjF,cAViF,GAajF,KAbiF,CAUjF,cAViF;AAAA,QAWjF,KAXiF,GAajF,KAbiF,CAWjF,KAXiF;AAAA,QAYjF,qBAZiF,GAajF,KAbiF,CAYjF,qBAZiF;;AAerF,QAAM,SAAS,GAAG,SAAZ,SAAY,SAAQ,EAAG;AAAA;;AAAC,kCAAS,CAAC,MAAV,EAAiB,QAAjB,OAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,YAAG,KAAH,CAA1B;AAAmC,KAAjE;;AACA,QAAM,gBAAgB,GAAG,SAAS,CAAC,wBAAD,CAAlC;;AAhBqF,gCAqBjF,qCAA2B;AAAE,WAAK,EAAL;AAAF,KAA3B,CArBiF;AAAA,QAkBzE,kBAlByE,yBAkBjF,MAlBiF;AAAA,QAmBpE,uBAnBoE,yBAmBjF,WAnBiF;AAAA,QAoBxE,mBApBwE,yBAoBjF,OApBiF;;AAuBrF,QAAI,gBAAgB,GAAS,EAA7B,CAvBqF,CAuBpD;;AACjC,oBAAgB,GAAG,0BAAY,YAA8B;AACzD,UAAI;AACA,eAAO,kBAAK,QAAL,CACH;AACI,iBAAO,EAAE,sBAAa,EAAb,EAAiB,OAAjB,EAA0B,SAAS,CAAC,cAApC,CADb;AAEI,iBAAO,EAAE,uCAA4B,EAA5B,EAAgC,OAAhC,EAAyC,cAAzC;AAFb,SADG,EAKH,WALG,EAMH,SANG,CAAP;AAQH,OATD,CASE,OAAO,CAAP,EAAU;AACR,eAAO,CAAC,KAAR,mDAAyD,CAAC,CAAC,OAA3D;AACA,eAAO,EAAP;AACH;AACJ,KAdkB,EAchB,CAAC,kBAAD,EAAqB,uBAArB,EAA8C,mBAA9C,EAAmE,OAAnE,EAA4E,OAA5E,EAAqF,WAArF,CAdgB,CAAnB,CAxBqF,CAwCrF;AACA;;AACA,SAAK,CAAC,SAAN,CAAgB,YAAW;AACvB,qBAAe,CAAC,gBAAD,CAAf;AACH,KAFD,EA1CqF,CA8CrF;;AA9CqF,gCA+C5C,SA/C4C,CA+C7E,aA/C6E;AAAA,QA+C7E,aA/C6E,sCA+C7D,EA/C6D;AAAA,QA+CzD,QA/CyD,GA+C5C,SA/C4C,CA+CzD,QA/CyD;AAgDrF,QAAM,OAAO,GAAG,kCAAY,aAAZ,EAA2B,gBAA3B,CAAhB;;AACA,QAAI,OAAO,CAAC,MAAR,GAAiB,CAAjB,IAAsB,QAAQ,CAAC,QAAT,CAAkB,0BAAY,WAA9B,CAA1B,EAAsE;AAClE,aACI,oBAAC,6BAAD,EAAoB;AAAA,qBACN,uBADM;AAEhB,aAAK,EAAE,KAFS;AAGhB,cAAM,EAAE,MAHQ;AAIhB,oBAAY,EAAE,OAJE;AAKhB,uBAAe,EAAE;AALD,OAApB,CADJ;AASH,KA3DoF,CA6DrF;;;AACA,QAAM,kBAAkB,GAAG,EAA3B;;AACA,QAAI,gBAAgB,IAAI,IAAI,KAAK,MAA7B,IAAuC,SAAS,CAAC,QAAV,CAAmB,OAAnB,CAA2B,0BAAY,MAAvC,IAAiD,CAAC,CAA7F,EAAgG;AAC5F,UAAM,eAAe,GAAG,SAAS,CAAC,MAAlC;AACA,YAAM,CAAC,IAAP,CAAY,eAAZ,EAA6B,OAA7B,CAAqC,UAAC,SAAD,EAAoB;AACrD,YAAM,qBAAqB,GAAG,gCAAgB,SAAhB,EAA9B;AACA,0BAAkB,CAAC,qBAAD,CAAlB,GAA4C,IAA5C,CAFqD,CAGrD;AACA;;AAJqD,YAK7C,WAL6C,GAK7B,eAAe,CAAC,SAAD,CALc,CAK7C,WAL6C;AAMrD,YAAI,OAAO,GAAG,EAAd;;AACA,YAAI,KAAK,CAAC,OAAN,CAAc,WAAd,KAA8B,WAAW,CAAC,MAA9C,EAAsD;AAClD,qBAAW,CAAC,OAAZ,CAAoB,WAAC;AAAA,mBAAK,OAAO,CAAC,CAAD,CAAP,GAAa,gBAAgB,CAAC,CAAD,CAAlC;AAAA,WAArB;AACH;;AAED,0BAAkB,CAAC,qBAAD,CAAlB,GAA4C,UAAC,EAAD,EAAgC;AACxE,cAAI,EAAE,IAAI,EAAE,CAAC,OAAb,EAAsB;AAClB,mBAAO,GAAG,EAAE,CAAC,OAAb;AACH;;AAED,iBAAO,cAAc,CAAC;AAAE,yBAAa,EAAE,EAAjB;AAAqB,mBAAO,EAAP,OAArB;AAA8B,gBAAI,EAAE;AAApC,WAAD,CAArB;AACH,SAND;AAOH,OAlBD;AAmBH,KApFoF,CAqFrF;;;AACA,QAAM,gBAAgB,GAAG,eAAe,6DACjC,KADiC,GAEjC,gBAFiC,GAGjC,kBAHiC,GAGf;AACrB,eAAS,EAAT;AADqB,KAHe,EAAxC;AAOA;;;;;;;;;;;;;AAaG;;AACH,QAAI,kBAAkB,GAAG,EAAzB;AACA,QAAM,SAAS,GAAG,uBAAlB;AACA,QAAM,qBAAqB,GACtB,aAAI,gBAAJ,EAAsB,SAAtB,KAAoC,gBAAgB,CAAC,SAAD,CAArD,IAAqE,SADzE;;AAEA,QACI,SAAS,CAAC,QAAV,CAAmB,OAAnB,CAA2B,0BAAY,aAAvC,IAAwD,CAAC,CAAzD,IACA,aAAI,WAAJ,EAAiB,qBAAjB,CAFJ,EAGE;AACE,UAAM,aAAa,GAAG,aAAI,WAAJ,EAAiB,CAAC,qBAAD,EAAwB,eAAxB,CAAjB,EAA2D,EAA3D,CAAtB;AACA,UAAM,IAAI,GAAG,aAAI,WAAJ,EAAiB,CAAC,qBAAD,EAAwB,MAAxB,CAAjB,EAAkD,EAAlD,CAAb;;AACA,UAAM,yBAAyB,GAAG,SAA5B,yBAA4B,CAAC,OAAD;AAAA,eAC9B,qBAAqB,CAAC,qBAAD,EAAwB,OAAxB,CADS;AAAA,OAAlC;;AAGA,UAAM,UAAU,GAAG,8BAAiB;AAChC,qBAAa,EAAb,aADgC;AAEhC,YAAI,EAAJ,IAFgC;AAGhC,6BAAqB,EAAE;AAHS,OAAjB,CAAnB;AAMA,UAAM,eAAe,GAAG,oCAAoB;AACxC,qBAAa,EAAb,aADwC;AAExC,YAAI,EAAJ,IAFwC;AAGxC,6BAAqB,EAAE;AAHiB,OAApB,CAAxB;AAMA,wBAAkB,GAAG;AACjB,kBAAU,EAAV,UADiB;AAEjB,uBAAe,EAAf;AAFiB,OAArB;AAIH;;AAED,WACI,oBAAC,iBAAD,EAAkB;AACd,UAAI,EAAE,IADQ;AAEd,WAAK,EAAE,KAFO;AAGd,YAAM,EAAE;AAHM,OAIV,gBAJU,EAKV,gBALU,EAMV,kBANU,EAOV,kBAPU,CAAlB,CADJ;AAWH,GArJD;;AAuJA,cAAY,CAAC,SAAb,GAAsB,gCACf,8BAAoB,SADL,GAEf,QAAQ,CAAC,SAFM,CAAtB;AAKA,cAAY,CAAC,YAAb,GAAyB,8CAClB,8BAAoB,YADF,GAElB,QAAQ,CAAC,YAFS,GAEG;AACxB;AACA,SAAK,EAAE;AAFiB,GAFH,CAAzB,CAnKqD,CAyKrD;;AACA,cAAY,CAAC,MAAb,GAAsB,SAAtB,CA1KqD,CA4KrD;;AACA,SAAO,8BAAU,0BAAgB,4BAAkB,YAAlB,CAAhB,EAAiD,kBAAjD,CAAV,CAAP;AACH,CA9KD;;AAgLA,kBAAe,gBAAf,C;;;;;;ACxNA,sE;;;;;;ACAA,mE;;;;;;ACAA,wE;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AAEA,iD,CAEA;;;AACa,wBAAgB,GAAhB;AACA,yBAAiB,GAAjB;AAEb;;AAEG;;IACG,mB;;;;AACK,gCAA+D;AAClE;;AAEG;AACH,MAAI,EAAE,CAAC,CAAC,KAAF,CAAQ,CAAC,MAAD,EAAS,MAAT,EAAiB,QAAjB,CAAR,EAAoC,UAJwB;;AAKlE;;AAEG;AACH,OAAK,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,EAAkC,UARyB;;AASlE;;AAEG;AACH,QAAM,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,EAAkC,UAZwB;;AAalE;;AAEG;AACH,SAAO,EAAE,CAAC,CAAC,MAhBuD;;AAiBlE;;AAEG;AACH,SAAO,EAAE,CAAC,CAAC,MApBuD;;AAqBlE;;AAEG;AACH,iBAAe,EAAE,CAAC,CAAC,IAxB+C;;AAyBlE;;AAEG;AACH,aAAW,EAAE,CAAC,CAAC,QAAF,CACT,CAAC,CAAC,KAAF,CAAQ;AACJ;;AAEG;AACH,iBAAa,EAAE,CAAC,CAAC,MAJb;;AAKJ;;AAEG;AACH,QAAI,EAAE,CAAC,CAAC,KAAF,CAAQ;AACV,YAAM,EAAE,CAAC,CAAC,KADA;AAEV,aAAO,EAAE,CAAC,CAAC;AAFD,KAAR,CARF;;AAYJ;;AAEG;AACH,SAAK,EAAE,CAAC,CAAC,KAAF,CAAQ;AACX,WAAK,EAAE,CAAC,CAAC,MADE;AAEX,aAAO,EAAE,CAAC,CAAC;AAFA,KAAR,CAfH;;AAmBJ;;AAEG;AACH,QAAI,EAAE,CAAC,CAAC;AAtBJ,GAAR,CADS,CA5BqD;;AAsDlE;;AAEG;AACH,gBAAc,EAAE,CAAC,CAAC,IAzDgD;;AA0DlE;;AAEG;AACH,kBAAgB,EAAE,CAAC,CAAC,IA7D8C;;AA8DlE;;AAEG;AACH,iBAAe,EAAE,CAAC,CAAC,IAjE+C;;AAkElE;;AAEG;AACH,qBAAmB,EAAE,CAAC,CAAC,IArE2C;AAuElE,SAAO,EAAE,CAAC,CAAC,IAvEuD;AAwElE,OAAK,EAAE,CAAC,CAAC,MAxEyD;;AAyElE;;AAEG;AACH,uBAAqB,EAAE,CAAC,CAAC;AA5EyC,CAA/D;AA8EP;;AAEG;;AACI,mCAAkC;AACrC;AACA,OAAK,EAAE,MAF8B;AAGrC,QAAM,EAAE,sBAH6B;AAIrC,aAAW,EAAE,EAJwB;AAKrC,gBAAc,EAAE;AAAA,WAAgC,EAAhC;AAAA,GALqB;AAMrC,MAAI,EAAE,MAN+B;AAOrC,kBAAgB,EAAE,KAPmB;AAQrC,SAAO,EAAE,EAR4B;AASrC,SAAO,EAAE,EAT4B;AAUrC,iBAAe,EAAE;AAAA,WAAgC,EAAhC;AAAA,GAVoB;AAWrC,qBAAmB,EAAE;AAAA,WAA+B,IAAI,0CAAJ,EAA/B;AAAA,GAXgB;AAYrC,iBAAe,EAAE;AAAA,WAAgC,EAAhC;AAAA,GAZoB;AAarC,SAAO,EAAE,KAb4B;AAcrC,uBAAqB,EAAE;AAdc,CAAlC;AAkBX,kBAAe,mBAAf,C;;;;;;;;;;;;;;;;;;ICrGa,uB;;;;;;;WACT,iBAAK,CACD;AACH;;;WAED,oBAAQ;AACJ,aAAO,IAAP,CADI,CACS;AAChB;;;;;;AAPL,0D;;;;;;;;;;;;;ACIa,wBAAgB,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAhB,CAAhB,C;;;;;;;;;;;;;;AChBb;;AACA;AAEA;;;;;;;;;;;;AAYG;;;AACI,IAAM,WAAW,GAAG,SAAd,WAAc,CACvB,EADuB,EAEvB,YAFuB,EAGT;AACd,MAAM,GAAG,GAAG,gBAAZ;;AACA,MAAI,CAAC,GAAG,CAAC,OAAL,IAAgB,CAAC,iBAAQ,YAAR,EAAsB,GAAG,CAAC,OAAJ,CAAY,YAAlC,CAArB,EAAsE;AAClE,OAAG,CAAC,OAAJ,GAAc;AACV,kBAAY,EAAZ,YADU;AAEV,WAAK,EAAE,EAAE;AAFC,KAAd;AAIH;;AACD,SAAO,GAAG,CAAC,OAAJ,CAAY,KAAnB;AACH,CAZM;;AAAM,sBAAW,WAAX,C;;;;;;;;;;;;;;ACfb;;AAIO,IAAM,uBAAuB,GAAG,SAA1B,uBAA0B,CACnC,aADmC;AAAA,MAEnC,SAFmC,uEAEvB,SAFuB;AAAA,SAInC,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,CAAkC,UAAC,KAAD,EAAiC,CAAjC,EAA+D;AAC7F,QAAI,aAAI,aAAa,CAAC,CAAD,CAAjB,EAAsB,SAAtB,CAAJ,EAAsC;AAClC,WAAK,CAAC,CAAD,CAAL,GAAW,aAAa,CAAC,CAAD,CAAb,CAAiB,SAAjB,CAAX;AACH,KAFD,MAEO,IAAI,aAAI,aAAJ,EAAmB,CAAC,CAAD,EAAI,MAAJ,CAAnB,MAAoC,QAApC,IAAgD,aAAI,aAAa,CAAC,CAAD,CAAjB,EAAsB,YAAtB,CAApD,EAAyF;AAC5F,UAAM,YAAY,GAAG,gCAAwB,aAAa,CAAC,CAAD,CAAb,CAAiB,UAAzC,EAAqD,SAArD,CAArB;;AACA,UAAI,CAAC,iBAAQ,YAAR,CAAL,EAA4B;AACxB,aAAK,CAAC,CAAD,CAAL,GAAW,YAAX;AACH;AACJ;;AACD,WAAO,KAAP;AACH,GAVD,EAUG,EAVH,CAJmC;AAAA,CAAhC;;AAAM,kCAAuB,uBAAvB,C;;;;;;;;;;;;;;ACLb;;AACA;;AACA;;AACA;;AACA;AAEA;;;;AAIG;;;AACI,IAAM,SAAS,GAAG,SAAZ,SAAY,CAAC,CAAD,EAAe;AACpC,SAAO,CAAC,KAAK,IAAN,IAAc,CAAC,KAAK,SAA3B;AACH,CAFM;;AAAM,oBAAS,SAAT;AAIb;;;;;AAKG;;AACI,IAAM,WAAW,GAAG,SAAd,WAAc,CAAC,IAAD,EAAiB,MAAjB;AAAA,SACvB,IAAI,CAAC,MAAL,CAAY,WAAC;AAAA,WAAI,kBAAU,MAAM,CAAC,CAAD,CAAhB,CAAJ;AAAA,GAAb,CADuB;AAAA,CAApB;;AAAM,sBAAW,WAAX;AAUb,IAAM,SAAS,GAAsD;AACjE,OAAK,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAD0D;AAEjE,QAAM,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAFyD;AAGjE,iBAAe,EAAE,CAAC,CAAC,MAH8C;AAIjE,cAAY,EAAE,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,MAAZ;AAJmD,CAArE;AAOA;;;;AAIG;;AACI,IAAM,mBAAmB,GAAG,SAAtB,mBAAsB,CAAC,KAAD,EAAiD;AAAA,MACxE,KADwE,GACxC,KADwC,CACxE,KADwE;AAAA,MACjE,MADiE,GACxC,KADwC,CACjE,MADiE;AAAA,MACzD,YADyD,GACxC,KADwC,CACzD,YADyD;AAEhF,SACI,oBAAC,iBAAD,EAAQ;AAAA,iBACM,SADN;AAEJ,SAAK,EAAE,KAFH;AAGJ,UAAM,EAAE,MAHJ;AAIJ,WAAO,EAAE,qCAAuB,YAAY,CAAC,IAAb,CAAkB,IAAlB,CAAvB;AAJL,GAAR,CADJ;AAQH,CAVM;;AAAM,8BAAmB,mBAAnB;AAYb,4BAAoB,SAApB,GAAgC,SAAhC;AACA,4BAAoB,YAApB,GAAmC;AAC/B,OAAK,EAAE,MADwB;AAE/B,QAAM,EAAE;AAFuB,CAAnC;AAIA,kBAAe,6BAAuB,2BAAvB,CAAf,C;;;;;;;;;;;;;AC5DA;;AACA;;AAGA;;AAEA,IAAM,KAAK,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,wDAAX;AAQA,IAAM,OAAO,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,iDAAb;AAMA;;;;;AAKG;;AACH,IAAM,iBAAiB,GAAG,SAApB,iBAAoB,CAAC,aAAD,EAAoD;AAC1E,MAAM,OAAO,GAAG,SAAV,OAAU,CAAC,KAAD,EAAoE;AAAA,QACxE,IADwE,GAC/D,KAD+D,CACxE,IADwE;AAEhF,WACI,oBAAC,OAAD,EAAQ,IAAR,EACI,oBAAC,aAAD,EAAc,kBAAK,KAAL,CAAd,CADJ,EAEK,IAAI,KAAK,MAAT,IAAmB,oBAAC,KAAD,EAAM;AAAA,mBAAW;AAAX,KAAN,CAFxB,CADJ;AAMH,GARD;;AASA,sCAAyB;AAAE,WAAO,EAAP,OAAF;AAAW,iBAAa,EAAb;AAAX,GAAzB;AACA,SAAO,OAAP;AACH,CAZD;;AAcA,kBAAe,iBAAf,C;;;;;;;;;;;;;ACxCA;;AACA;;AACA;;AACA;;AAIA;;AAQA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CACpB,aADoB,EAGH;AAAA,MADjB,kBACiB,uEADwB,2CACxB;AAAA,MACT,MADS,GACE,aADF,CACT,MADS;AAAA,MAET,MAFS,GAEE,MAFF,CAET,MAFS;;AAIjB,MAAM,OAAO,GAAG,SAAV,OAAU,CAAC,KAAD,EAAoE;;;AAAA,QACxE,WADwE,GACvB,KADuB,CACxE,WADwE;AAAA,QAC3D,OAD2D,GACvB,KADuB,CAC3D,OAD2D;AAAA,QAClD,OADkD,GACvB,KADuB,CAClD,OADkD;AAAA,QACzC,MADyC,GACvB,KADuB,CACzC,MADyC;AAAA,QACjC,KADiC,GACvB,KADuB,CACjC,KADiC;AAGhF,QAAM,eAAe,GAAG,kBAAkB,CAAC,WAAD,EAAc,OAAd,EAAuB,OAAvB,CAA1C;AACA,QAAM,gBAAgB,GAAG,qBAAQ,OAAO,SAAP,WAAO,WAAP,GAAO,MAAP,UAAO,CAAE,eAAjB,IACnB,OAAO,SAAP,WAAO,WAAP,GAAO,MAAP,UAAO,CAAE,eADU,GAEnB,YAAM,SAAN,UAAM,WAAN,GAAM,MAAN,SAAM,CAAE,sBAAR,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,QAA9B,MAA8B,EAAG,KAAH,CAFpC;;AAIA,QAAI,MAAM,CAAC,QAAP,CAAgB,QAAhB,CAAyB,0BAAY,WAArC,KAAqD,eAAzD,EAA0E;AACtE,aACI,oBAAC,yBAAD,EAAgB;AAAA,qBACF,kBADE;AAEZ,YAAI,EAAE,MAAM,CAAC,IAFD;AAGZ,aAAK,EAAE,KAHK;AAIZ,cAAM,EAAE,MAJI;AAKZ,uBAAe,EAAE;AALL,OAAhB,CADJ;AASH;;AAED,WAAO,oBAAC,aAAD,EAAc,kBAAK,KAAL,CAAd,CAAP;AACH,GArBD;;AAsBA,sCAAyB;AAAE,WAAO,EAAP,OAAF;AAAW,iBAAa,EAAb;AAAX,GAAzB;AACA,SAAO,OAAP;AACH,CA/BD;;AAiCA,kBAAe,eAAf,C;;;;;;AChDA,yE;;;;;;ACAA,qE;;;;;;ACAA,iE;;;;;;ACAA,wD;;;;;;;;;;;;;;;;;;;;;;;ACAA,iE;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,4D;;;;;;ACAA,6E;;;;;;ACAA,kE;;;;;;;;;;;;;;ACAA,0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AA4CoC,wBA5C7B,uBA4C6B;;AA3CpC;;AA2CiB,iBA3CV,gBA2CU;AAxCjB;;;;AAIG;;AACI,IAAM,mBAAmB,GAAG,SAAtB,mBAAsB,YAAW,EAAG;AAC7C,MAAM,OAAO,GAAG,aAAI,WAAJ,EAAiB,sBAAjB,EAAyC,SAAzC,CAAhB;AACA,MAAM,SAAS,GAAG,OAAO,KAAK,SAA9B;AACA,MAAM,eAAe,GAAG,yCAAuB,WAAvB,CAAxB;AACA,SACI,eAAe,KAAK,kCAAgB,KAApC,IACA,eAAe,KAAK,kCAAgB,OADpC,IAEA,eAAe,KAAK,kCAAgB,WAFpC,IAGA,SAJJ;AAMH,CAVM;;AAAM,8BAAmB,mBAAnB;;AAYN,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,EAAD,EAA4B;AAA3B,MAAE,SAAF,GAAW,EAAX,CAAE,SAAF;AAAA,MAAgB,KAAhB,GAAqB,WAArB,aAAqB,CAArB;;AAC5B,MAAM,mBAAmB,GAAG,CAAC,wBAAD,EAA2B,kBAA3B,EAA+C,kBAA/C,CAA5B;AACA,MAAM,WAAW,GAA4B,EAA7C;AACA,qBAAmB,CAAC,OAApB,CAA4B,kBAAQ,EAAG;AACnC,eAAW,CAAC,QAAD,CAAX,GAAwB,SAAS,CAAC,QAAD,CAAjC;AACH,GAFD;;AAGA,MAAI,KAAK,CAAC,WAAV,EAAuB;AAAA,gCACS,KAAK,CAAC,WAAN,CAAkB,OAAlB,CAA0B,IADnC;AAAA,QACX,MADW,yBACX,MADW;AAAA,QACH,OADG,yBACH,OADG;AAEnB;AAAS,YAAM,EAAE,MAAM,CAAC,GAAP,CAAW,eAAK;AAAA,eAAK,KAAK,CAAC,IAAN,GAAa,KAAK,CAAC,IAAnB,GAA0B,KAA/B;AAAA,OAAhB,CAAjB;AAAyE,aAAO,EAAP;AAAzE,OAAqF,WAArF;AACH;;AACD,SAAO,WAAP;AACH,CAXM;;AAAM,0BAAe,eAAf;AAab,IAAM,SAAS,GAAG,2BAAiB;AAC/B,UAAQ,EAAE,uBADqB;AAE/B,WAAS,EAAE,gBAFoB;AAG/B,iBAAe,EAAf,uBAH+B;AAI/B,oBAAkB,EAAE,4BAAC,WAAD,EAA8C,OAA9C;AAAA,WAChB,4BAAoB,WAApB,CADgB;AAAA;AAJW,CAAjB,CAAlB;AAUyB;AAFzB,IAAM,MAAM,GAAG,iBAAO,MAAtB;AAES;AADT,kBAAe,SAAf,C;;;;;;;;;;;;;;AC9CA;;AA+CO,IAAM,WAAW,GAAG,SAAd,WAAc,CAAC,CAAD;AAAA,SAAe,MAAM,CAAC,CAAD,CAAN,CAAU,OAAV,CAAkB,mBAAlB,EAAuC,EAAvC,CAAf;AAAA,CAApB;;AAAM,sBAAW,WAAX;AAEA,mBAAW,EAAX;AAEb;;;;;;;;;;;;;;;;;;AAkBG;;AACI,IAAM,wBAAwB,GAAG,SAA3B,wBAA2B,CACpC,QADoC,EAEpC,SAFoC,EAGpC,SAHoC,EAIpC,UAJoC,EAKpC,YALoC,EAMpC,YANoC,EAOpC,WAPoC,EAQpC,UARoC,EASpC;AACA,MAAM,KAAK,GAAG,EAAd;AACA,MAAM,cAAc,GAAc;AAC9B,SAAK,EAAE,EADuB;AAE9B,SAAK,EAAE,EAFuB;AAG9B,UAAM,EAAE;AAHsB,GAAlC;;AAKA,MAAI,CAAC,QAAD,IAAa,CAAC,KAAK,CAAC,OAAN,CAAc,QAAd,CAAd,IAAyC,CAAC,SAA1C,IAAuD,CAAC,KAAK,CAAC,OAAN,CAAc,SAAd,CAA5D,EAAsF;AAClF,WAAO,cAAP;AACH;;AACD,MAAI,MAAM,GAAG,QAAb;AACA,MAAI,OAAO,GAAG,SAAd;;AACA,MAAI,UAAU,CAAC,MAAf,EAAuB;AACnB,UAAM,GAAG,UAAT;AACA,WAAO,GAAG,EAAV;AACA,UAAM,CAAC,OAAP,CAAe,UAAC,KAAD,EAAQ,UAAR,EAAsB;AACjC,aAAO,CAAC,UAAD,CAAP,GAAsB,SAAS,CAAC,QAAQ,CAAC,OAAT,CAAiB,KAAjB,CAAD,CAA/B;AACH,KAFD;AAGH;;AACD,QAAM,CAAC,OAAP,CAAe,UAAC,KAAD,EAAgB,UAAhB,EAAsC;AACjD,SAAK,CAAC,KAAD,CAAL,GAAe;AACX,WAAK,EAAE;AADI,KAAf;AAGA,kBAAc,CAAC,MAAf,CAAsB,KAAtB,IAA+B;AAC3B,WAAK,EAAE;AADoB,KAA/B;;AAGA,QAAI,CAAC,OAAO,CAAC,UAAD,CAAZ,EAA0B;AACtB,aAAO,cAAP;AACH;;AACD,WAAO,CAAC,UAAD,CAAP,CAAoB,IAApB,CAAyB,UAAC,MAAD,EAAiB,WAAjB,EAAwC;AAC7D,UAAM,GAAG,aAAM,UAAN,cAAoB,oBAAY,KAAZ,CAApB,cAA0C,oBAAY,MAAZ,CAA1C,CAAT;AACA,UAAI,IAAI,GAAG,KAAK,CAAC,KAAD,CAAL,CAAa,KAAb,CAAmB,MAAnB,CAAX;;AACA,UAAI,CAAC,KAAK,CAAC,KAAD,CAAL,CAAa,KAAb,CAAmB,MAAnB,CAAL,EAAiC;AAC7B,YAAI,GAAG;AACH,cAAI,EAAE;AACF,iBAAK,EAAL,KADE;AAEF,sBAAU,EAAV,UAFE;AAGF,iBAAK,EAAE,CAHL;AAIF,iBAAK,EAAE,MAJL;AAKF,eAAG,EAAE,EALH;AAMF,gBAAI,EAAE;AANJ;AADH,SAAP;AAUH,OAXD,MAWO;AACH,YAAI,CAAC,IAAL,CAAU,KAAV,IAAmB,CAAnB;AACH;;AACD,UAAI,OAAO,CAAC,UAAU,GAAG,CAAd,CAAP,IAA2B,OAAO,CAAC,UAAU,GAAG,CAAd,CAAP,CAAwB,WAAxB,CAA/B,EAAqE;AACjE,YAAM,UAAU,aAAM,UAAN,cAAoB,oBAAY,KAAZ,CAApB,cAA0C,oBAAY,MAAZ,CAA1C,CAAhB;AACA,YAAM,UAAU,aAAM,UAAU,GAAG,CAAnB,cAAwB,oBAAY,MAAM,CAAC,UAAU,GAAG,CAAd,CAAlB,CAAxB,cAA+D,oBAC3E,OAAO,CAAC,UAAU,GAAG,CAAd,CAAP,CAAwB,WAAxB,CAD2E,CAA/D,CAAhB;AAGA,YAAM,IAAI,GAAG;AACT,oBAAU,EAAV,UADS;AAET,oBAAU,EAAV;AAFS,SAAb;AAIA,YAAI,CAAC,IAAL,CAAU,IAAV,WACO,oBAAY,MAAZ,CADP,cAC8B,oBAAY,OAAO,CAAC,UAAU,GAAG,CAAd,CAAP,CAAwB,WAAxB,CAAZ,CAD9B,KAEI,IAFJ;AAGA,sBAAc,CAAC,KAAf,CAAqB,IAArB,CAA0B,IAA1B;AACH;;AACD,UAAI,OAAO,CAAC,UAAU,GAAG,CAAd,CAAP,IAA2B,OAAO,CAAC,UAAU,GAAG,CAAd,CAAP,CAAwB,WAAxB,CAA/B,EAAqE;AACjE,YAAI,CAAC,IAAL,CAAU,GAAV,WAAiB,MAAjB,cAA2B,OAAO,CAAC,UAAU,GAAG,CAAd,CAAP,CAAwB,WAAxB,CAA3B,KAAqE;AACjE,aAAG,EAAE,OAAO,CAAC,UAAU,GAAG,CAAd,CAAP,CAAwB,WAAxB,CAD4D;AAEjE,YAAE,EAAE;AAF6D,SAArE;AAIH;;AACD,UAAI,CAAC,cAAc,CAAC,KAAf,CAAqB,GAArB,CAAL,EAAgC;AAC5B,aAAK,CAAC,KAAD,CAAL,CAAa,KAAb,CAAmB,MAAnB,IAA6B,IAA7B;AACA,sBAAc,CAAC,KAAf,CAAqB,GAArB,IAA4B,IAA5B;AACA,YAAI,CAAC,CAAL,GAAS,UAAU,GAAG,SAAb,GAAyB,UAAU,GAAG,YAA/C;AACA,YAAI,CAAC,CAAL,GACI,CAAC,MAAM,CAAC,IAAP,CAAY,KAAK,CAAC,KAAD,CAAL,CAAa,KAAzB,EAAgC,MAAhC,GAAyC,CAA1C,IAA+C,UAA/C,GACA,CAAC,MAAM,CAAC,IAAP,CAAY,KAAK,CAAC,KAAD,CAAL,CAAa,KAAzB,EAAgC,MAAhC,GAAyC,CAA1C,IAA+C,YAD/C,GAEA,gBAHJ;AAIA,YAAI,CAAC,CAAL,GAAS,SAAT;AACA,YAAI,CAAC,CAAL,GAAS,UAAT;AACH;;AACD,oBAAc,CAAC,MAAf,CAAsB,KAAtB,EAA6B,KAA7B,GAAqC,MAAM,CAAC,IAAP,CAAY,KAAK,CAAC,KAAD,CAAL,CAAa,KAAzB,EAAgC,MAArE;AACA,aAAO,MAAM,CAAC,IAAP,CAAY,KAAK,CAAC,KAAD,CAAL,CAAa,KAAzB,EAAgC,MAAhC,KAA2C,WAAlD;AACH,KAlDD;AAmDH,GA7DD;AA8DA,SAAO,cAAP;AACH,CA3FM;;AAAM,mCAAwB,wBAAxB;AA6Fb;;;;;;;;;;;;;;;;;;AAkBG;;AACI,IAAM,qBAAqB,GAAG,SAAxB,qBAAwB,CAAC,KAAD,EAAmB,YAAnB,EAAuD;AAAA,MAAd,KAAc,uEAAN,EAAM;;AACxF,MAAI,CAAC,KAAD,IAAU,CAAC,YAAf,EAA6B;AACzB,WAAO;AAAE,WAAK,EAAE,EAAT;AAAa,WAAK,EAAE,EAApB;AAAwB,YAAM,EAAE;AAAhC,KAAP;AACH;;AACD,MAAM,aAAa,GAAG,CAAC,YAAD,CAAtB;AACA,MAAM,QAAQ,GAAG,EAAjB;AACA,gBAAK,aAAL,EAAoB,YAAE,EAAG;AACrB,QAAM,gBAAgB,GAAG,EAAzB;AACA,kBAAK,gBAAO,KAAK,CAAC,KAAb,EAAoB;AAAE,gBAAU,EAAE;AAAd,KAApB,CAAL,EAA8C,gBAAmB;AAAA,UAAhB,UAAgB,QAAhB,UAAgB;;AAC7D,UAAI,CAAC,KAAK,CAAC,UAAD,CAAV,EAAwB;AACpB,sCAAsB,KAAtB,EAA6B,UAA7B,EAAyC,KAAzC;AACH;;AACD,UAAM,KAAK,GAAG,KAAK,CAAC,UAAD,CAAnB;AACA,oBAAK,KAAL,EAAY,cAAI,EAAG;AACf,YAAM,QAAQ,GAAG,IAAI,CAAC,KAAL,EAAjB;AACA,gBAAQ,CAAC,OAAT,CAAiB,EAAjB;AACA,wBAAgB,CAAC,IAAjB,CAAsB,QAAtB;AACH,OAJD;AAKH,KAVD;;AAWA,QAAI,CAAC,gBAAgB,CAAC,MAAtB,EAA8B;AAC1B,sBAAgB,CAAC,IAAjB,CAAsB,CAAC,EAAD,CAAtB;AACH,KAfoB,CAgBrB;;;AACA,SAAK,CAAC,EAAD,CAAL,GAAY,gBAAZ;AACA,YAAQ,CAAC,EAAD,CAAR,GAAe,gBAAf;AACH,GAnBD;AAoBA,SAAO,QAAP;AACH,CA3BM;;AAAM,gCAAqB,qBAArB;AA6Bb;;;;;;;;;;;;;;;;;;AAkBG;;AACI,IAAM,mBAAmB,GAAG,SAAtB,mBAAsB,CAAC,KAAD,EAAmB,YAAnB,EAAuD;AAAA,MAAd,KAAc,uEAAN,EAAM;;AACtF,MAAI,CAAC,KAAD,IAAU,CAAC,YAAf,EAA6B;AACzB,WAAO,EAAP;AACH;;AACD,MAAM,aAAa,GAAG,CAAC,YAAD,CAAtB;AACA,MAAM,QAAQ,GAAG,EAAjB;AACA,gBAAK,aAAL,EAAoB,UAAC,EAAD,EAAe;AAC/B,QAAM,gBAAgB,GAAG,EAAzB;AACA,kBAAK,gBAAO,KAAK,CAAC,KAAb,EAAoB;AAAE,gBAAU,EAAE;AAAd,KAApB,CAAL,EAA8C,iBAAmB;AAAA,UAAhB,UAAgB,SAAhB,UAAgB;;AAC7D,UAAI,CAAC,KAAK,CAAC,UAAD,CAAV,EAAwB;AACpB,oCAAoB,KAApB,EAA2B,UAA3B,EAAuC,KAAvC;AACH;;AACD,UAAM,KAAK,GAAG,KAAK,CAAC,UAAD,CAAnB;AACA,oBAAK,KAAL,EAAY,cAAI,EAAG;AACf,YAAM,QAAQ,GAAa,IAAI,CAAC,KAAL,EAA3B;AACA,gBAAQ,CAAC,IAAT,CAAc,EAAd;AACA,wBAAgB,CAAC,IAAjB,CAAsB,QAAtB;AACH,OAJD;AAKH,KAVD;;AAWA,QAAI,CAAC,gBAAgB,CAAC,MAAtB,EAA8B;AAC1B,sBAAgB,CAAC,IAAjB,CAAsB,CAAC,EAAD,CAAtB;AACH;;AACD,QAAM,YAAY,GAAG,KAArB;AACA,gBAAY,CAAC,EAAD,CAAZ,GAAmB,gBAAnB;AACA,YAAQ,CAAC,EAAD,CAAR,GAAe,gBAAf;AACH,GAnBD;AAoBA,SAAO,QAAP;AACH,CA3BM;;AAAM,8BAAmB,mBAAnB,C,CA6Bb;;AACO,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAC3B,KAD2B,EAE3B,KAF2B,EAG3B,OAH2B,EAI3B,UAJ2B,EAK3B,YAL2B,EAM3B;AACA,MAAM,WAAW,GAAe,MAAM,CAAC,MAAP,CAAc,KAAK,CAAC,KAApB,EAA2B,MAA3B,CAAkC,cAAI;AAAA,WAAI,IAAI,CAAC,IAAL,CAAU,KAAV,KAAoB,KAAxB;AAAA,GAAtC,CAAhC;AACA,MAAM,KAAK,GAAe,gBAAO,WAAP,EAAoB,cAAI;AAAA,WAAI,IAAI,CAAC,IAAL,CAAU,KAAd;AAAA,GAAxB,CAA1B;;AACA,MAAI,OAAO,KAAK,KAAhB,EAAuB;AACnB,SAAK,CAAC,OAAN;AACH;;AACD,OAAK,CAAC,OAAN,CAAc,UAAC,IAAD,EAAO,KAAP,EAAgB;AAC1B,QAAM,WAAW,GAAG,IAApB;AACA,eAAW,CAAC,CAAZ,GAAgB,KAAK,GAAG,UAAR,GAAqB,KAAK,GAAG,YAA7B,GAA4C,gBAA5D;AACH,GAHD;AAIH,CAhBM;;AAAM,0BAAe,eAAf,C;;;;;;;;;;;;;;ACpQb;;AACA;;AACA;;AAEa,yBAAiB,4BAAO,GAAxB;AAAA;AAAA;AAAA,4kCAaS,eAAK;AAAA,SAAI,KAAK,CAAC,SAAV;AAAA,CAbd,EAkBS,eAAK;AAAA,SAAI,KAAK,CAAC,kBAAV;AAAA,CAlBd,EAwBC,eAAK;AACH,YAAU,EAAE,oBAAU,cADnB;AAEH,QAAM,EAAE,oBAAU;AAFf,CAAL,CAxBD,EAgCK,eAAK;AAAA,SAAI,KAAK,CAAC,SAAV;AAAA,CAhCV,EAkEY,eAAK;AACV,YAAU,EAAE;AACR,SAAK,EAAE,oBAAU,MADT;AAER,QAAI,EAAE,oBAAU;AAFR,GADF;AAKV,QAAM,EAAE,oBAAU;AALR,CAAL,CAlEZ,EAwGY,eAAK;AACV,YAAU,EAAE;AACR,SAAK,EAAE,oBAAU,MADT;AAER,QAAI,EAAE,oBAAU;AAFR,GADF;AAKV,QAAM,EAAE;AACJ,SAAK,EAAE,oBAAU,kBADb;AAEJ,QAAI,EAAE,oBAAU;AAFZ;AALE,CAAL,CAxGZ;AAuHA,0BAAkB,4BAAO,IAAzB;AAAA;AAAA;AAAA,2DAGO,eAAK;AAAA,mBAAO,KAAK,CAAC,SAAb;AAAA,CAHZ,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3Hb;;AACA;;AAAS;AAAA;AAAA;AAAA;AAAO;AAAP,G;;;;;;;;;;;;;;;;ACDT;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAwBA,IAAM,kBAAkB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,yEAIX,eAAK;AAAA,SAAI,MAAK,SAAL,SAAK,WAAL,GAAK,MAAL,QAAK,CAAE,KAAP,IAAe,EAAnB;AAAA,CAJM,EAKV,eAAK;AAAA,SAAI,MAAK,SAAL,SAAK,WAAL,GAAK,MAAL,QAAK,CAAE,MAAP,IAAgB,EAApB;AAAA,CALK,CAAxB;AAQA,IAAM,gBAAgB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,wEACE;AAAA,MAAG,eAAH,QAAG,eAAH;AAAA,SAAyB,eAAzB;AAAA,CADF,EAET,eAAK;AAAA,SAAI,aAAI,KAAJ,EAAW,OAAX,CAAJ;AAAA,CAFI,EAGR,eAAK;AAAA,SAAI,aAAI,KAAJ,EAAW,QAAX,CAAJ;AAAA,CAHG,CAAtB;AAOA,kBAAkB,CAAC,WAAnB,GAAiC,oBAAjC;;AAEO,IAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,KAAD,EAAmC;AAAA,MAExD,IAFwD,GAqBxD,KArBwD,CAExD,IAFwD;AAAA,MAGxD,eAHwD,GAqBxD,KArBwD,CAGxD,eAHwD;AAAA,MAIxD,KAJwD,GAqBxD,KArBwD,CAIxD,KAJwD;AAAA,MAKxD,MALwD,GAqBxD,KArBwD,CAKxD,MALwD;AAAA,MAMxD,MANwD,GAqBxD,KArBwD,CAMxD,MANwD;AAAA,MAOxD,OAPwD,GAqBxD,KArBwD,CAOxD,OAPwD;AAAA,MAQxD,SARwD,GAqBxD,KArBwD,CAQxD,SARwD;AAAA,MASxD,UATwD,GAqBxD,KArBwD,CASxD,UATwD;AAAA,MAUxD,YAVwD,GAqBxD,KArBwD,CAUxD,YAVwD;AAAA,MAWxD,YAXwD,GAqBxD,KArBwD,CAWxD,YAXwD;AAAA,MAYxD,WAZwD,GAqBxD,KArBwD,CAYxD,WAZwD;AAAA,MAaxD,SAbwD,GAqBxD,KArBwD,CAaxD,SAbwD;AAAA,MAcxD,SAdwD,GAqBxD,KArBwD,CAcxD,SAdwD;AAAA,MAexD,kBAfwD,GAqBxD,KArBwD,CAexD,kBAfwD;AAAA,MAgBxD,WAhBwD,GAqBxD,KArBwD,CAgBxD,WAhBwD;AAAA,MAiBxD,SAjBwD,GAqBxD,KArBwD,CAiBxD,SAjBwD;AAAA,MAkBxD,eAlBwD,GAqBxD,KArBwD,CAkBxD,eAlBwD;AAAA,MAmBxD,cAnBwD,GAqBxD,KArBwD,CAmBxD,cAnBwD;AAAA,MAoBxD,UApBwD,GAqBxD,KArBwD,CAoBxD,UApBwD;AAuB5D;;;;;;;;AAvB4D,wBA+BlC,KAAK,CAAC,QAAN,CAAe,CAAf,CA/BkC;AAAA;AAAA,MA+BrD,KA/BqD;AAAA,MA+B9C,QA/B8C;;AAAA,yBAgCN,KAAK,CAAC,QAAN,CAClD,8CACI,MADJ,EAEI,OAFJ,EAGI,SAHJ,EAII,UAJJ,EAKI,YALJ,EAMI,YANJ,EAOI,WAPJ,EAQI,UARJ,CADkD,CAhCM;AAAA;AAAA,MAgCrD,mBAhCqD;AAAA,MAgChC,sBAhCgC;;AA6C5D,OAAK,CAAC,SAAN,CAAgB,YAAK;AACjB,0BAAsB,CAClB,8CACI,MADJ,EAEI,OAFJ,EAGI,SAHJ,EAII,UAJJ,EAKI,YALJ,EAMI,YANJ,EAOI,WAPJ,EAQI,UARJ,CADkB,CAAtB;AAYH,GAbD,EAaG,CAAC,MAAD,EAAS,OAAT,EAAkB,SAAlB,EAA6B,UAA7B,EAAyC,YAAzC,EAAuD,YAAvD,EAAqE,WAArE,EAAkF,UAAlF,CAbH;;AAeA,MAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAQ,OAAR,EAAmB;AACvC,yCAAgB,mBAAhB,EAAqC,KAArC,EAA4C,OAA5C,EAAqD,UAArD,EAAiE,YAAjE;AACA,0BAAsB,CAAC,mBAAD,CAAtB;AACA,YAAQ,CAAC,KAAK,GAAG,CAAT,CAAR;AACH,GAJD;;AAMA,SACI,oBAAC,gBAAD,EAAiB;AAAC,mBAAe,EAAE,eAAlB;AAAmC,UAAM,EAAE,MAA3C;AAAmD,SAAK,EAAE;AAA1D,GAAjB,EACI,oBAAC,kBAAD,EAAmB;AAAA,8BAAyB,KAAzB;AAAgC,UAAM,EAAE,MAAxC;AAAgD,SAAK,EAAE;AAAvD,GAAnB,EACI,oBAAC,eAAD,EAAM;AACF,aAAS,EAAE,SADT;AAEF,aAAS,EAAE,SAFT;AAGF,sBAAkB,EAAE,kBAHlB;AAIF,kBAAc,EAAE,mBAJd;AAKF,eAAW,EAAE,WALX;AAMF,aAAS,EAAE,SANT;AAOF,mBAAe,EAAE;AAPf,GAAN,CADJ,EAUI,oBAAC,0BAAD,EAAa;AAAC,aAAS,EAAE,SAAZ;AAAuB,gBAAY,EAAE;AAArC,GAAb,EACK,MAAM,CAAC,IAAP,CAAY,mBAAmB,CAAC,MAAhC,EAAwC,GAAxC,CAA4C,UAAC,KAAD,EAAQ,KAAR;AAAA,WACzC,oBAAC,eAAD,EAAM;AACF,oBAAc,EAAE,cADd;AAC4B,mCACV,KADU,CAD5B;AAGF,SAAG,EAAE,KAHH;AAIF,YAAM,EAAE,gBAAC,OAAD;AAAA,eAAqB,eAAe,CAAC,KAAD,EAAQ,OAAR,CAApC;AAAA,OAJN;AAKF,WAAK,EAAE,KALL;AAMF,WAAK,EAAE,SANL;AAOF,WAAK,EAAE,mBAAmB,CAAC,MAApB,CAA2B,KAA3B,EAAkC;AAPvC,KAAN,CADyC;AAAA,GAA5C,CADL,CAVJ,CADJ,CADJ;AA4BH,CA9FM;;AAAM,wBAAa,aAAb;AAgGb,sBAAc,SAAd,GAA0B;AACtB,MAAI,EAAE,CAAC,CAAC,MADc;AAEtB,iBAAe,EAAE,CAAC,CAAC,MAFG;AAGtB,OAAK,EAAE,CAAC,CAAC,MAHa;AAItB,QAAM,EAAE,CAAC,CAAC,MAJY;AAKtB,QAAM,EAAE,CAAC,CAAC,KALY;AAMtB,SAAO,EAAE,CAAC,CAAC,KANW;AAOtB,aAAW,EAAE,CAAC,CAAC,IAPO;AAQtB,WAAS,EAAE,CAAC,CAAC,MARS;AAStB,YAAU,EAAE,CAAC,CAAC,MATQ;AAUtB,cAAY,EAAE,CAAC,CAAC,MAVM;AAWtB,cAAY,EAAE,CAAC,CAAC,MAXM;AAYtB,WAAS,EAAE,CAAC,CAAC,MAZS;AAatB,WAAS,EAAE,CAAC,CAAC,MAbS;AActB,oBAAkB,EAAE,CAAC,CAAC,MAdA;AAetB,aAAW,EAAE,CAAC,CAAC,MAfO;AAgBtB,WAAS,EAAE,CAAC,CAAC,MAhBS;AAiBtB,iBAAe,EAAE,CAAC,CAAC,IAjBG;AAkBtB,gBAAc,EAAE,CAAC,CAAC,IAlBI;AAmBtB,YAAU,EAAE,CAAC,CAAC;AAnBQ,CAA1B;AAsBA,sBAAc,YAAd,GAA6B;AACzB,MAAI,EAAE,MADmB;AAEzB,QAAM,EAAE,IAFiB;AAGzB,SAAO,EAAE,EAHgB;AAIzB,iBAAe,EAAE,SAJQ;AAKzB,OAAK,EAAE,IALkB;AAMzB,QAAM,EAAE,GANiB;AAOzB,WAAS,EAAE,GAPc;AAQzB,YAAU,EAAE,EARa;AASzB,cAAY,EAAE,EATW;AAUzB,cAAY,EAAE,CAVW;AAWzB,WAAS,EAAE,CAXc;AAYzB,WAAS,EAAE,SAZc;AAazB,WAAS,EAAE,SAbc;AAczB,oBAAkB,EAAE,SAdK;AAezB,aAAW,EAAE,EAfY;AAgBzB,iBAAe,EAAE,IAhBQ;AAiBzB,gBAAc,EAAE,IAjBS;AAkBzB,aAAW,EAAE,uBAAK,CAAG,CAlBI;AAmBzB,YAAU,EAAE;AAnBa,CAA7B;AAsBA,sBAAc,WAAd,GAA4B,cAA5B;AAEA,kBAAe,6BAAuB,qBAAvB,CAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/LA;;AACA;;AACA;;AACA;;AACA;;AACA;;IA2BM,K;;;;;AAKF,iBAAY,KAAZ,EAAiB;AAAA;;AAAA;;AACb,8BAAM,KAAN;AACA,UAAK,uBAAL,GAA+B,IAA/B;AACA,UAAK,QAAL,GAAgB,IAAhB;AACA,UAAK,KAAL,GAAa;AACT,WAAK,EAAE,EADE;AAET,WAAK,EAAE,EAFE;AAGT,sBAAgB,EAAE,EAHT;AAIT,gBAAU,EAAE;AAJH,KAAb;AAJa;AAUhB;;;;WAyCD,6BAAiB;AACb,WAAK,QAAL,CAAc;AACV,kBAAU,EAAE;AADF,OAAd;AAGH;;;WAED,8BAAkB;AAAA;;AAAA,UACN,gBADM,GACe,KAAK,KADpB,CACN,gBADM;AAEd,0BAAoB,CAAC,KAAK,uBAAN,CAApB;AACA,WAAK,iBAAL;AACA,WAAK,mBAAL;AACA,sBAAgB,CAAC,OAAjB,CAAyB,eAAK,EAAG;AAC7B,cAAI,CAAC,oBAAL,CAA0B,iCAAY,KAAZ,CAA1B;AACH,OAFD;AAGA,WAAK,KAAL;AACH;;;WAED,gCAAoB;AAChB,0BAAoB,CAAC,KAAK,uBAAN,CAApB;AACH;;;WAED,8BAAqB,MAArB,EAAmC;AAAA;;AAC/B,WAAK,mBAAL;AACA,UAAM,kBAAkB,GAAG,2CAAsB,KAAK,KAAL,CAAW,cAAjC,EAAiD,MAAjD,CAA3B;AACA,UAAM,gBAAgB,GAAG,yCAAoB,KAAK,KAAL,CAAW,cAA/B,EAA+C,MAA/C,CAAzB;AACA,UAAI,QAAJ;AACA,YAAM,CAAC,IAAP,CAAY,kBAAZ,EAAgC,OAAhC,CAAwC,iBAAO,EAAG;AAC9C,0BAAkB,CAAC,OAAD,CAAlB,CAA4B,OAA5B,CAAoC,UAAC,IAAD,EAAa;AAC7C,cAAI,CAAC,OAAL,CAAa,cAAI,EAAG;AAChB,gBAAI,OAAO,GAAG,MAAI,CAAC,QAAL,CAAc,aAAd,6BAAgD,IAAhD,SAAd;;AACA,gBAAI,OAAJ,EAAa;AACT,qBAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,UAAtB;AACH;;AACD,mBAAO,GAAG,MAAI,CAAC,QAAL,CAAc,aAAd,6BAAgD,QAAhD,cAA4D,IAA5D,SAAV;;AACA,gBAAI,OAAJ,EAAa;AACT,qBAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,UAAtB;AACH;;AACD,oBAAQ,GAAG,IAAX;AACH,WAVD;AAWH,SAZD;AAaH,OAdD;AAeA,cAAQ,GAAG,IAAX;AACA,YAAM,CAAC,IAAP,CAAY,gBAAZ,EAA8B,OAA9B,CAAsC,iBAAO,EAAG;AAC5C,wBAAgB,CAAC,OAAD,CAAhB,CAA0B,OAA1B,CAAkC,cAAI,EAAG;AACrC,cAAI,CAAC,OAAL,CAAa,UAAC,IAAD,EAAiB;AAC1B,gBAAI,OAAO,GAAG,MAAI,CAAC,QAAL,CAAc,aAAd,6BAAgD,IAAhD,SAAd;;AACA,gBAAI,OAAJ,EAAa;AACT,qBAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,UAAtB;AACH;;AACD,mBAAO,GAAG,MAAI,CAAC,QAAL,CAAc,aAAd,6BAAgD,QAAhD,cAA4D,IAA5D,SAAV;;AACA,gBAAI,OAAJ,EAAa;AACT,qBAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,UAAtB;AACH;;AACD,oBAAQ,GAAG,IAAX;AACH,WAVD;AAWH,SAZD;AAaH,OAdD;AAeH;;;WAED,4BAAgB;AAAA;;AAAA,UACJ,gBADI,GACiB,KAAK,KADtB,CACJ,gBADI;;AAEZ,yBAAI,KAAK,QAAL,CAAc,sBAAd,CAAqC,UAArC,EAAiD,MAAM,CAAC,QAAxD,GAAJ,EAAyE,OAAzE,CAAiF,aAAG,EAAG;AACnF,WAAG,CAAC,SAAJ,CAAc,MAAd,CAAqB,UAArB;AACH,OAFD;;AAGA,sBAAgB,CAAC,OAAjB,CAAyB,eAAK,EAAG;AAC7B,cAAI,CAAC,oBAAL,CAA0B,iCAAY,KAAZ,CAA1B;AACH,OAFD;AAGA,WAAK,iBAAL;AACH;;;WAED,0BAAiB,UAAjB,EAAqC,KAArC,EAAoD,KAApD,EAAiE;AAAA;;AAAA,UACrD,WADqD,GACrC,KAAK,KADgC,CACrD,WADqD;AAAA,UAErD,gBAFqD,GAEhC,KAAK,KAF2B,CAErD,gBAFqD;AAG7D,UAAM,GAAG,aAAM,UAAN,cAAoB,KAApB,cAA6B,KAA7B,CAAT;;AACA,UAAM,mBAAmB,sBAAiB,gBAAjB,CAAzB;;AACA,UAAM,KAAK,GAAG,mBAAmB,CAAC,OAApB,CAA4B,GAA5B,CAAd;AACA,UAAM,OAAO,GAAG,KAAK,QAAL,CAAc,aAAd,6BACQ,UADR,cACsB,iCAAY,KAAZ,CADtB,cAC4C,iCAAY,KAAZ,CAD5C,SAAhB;AAGA,UAAI,KAAK,GAAG,KAAZ;;AAEA,UAAI,KAAK,KAAK,CAAC,CAAf,EAAkB;AACd,2BAAmB,CAAC,MAApB,CAA2B,KAA3B,EAAkC,CAAlC;AACA,eAAO,CAAC,SAAR,CAAkB,MAAlB,CAAyB,UAAzB;AACA,eAAO,CAAC,YAAR,CAAqB,cAArB,EAAqC,OAArC;AACH,OAJD,MAIO;AACH,2BAAmB,CAAC,IAApB,CAAyB,GAAzB;AACA,aAAK,GAAG,IAAR;AACA,eAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,UAAtB;AACA,eAAO,CAAC,YAAR,CAAqB,cAArB,EAAqC,MAArC;AACH;;AACD,WAAK,QAAL,CACI;AACI,wBAAgB,EAAE;AADtB,OADJ,EAII;AAAA,eAAM,MAAI,CAAC,gBAAL,EAAN;AAAA,OAJJ;AAMA,UAAM,cAAc,GAAG,KAAK,GAAG,UAAH,GAAgB,YAA5C;AACA,UAAM,OAAO,GAAG;AAAE,aAAK,EAAL,KAAF;AAAS,aAAK,EAAL,KAAT;AAAgB,aAAK,EAAE;AAAvB,OAAhB;AACA,iBAAW,CAAC;AAAE,eAAO,EAAP;AAAF,OAAD,CAAX;AACH;;;WAED,6BAAiB;AAAA,UACL,gBADK,GACgB,KAAK,KADrB,CACL,gBADK;;AAEb,UAAI,CAAC,gBAAgB,CAAC,MAAtB,EAA8B;AAC1B,aAAK,QAAL,CACK,gBADL,2BAEK,OAFL,CAEa,iBAAO;AAAA,iBAAI,OAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,UAAtB,CAAJ;AAAA,SAFpB;AAGH;AACJ;;;WAED,+BAAmB;AAAA,UACP,gBADO,GACc,KAAK,KADnB,CACP,gBADO;;AAEf,UAAI,CAAC,gBAAgB,CAAC,MAAtB,EAA8B;AAC1B,aAAK,QAAL,CACK,gBADL,2BAEK,OAFL,CAEa,iBAAO;AAAA,iBAAI,OAAO,CAAC,SAAR,CAAkB,MAAlB,CAAyB,UAAzB,CAAJ;AAAA,SAFpB;AAGH;AACJ;;;WAED,+BAAmB;AAAA,UACP,gBADO,GACc,KAAK,KADnB,CACP,gBADO;;AAEf,UAAI,CAAC,gBAAgB,CAAC,MAAtB,EAA8B;AAC1B,aAAK,QAAL,CACK,gBADL,2BAEK,OAFL,CAEa,iBAAO;AAAA,iBAAI,OAAO,CAAC,SAAR,CAAkB,MAAlB,CAAyB,UAAzB,CAAJ;AAAA,SAFpB;AAGH;AACJ;;;WAED,iBAAK;AAAA;;AAAA,UACO,KADP,GACiB,KAAK,KADtB,CACO,KADP;AAED,UAAI,WAAW,GAAG,KAAlB;AACA,YAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,OAAnB,CAA2B,UAAC,MAAD,EAAmB;AAC1C,YAAM,IAAI,GAAG,KAAK,CAAC,MAAD,CAAlB;;AACA,YAAM,WAAW,GAAgB,MAAI,CAAC,QAAL,CAAc,aAAd,6BAAgD,MAAhD,SAAjC;;AACA,YAAI,WAAJ,EAAiB;AACb,cAAI,WAAW,CAAC,KAAZ,CAAkB,IAAlB,KAA2B,EAA/B,EAAmC;AAC/B,kBAAI,CAAC,UAAL,CACI,MADJ,EAEI,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,CAAhB,CAFJ,EAGI,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,CAAhB,CAHJ,EAII,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,CAAhB,CAJJ,EAKI,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,CAAhB,CALJ;AAOH,WARD,MAQO;AACH,gBAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAZ,CAAkB,IAAnB,EAAyB,EAAzB,CAAlB;AACA,gBAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAZ,CAAkB,GAAnB,EAAwB,EAAxB,CAAlB;AACA,gBAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAZ,CAAkB,KAAnB,EAA0B,EAA1B,CAAlB;AACA,gBAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAZ,CAAkB,MAAnB,EAA2B,EAA3B,CAAlB;AACA,gBAAI,CAAC,IAAL,IAAa,IAAb;AACA,gBAAM,IAAI,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,IAAI,IAAI,CAAC,IAAb,CAAD,GAAsB,IAAI,CAAC,CAAL,GAAS,IAAI,CAAC,IAA/C,CAAb;AACA,gBAAM,IAAI,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,IAAI,IAAI,CAAC,IAAb,CAAD,GAAsB,IAAI,CAAC,CAAL,GAAS,IAAI,CAAC,IAA/C,CAAb;AACA,gBAAM,QAAQ,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,IAAI,IAAI,CAAC,IAAb,CAAD,GAAsB,IAAI,CAAC,CAAL,GAAS,IAAI,CAAC,IAA/C,CAAjB;AACA,gBAAM,SAAS,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,IAAI,IAAI,CAAC,IAAb,CAAD,GAAsB,IAAI,CAAC,CAAL,GAAS,IAAI,CAAC,IAA/C,CAAlB;;AACA,gBAAI,IAAI,CAAC,IAAL,GAAY,CAAhB,EAAmB;AACf,oBAAI,CAAC,UAAL,CACI,MADJ,EAEI,IAAI,CAAC,KAAL,CAAW,IAAX,CAFJ,EAGI,IAAI,CAAC,KAAL,CAAW,IAAX,CAHJ,EAII,IAAI,CAAC,KAAL,CAAW,QAAX,CAJJ,EAKI,IAAI,CAAC,KAAL,CAAW,SAAX,CALJ;;AAOA,yBAAW,GAAG,IAAd;AACH,aATD,MASO;AACH,oBAAI,CAAC,UAAL,CACI,MADJ,EAEI,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,CAAhB,CAFJ,EAGI,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,CAAhB,CAHJ,EAII,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,CAAhB,CAJJ,EAKI,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,CAAhB,CALJ;;AAOA,kBAAI,CAAC,IAAL,GAAY,CAAZ;AACH;AACJ;AACJ;AACJ,OA3CD;AA4CA,0BAAoB,CAAC,KAAK,uBAAN,CAApB;;AACA,UAAI,WAAJ,EAAiB;AACb,aAAK,uBAAL,GAA+B,qBAAqB,CAAC,KAAK,KAAL,CAAW,IAAX,CAAgB,IAAhB,CAAD,CAApD;AACH;AACJ;;;WAED,oBAAW,MAAX,EAA2B,GAA3B,EAAwC,GAAxC,EAAqD,GAArD,EAAkE,GAAlE,EAA6E;AAAA;;AAAA,UACjE,KADiE,GACvD,KAAK,KADkD,CACjE,KADiE;AAEzE,WAAK,CAAC,MAAD,CAAL,CAAc,QAAd,GAAyB,GAAzB;AACA,WAAK,CAAC,MAAD,CAAL,CAAc,QAAd,GAAyB,GAAzB;AACA,WAAK,CAAC,MAAD,CAAL,CAAc,QAAd,GAAyB,GAAzB;AACA,WAAK,CAAC,MAAD,CAAL,CAAc,QAAd,GAAyB,GAAzB;AACA,UAAM,WAAW,GAAgB,KAAK,QAAL,CAAc,aAAd,6BAAgD,MAAhD,SAAjC;;AACA,UAAI,WAAJ,EAAiB;AACb,mBAAW,CAAC,KAAZ,CAAkB,IAAlB,aAA4B,GAA5B;AACA,mBAAW,CAAC,KAAZ,CAAkB,GAAlB,aAA2B,GAA3B;AACA,mBAAW,CAAC,KAAZ,CAAkB,KAAlB,aAA6B,GAA7B;AACA,mBAAW,CAAC,KAAZ,CAAkB,MAAlB,aAA8B,GAA9B;AACH;;AACD,YAAM,CAAC,MAAP,CAAc,KAAK,CAAC,MAAD,CAAL,CAAc,IAAd,CAAmB,IAAjC,EAAuC,OAAvC,CAA+C,UAAC,IAAD,EAAmB;AAC9D,YAAI,IAAI,CAAC,UAAL,KAAoB,MAApB,IAA8B,IAAI,CAAC,UAAL,KAAoB,MAAtD,EAA8D;AAC1D,cAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,UAAN,CAAnB;AACA,cAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,UAAN,CAAjB;;AACA,cAAM,WAAW,GAAG,MAAI,CAAC,QAAL,CAAc,aAAd,6BACI,IAAI,CAAC,UADT,cACuB,IAAI,CAAC,UAD5B,SAApB;;AAGA,cAAI,WAAW,IAAI,KAAf,IAAwB,GAA5B,EAAiC;AAC7B,gBAAM,MAAM,GAKR;AACA,sBAAQ,EAAE,CADV;AAEA,sBAAQ,EAAE,CAFV;AAGA,0BAAY,EAAE,CAHd;AAIA,2BAAa,EAAE;AAJf,aALJ;AAWA,kBAAM,CAAC,QAAP,GACI,KAAK,CAAC,QAAN,GACA,KAAK,CAAC,QADN,GAEA,CAAC,GAAG,CAAC,QAAJ,IAAgB,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,QAAvC,CAAD,IAAqD,CAHzD;AAIA,kBAAM,CAAC,QAAP,GACI,KAAK,CAAC,QAAN,GACA,KAAK,CAAC,QAAN,GAAiB,CADjB,GAEA,CAAC,GAAG,CAAC,QAAJ,GAAe,KAAK,CAAC,QAArB,GAAgC,KAAK,CAAC,QAAN,GAAiB,CAAlD,IAAuD,CAH3D;AAIA,gBAAM,OAAO,4CACF,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,QADrB,cACiC,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,QAAN,GAAiB,CADnE,4CAEF,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,QAFrB,cAEiC,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,QAAN,GAAiB,CAFnE,4CAGF,MAAM,CAAC,QAHL,cAGiB,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,QAAN,GAAiB,CAHnD,2CAIH,MAAM,CAAC,QAJJ,cAIgB,GAAG,CAAC,QAAJ,GAAe,GAAG,CAAC,QAAJ,GAAe,CAJ9C,2CAKH,GAAG,CAAC,QALD,cAKa,GAAG,CAAC,QAAJ,GAAe,GAAG,CAAC,QAAJ,GAAe,CAL3C,4CAMF,GAAG,CAAC,QANF,cAMc,GAAG,CAAC,QAAJ,GAAe,GAAG,CAAC,QAAJ,GAAe,CAN5C,CAAb;AAOA,uBAAW,CAAC,YAAZ,CAAyB,GAAzB,EAA8B,OAA9B;AACH;AACJ;AACJ,OArCD;AAsCH;;;WAED,kBAAM;AAAA;;AAAA,wBACuB,KAAK,KAD5B;AAAA,UACM,KADN,eACM,KADN;AAAA,UACa,KADb,eACa,KADb;AAAA,wBAE+E,KAAK,KAFpF;AAAA,UAEM,SAFN,eAEM,SAFN;AAAA,UAEiB,kBAFjB,eAEiB,kBAFjB;AAAA,UAEqC,SAFrC,eAEqC,SAFrC;AAAA,UAEgD,SAFhD,eAEgD,SAFhD;AAAA,UAE2D,eAF3D,eAE2D,eAF3D;AAGF,UAAM,QAAQ,GAAG,KAAK,CAAC,MAAN,CAAa,UAAC,IAAD;AAAA,eAAoB,KAAK,CAAC,IAAI,CAAC,UAAN,CAAL,IAA0B,KAAK,CAAC,IAAI,CAAC,UAAN,CAAnD;AAAA,OAAb,CAAjB;AAEA,aACI,oBAAC,4BAAD,EAAe;AACX,iBAAS,EAAE,SADA;AAEX,0BAAkB,EAAE,kBAFT;AAGX,iBAAS,EAAE,SAHA;AAIX,WAAG,EAAE,cAAC,EAAG;AACL,gBAAI,CAAC,QAAL,GAAgB,CAAhB;AACH;AANU,OAAf,EAQI,oBAAC,eAAD,EAAM;AACF,aAAK,EAAE,KADL;AAEF,mBAAW,EAAE,qBAAC,UAAD,EAAqB,KAArB,EAAoC,KAApC;AAAA,iBACT,MAAI,CAAC,gBAAL,CAAsB,UAAtB,EAAkC,KAAlC,EAAyC,KAAzC,CADS;AAAA,SAFX;AAKF,4BAAoB,EAAE,8BAAC,MAAD;AAAA,iBAAoB,MAAI,CAAC,oBAAL,CAA0B,MAA1B,CAApB;AAAA,SALpB;AAMF,wBAAgB,EAAE;AAAA,iBAAM,MAAI,CAAC,gBAAL,EAAN;AAAA,SANhB;AAOF,uBAAe,EAAE;AAPf,OAAN,CARJ,EAiBI,oBAAC,eAAD,EAAM;AAAC,aAAK,EAAE,QAAR;AAAkB,iBAAS,EAAE;AAA7B,OAAN,CAjBJ,CADJ;AAqBH;;;WA5SD,kCAAgC,KAAhC,EAAmD,KAAnD,EAAoE;AAChE,UAAI,CAAC,KAAK,CAAC,UAAX,EAAuB;AACnB,eAAO,KAAP;AACH;;AACD,UAAM,KAAK,GAAG,mBAAU,KAAK,CAAC,cAAN,CAAqB,KAA/B,CAAd;AACA,YAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,OAAnB,CAA2B,aAAG,EAAG;AAC7B,YAAM,aAAa,GAAG,KAAK,CAAC,GAAD,CAA3B;AACA,YAAM,aAAa,GAAG,KAAK,CAAC,KAAN,CAAY,GAAZ,CAAtB;;AACA,YAAI,CAAC,aAAL,EAAoB;AAChB,uBAAa,CAAC,IAAd,GAAqB,CAArB;AACH,SAFD,MAEO,IACH,aAAa,CAAC,CAAd,KAAoB,aAAa,CAAC,CAAlC,IACA,aAAa,CAAC,CAAd,KAAoB,aAAa,CAAC,CADlC,IAEA,aAAa,CAAC,CAAd,KAAoB,aAAa,CAAC,CAFlC,IAGA,aAAa,CAAC,CAAd,KAAoB,aAAa,CAAC,CAJ/B,EAKL;AACE,uBAAa,CAAC,IAAd,GAAqB,CAArB;AACH;;AACD,qBAAa,CAAC,QAAd,GAAyB,aAAa,CAAC,CAAvC;AACA,qBAAa,CAAC,QAAd,GAAyB,aAAa,CAAC,CAAvC;AACA,qBAAa,CAAC,QAAd,GAAyB,aAAa,CAAC,CAAvC;AACA,qBAAa,CAAC,QAAd,GAAyB,aAAa,CAAC,CAAvC;AACH,OAjBD;;AAmBA,UAAI,gBAAgB,sBAAO,KAAK,CAAC,gBAAb,CAApB;;AAEA,WAAK,CAAC,gBAAN,CAAuB,OAAvB,CAA+B,gBAAM,EAAG;AACpC,YAAI,CAAC,KAAK,CAAC,cAAN,CAAqB,KAArB,CAA2B,iCAAY,MAAZ,CAA3B,CAAL,EAAsD;AAClD,0BAAgB,GAAG,EAAnB;AACH;AACJ,OAJD;AAMA,aAAO;AACH,aAAK,EAAL,KADG;AAEH,aAAK,EAAE,KAAK,CAAC,cAAN,CAAqB,KAFzB;AAGH,wBAAgB,EAAhB;AAHG,OAAP;AAKH;;;;EAtDe,KAAK,CAAC,S;;AAgU1B,kBAAe,KAAf,C;;;;;;;;;;;;;AChWA;;AACA;;AAQA,IAAM,KAAK,GAAG,SAAR,KAAQ,CAAC,KAAD,EAA0C;AAAA,MAC5C,KAD4C,GACvB,KADuB,CAC5C,KAD4C;AAAA,MACrC,SADqC,GACvB,KADuB,CACrC,SADqC;AAEpD,MAAI,GAAG,GAAG,EAAV;AACA,SACI;AACI,SAAK,EAAE;AACH,cAAQ,EAAE,UADP;AAEH,cAAQ,EAAE,SAFP;AAGH,mBAAa,EAAE;AAHZ,KADX;AAMI,UAAM,EAAC,MANX;AAOI,SAAK,EAAC,MAPV;AAOgB,iBACF;AARd,KAUK,KAAK,CAAC,GAAN,CAAU,cAAI,EAAG;AACd,OAAG,kBAAW,IAAI,CAAC,UAAhB,cAA8B,IAAI,CAAC,UAAnC,CAAH;AACA,WAAO,CAAC,oBAAC,6BAAD,EAAgB;AAAC,eAAS,EAAC,MAAX;AAAkB,SAAG,EAAE,GAAvB;AAA0B,mBAAa,GAAvC;AAA4C,eAAS,EAAE;AAAvD,KAAhB,CAAD,CAAP;AACH,GAHA,CAVL,CADJ;AAiBH,CApBD;;AAsBA,kBAAe,KAAf,C;;;;;;;;;;;;;AC/BA;;AACA;;AAWA,IAAM,KAAK,GAAG,SAAR,KAAQ,CAAC,KAAD;AAAA,SACV,MAAM,CAAC,IAAP,CAAY,KAAK,CAAC,KAAlB,EAAyB,GAAzB,CAA6B,aAAG;AAAA,WAC5B;AACI,eAAS,EAAC,MADd;AAEI,UAAI,EAAC,QAFT;AAEiB,kCACM,GADN,CAFjB;AAII,SAAG,EAAE,GAJT;AAKI,aAAO,EAAE;AAAA,eACL,KAAK,CAAC,WAAN,CACI,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,IAAjB,CAAsB,UAD1B,EAEI,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,IAAjB,CAAsB,KAF1B,EAGI,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,IAAjB,CAAsB,KAH1B,CADK;AAAA,OALb;AAYI,kBAAY,EAAE;AAAA,eAAM,KAAK,CAAC,oBAAN,CAA2B,GAA3B,CAAN;AAAA,OAZlB;AAaI,kBAAY,EAAE;AAAA,eAAM,KAAK,CAAC,gBAAN,EAAN;AAAA;AAblB,OAeI,oBAAC,cAAD,EAAK;AAAC,UAAI,EAAE,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,IAAxB;AAA8B,qBAAe,EAAE,KAAK,CAAC;AAArD,KAAL,CAfJ,CAD4B;AAAA,GAAhC,CADU;AAAA,CAAd;;AAqBA,kBAAe,KAAf,C;;;;;;;;;;;;;ACjCA;;AACA;;AAQA,IAAM,IAAI,GAAG,SAAP,IAAO,CAAC,KAAD,EAAyC;AAAA,MAC1C,IAD0C,GAChB,KADgB,CAC1C,IAD0C;AAAA,MACpC,eADoC,GAChB,KADgB,CACpC,eADoC;AAElD,SACI,0CACI;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,mBAAD,EAAU,IAAV,EAAY,IAAI,CAAC,KAAjB,CADJ,CADJ,EAII;AAAK,aAAS,EAAC;AAAf,KACI,oBAAC,mBAAD,EAAU,IAAV,EAAY,eAAe,GAAG,IAAI,CAAC,KAAR,GAAgB,IAA3C,CADJ,CAJJ,CADJ;AAUH,CAZD;;AAcA,kBAAe,IAAf,C;;;;;;ACvBA,uD;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AACA;;AAUA,IAAM,KAAK,GAAG,SAAR,KAAQ,OAAoF;AAAA,MAAjF,KAAiF,QAAjF,KAAiF;AAAA,MAA1E,KAA0E,QAA1E,KAA0E;AAAA,MAAnE,MAAmE,QAAnE,MAAmE;AAAA,MAA3D,cAA2D,QAA3D,cAA2D;AAAA,MAA3C,KAA2C,QAA3C,KAA2C;AAC9F,MAAM,MAAM,GAAG,oBAAC,gBAAD,EAAO;AAAC,SAAK,EAAE,KAAR;AAAe,UAAM,MAArB;AAAsB,cAAU,EAAC;AAAjC,GAAP,CAAf;AAEA,SACI,iCACI,oBAAC,kBAAD,EAAS;AAAC,UAAM,EAAE,MAAT;AAAiB,eAAW,MAA5B;AAA4B,iCAAqB,KAArB;AAA5B,GAAT,EACI,oBAAC,cAAD,EAAK;AAAC,SAAK,EAAE;AAAE,WAAK,EAAL;AAAF;AAAR,GAAL,EACI,oBAAC,eAAK,IAAN,EAAU;AAAA,iBAAW,KAAX;AAAiB,WAAO,EAAE;AAAA,aAAM,MAAM,CAAC,KAAD,CAAZ;AAAA;AAA1B,GAAV,EAAuD,KAAvD,CADJ,EAII,oBAAC,eAAK,IAAN,EAAU;AAAA,iBAAW,KAAX;AAAiB,WAAO,EAAE;AAAA,aAAM,MAAM,CAAC,KAAD,CAAZ;AAAA;AAA1B,GAAV,EAAuD,KAAvD,CAJJ,CADJ,CADJ,EAWK,cAAc,GACX,oBAAC,cAAD,EAAK;AAAC,SAAK,EAAE;AAAE,WAAK,EAAE,OAAT;AAAkB,cAAQ,EAAE,MAA5B;AAAoC,YAAM,EAAE;AAA5C;AAAR,GAAL,EAAoE,KAApE,CADW,GAEX,IAbR,CADJ;AAiBH,CApBD;;AAsBA,KAAK,CAAC,WAAN,GAAoB,OAApB;AAEA,kBAAe,KAAf,C;;;;;;ACtCA,sD;;;;;;ACAA,oD;;;;;;ACAA,kD;;;;;;ACAA,kD;;;;;;;;;;;;;;ACAA;;AACA;;AAEa,uBAAe,4BAAO,GAAtB;AAAA;AAAA;AAAA,qhBAgBI,eAAK;AAAA,SAAI,KAAK,CAAC,SAAV;AAAA,CAhBT,EAiBW,eAAK;AAAA,SAAI,KAAK,CAAC,YAAV;AAAA,CAjBhB,EAiCc,eAAK;AAAE,QAAM,EAAE;AAAV,CAAL,CAjCd,EAsCY,eAAK;AACV,YAAU,EAAE,MADF;AAEV,QAAM,EAAE;AAFE,CAAL,CAtCZ,E;;;;;;;;;;;;;;;ACHb;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAOA;;AAEA,IAAM,YAAY,GAAiB;AAC/B,qBAAmB,EAAE,CACjB;AACI,QAAI,EAAE,SADV;AAEI,eAAW,EAAE;AAFjB,GADiB,CADU;AAO/B,qBAAmB,EAAE,EAPU;AAQ/B,sBAAoB,EAAE;AAClB,WAAO,EAAE;AAAE,YAAM,EAAE,CAAV;AAAa,WAAK,EAAE;AAApB;AADS;AARS,CAAnC;AAaA,IAAM,IAAI,GAAY;AAClB,cAAY,EAAE,GADI;AAElB,eAAa,EAAE;AAFG,CAAtB;AAKA,IAAM,cAAc,GAAmB,EAAvC;AAEA,IAAM,aAAa,GAAkB;AACjC,iBAAe,EAAE;AACb,WAAO,EAAE,iCADI;AAEb,eAAW,EACP,2NAHS;AAIb,WAAO,EAAE,8CAJI;AAKb,QAAI,EAAE;AALO,GADgB;AAQjC,YAAU,EAAE;AACR,WAAO,EAAE,wBADD;AAER,eAAW,EACP,mJAHI;AAIR,QAAI,EAAE,OAJE;AAKR,SAAK,EAAE;AACH,UAAI,EAAE;AADH;AALC,GARqB;AAiBjC,WAAS,EAAE;AACP,WAAO,EAAE,SADF;AAEP,eAAW,EACP,qGAHG;AAIP,WAAO,EAAE,oCAJF;AAKP,QAAI,EAAE;AALC,GAjBsB;AAwBjC,WAAS,EAAE;AACP,WAAO,EAAE,CADF;AAEP,eAAW,EAAE,oDAFN;AAGP,QAAI,EAAE;AAHC,GAxBsB;AA6BjC,WAAS,EAAE;AACP,WAAO,EAAE,2BADF;AAEP,eAAW,EAAE,iDAFN;AAGP,WAAO,EAAE,8CAHF;AAIP,QAAI,EAAE;AAJC,GA7BsB;AAmCjC,YAAU,EAAE;AACR,WAAO,EAAE,EADD;AAER,eAAW,EAAE,8CAFL;AAGR,QAAI,EAAE;AAHE,GAnCqB;AAwCjC,oBAAkB,EAAE;AAChB,WAAO,EAAE,+CAAgB,CAAhB,CADO;AAEhB,eAAW,EAAE,+CAFG;AAGhB,WAAO,EAAE,8CAHO;AAIhB,QAAI,EAAE;AAJU,GAxCa;AA8CjC,cAAY,EAAE;AACV,WAAO,EAAE,EADC;AAEV,eAAW,EAAE,+DAFH;AAGV,QAAI,EAAE;AAHI,GA9CmB;AAmDjC,cAAY,EAAE;AACV,WAAO,EAAE,EADC;AAEV,eAAW,EAAE,6DAFH;AAGV,QAAI,EAAE;AAHI,GAnDmB;AAwDjC,WAAS,EAAE;AACP,WAAO,EAAE,GADF;AAEP,eAAW,EAAE,6CAFN;AAGP,QAAI,EAAE;AAHC,GAxDsB;AA6DjC,aAAW,EAAE;AACT,WAAO,EAAE,EADA;AAET,eAAW,EAAE,sDAFJ;AAGT,QAAI,EAAE;AAHG,GA7DoB;AAkEjC,gBAAc,EAAE;AACZ,WAAO,EAAE,IADG;AAEZ,eAAW,EACP,uJAHQ;AAIZ,QAAI,EAAE;AAJM,GAlEiB;AAwEjC,iBAAe,EAAE;AACb,WAAO,EAAE,IADI;AAEb,eAAW,EACP,gGAHS;AAIb,QAAI,EAAE;AAJO;AAxEgB,CAArC;AAgFA,IAAM,MAAM,GAAmB;AAC3B,wBAAsB,EAAE,qCAAK;AAAA,WACzB,eAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,oBAAU,KAAV,CAAgB,KAAhB,CADE;AAER,aAAK,EAAE,oBAAU,eAAV,CAA0B,KAA1B;AAFC,OADX;AAKD,YAAM,EAAE,oBAAU,sBAAV,CAAiC,KAAjC;AALP,KAAL,EAMG,KANH,CADyB;AAAA,GADF;AAS3B,kBAAgB,EAAE,+BAAK;AAAA,WACnB,eAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,oBAAU,qBAAV,CAAgC,KAAhC,CADE;AAER,aAAK,EAAE,oBAAU,MAAV,CAAiB,KAAjB;AAFC,OADX;AAKD,YAAM,EAAE,oBAAU,qBAAV,CAAgC,KAAhC;AALP,KAAL,EAMG,KANH,CADmB;AAAA;AATI,CAA/B;AAmBA,IAAM,kBAAkB,GAAG,GAA3B;AACA,IAAM,yBAAyB,GAAG,IAAI,GAAJ,8BAC3B,qCAD2B,sBAE3B,aAAI,MAAJ,EAAY,UAAC,CAAD;AAAA,SAAe,aAAI,CAAJ,EAAO,wBAAP,CAAf;AAAA,CAAZ,CAF2B,GAAlC;AAKA,IAAM,YAAY,GAAmB,CACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,OAAK,EAAE,SAAE,UAAF,CADX;AAEI,QAAM,EAAE,CACJ,CACI;AACI,SAAK,EAAE,SAAE,YAAF,CADX;AAEI,UAAM,EAAE,iBAFZ;AAGI,UAAM,EAAE,cAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,MAFN;AAGT,gBAAU,EAAE,kBAHH;AAIT,aAAO,qBAAM,yBAAN;AAJE;AAJjB,GADJ,CADI,EAcJ,CACI;AACI,SAAK,EAAE,SAAE,YAAF,CADX;AAEI,UAAM,EAAE,WAFZ;AAGI,UAAM,EAAE,cAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,MAFN;AAGT,gBAAU,EAAE,kBAHH;AAIT,aAAO,qBAAM,yBAAN;AAJE;AAJjB,GADJ,CAdI,EA2BJ,CACI;AACI,SAAK,EAAE,SAAE,qBAAF,CADX;AAEI,UAAM,EAAE,oBAFZ;AAGI,UAAM,EAAE,cAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,MAFN;AAGT,gBAAU,EAAE,kBAHH;AAIT,aAAO,qBAAM,yBAAN;AAJE;AAJjB,GADJ,CA3BI,EAwCJ,CACI;AACI,SAAK,EAAE,SAAE,YAAF,CADX;AAEI,UAAM,EAAE,WAFZ;AAGI,UAAM,EAAE,cAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,MAFN;AAGT,gBAAU,EAAE,kBAHH;AAIT,aAAO,qBAAM,yBAAN;AAJE;AAJjB,GADJ,CAxCI;AAFZ,CAjBiC,EA0EjC;AACI,OAAK,EAAE,SAAE,aAAF,CADX;AAEI,QAAM,EAAE,CACJ,CACI;AACI,SAAK,EAAE,SAAE,YAAF,CADX;AAEI,UAAM,EAAE,WAFZ;AAGI,UAAM,EAAE,eAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,KAFN;AAGT,SAAG,EAAE,CAHI;AAIT,gBAAU,EAAE;AAJH;AAJjB,GADJ,EAYI;AACI,SAAK,EAAE,SAAE,aAAF,CADX;AAEI,UAAM,EAAE,YAFZ;AAGI,UAAM,EAAE,eAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,KAFN;AAGT,SAAG,EAAE,CAHI;AAIT,gBAAU,EAAE;AAJH;AAJjB,GAZJ,CADI,EAyBJ,CACI;AACI,SAAK,EAAE,SAAE,kBAAF,CADX;AAEI,UAAM,EAAE,cAFZ;AAGI,UAAM,EAAE,eAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,KAFN;AAGT,SAAG,EAAE,CAHI;AAIT,gBAAU,EAAE;AAJH;AAJjB,GADJ,EAYI;AACI,SAAK,EAAE,SAAE,oBAAF,CADX;AAEI,UAAM,EAAE,cAFZ;AAGI,UAAM,EAAE,eAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,KAFN;AAGT,SAAG,EAAE,CAHI;AAIT,gBAAU,EAAE;AAJH;AAJjB,GAZJ,CAzBI,EAiDJ,CACI;AACI,SAAK,EAAE,SAAE,YAAF,CADX;AAEI,UAAM,EAAE,WAFZ;AAGI,UAAM,EAAE,eAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,MAFN;AAGT,SAAG,EAAE,CAHI;AAIT,gBAAU,EAAE;AAJH;AAJjB,GADJ,CAjDI,EA8DJ,CACI;AACI,SAAK,EAAE,SAAE,cAAF,CADX;AAEI,UAAM,EAAE,aAFZ;AAGI,UAAM,EAAE,eAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,MAFN;AAGT,SAAG,EAAE,CAHI;AAIT,gBAAU,EAAE;AAJH;AAJjB,GADJ,CA9DI;AAFZ,CA1EiC,EAyJjC;AACI,OAAK,EAAE,SAAE,iBAAF,CADX;AAEI,QAAM,EAAE,CACJ,CACI;AACI,SAAK,EAAE,SAAE,kBAAF,CADX;AAEI,UAAM,EAAE,gBAFZ;AAGI,UAAM,EAAE,eAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,MAFN;AAGT,gBAAU,EAAE,GAHH;AAIT,aAAO,qBAAM,yBAAN;AAJE;AAJjB,GADJ,CADI,EAcJ,CACI;AACI,SAAK,EAAE,SAAE,mBAAF,CADX;AAEI,UAAM,EAAE,iBAFZ;AAGI,UAAM,EAAE,eAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAN,MADS;AAET,mBAAa,EAAE,MAFN;AAGT,gBAAU,EAAE,GAHH;AAIT,aAAO,qBAAM,yBAAN;AAJE;AAJjB,GADJ,CAdI;AAFZ,CAzJiC,CAArC;AA0LA,IAAM,MAAM,GAAc;AACtB;;AAEG;AACH,KAAG,EAAE,kBAJiB;;AAKtB;;AAEG;AACH,MAAI,EAAE,YARgB;AAStB,UAAQ,EAAE,0BAAY,IATA;AAUtB,QAAM,EAAE,SAVc;;AAWtB;;AAEG;AACH,MAAI,EAAE,+BAdgB;AAetB,cAAY,EAAZ,YAfsB;AAgBtB,MAAI,EAAJ,IAhBsB;AAiBtB,gBAAc,EAAd,cAjBsB;AAkBtB,eAAa,EAAb,aAlBsB;AAmBtB,cAAY,EAAZ,YAnBsB;AAoBtB,QAAM,EAAE;AACJ,kBAAc;AACV,iBAAW,EAAE;AADH;AADV,GApBc;AAyBtB,UAAQ,EAAE,CAAC,0BAAY,eAAb,EAA8B,0BAAY,MAA1C,EAAkD,0BAAY,WAA9D,CAzBY;AA0BtB,QAAM,EAAN;AA1BsB,CAA1B;AA6BA,kBAAe,4BAAc,MAAd,CAAf,C","file":"LinkGraph.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 171);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"styled-components\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { cloneDeep } from 'lodash';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n\n/**\n * helper to deeply merge objects while preserving arrays in earlier source objects\n * deeply nested primitive keys are merged similarly to lodash's defaultsDeep, while keys with arrays will be preserved if already present in the resultant merged object\n * this prevents default arrays from appending values to user-defined arrays (this occurs if the default array is longer than the user-defined one)\n *\n * @method deepMergeWithArrayOverrides\n * @param {Object} initial - target object to merge values into\n * @param {Object[]} sources - other default options to be merged into the resultant object if no explicit value is provided, with earlier args taking precedence over later ones\n *\n * @returns {Object}\n */\nexport const deepMergeWithArrayOverrides = (initial, ...sources) => {\n const clone = cloneDeep(initial);\n sources.forEach(sourceToApply => {\n Object.keys(sourceToApply).forEach(sourceKey => {\n if (!clone.hasOwnProperty(sourceKey)) {\n clone[sourceKey] = cloneDeep(sourceToApply[sourceKey]);\n }\n // object merging excluding arrays\n if (\n clone[sourceKey] &&\n typeof clone[sourceKey] === 'object' &&\n !Array.isArray(clone[sourceKey]) &&\n typeof sourceToApply[sourceKey] === 'object'\n ) {\n clone[sourceKey] = deepMergeWithArrayOverrides(clone[sourceKey], sourceToApply[sourceKey]);\n }\n });\n });\n return clone;\n};\n","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport type { JSONSchema7Definition } from 'json-schema';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((key): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [key]: patternProperties[key] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = vizConfig;\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n return enhancedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n};\n","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toDimension, toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { pick } from 'lodash';\n\ninterface Props {\n enabled?: boolean;\n width?: number | string;\n height?: number | string;\n}\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","import * as T from 'prop-types';\nimport { has, isFunction } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey: string, sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (isFunction(onRequestParamsChange)) {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, isFunction, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && isFunction(onRequestParamsChange);\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: isFunction(onRequestParamsChange) ? onChangeHandler : noop,\n };\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: 'grey',\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\n\nimport { withTheme } from 'styled-components';\nimport SplunkVisualization from './SplunkVisualization';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { VizConfig } from './interfaces/VizConfig';\nimport { VizProps } from './interfaces/VizProps';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { DataSource } from './interfaces/DataSource';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport { pickFieldFromJSONSchema } from './utils/JSONSchemaUtils';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\nimport { deepMergeWithArrayOverrides } from './utils/hocUtils';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const { ReactViz, vizConfig, computeVizProps = () => {}, useIconPlaceholder } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n } catch (e) {\n console.error(`unexpected error evaluating options: + ${e.message}`);\n return {};\n }\n }, [currentThemeFamily, currentThemeColorScheme, currentThemeDensity, options, context, dataSources]);\n\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(evaluatedOptions);\n });\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptions);\n if (missing.length > 0 && supports.includes(VizBehavior.PLACEHOLDER)) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => (payload[p] = evaluatedOptions[p]));\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptions,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptions}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(withPlaceholder(withEditModeCover(DashboardViz), useIconPlaceholder));\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","export interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; //(This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n //noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; //noop\n }\n}\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\ninterface FieldEntry {\n name: string;\n}\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import type { JSONSchema7Definition } from 'json-schema';\nimport { has, isEmpty, get } from 'lodash';\nimport { KV } from '../interfaces/Object';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\n\nexport const pickFieldFromJSONSchema = (\n optionsSchema: OptionsSchema | JSONSchema7Definition,\n fieldName = 'default'\n): KV =>\n Object.keys(optionsSchema).reduce((accum: Record<string, unknown>, k): Record<string, unknown> => {\n if (has(optionsSchema[k], fieldName)) {\n accum[k] = optionsSchema[k][fieldName];\n } else if (get(optionsSchema, [k, 'type']) === 'object' && has(optionsSchema[k], 'properties')) {\n const nestedSchema = pickFieldFromJSONSchema(optionsSchema[k].properties, fieldName);\n if (!isEmpty(nestedSchema)) {\n accum[k] = nestedSchema;\n }\n }\n return accum;\n }, {});\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (Visualization: ExtendedDashViz): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n return (\n <Blocker>\n <Visualization {...props} />\n {mode === 'edit' && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholder = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={config.icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@babel/runtime/helpers/inherits\");","module.exports = require(\"@babel/runtime/helpers/possibleConstructorReturn\");","module.exports = require(\"@babel/runtime/helpers/getPrototypeOf\");","module.exports = require(\"@splunk/visualizations-shared/dataSourceUtils\");","import { get } from 'lodash';\nimport { getDataSourceStateInfo, DataSourceState } from '@splunk/visualizations-shared/dataSourceUtils';\nimport withDashboardViz, { DashboardVizOpts } from '../common/withDashboardViz';\nimport PureLinkGraph from './PureLinkGraph/PureLinkGraph';\nimport config from './config';\nimport { DataSource } from '../common/interfaces/DataSource';\n\n/**\n * @method showPlaceHolderIcon\n * @param {Object} dataSources\n * @returns {Boolean} return true if loading, error, non existent state or without columns in dataSources\n */\nexport const showPlaceHolderIcon = dataSources => {\n const columns = get(dataSources, 'primary.data.columns', undefined);\n const noColumns = columns === undefined;\n const dataSourceState = getDataSourceStateInfo(dataSources);\n return (\n dataSourceState === DataSourceState.ERROR ||\n dataSourceState === DataSourceState.LOADING ||\n dataSourceState === DataSourceState.NONEXISTENT ||\n noColumns\n );\n};\n\nexport const computeVizProps = ({ themeFunc, ...props }) => {\n const themeColorVariables = ['defaultBackgroundColor', 'defaultLinkColor', 'defaultNodeColor'];\n const themeColors: Record<string, unknown> = {};\n themeColorVariables.forEach(variable => {\n themeColors[variable] = themeFunc(variable);\n });\n if (props.dataSources) {\n const { fields, columns } = props.dataSources.primary.data;\n return { fields: fields.map(field => (field.name ? field.name : field)), columns, ...themeColors };\n }\n return themeColors;\n};\n\nconst LinkGraph = withDashboardViz({\n ReactViz: PureLinkGraph,\n vizConfig: config,\n computeVizProps,\n useIconPlaceholder: (dataSources: { [name: string]: DataSource }, loading: boolean) =>\n showPlaceHolderIcon(dataSources),\n} as DashboardVizOpts);\n\nconst themes = config.themes;\nexport default LinkGraph;\nexport { themes, config, LinkGraph, PureLinkGraph };\n","import { each, filter, sortBy } from 'lodash';\n\nexport interface onNodeClickType {\n payload: {\n field: string;\n value: string;\n state: string;\n };\n}\n\nexport type EdgeType = {\n sourceNode: string;\n targetNode: string;\n};\n\nexport type NodeDataType = {\n field: string;\n fieldIndex: number;\n value: string;\n ins: Record<string, EdgeType>;\n outs: Record<string, EdgeType>;\n count: number;\n};\n\nexport type NodeType = {\n x: number;\n y: number;\n w: number;\n h: number;\n currentX: number;\n currentY: number;\n currentW: number;\n currentH: number;\n time: number;\n data: NodeDataType;\n};\n\nexport type FieldType = {\n count: number;\n};\n\nexport type GraphType = {\n nodes: Record<string, NodeType>;\n edges: EdgeType[];\n fields: Record<string, FieldType>;\n};\n\nexport const cleanString = (s: string) => String(s).replace(/[^a-zA-Z0-9\\\\-]/gi, '');\n\nexport const OFFSET_Y = 35;\n\n/**\n *\n * @param fields\n * @param columns\n * @param nodeWidth\n * @param nodeHeight\n * @param nodeSpacingX\n * @param nodeSpacingY\n * @param resultLimit\n * @param fieldOrder\n * @returns GraphType\n * Translates fields and column data into GraphType object.\n * Node placement is figured out here - see NodeType\n * We transverse over fields\n * Then for every field we go down the column\n * We create a node\n * look to the right one column, create an edge\n * look to the left one column, create an edge\n */\nexport const createLinkGraphFromTable = (\n fieldsIn: string[],\n columnsIn: any[],\n nodeWidth: number,\n nodeHeight: number,\n nodeSpacingX: number,\n nodeSpacingY: number,\n resultLimit: number,\n fieldOrder: string[]\n) => {\n const nodes = {};\n const graphDataModel: GraphType = {\n nodes: {},\n edges: [],\n fields: {},\n };\n if (!fieldsIn || !Array.isArray(fieldsIn) || !columnsIn || !Array.isArray(columnsIn)) {\n return graphDataModel;\n }\n let fields = fieldsIn;\n let columns = columnsIn;\n if (fieldOrder.length) {\n fields = fieldOrder;\n columns = [];\n fields.forEach((field, fieldIndex) => {\n columns[fieldIndex] = columnsIn[fieldsIn.indexOf(field)];\n });\n }\n fields.forEach((field: string, fieldIndex: number) => {\n nodes[field] = {\n nodes: {},\n };\n graphDataModel.fields[field] = {\n count: 0,\n };\n if (!columns[fieldIndex]) {\n return graphDataModel;\n }\n columns[fieldIndex].find((column: string, columnIndex: number) => {\n const key = `${fieldIndex}-${cleanString(field)}-${cleanString(column)}`;\n let node = nodes[field].nodes[column];\n if (!nodes[field].nodes[column]) {\n node = {\n data: {\n field,\n fieldIndex,\n count: 1,\n value: column,\n ins: {},\n outs: {},\n },\n };\n } else {\n node.data.count += 1;\n }\n if (columns[fieldIndex + 1] && columns[fieldIndex + 1][columnIndex]) {\n const sourceNode = `${fieldIndex}-${cleanString(field)}-${cleanString(column)}`;\n const targetNode = `${fieldIndex + 1}-${cleanString(fields[fieldIndex + 1])}-${cleanString(\n columns[fieldIndex + 1][columnIndex]\n )}`;\n const edge = {\n sourceNode,\n targetNode,\n };\n node.data.outs[\n `${cleanString(column)}-${cleanString(columns[fieldIndex + 1][columnIndex])}`\n ] = edge;\n graphDataModel.edges.push(edge);\n }\n if (columns[fieldIndex - 1] && columns[fieldIndex - 1][columnIndex]) {\n node.data.ins[`${column}-${columns[fieldIndex - 1][columnIndex]}`] = {\n out: columns[fieldIndex - 1][columnIndex],\n in: column,\n };\n }\n if (!graphDataModel.nodes[key]) {\n nodes[field].nodes[column] = node;\n graphDataModel.nodes[key] = node;\n node.x = fieldIndex * nodeWidth + fieldIndex * nodeSpacingX;\n node.y =\n (Object.keys(nodes[field].nodes).length - 1) * nodeHeight +\n (Object.keys(nodes[field].nodes).length - 1) * nodeSpacingY +\n OFFSET_Y;\n node.w = nodeWidth;\n node.h = nodeHeight;\n }\n graphDataModel.fields[field].count = Object.keys(nodes[field].nodes).length;\n return Object.keys(nodes[field].nodes).length === resultLimit;\n });\n });\n return graphDataModel;\n};\n\n/**\n * Get all paths from a node. If sourceNodeID is passed, all the paths would\n * start with this id. Return value is an object where id of start node is the key,\n * array of path is the value. Given a graph like:\n * '7' - '8'- '9' - '1' - '2' - '4' - '5' - '6'\n '0' - ┘ └ - '3'\n *\n * getAllPathsFromNodeID(json, '1') will return:\n * {\n * 1: [\n * [1, 2, 4, 5, 6],\n * [1, 2, 3]\n * ]\n * }\n *\n * @param {Object} graph\n * @param {String} sourceNodeID Node ID to start from\n * @return {Object}\n */\nexport const getAllPathsFromNodeID = (graph: GraphType, sourceNodeID: string, cache = {}) => {\n if (!graph || !sourceNodeID) {\n return { nodes: {}, edges: [], fields: {} };\n }\n const sourceNodeIDs = [sourceNodeID];\n const allPaths = {};\n each(sourceNodeIDs, id => {\n const currentPathArray = [];\n each(filter(graph.edges, { sourceNode: id }), ({ targetNode }) => {\n if (!cache[targetNode]) {\n getAllPathsFromNodeID(graph, targetNode, cache);\n }\n const paths = cache[targetNode];\n each(paths, path => {\n const pathCopy = path.slice();\n pathCopy.unshift(id);\n currentPathArray.push(pathCopy);\n });\n });\n if (!currentPathArray.length) {\n currentPathArray.push([id]);\n }\n // eslint-disable-next-line no-param-reassign\n cache[id] = currentPathArray;\n allPaths[id] = currentPathArray;\n });\n return allPaths;\n};\n\n/**\n * Get all paths from a graph. All the paths would\n * end with this id. Return value is an object where id of end node is the key,\n * array of path is the value. Given a graph like:\n * '7' - '8'- '9' - '1' - '2' - '4' - '5' - '6'\n '0' - ┘ └ - '3'\n *\n * getAllPathsToNodeID(json, '2') will return:\n * {\n * 2: [\n * [7, 8, 9, 1, 2],\n * [0, 1, 2]\n * ]\n * }\n *\n * @param {Graph} graph\n * @param {String} targetNodeID Node ID to end with\n * @return {Object}\n */\nexport const getAllPathsToNodeID = (graph: GraphType, targetNodeID: string, cache = {}) => {\n if (!graph || !targetNodeID) {\n return {};\n }\n const targetNodeIDs = [targetNodeID];\n const allPaths = {};\n each(targetNodeIDs, (id: string) => {\n const currentPathArray = [];\n each(filter(graph.edges, { targetNode: id }), ({ sourceNode }) => {\n if (!cache[sourceNode]) {\n getAllPathsToNodeID(graph, sourceNode, cache);\n }\n const paths = cache[sourceNode];\n each(paths, path => {\n const pathCopy: string[] = path.slice();\n pathCopy.push(id);\n currentPathArray.push(pathCopy);\n });\n });\n if (!currentPathArray.length) {\n currentPathArray.push([id]);\n }\n const currentCache = cache;\n currentCache[id] = currentPathArray;\n allPaths[id] = currentPathArray;\n });\n return allPaths;\n};\n\n// TODO: write tests once all sorting options are supported\nexport const sortGraphColumn = (\n graph: GraphType,\n field: string,\n sortKey: string,\n nodeHeight: number,\n nodeSpacingY: number\n) => {\n const nodesToSort: NodeType[] = Object.values(graph.nodes).filter(node => node.data.field === field);\n const nodes: NodeType[] = sortBy(nodesToSort, node => node.data.value);\n if (sortKey === 'Z-A') {\n nodes.reverse();\n }\n nodes.forEach((node, index) => {\n const currentNode = node;\n currentNode.y = index * nodeHeight + index * nodeSpacingY + OFFSET_Y;\n });\n};\n","import styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nexport const StyledViewport = styled.div<{\n nodeColor: string;\n nodeHighlightColor: string;\n linkColor: string;\n}>`\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n\n .node {\n transition: background 0.05s ease-out;\n background: ${props => props.nodeColor};\n border: 2px solid transparent;\n }\n\n .node.hovering {\n background: ${props => props.nodeHighlightColor};\n }\n\n .node.selected {\n border-radius: 1px;\n border: 2px solid\n ${pick({\n enterprise: variables.accentColorD10,\n prisma: variables.interactiveColorPrimary,\n })};\n }\n\n .edge {\n transition: opacity 0.05s ease-out;\n stroke: ${props => props.linkColor};\n opacity: 0.3;\n }\n\n .edge.hovering {\n opacity: 0.8;\n }\n\n > button {\n border-radius: 1px;\n position: absolute;\n overflow: hidden;\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n outline: inherit;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .center-content {\n width: 100%;\n max-width: 100%;\n flex: 1 1 100%;\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n width: 0;\n padding-left: 8px;\n padding-right: 8px;\n > p {\n color: ${pick({\n enterprise: {\n light: variables.gray30,\n dark: variables.gray60,\n },\n prisma: variables.contentColorActive,\n })};\n }\n > p:nth-child(1) {\n font-size: 10px;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n > p:nth-child(2) {\n flex: 0 auto;\n margin: 0;\n font-size: 10px;\n padding-left: 8px;\n }\n }\n .left-content {\n padding-left: 8px;\n }\n .right-content {\n padding-right: 8px;\n }\n .left-content,\n .right-content {\n flex: 0 0 auto;\n > p {\n height: 100%;\n font-weight: bold;\n font-size: 10px;\n padding: 0;\n margin: 0;\n color: ${pick({\n enterprise: {\n light: variables.gray30,\n dark: variables.gray60,\n },\n prisma: {\n light: variables.contentColorActive,\n dark: variables.contentColorMuted,\n },\n })};\n }\n }\n }\n`;\n\nexport const StyledEdgesPath = styled.path<{ linkWidth: number }>`\n fill: transparent;\n stroke: #9b9b9d;\n stroke-width: ${props => `${props.linkWidth}px`};\n`;\n","export * from './LinkGraph';\nexport { default } from './LinkGraph';\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport { get } from 'lodash';\nimport withFixedSizeContainer from '../../common/hocs/FixedSizeContainer';\nimport { createLinkGraphFromTable, sortGraphColumn, GraphType, onNodeClickType } from './PureLinkGraphUtils';\nimport Graph from './components/Graph';\nimport Field from './components/Field';\nimport { StyledFields } from './components/FieldStyles';\n\nexport interface PureLinkGraphProps {\n mode: string;\n backgroundColor: string;\n columns: any[];\n fields: string[];\n height: number;\n linkColor: string;\n linkWidth: number;\n nodeWidth: number;\n nodeHeight: number;\n nodeSpacingX: number;\n nodeSpacingY: number;\n nodeColor: string;\n nodeHighlightColor: string;\n resultLimit: number;\n width: number;\n showValueCounts: boolean;\n showNodeCounts: boolean;\n onNodeClick: (arg0: onNodeClickType) => void;\n fieldOrder: string[];\n}\n\nconst LinkGraphContainer = styled.div<{ height: number; width: number }>`\n position: relative;\n top: 12px;\n left: 16px;\n width: ${props => props?.width - 32}px;\n height: ${props => props?.height - 24}px;\n`;\n\nconst LinkGraphWrapper = styled.div<{ backgroundColor: string; height: number; width: number }>`\n background-color: ${({ backgroundColor }) => backgroundColor};\n width: ${props => get(props, 'width')}px;\n height: ${props => get(props, 'height')}px;\n overflow: auto;\n`;\n\nLinkGraphContainer.displayName = 'LinkGraphContainer';\n\nexport const PureLinkGraph = (props: PureLinkGraphProps): any => {\n const {\n mode,\n backgroundColor,\n width,\n height,\n fields,\n columns,\n nodeWidth,\n nodeHeight,\n nodeSpacingX,\n nodeSpacingY,\n onNodeClick,\n linkColor,\n nodeColor,\n nodeHighlightColor,\n resultLimit,\n linkWidth,\n showValueCounts,\n showNodeCounts,\n fieldOrder,\n } = props;\n\n /*\n value / setValue is here so we can modify graphDataModelState directly and \n force a rerender, as opposed to making a copy of graphDataModelState and\n mutating the copy and using that in the new state.\n\n I will make sure to test this in a UDF context to make sure there is no data loss\n or incorrect rendering ( and will then remove this last comment or address later on )\n */\n const [value, setValue] = React.useState(0);\n const [graphDataModelState, setGraphDataModelState] = React.useState<GraphType>(\n createLinkGraphFromTable(\n fields,\n columns,\n nodeWidth,\n nodeHeight,\n nodeSpacingX,\n nodeSpacingY,\n resultLimit,\n fieldOrder\n )\n );\n\n React.useEffect(() => {\n setGraphDataModelState(\n createLinkGraphFromTable(\n fields,\n columns,\n nodeWidth,\n nodeHeight,\n nodeSpacingX,\n nodeSpacingY,\n resultLimit,\n fieldOrder\n )\n );\n }, [fields, columns, nodeWidth, nodeHeight, nodeSpacingX, nodeSpacingY, resultLimit, fieldOrder]);\n\n const handleFieldSort = (field, sortKey) => {\n sortGraphColumn(graphDataModelState, field, sortKey, nodeHeight, nodeSpacingY);\n setGraphDataModelState(graphDataModelState);\n setValue(value + 1);\n };\n\n return (\n <LinkGraphWrapper backgroundColor={backgroundColor} height={height} width={width}>\n <LinkGraphContainer data-test-render-count={value} height={height} width={width}>\n <Graph\n linkColor={linkColor}\n nodeColor={nodeColor}\n nodeHighlightColor={nodeHighlightColor}\n graphDataModel={graphDataModelState}\n onNodeClick={onNodeClick}\n linkWidth={linkWidth}\n showValueCounts={showValueCounts}\n />\n <StyledFields nodeWidth={nodeWidth} nodeSpacingX={nodeSpacingX}>\n {Object.keys(graphDataModelState.fields).map((field, index) => (\n <Field\n showNodeCounts={showNodeCounts}\n data-test={`field-${index}`}\n key={field}\n onSort={(sortKey: string) => handleFieldSort(field, sortKey)}\n field={field}\n width={nodeWidth}\n count={graphDataModelState.fields[field].count}\n />\n ))}\n </StyledFields>\n </LinkGraphContainer>\n </LinkGraphWrapper>\n );\n};\n\nPureLinkGraph.propTypes = {\n mode: T.string,\n backgroundColor: T.string,\n width: T.number,\n height: T.number,\n fields: T.array,\n columns: T.array,\n onNodeClick: T.func,\n nodeWidth: T.number,\n nodeHeight: T.number,\n nodeSpacingX: T.number,\n nodeSpacingY: T.number,\n linkColor: T.string,\n nodeColor: T.string,\n nodeHighlightColor: T.string,\n resultLimit: T.number,\n linkWidth: T.number,\n showValueCounts: T.bool,\n showNodeCounts: T.bool,\n fieldOrder: T.array,\n};\n\nPureLinkGraph.defaultProps = {\n mode: 'view',\n fields: null,\n columns: [],\n backgroundColor: '#0B0C0E',\n width: 1200,\n height: 400,\n nodeWidth: 180,\n nodeHeight: 21,\n nodeSpacingX: 32,\n nodeSpacingY: 6,\n linkWidth: 1,\n linkColor: '#B5B5B5',\n nodeColor: '#1E2024',\n nodeHighlightColor: '#7B56DB',\n resultLimit: 50,\n showValueCounts: true,\n showNodeCounts: true,\n onNodeClick: () => {},\n fieldOrder: [],\n};\n\nPureLinkGraph.displayName = 'VizLinkGraph';\n\nexport default withFixedSizeContainer(PureLinkGraph);\n","import * as React from 'react';\nimport { cloneDeep } from 'lodash';\nimport Edges from './Edges';\nimport Nodes from './Nodes';\nimport { StyledViewport } from './GraphStyles';\nimport {\n GraphType,\n EdgeType,\n getAllPathsFromNodeID,\n getAllPathsToNodeID,\n cleanString,\n NodeType,\n onNodeClickType,\n} from '../PureLinkGraphUtils';\n\ntype GraphState = {\n nodes: Record<string, NodeType>;\n edges: [];\n highlightedNodes: string[];\n hasMounted: boolean;\n};\n\ntype GraphProps = {\n graphDataModel: GraphType;\n onNodeClick: (arg0: onNodeClickType) => void;\n nodeColor: string;\n nodeHighlightColor: string;\n linkColor: string;\n linkWidth: number;\n showValueCounts: boolean;\n};\n\nclass Graph extends React.Component<GraphProps, GraphState> {\n requestAnimationFrameId: number;\n\n viewport: HTMLElement;\n\n constructor(props) {\n super(props);\n this.requestAnimationFrameId = null;\n this.viewport = null;\n this.state = {\n nodes: {},\n edges: [],\n highlightedNodes: [],\n hasMounted: false,\n };\n }\n\n static getDerivedStateFromProps(props: GraphProps, state: GraphState) {\n if (!state.hasMounted) {\n return state;\n }\n const nodes = cloneDeep(props.graphDataModel.nodes);\n Object.keys(nodes).forEach(key => {\n const nodeFromProps = nodes[key];\n const nodeFromState = state.nodes[key];\n if (!nodeFromState) {\n nodeFromProps.time = 1;\n } else if (\n nodeFromProps.x !== nodeFromState.x ||\n nodeFromProps.y !== nodeFromState.y ||\n nodeFromProps.w !== nodeFromState.w ||\n nodeFromProps.h !== nodeFromState.h\n ) {\n nodeFromProps.time = 0;\n }\n nodeFromProps.currentX = nodeFromProps.x;\n nodeFromProps.currentY = nodeFromProps.y;\n nodeFromProps.currentW = nodeFromProps.w;\n nodeFromProps.currentH = nodeFromProps.h;\n });\n\n let highlightedNodes = [...state.highlightedNodes];\n\n state.highlightedNodes.forEach(nodeID => {\n if (!props.graphDataModel.nodes[cleanString(nodeID)]) {\n highlightedNodes = [];\n }\n });\n\n return {\n nodes,\n edges: props.graphDataModel.edges,\n highlightedNodes,\n };\n }\n\n componentDidMount() {\n this.setState({\n hasMounted: true,\n });\n }\n\n componentDidUpdate() {\n const { highlightedNodes } = this.state;\n cancelAnimationFrame(this.requestAnimationFrameId);\n this.highlightAllEdges();\n this.unhighlightAllNodes();\n highlightedNodes.forEach(value => {\n this.handleMouseEnterNode(cleanString(value));\n });\n this.tween();\n }\n\n componentWillUnmount() {\n cancelAnimationFrame(this.requestAnimationFrameId);\n }\n\n handleMouseEnterNode(nodeID: string) {\n this.unhighlightAllEdges();\n const allPathsFromNodeID = getAllPathsFromNodeID(this.props.graphDataModel, nodeID);\n const allPathsToNodeID = getAllPathsToNodeID(this.props.graphDataModel, nodeID);\n let lastUUID;\n Object.keys(allPathsFromNodeID).forEach(pathKey => {\n allPathsFromNodeID[pathKey].forEach((path: []) => {\n path.forEach(uuid => {\n let element = this.viewport.querySelector(`[data-test=\"node-${uuid}\"]`);\n if (element) {\n element.classList.add('hovering');\n }\n element = this.viewport.querySelector(`[data-test=\"edge-${lastUUID}-${uuid}\"]`);\n if (element) {\n element.classList.add('hovering');\n }\n lastUUID = uuid;\n });\n });\n });\n lastUUID = null;\n Object.keys(allPathsToNodeID).forEach(pathKey => {\n allPathsToNodeID[pathKey].forEach(path => {\n path.forEach((uuid: string) => {\n let element = this.viewport.querySelector(`[data-test=\"node-${uuid}\"]`);\n if (element) {\n element.classList.add('hovering');\n }\n element = this.viewport.querySelector(`[data-test=\"edge-${lastUUID}-${uuid}\"]`);\n if (element) {\n element.classList.add('hovering');\n }\n lastUUID = uuid;\n });\n });\n });\n }\n\n handleMouseLeave() {\n const { highlightedNodes } = this.state;\n [...this.viewport.getElementsByClassName('hovering')[Symbol.iterator]()].forEach(ele => {\n ele.classList.remove('hovering');\n });\n highlightedNodes.forEach(value => {\n this.handleMouseEnterNode(cleanString(value));\n });\n this.highlightAllEdges();\n }\n\n handleMouseClick(fieldIndex: number, field: string, value: string) {\n const { onNodeClick } = this.props;\n const { highlightedNodes } = this.state;\n const key = `${fieldIndex}-${field}-${value}`;\n const newHighlightedNodes: string[] = [...highlightedNodes];\n const index = newHighlightedNodes.indexOf(key);\n const element = this.viewport.querySelector(\n `[data-test=\"node-${fieldIndex}-${cleanString(field)}-${cleanString(value)}\"]`\n );\n let state = false;\n\n if (index !== -1) {\n newHighlightedNodes.splice(index, 1);\n element.classList.remove('selected');\n element.setAttribute('aria-pressed', 'false');\n } else {\n newHighlightedNodes.push(key);\n state = true;\n element.classList.add('selected');\n element.setAttribute('aria-pressed', 'true');\n }\n this.setState(\n {\n highlightedNodes: newHighlightedNodes,\n },\n () => this.handleMouseLeave()\n );\n const selectedOption = state ? 'selected' : 'unselected';\n const payload = { field, value, state: selectedOption };\n onNodeClick({ payload });\n }\n\n highlightAllEdges() {\n const { highlightedNodes } = this.state;\n if (!highlightedNodes.length) {\n this.viewport\n .querySelectorAll(`[data-test^=\"edge-\"]`)\n .forEach(element => element.classList.add('hovering'));\n }\n }\n\n unhighlightAllEdges() {\n const { highlightedNodes } = this.state;\n if (!highlightedNodes.length) {\n this.viewport\n .querySelectorAll(`[data-test^=\"edge-\"]`)\n .forEach(element => element.classList.remove('hovering'));\n }\n }\n\n unhighlightAllNodes() {\n const { highlightedNodes } = this.state;\n if (!highlightedNodes.length) {\n this.viewport\n .querySelectorAll(`[data-test^=\"node-\"]`)\n .forEach(element => element.classList.remove('hovering'));\n }\n }\n\n tween() {\n const { nodes } = this.state;\n let isAnimating = false;\n Object.keys(nodes).forEach((nodeId: string) => {\n const node = nodes[nodeId];\n const nodeElement: HTMLElement = this.viewport.querySelector(`[data-test=\"node-${nodeId}\"]`);\n if (nodeElement) {\n if (nodeElement.style.left === '') {\n this.moveNodeBy(\n nodeId,\n Math.floor(node.x),\n Math.floor(node.y),\n Math.floor(node.w),\n Math.floor(node.h)\n );\n } else {\n const x = parseInt(nodeElement.style.left, 10);\n const y = parseInt(nodeElement.style.top, 10);\n const w = parseInt(nodeElement.style.width, 10);\n const h = parseInt(nodeElement.style.height, 10);\n node.time += 0.01;\n const newX = Math.floor(x * (1 - node.time) + node.x * node.time);\n const newY = Math.floor(y * (1 - node.time) + node.y * node.time);\n const newWidth = Math.floor(w * (1 - node.time) + node.w * node.time);\n const newHeight = Math.floor(h * (1 - node.time) + node.h * node.time);\n if (node.time < 1) {\n this.moveNodeBy(\n nodeId,\n Math.floor(newX),\n Math.floor(newY),\n Math.floor(newWidth),\n Math.floor(newHeight)\n );\n isAnimating = true;\n } else {\n this.moveNodeBy(\n nodeId,\n Math.floor(node.x),\n Math.floor(node.y),\n Math.floor(node.w),\n Math.floor(node.h)\n );\n node.time = 1;\n }\n }\n }\n });\n cancelAnimationFrame(this.requestAnimationFrameId);\n if (isAnimating) {\n this.requestAnimationFrameId = requestAnimationFrame(this.tween.bind(this));\n }\n }\n\n moveNodeBy(nodeId: string, xIn: number, yIn: number, wIn: number, hIn: number) {\n const { nodes } = this.state;\n nodes[nodeId].currentX = xIn;\n nodes[nodeId].currentY = yIn;\n nodes[nodeId].currentW = wIn;\n nodes[nodeId].currentH = hIn;\n const nodeElement: HTMLElement = this.viewport.querySelector(`[data-test=\"node-${nodeId}\"]`);\n if (nodeElement) {\n nodeElement.style.left = `${xIn}px`;\n nodeElement.style.top = `${yIn}px`;\n nodeElement.style.width = `${wIn}px`;\n nodeElement.style.height = `${hIn}px`;\n }\n Object.values(nodes[nodeId].data.outs).forEach((edge: EdgeType) => {\n if (edge.sourceNode === nodeId || edge.targetNode === nodeId) {\n const start = nodes[edge.sourceNode];\n const end = nodes[edge.targetNode];\n const edgeElement = this.viewport.querySelector(\n `[data-test=\"edge-${edge.sourceNode}-${edge.targetNode}\"]`\n );\n if (edgeElement && start && end) {\n const middle: {\n currentX: number;\n currentY: number;\n currentWidth: number;\n currentHeight: number;\n } = {\n currentX: 0,\n currentY: 0,\n currentWidth: 0,\n currentHeight: 0,\n };\n middle.currentX =\n start.currentX +\n start.currentW +\n (end.currentX - (start.currentX + start.currentW)) / 2;\n middle.currentY =\n start.currentY +\n start.currentH / 2 +\n (end.currentY - start.currentY - start.currentH / 2) / 2;\n const svgData = `\n M${start.currentX + start.currentW},${start.currentY + start.currentH / 2}\n L${start.currentX + start.currentW},${start.currentY + start.currentH / 2}\n C${middle.currentX},${start.currentY + start.currentH / 2}\n ${middle.currentX},${end.currentY + end.currentH / 2}\n ${end.currentX},${end.currentY + end.currentH / 2}\n L${end.currentX},${end.currentY + end.currentH / 2}`;\n edgeElement.setAttribute('d', svgData);\n }\n }\n });\n }\n\n render() {\n const { nodes, edges } = this.state;\n const { nodeColor, nodeHighlightColor, linkColor, linkWidth, showValueCounts } = this.props;\n const newEdges = edges.filter((edge: EdgeType) => nodes[edge.sourceNode] && nodes[edge.targetNode]);\n\n return (\n <StyledViewport\n nodeColor={nodeColor}\n nodeHighlightColor={nodeHighlightColor}\n linkColor={linkColor}\n ref={c => {\n this.viewport = c;\n }}\n >\n <Nodes\n nodes={nodes}\n onNodeClick={(fieldIndex: number, field: string, value: string) =>\n this.handleMouseClick(fieldIndex, field, value)\n }\n handleMouseEnterNode={(nodeID: string) => this.handleMouseEnterNode(nodeID)}\n handleMouseLeave={() => this.handleMouseLeave()}\n showValueCounts={showValueCounts}\n />\n <Edges edges={newEdges} linkWidth={linkWidth} />\n </StyledViewport>\n );\n }\n}\n\nexport default Graph;\n","import * as React from 'react';\nimport { StyledEdgesPath } from './GraphStyles';\nimport { EdgeType } from '../PureLinkGraphUtils';\n\nexport interface EdgesProps {\n edges: EdgeType[];\n linkWidth: number;\n}\n\nconst Edges = (props: EdgesProps): React.ReactElement => {\n const { edges, linkWidth } = props;\n let key = '';\n return (\n <svg\n style={{\n position: 'absolute',\n overflow: 'visible',\n pointerEvents: 'none',\n }}\n height=\"100%\"\n width=\"100%\"\n data-test=\"edges\"\n >\n {edges.map(edge => {\n key = `edge-${edge.sourceNode}-${edge.targetNode}`;\n return [<StyledEdgesPath className=\"edge\" key={key} data-test={key} linkWidth={linkWidth} />];\n })}\n </svg>\n );\n};\n\nexport default Edges;\n","import * as React from 'react';\nimport Node from './Node';\nimport { NodeType } from '../PureLinkGraphUtils';\n\nexport interface NodesProps {\n nodes: Record<string, NodeType>;\n onNodeClick: (fieldIndex: number, field: string, value: string) => void;\n handleMouseEnterNode: (nodeID: string) => void;\n handleMouseLeave: () => void;\n showValueCounts: boolean;\n}\n\nconst Nodes = (props: NodesProps): any =>\n Object.keys(props.nodes).map(key => (\n <button\n className=\"node\"\n type=\"button\"\n data-test={`node-${key}`}\n key={key}\n onClick={() =>\n props.onNodeClick(\n props.nodes[key].data.fieldIndex,\n props.nodes[key].data.field,\n props.nodes[key].data.value\n )\n }\n onMouseEnter={() => props.handleMouseEnterNode(key)}\n onMouseLeave={() => props.handleMouseLeave()}\n >\n <Node data={props.nodes[key].data} showValueCounts={props.showValueCounts} />\n </button>\n ));\n\nexport default Nodes;\n","import * as React from 'react';\nimport Paragraph from '@splunk/react-ui/Paragraph';\nimport { NodeDataType } from '../PureLinkGraphUtils';\n\nexport interface NodeProps {\n data: NodeDataType;\n showValueCounts: boolean;\n}\n\nconst Node = (props: NodeProps): React.ReactElement => {\n const { data, showValueCounts } = props;\n return (\n <>\n <div className=\"center-content\">\n <Paragraph>{data.value}</Paragraph>\n </div>\n <div className=\"right-content\">\n <Paragraph>{showValueCounts ? data.count : null}</Paragraph>\n </div>\n </>\n );\n};\n\nexport default Node;\n","module.exports = require(\"@splunk/react-ui/Paragraph\");","import * as React from 'react';\nimport Dropdown from '@splunk/react-ui/Dropdown';\nimport Button from '@splunk/react-ui/Button';\nimport Menu from '@splunk/react-ui/Menu';\nimport Chip from '@splunk/react-ui/Chip';\n\ninterface FieldProps {\n field: string;\n count: number;\n width: number;\n onSort: (sortKey: string) => void;\n showNodeCounts: boolean;\n}\n\nconst Field = ({ field, count, onSort, showNodeCounts, width }: FieldProps): React.ReactElement => {\n const toggle = <Button label={field} isMenu appearance=\"toggle\" />;\n\n return (\n <div>\n <Dropdown toggle={toggle} retainFocus data-test={`field-${field}-dropdown`}>\n <Menu style={{ width }}>\n <Menu.Item data-test=\"A-Z\" onClick={() => onSort('A-Z')}>\n A-Z\n </Menu.Item>\n <Menu.Item data-test=\"Z-A\" onClick={() => onSort('Z-A')}>\n Z-A\n </Menu.Item>\n </Menu>\n </Dropdown>\n {showNodeCounts ? (\n <Chip style={{ float: 'right', fontSize: '10px', height: '20px' }}>{count}</Chip>\n ) : null}\n </div>\n );\n};\n\nField.displayName = 'Field';\n\nexport default Field;\n","module.exports = require(\"@splunk/react-ui/Dropdown\");","module.exports = require(\"@splunk/react-ui/Button\");","module.exports = require(\"@splunk/react-ui/Menu\");","module.exports = require(\"@splunk/react-ui/Chip\");","import styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\n\nexport const StyledFields = styled.div<{\n nodeWidth: number;\n nodeSpacingX: number;\n}>`\n position: absolute;\n whitespace: nowrap;\n display: flex;\n justify-content: space-between;\n align-items: center;\n max-height: 30px;\n\n > div:last-child {\n margin-right: 16px;\n }\n\n > div {\n width: ${props => props.nodeWidth}px;\n margin-right: ${props => props.nodeSpacingX}px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n > button {\n background: transparent !important;\n padding: 0;\n border: none;\n border-radius: !important;\n font-size: 12px !important;\n box-shadow: none !important;\n }\n\n > button > span {\n justify-content: flex-start;\n > span {\n padding: ${pick({ prisma: '0 !important' })};\n flex: 0 1 auto;\n font-weight: bold;\n }\n svg {\n width: ${pick({\n enterprise: '100%',\n prisma: '70%',\n })};\n }\n }\n\n > div {\n margin: 0;\n }\n }\n`;\n","import { map, get } from 'lodash';\nimport { LinkGraph as LinkGraphIcon } from '@splunk/visualization-icons';\nimport {\n COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n COLOR_OR_TOKEN_PATTERN,\n} from '@splunk/visualizations-shared/schemaUtils';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 900,\n initialHeight: 400,\n};\n\nconst defaultContext: DefaultContext = {};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n fieldOrder: {\n default: '> primary | getField()',\n description:\n 'Specify the order of fields to be displayed in the link graph from left to right when loaded. Unspecified fields will be excluded from the graph.',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n linkColor: {\n default: '#6d6f76',\n description:\n 'Specify the color used for highlighted links. Unhighlighted links will be displayed at 20% opacity.',\n pattern: COLOR_OR_TOKEN_PATTERN,\n type: 'string',\n },\n linkWidth: {\n default: 1,\n description: 'Specify, in pixels, the stroke width of each link.',\n type: 'number',\n },\n nodeColor: {\n default: '> themes.defaultNodeColor',\n description: 'Specify the color used for unhighlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeHeight: {\n default: 21,\n description: 'Specify, in pixels, the height of each node.',\n type: 'number',\n },\n nodeHighlightColor: {\n default: VIZ_CATEGORICAL[0],\n description: 'Specify the color used for highlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeSpacingX: {\n default: 32,\n description: 'Specify, in pixels, the horizontal spacing between each node.',\n type: 'number',\n },\n nodeSpacingY: {\n default: 18,\n description: 'Specify, in pixels, the vertical spacing between each node.',\n type: 'number',\n },\n nodeWidth: {\n default: 180,\n description: 'Specify, in pixels, the width of each node.',\n type: 'number',\n },\n resultLimit: {\n default: 50,\n description: 'Specify the number of nodes rendered in each column.',\n type: 'number',\n },\n showNodeCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the number of nodes displayed in each column. The number of total nodes is also shown if there are hidden nodes.',\n type: 'boolean',\n },\n showValueCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the frequency of occurrence for each distinct node value.',\n type: 'boolean',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.backgroundColorDialog(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorDialog(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst backgroundColorPaletteSet = new Set([\n ...COLOR_EDITOR_PALETTE,\n ...map(themes, (t): string => get(t, 'defaultBackgroundColor')),\n]);\n\nconst editorConfig: EditorConfig[] = [\n // {\n // label: _('Data'),\n // layout: [\n // [\n // {\n // label: _('Field Ordering'),\n // option: 'fieldOrder',\n // editor: 'editor.arrayOfStrings',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n // ],\n // },\n {\n label: _('Coloring'),\n layout: [\n [\n {\n label: _('Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Node Color'),\n option: 'nodeColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Selected Node Color'),\n option: 'nodeHighlightColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Link Color'),\n option: 'linkColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n ],\n },\n {\n label: _('Node Layout'),\n layout: [\n [\n {\n label: _('Node Width'),\n option: 'nodeWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Node Height'),\n option: 'nodeHeight',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Vertical Spacing'),\n option: 'nodeSpacingY',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Horizontal Spacing'),\n option: 'nodeSpacingX',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Link Width'),\n option: 'linkWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'left',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Result Limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'left',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Display Options'),\n layout: [\n [\n {\n label: _('Show Node Counts'),\n option: 'showNodeCounts',\n editor: 'editor.toggle',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Show Value Counts'),\n option: 'showValueCounts',\n editor: 'editor.toggle',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n ],\n },\n];\n\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.linkgraph',\n /**\n * viz name\n */\n name: 'Link Graph',\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: LinkGraphIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'node.click': {\n description: 'triggered when user clicks a node',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"styled-components\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@babel/runtime/helpers/typeof\"","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/utils/JSONSchemaUtils.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@babel/runtime/helpers/inherits\"","webpack:///external \"@babel/runtime/helpers/possibleConstructorReturn\"","webpack:///external \"@babel/runtime/helpers/getPrototypeOf\"","webpack:///external \"@splunk/visualizations-shared/dataSourceUtils\"","webpack:///./src/LinkGraph/LinkGraph.tsx","webpack:///./src/LinkGraph/PureLinkGraph/PureLinkGraphUtils.ts","webpack:///./src/LinkGraph/PureLinkGraph/components/GraphStyles.ts","webpack:///./src/LinkGraph/index.ts","webpack:///./src/LinkGraph/PureLinkGraph/PureLinkGraph.tsx","webpack:///./src/LinkGraph/PureLinkGraph/components/Graph.tsx","webpack:///./src/LinkGraph/PureLinkGraph/components/Edges.tsx","webpack:///./src/LinkGraph/PureLinkGraph/components/Nodes.tsx","webpack:///./src/LinkGraph/PureLinkGraph/components/Node.tsx","webpack:///external \"@splunk/react-ui/Paragraph\"","webpack:///./src/LinkGraph/PureLinkGraph/components/Field.tsx","webpack:///external \"@splunk/react-ui/Dropdown\"","webpack:///external \"@splunk/react-ui/Button\"","webpack:///external \"@splunk/react-ui/Menu\"","webpack:///external \"@splunk/react-ui/Chip\"","webpack:///./src/LinkGraph/PureLinkGraph/components/FieldStyles.tsx","webpack:///./src/LinkGraph/config.ts"],"names":[],"mappings":"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","file":"LinkGraph.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 173);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"styled-components\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = vizConfig;\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n return enhancedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n};\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { cloneDeep } from 'lodash';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n\n/**\n * helper to deeply merge objects while preserving arrays in earlier source objects\n * deeply nested primitive keys are merged similarly to lodash's defaultsDeep, while keys with arrays will be preserved if already present in the resultant merged object\n * this prevents default arrays from appending values to user-defined arrays (this occurs if the default array is longer than the user-defined one)\n *\n * @method deepMergeWithArrayOverrides\n * @param {Object} initial - target object to merge values into\n * @param {Object[]} sources - other default options to be merged into the resultant object if no explicit value is provided, with earlier args taking precedence over later ones\n *\n * @returns {Object}\n */\nexport const deepMergeWithArrayOverrides = (initial, ...sources) => {\n const clone = cloneDeep(initial);\n sources.forEach(sourceToApply => {\n Object.keys(sourceToApply).forEach(sourceKey => {\n if (!Object.prototype.hasOwnProperty.call(clone, sourceKey)) {\n clone[sourceKey] = cloneDeep(sourceToApply[sourceKey]);\n }\n // object merging excluding arrays\n if (\n clone[sourceKey] &&\n typeof clone[sourceKey] === 'object' &&\n !Array.isArray(clone[sourceKey]) &&\n typeof sourceToApply[sourceKey] === 'object'\n ) {\n clone[sourceKey] = deepMergeWithArrayOverrides(clone[sourceKey], sourceToApply[sourceKey]);\n }\n });\n });\n return clone;\n};\n","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","import * as T from 'prop-types';\nimport { has, isFunction } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey, sortDir }: { sortKey: string; sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (isFunction(onRequestParamsChange)) {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, isFunction, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && isFunction(onRequestParamsChange);\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: isFunction(onRequestParamsChange) ? onChangeHandler : noop,\n };\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: 'grey',\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\n\nimport { withTheme } from 'styled-components';\nimport SplunkVisualization from './SplunkVisualization';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { VizConfig } from './interfaces/VizConfig';\nimport { VizProps } from './interfaces/VizProps';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { DataSource } from './interfaces/DataSource';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport { pickFieldFromJSONSchema } from './utils/JSONSchemaUtils';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\nimport { deepMergeWithArrayOverrides } from './utils/hocUtils';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const { ReactViz, vizConfig, computeVizProps = () => {}, useIconPlaceholder } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options: + ${e.message}`);\n return {};\n }\n }, [currentThemeFamily, currentThemeColorScheme, currentThemeDensity, options, context, dataSources]);\n\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(evaluatedOptions);\n });\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptions);\n if (missing.length > 0 && supports.includes(VizBehavior.PLACEHOLDER)) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => {\n payload[p] = evaluatedOptions[p];\n });\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptions,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptions}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(withPlaceholder(withEditModeCover(DashboardViz), useIconPlaceholder));\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\ninterface FieldEntry {\n name: string;\n}\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","/* eslint-disable no-param-reassign */\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { has, isEmpty, get } from 'lodash';\nimport { KV } from '../interfaces/Object';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\n\nexport const pickFieldFromJSONSchema = (\n optionsSchema: OptionsSchema | JSONSchema7Definition,\n fieldName = 'default'\n): KV =>\n Object.keys(optionsSchema).reduce((accum: Record<string, unknown>, k): Record<string, unknown> => {\n if (has(optionsSchema[k], fieldName)) {\n accum[k] = optionsSchema[k][fieldName];\n } else if (get(optionsSchema, [k, 'type']) === 'object' && has(optionsSchema[k], 'properties')) {\n const nestedSchema = pickFieldFromJSONSchema(optionsSchema[k].properties, fieldName);\n if (!isEmpty(nestedSchema)) {\n accum[k] = nestedSchema;\n }\n }\n return accum;\n }, {});\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (Visualization: ExtendedDashViz): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n return (\n <Blocker>\n <Visualization {...props} />\n {mode === 'edit' && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={config.icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@babel/runtime/helpers/inherits\");","module.exports = require(\"@babel/runtime/helpers/possibleConstructorReturn\");","module.exports = require(\"@babel/runtime/helpers/getPrototypeOf\");","module.exports = require(\"@splunk/visualizations-shared/dataSourceUtils\");","import { get } from 'lodash';\nimport { getDataSourceStateInfo, DataSourceState } from '@splunk/visualizations-shared/dataSourceUtils';\nimport withDashboardViz, { DashboardVizOpts } from '../common/withDashboardViz';\nimport PureLinkGraph from './PureLinkGraph/PureLinkGraph';\nimport config from './config';\nimport { DataSource } from '../common/interfaces/DataSource';\n\n/**\n * @method showPlaceHolderIcon\n * @param {Object} dataSources\n * @returns {Boolean} return true if loading, error, non existent state or without columns in dataSources\n */\nexport const showPlaceHolderIcon = dataSources => {\n const columns = get(dataSources, 'primary.data.columns', undefined);\n const noColumns = columns === undefined;\n const dataSourceState = getDataSourceStateInfo(dataSources);\n return (\n dataSourceState === DataSourceState.ERROR ||\n dataSourceState === DataSourceState.LOADING ||\n dataSourceState === DataSourceState.NONEXISTENT ||\n noColumns\n );\n};\n\nexport const computeVizProps = ({ themeFunc, ...props }) => {\n const themeColorVariables = ['defaultBackgroundColor', 'defaultLinkColor', 'defaultNodeColor'];\n const themeColors: Record<string, unknown> = {};\n themeColorVariables.forEach(variable => {\n themeColors[variable] = themeFunc(variable);\n });\n if (props.dataSources) {\n const { fields, columns } = props.dataSources.primary.data;\n return { fields: fields.map(field => (field.name ? field.name : field)), columns, ...themeColors };\n }\n return themeColors;\n};\n\nconst LinkGraph = withDashboardViz({\n ReactViz: PureLinkGraph,\n vizConfig: config,\n computeVizProps,\n useIconPlaceholder: (dataSources: { [name: string]: DataSource }) => showPlaceHolderIcon(dataSources),\n} as DashboardVizOpts);\n\nconst { themes } = config;\nexport default LinkGraph;\nexport { themes, config, LinkGraph, PureLinkGraph };\n","import { sortBy } from 'lodash';\n\nexport interface onNodeClickType {\n payload: {\n name: string;\n value: string;\n state: string;\n [key: string]: string;\n };\n}\n\nexport type EdgeType = {\n sourceNode: string;\n targetNode: string;\n};\n\nexport type NodeDataType = {\n field: string;\n fieldIndex: number;\n value: string;\n outs: Record<string, EdgeType>;\n count: number;\n};\n\nexport type NodeType = {\n x: number;\n y: number;\n w: number;\n h: number;\n currentX?: number;\n currentY?: number;\n currentW?: number;\n currentH?: number;\n time?: number;\n data: NodeDataType;\n};\n\nexport type FieldType = {\n count: number;\n};\n\nexport type GraphType = {\n nodes: Record<string, NodeType>;\n edges: EdgeType[];\n fields: Record<string, FieldType>;\n};\n\nconst createNode = (\n graphDataModelIn: GraphType,\n nodesIn: Record<string, NodeType>,\n column: string,\n field: string,\n fieldIndex: number,\n nodeWidth: number,\n nodeHeight: number,\n nodeSpacingX: number,\n nodeSpacingY: number,\n shouldAddToGraphDataModel: boolean\n): NodeType => {\n const nodes = nodesIn;\n const graphDataModel = graphDataModelIn;\n let node = nodes[column];\n if (!nodes[column]) {\n node = {\n x: 0,\n y: 0,\n w: 0,\n h: 0,\n data: {\n field,\n fieldIndex,\n count: 1,\n value: column,\n outs: {},\n },\n };\n } else {\n node.data.count += 1;\n }\n const key = `${fieldIndex}-${field}-${column}`;\n if (shouldAddToGraphDataModel && !graphDataModel.nodes[key]) {\n nodes[column] = node;\n graphDataModel.nodes[key] = node;\n node.x = fieldIndex * nodeWidth + fieldIndex * nodeSpacingX;\n node.y =\n (Object.keys(nodes).length - 1) * nodeHeight +\n (Object.keys(nodes).length - 1) * nodeSpacingY +\n OFFSET_Y;\n node.w = nodeWidth;\n node.h = nodeHeight;\n }\n return node;\n};\n\nconst createEdge = (\n graphDataModelIn: GraphType,\n nodesIn: Record<string, NodeType>,\n edgesIn: Record<string, unknown>,\n nodeIn: NodeType,\n columns: string[],\n column: string,\n columnIndex: number,\n fields: string[],\n field: string,\n fieldIndex: number,\n shouldAddToGraphDataModel: boolean\n) => {\n if (!shouldAddToGraphDataModel) {\n return;\n }\n const node = nodeIn;\n const edges = edgesIn;\n const graphDataModel = graphDataModelIn;\n if (columns[fieldIndex + 1] && columns[fieldIndex + 1][columnIndex]) {\n const sourceNode = `${fieldIndex}-${field}-${column}`;\n const targetNode = `${fieldIndex + 1}-${fields[fieldIndex + 1]}-${\n columns[fieldIndex + 1][columnIndex]\n }`;\n const edge = {\n sourceNode,\n targetNode,\n };\n node.data.outs[`${column}-${columns[fieldIndex + 1][columnIndex]}`] = edge;\n edges[`${edge.sourceNode}-${edge.targetNode}`] = edge;\n }\n graphDataModel.fields[field].count = Object.keys(nodesIn).length;\n};\n\nexport const OFFSET_Y = 35;\n\n/**\n *\n * @param fields\n * @param columns\n * @param nodeWidth\n * @param nodeHeight\n * @param nodeSpacingX\n * @param nodeSpacingY\n * @param resultLimit\n * @param fieldOrder\n * @returns GraphType\n * Translates fields and column data into GraphType object.\n * Node placement is figured out here - see NodeType\n * We transverse over fields\n * Then for every field we go down the column\n * We create a node\n * look to the right one column, create an edge\n * look to the left one column, create an edge\n */\nexport const createLinkGraphFromTable = (\n fieldsIn: string[],\n columnsIn: any[],\n nodeWidth: number,\n nodeHeight: number,\n nodeSpacingX: number,\n nodeSpacingY: number,\n resultLimit: number,\n fieldOrder: string[]\n): GraphType => {\n const nodes = {};\n const edges = {};\n const graphDataModel: GraphType = {\n nodes: {},\n edges: [],\n fields: {},\n };\n if (!fieldsIn || !Array.isArray(fieldsIn) || !columnsIn || !Array.isArray(columnsIn)) {\n return graphDataModel;\n }\n let fields = fieldsIn;\n let columns = columnsIn;\n if (fieldOrder.length) {\n fields = fieldOrder;\n columns = [];\n fields.forEach((field, fieldIndex) => {\n columns[fieldIndex] = columnsIn[fieldsIn.indexOf(field)];\n });\n }\n // TODO: this should not return anything; not sure why the original LinkGraph code returned something at the end of a .forEach\n // eslint-disable-next-line consistent-return\n fields.forEach((field: string, fieldIndex: number) => {\n nodes[field] = {\n nodes: {},\n };\n graphDataModel.fields[field] = {\n count: 0,\n };\n if (!columns[fieldIndex]) {\n return graphDataModel;\n }\n columns[fieldIndex].forEach((column: string, columnIndex: number) => {\n const shouldAddToGraphDataModel = Object.keys(nodes[field].nodes).length < resultLimit;\n const node = createNode(\n graphDataModel,\n nodes[field].nodes,\n column,\n field,\n fieldIndex,\n nodeWidth,\n nodeHeight,\n nodeSpacingX,\n nodeSpacingY,\n shouldAddToGraphDataModel\n );\n createEdge(\n graphDataModel,\n nodes[field].nodes,\n edges,\n node,\n columns,\n column,\n columnIndex,\n fields,\n field,\n fieldIndex,\n shouldAddToGraphDataModel\n );\n });\n });\n graphDataModel.edges = Object.values(edges);\n return graphDataModel;\n};\n\nclass Edges {\n store = {};\n\n constuctor() {\n this.store = {};\n }\n\n addEdge(source: string, target: string) {\n if (!this.store[source]) {\n this.store[source] = {};\n }\n this.store[source][target] = true;\n }\n\n getNeighbors(source: string) {\n if (!this.store[source]) {\n return {};\n }\n return this.store[source];\n }\n}\n\nexport const getNodesToHighlight = (\n graph: GraphType,\n sourceNodeID: string\n): {\n vertices: string[];\n edges: string[];\n} => {\n const edges = { reverse: new Edges(), forward: new Edges() };\n graph.edges.forEach(edge => {\n edges.forward.addEdge(edge.sourceNode, edge.targetNode);\n edges.reverse.addEdge(edge.targetNode, edge.sourceNode);\n });\n\n const vs = {\n ...traverse(edges.reverse, sourceNodeID),\n ...traverse(edges.forward, sourceNodeID),\n };\n const vertices = new Set(Object.keys(vs));\n const result = {\n vertices: [],\n edges: [],\n };\n\n result.vertices = [...vertices];\n result.edges = [...vertices].flatMap(v =>\n Object.keys(edges.forward.getNeighbors(v))\n .filter(u => vertices.has(u))\n .map(u => `${v}-${u}`)\n );\n\n return result;\n};\n\nconst traverse = (edges: Edges, sourceNodeID: string) => {\n const visited = {};\n let currentNodesToTraverse = [sourceNodeID];\n while (currentNodesToTraverse.length) {\n const nextNodesToTraverse = [];\n\n currentNodesToTraverse.forEach(node => {\n visited[node] = true;\n const neighbors = edges.getNeighbors(node);\n Object.keys(neighbors).forEach(n => nextNodesToTraverse.push(n));\n });\n\n currentNodesToTraverse = nextNodesToTraverse;\n }\n return visited;\n};\n\n// TODO: write tests once all sorting options are supported\nexport const sortGraphColumn = (\n graph: GraphType,\n field: string,\n sortKey: string,\n nodeHeight: number,\n nodeSpacingY: number\n) => {\n const nodesToSort: NodeType[] = Object.values(graph.nodes).filter(node => node.data.field === field);\n const nodes: NodeType[] = sortBy(nodesToSort, node => node.data.value);\n if (sortKey === 'Z-A') {\n nodes.reverse();\n }\n nodes.forEach((node, index) => {\n const currentNode = node;\n currentNode.y = index * nodeHeight + index * nodeSpacingY + OFFSET_Y;\n });\n};\n","import styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nexport const StyledViewport = styled.div<{\n nodeColor: string;\n nodeTextColor: string;\n nodeHighlightColor: string;\n nodeTextHighlightColor: string;\n linkColor: string;\n}>`\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n\n .node {\n transition: background 0.05s ease-out;\n background: ${props => props.nodeColor};\n border: 2px solid transparent;\n p {\n color: ${props => props.nodeTextColor} !important;\n }\n }\n\n .node.hovering {\n background: ${props => props.nodeHighlightColor};\n p {\n color: ${props => props.nodeTextHighlightColor} !important;\n }\n }\n\n .node.selected {\n border-radius: 1px;\n border: 2px solid\n ${pick({\n enterprise: variables.accentColorD10,\n prisma: variables.interactiveColorPrimary,\n })};\n }\n\n .edge {\n transition: opacity 0.05s ease-out;\n stroke: ${props => props.linkColor};\n opacity: 0.3;\n }\n\n .edge.hovering {\n opacity: 0.8;\n }\n\n > button {\n border-radius: 1px;\n position: absolute;\n overflow: hidden;\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n outline: inherit;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .center-content {\n width: 100%;\n max-width: 100%;\n flex: 1 1 100%;\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n width: 0;\n padding-left: 8px;\n padding-right: 8px;\n > p {\n color: ${pick({\n enterprise: {\n light: variables.gray30,\n dark: variables.gray60,\n },\n prisma: variables.contentColorActive,\n })};\n }\n > p:nth-child(1) {\n font-size: 10px;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n > p:nth-child(2) {\n flex: 0 auto;\n margin: 0;\n font-size: 10px;\n padding-left: 8px;\n }\n }\n .left-content {\n padding-left: 8px;\n }\n .right-content {\n padding-right: 8px;\n }\n .left-content,\n .right-content {\n flex: 0 0 auto;\n > p {\n height: 100%;\n font-weight: bold;\n font-size: 10px;\n padding: 0;\n margin: 0;\n color: ${pick({\n enterprise: {\n light: variables.gray30,\n dark: variables.gray60,\n },\n prisma: {\n light: variables.contentColorActive,\n dark: variables.contentColorMuted,\n },\n })};\n }\n }\n }\n`;\n\nexport const StyledEdgesPath = styled.path<{ linkWidth: number }>`\n fill: transparent;\n stroke: #9b9b9d;\n stroke-width: ${props => `${props.linkWidth}px`};\n`;\n","export * from './LinkGraph';\nexport { default } from './LinkGraph';\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport { get } from 'lodash';\nimport withFixedSizeContainer from '../../common/hocs/FixedSizeContainer';\nimport { createLinkGraphFromTable, sortGraphColumn, GraphType, onNodeClickType } from './PureLinkGraphUtils';\nimport Graph from './components/Graph';\nimport Field from './components/Field';\nimport { StyledFields } from './components/FieldStyles';\n\nexport interface PureLinkGraphProps {\n mode: string;\n backgroundColor: string;\n columns: any[];\n fields: string[];\n height: number;\n linkColor: string;\n linkWidth: number;\n nodeWidth: number;\n nodeHeight: number;\n nodeSpacingX: number;\n nodeSpacingY: number;\n nodeColor: string;\n nodeTextColor: string;\n nodeHighlightColor: string;\n nodeTextHighlightColor: string;\n resultLimit: number;\n width: number;\n showValueCounts: boolean;\n showNodeCounts: boolean;\n onNodeClick: (arg0: onNodeClickType) => void;\n fieldOrder: string[];\n}\n\nconst LinkGraphContainer = styled.div<{ height: number; width: number }>`\n position: relative;\n top: 12px;\n left: 16px;\n width: ${props => props?.width - 32}px;\n height: ${props => props?.height - 24}px;\n`;\n\nconst LinkGraphWrapper = styled.div<{ backgroundColor: string; height: number; width: number }>`\n background-color: ${({ backgroundColor }) => backgroundColor};\n width: ${props => get(props, 'width')}px;\n height: ${props => get(props, 'height')}px;\n overflow: auto;\n`;\n\nLinkGraphContainer.displayName = 'LinkGraphContainer';\n\nexport const PureLinkGraph = (props: PureLinkGraphProps): any => {\n const {\n // dereferencing needed to avoid linting conflict with unused prop-types\n mode, // eslint-disable-line @typescript-eslint/no-unused-vars\n backgroundColor,\n width,\n height,\n fields,\n columns,\n nodeWidth,\n nodeHeight,\n nodeSpacingX,\n nodeSpacingY,\n onNodeClick,\n linkColor,\n nodeColor,\n nodeTextColor,\n nodeHighlightColor,\n nodeTextHighlightColor,\n resultLimit,\n linkWidth,\n showValueCounts,\n showNodeCounts,\n fieldOrder,\n } = props;\n /*\n value / setValue is here so we can modify graphDataModelState directly and \n force a rerender, as opposed to making a copy of graphDataModelState and\n mutating the copy and using that in the new state.\n\n I will make sure to test this in a UDF context to make sure there is no data loss\n or incorrect rendering ( and will then remove this last comment or address later on )\n */\n const [value, setValue] = React.useState(0);\n const [graphDataModelState, setGraphDataModelState] = React.useState<GraphType>(\n createLinkGraphFromTable(\n fields,\n columns,\n nodeWidth,\n nodeHeight,\n nodeSpacingX,\n nodeSpacingY,\n resultLimit,\n fieldOrder\n )\n );\n\n React.useEffect(() => {\n setGraphDataModelState(\n createLinkGraphFromTable(\n fields,\n columns,\n nodeWidth,\n nodeHeight,\n nodeSpacingX,\n nodeSpacingY,\n resultLimit,\n fieldOrder\n )\n );\n }, [fields, columns, nodeWidth, nodeHeight, nodeSpacingX, nodeSpacingY, resultLimit, fieldOrder]);\n\n const handleFieldSort = (field, sortKey) => {\n sortGraphColumn(graphDataModelState, field, sortKey, nodeHeight, nodeSpacingY);\n setGraphDataModelState(graphDataModelState);\n setValue(value + 1);\n };\n\n return (\n <LinkGraphWrapper backgroundColor={backgroundColor} height={height} width={width}>\n <LinkGraphContainer data-test-render-count={value} height={height} width={width}>\n <Graph\n linkColor={linkColor}\n nodeColor={nodeColor}\n nodeTextColor={nodeTextColor}\n nodeHighlightColor={nodeHighlightColor}\n nodeTextHighlightColor={nodeTextHighlightColor}\n graphDataModel={graphDataModelState}\n onNodeClick={onNodeClick}\n linkWidth={linkWidth}\n showValueCounts={showValueCounts}\n />\n <StyledFields nodeWidth={nodeWidth} nodeSpacingX={nodeSpacingX}>\n {Object.keys(graphDataModelState.fields).map((field, index) => (\n <Field\n showNodeCounts={showNodeCounts}\n data-test={`field-${index}`}\n key={field}\n onSort={(sortKey: string) => handleFieldSort(field, sortKey)}\n field={field}\n width={nodeWidth}\n count={graphDataModelState.fields[field].count}\n />\n ))}\n </StyledFields>\n </LinkGraphContainer>\n </LinkGraphWrapper>\n );\n};\n\nPureLinkGraph.propTypes = {\n mode: T.string,\n backgroundColor: T.string,\n width: T.number,\n height: T.number,\n fields: T.array,\n columns: T.array,\n onNodeClick: T.func,\n nodeWidth: T.number,\n nodeHeight: T.number,\n nodeSpacingX: T.number,\n nodeSpacingY: T.number,\n linkColor: T.string,\n nodeColor: T.string,\n nodeTextColor: T.string,\n nodeHighlightColor: T.string,\n nodeTextHighlightColor: T.string,\n resultLimit: T.number,\n linkWidth: T.number,\n showValueCounts: T.bool,\n showNodeCounts: T.bool,\n fieldOrder: T.array,\n};\n\nPureLinkGraph.defaultProps = {\n mode: 'view',\n fields: null,\n columns: [],\n backgroundColor: '#0B0C0E',\n width: 1200,\n height: 400,\n nodeWidth: 180,\n nodeHeight: 21,\n nodeSpacingX: 32,\n nodeSpacingY: 6,\n linkWidth: 1,\n linkColor: '#B5B5B5',\n nodeColor: '#1E2024',\n nodeTextColor: '#FFFFFF',\n nodeHighlightColor: '#7B56DB',\n nodeTextHighlightColor: '#FFFFFF',\n resultLimit: 50,\n showValueCounts: true,\n showNodeCounts: true,\n onNodeClick: () => {},\n fieldOrder: [],\n};\n\nPureLinkGraph.displayName = 'VizLinkGraph';\n\nexport default withFixedSizeContainer(PureLinkGraph);\n","import * as React from 'react';\nimport { cloneDeep } from 'lodash';\nimport Edges from './Edges';\nimport Nodes from './Nodes';\nimport { StyledViewport } from './GraphStyles';\nimport { GraphType, EdgeType, getNodesToHighlight, NodeType, onNodeClickType } from '../PureLinkGraphUtils';\n\ntype GraphState = {\n nodes: Record<string, NodeType>;\n edges: [];\n highlightedNodes: string[];\n hasMounted: boolean;\n};\n\ntype GraphProps = {\n graphDataModel: GraphType;\n onNodeClick: (arg0: onNodeClickType) => void;\n nodeColor: string;\n nodeTextColor?: string;\n nodeHighlightColor: string;\n nodeTextHighlightColor?: string;\n linkColor: string;\n linkWidth: number;\n showValueCounts: boolean;\n};\n\nclass Graph extends React.Component<GraphProps, GraphState> {\n requestAnimationFrameId: number;\n\n viewport: HTMLElement;\n\n constructor(props) {\n super(props);\n this.requestAnimationFrameId = null;\n this.viewport = null;\n this.state = {\n nodes: {},\n edges: [],\n highlightedNodes: [],\n hasMounted: false,\n };\n }\n\n static getDerivedStateFromProps(props: GraphProps, state: GraphState) {\n if (!state.hasMounted) {\n return state;\n }\n const nodes = cloneDeep(props.graphDataModel.nodes);\n Object.keys(nodes).forEach(key => {\n const nodeFromProps = nodes[key];\n const nodeFromState = state.nodes[key];\n if (!nodeFromState) {\n nodeFromProps.time = 1;\n } else if (\n nodeFromProps.x !== nodeFromState.x ||\n nodeFromProps.y !== nodeFromState.y ||\n nodeFromProps.w !== nodeFromState.w ||\n nodeFromProps.h !== nodeFromState.h\n ) {\n nodeFromProps.time = 0;\n }\n nodeFromProps.currentX = nodeFromProps.x;\n nodeFromProps.currentY = nodeFromProps.y;\n nodeFromProps.currentW = nodeFromProps.w;\n nodeFromProps.currentH = nodeFromProps.h;\n });\n\n let highlightedNodes = [...state.highlightedNodes];\n\n state.highlightedNodes.forEach(nodeID => {\n if (!props.graphDataModel.nodes[nodeID]) {\n highlightedNodes = [];\n }\n });\n\n return {\n nodes,\n edges: props.graphDataModel.edges,\n highlightedNodes,\n };\n }\n\n componentDidMount() {\n this.setState({\n hasMounted: true,\n });\n }\n\n componentDidUpdate() {\n const { highlightedNodes } = this.state;\n cancelAnimationFrame(this.requestAnimationFrameId);\n this.highlightAllEdges();\n this.unhighlightAllNodes();\n highlightedNodes.forEach(value => {\n this.handleMouseEnterNode(value);\n });\n this.tween();\n }\n\n componentWillUnmount() {\n cancelAnimationFrame(this.requestAnimationFrameId);\n }\n\n handleMouseEnterNode(nodeID: string) {\n this.unhighlightAllEdges();\n const { vertices, edges } = getNodesToHighlight(this.props.graphDataModel, nodeID);\n edges.forEach(e => {\n const element = this.viewport.querySelector(`[data-test=\"edge-${e}\"]`);\n element.classList.add('hovering');\n });\n\n vertices.forEach(uuid => {\n const element = this.viewport.querySelector(`[data-test=\"node-${uuid}\"]`);\n element.classList.add('hovering');\n });\n }\n\n handleMouseLeave() {\n const { highlightedNodes } = this.state;\n [...this.viewport.getElementsByClassName('hovering')[Symbol.iterator]()].forEach(ele => {\n ele.classList.remove('hovering');\n });\n highlightedNodes.forEach(value => {\n this.handleMouseEnterNode(value);\n });\n this.highlightAllEdges();\n }\n\n handleMouseClick(key: string) {\n const { onNodeClick } = this.props;\n const { nodes, highlightedNodes } = this.state;\n const newHighlightedNodes: string[] = [...highlightedNodes];\n const index = newHighlightedNodes.indexOf(key);\n const element = this.viewport.querySelector(`[data-test=\"node-${key}\"]`);\n let state = false;\n\n if (index !== -1) {\n newHighlightedNodes.splice(index, 1);\n element.classList.remove('selected');\n element.setAttribute('aria-pressed', 'false');\n } else {\n newHighlightedNodes.push(key);\n state = true;\n element.classList.add('selected');\n element.setAttribute('aria-pressed', 'true');\n }\n this.setState(\n {\n highlightedNodes: newHighlightedNodes,\n },\n () => this.handleMouseLeave()\n );\n const selectedOption = state ? 'selected' : 'unselected';\n const { field, value } = nodes[key].data;\n const payload = { name: field, value, state: selectedOption };\n const { vertices } = getNodesToHighlight(this.props.graphDataModel, key);\n vertices\n .map(k => nodes[k])\n .forEach(node => {\n const row = `row.${node.data.field}.value`;\n if (!payload[row]) {\n payload[row] = [];\n }\n payload[row].push(node.data.value);\n });\n onNodeClick({ payload });\n }\n\n highlightAllEdges() {\n const { highlightedNodes } = this.state;\n if (!highlightedNodes.length) {\n this.viewport\n .querySelectorAll(`[data-test^=\"edge-\"]`)\n .forEach(element => element.classList.add('hovering'));\n }\n }\n\n unhighlightAllEdges() {\n const { highlightedNodes } = this.state;\n if (!highlightedNodes.length) {\n this.viewport\n .querySelectorAll(`[data-test^=\"edge-\"]`)\n .forEach(element => element.classList.remove('hovering'));\n }\n }\n\n unhighlightAllNodes() {\n const { highlightedNodes } = this.state;\n if (!highlightedNodes.length) {\n this.viewport\n .querySelectorAll(`[data-test^=\"node-\"]`)\n .forEach(element => element.classList.remove('hovering'));\n }\n }\n\n tween() {\n const { nodes } = this.state;\n let isAnimating = false;\n Object.keys(nodes).forEach((nodeId: string) => {\n const node = nodes[nodeId];\n const nodeElement: HTMLElement = this.viewport.querySelector(`[data-test=\"node-${nodeId}\"]`);\n if (nodeElement) {\n if (nodeElement.style.left === '') {\n this.moveNodeBy(\n nodeId,\n Math.floor(node.x),\n Math.floor(node.y),\n Math.floor(node.w),\n Math.floor(node.h)\n );\n } else {\n const x = parseInt(nodeElement.style.left, 10);\n const y = parseInt(nodeElement.style.top, 10);\n const w = parseInt(nodeElement.style.width, 10);\n const h = parseInt(nodeElement.style.height, 10);\n node.time += 0.01;\n const newX = Math.floor(x * (1 - node.time) + node.x * node.time);\n const newY = Math.floor(y * (1 - node.time) + node.y * node.time);\n const newWidth = Math.floor(w * (1 - node.time) + node.w * node.time);\n const newHeight = Math.floor(h * (1 - node.time) + node.h * node.time);\n if (node.time < 1) {\n this.moveNodeBy(\n nodeId,\n Math.floor(newX),\n Math.floor(newY),\n Math.floor(newWidth),\n Math.floor(newHeight)\n );\n isAnimating = true;\n } else {\n this.moveNodeBy(\n nodeId,\n Math.floor(node.x),\n Math.floor(node.y),\n Math.floor(node.w),\n Math.floor(node.h)\n );\n node.time = 1;\n }\n }\n }\n });\n cancelAnimationFrame(this.requestAnimationFrameId);\n if (isAnimating) {\n this.requestAnimationFrameId = requestAnimationFrame(this.tween.bind(this));\n }\n }\n\n moveNodeBy(nodeId: string, xIn: number, yIn: number, wIn: number, hIn: number) {\n const { nodes } = this.state;\n nodes[nodeId].currentX = xIn;\n nodes[nodeId].currentY = yIn;\n nodes[nodeId].currentW = wIn;\n nodes[nodeId].currentH = hIn;\n const nodeElement: HTMLElement = this.viewport.querySelector(`[data-test=\"node-${nodeId}\"]`);\n if (nodeElement) {\n nodeElement.style.left = `${xIn}px`;\n nodeElement.style.top = `${yIn}px`;\n nodeElement.style.width = `${wIn}px`;\n nodeElement.style.height = `${hIn}px`;\n }\n Object.values(nodes[nodeId].data.outs).forEach((edge: EdgeType) => {\n if (edge.sourceNode === nodeId || edge.targetNode === nodeId) {\n const start = nodes[edge.sourceNode];\n const end = nodes[edge.targetNode];\n const edgeElement = this.viewport.querySelector(\n `[data-test=\"edge-${edge.sourceNode}-${edge.targetNode}\"]`\n );\n if (edgeElement && start && end) {\n const middle: {\n currentX: number;\n currentY: number;\n currentWidth: number;\n currentHeight: number;\n } = {\n currentX: 0,\n currentY: 0,\n currentWidth: 0,\n currentHeight: 0,\n };\n middle.currentX =\n start.currentX +\n start.currentW +\n (end.currentX - (start.currentX + start.currentW)) / 2;\n middle.currentY =\n start.currentY +\n start.currentH / 2 +\n (end.currentY - start.currentY - start.currentH / 2) / 2;\n const svgData = `\n M${start.currentX + start.currentW},${start.currentY + start.currentH / 2}\n L${start.currentX + start.currentW},${start.currentY + start.currentH / 2}\n C${middle.currentX},${start.currentY + start.currentH / 2}\n ${middle.currentX},${end.currentY + end.currentH / 2}\n ${end.currentX},${end.currentY + end.currentH / 2}\n L${end.currentX},${end.currentY + end.currentH / 2}`;\n edgeElement.setAttribute('d', svgData);\n }\n }\n });\n }\n\n render() {\n const { nodes, edges } = this.state;\n const {\n nodeColor,\n nodeHighlightColor,\n linkColor,\n linkWidth,\n showValueCounts,\n nodeTextColor,\n nodeTextHighlightColor,\n } = this.props;\n const newEdges = edges.filter((edge: EdgeType) => nodes[edge.sourceNode] && nodes[edge.targetNode]);\n\n return (\n <StyledViewport\n nodeColor={nodeColor}\n nodeTextColor={nodeTextColor}\n nodeHighlightColor={nodeHighlightColor}\n nodeTextHighlightColor={nodeTextHighlightColor}\n linkColor={linkColor}\n ref={c => {\n this.viewport = c;\n }}\n >\n <Nodes\n nodes={nodes}\n onNodeClick={k => this.handleMouseClick(k)}\n handleMouseEnterNode={(nodeID: string) => this.handleMouseEnterNode(nodeID)}\n handleMouseLeave={() => this.handleMouseLeave()}\n showValueCounts={showValueCounts}\n />\n <Edges edges={newEdges} linkWidth={linkWidth} />\n </StyledViewport>\n );\n }\n}\n\nexport default Graph;\n","import * as React from 'react';\nimport { StyledEdgesPath } from './GraphStyles';\nimport { EdgeType } from '../PureLinkGraphUtils';\n\nexport interface EdgesProps {\n edges: EdgeType[];\n linkWidth: number;\n}\n\nconst Edges = (props: EdgesProps): React.ReactElement => {\n const { edges, linkWidth } = props;\n let key = '';\n return (\n <svg\n style={{\n position: 'absolute',\n overflow: 'visible',\n pointerEvents: 'none',\n }}\n height=\"100%\"\n width=\"100%\"\n data-test=\"edges\"\n >\n {edges.map(edge => {\n key = `edge-${edge.sourceNode}-${edge.targetNode}`;\n return [<StyledEdgesPath className=\"edge\" key={key} data-test={key} linkWidth={linkWidth} />];\n })}\n </svg>\n );\n};\n\nexport default Edges;\n","import * as React from 'react';\nimport Node from './Node';\nimport { NodeType } from '../PureLinkGraphUtils';\n\nexport interface NodesProps {\n nodes: Record<string, NodeType>;\n onNodeClick: (key: string) => void;\n handleMouseEnterNode: (nodeID: string) => void;\n handleMouseLeave: () => void;\n showValueCounts: boolean;\n}\n\nconst Nodes = (props: NodesProps): any =>\n Object.keys(props.nodes).map(key => (\n <button\n className=\"node\"\n type=\"button\"\n data-test={`node-${key}`}\n key={key}\n onClick={() => props.onNodeClick(key)}\n onMouseEnter={() => props.handleMouseEnterNode(key)}\n onMouseLeave={() => props.handleMouseLeave()}\n >\n <Node data={props.nodes[key].data} showValueCounts={props.showValueCounts} />\n </button>\n ));\n\nexport default Nodes;\n","import * as React from 'react';\nimport Paragraph from '@splunk/react-ui/Paragraph';\nimport { NodeDataType } from '../PureLinkGraphUtils';\n\nexport interface NodeProps {\n data: NodeDataType;\n showValueCounts: boolean;\n}\n\nconst Node = (props: NodeProps): React.ReactElement => {\n const { data, showValueCounts } = props;\n return (\n <>\n <div className=\"center-content\">\n <Paragraph>{data.value}</Paragraph>\n </div>\n <div className=\"right-content\">\n <Paragraph>{showValueCounts ? data.count : null}</Paragraph>\n </div>\n </>\n );\n};\n\nexport default Node;\n","module.exports = require(\"@splunk/react-ui/Paragraph\");","import * as React from 'react';\nimport Dropdown from '@splunk/react-ui/Dropdown';\nimport Button from '@splunk/react-ui/Button';\nimport Menu from '@splunk/react-ui/Menu';\nimport Chip from '@splunk/react-ui/Chip';\n\ninterface FieldProps {\n field: string;\n count: number;\n width: number;\n onSort: (sortKey: string) => void;\n showNodeCounts: boolean;\n}\n\nconst Field = ({ field, count, onSort, showNodeCounts, width }: FieldProps): React.ReactElement => {\n const toggle = <Button label={field} isMenu appearance=\"toggle\" />;\n\n return (\n <div>\n <Dropdown toggle={toggle} retainFocus data-test={`field-${field}-dropdown`}>\n <Menu style={{ width }}>\n <Menu.Item data-test=\"A-Z\" onClick={() => onSort('A-Z')}>\n A-Z\n </Menu.Item>\n <Menu.Item data-test=\"Z-A\" onClick={() => onSort('Z-A')}>\n Z-A\n </Menu.Item>\n </Menu>\n </Dropdown>\n {showNodeCounts ? (\n <Chip style={{ float: 'right', fontSize: '10px', height: '20px' }}>{count}</Chip>\n ) : null}\n </div>\n );\n};\n\nField.displayName = 'Field';\n\nexport default Field;\n","module.exports = require(\"@splunk/react-ui/Dropdown\");","module.exports = require(\"@splunk/react-ui/Button\");","module.exports = require(\"@splunk/react-ui/Menu\");","module.exports = require(\"@splunk/react-ui/Chip\");","import styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\n\nexport const StyledFields = styled.div<{\n nodeWidth: number;\n nodeSpacingX: number;\n}>`\n position: absolute;\n whitespace: nowrap;\n display: flex;\n justify-content: space-between;\n align-items: center;\n max-height: 30px;\n\n > div:last-child {\n margin-right: 16px;\n }\n\n > div {\n width: ${props => props.nodeWidth}px;\n margin-right: ${props => props.nodeSpacingX}px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n > button {\n background: transparent !important;\n padding: 0;\n border: none;\n border-radius: !important;\n font-size: 12px !important;\n box-shadow: none !important;\n }\n\n > button > span {\n justify-content: flex-start;\n > span {\n padding: ${pick({ prisma: '0 !important' })};\n flex: 0 1 auto;\n font-weight: bold;\n }\n }\n\n > div {\n margin: 0;\n }\n }\n`;\n","import { map, get } from 'lodash';\nimport { LinkGraph as LinkGraphIcon } from '@splunk/visualization-icons';\nimport {\n COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n COLOR_OR_TOKEN_PATTERN,\n} from '@splunk/visualizations-shared/schemaUtils';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 900,\n initialHeight: 400,\n};\n\nconst defaultContext: DefaultContext = {\n nodeTextColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n nodeHighlightTextColorMaxContrast: {\n colors: ['> themes.defaultNodeColor', '> themes.inverseDefaultNodeColor'],\n default: '> themes.textColor',\n },\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n fieldOrder: {\n default: '> primary | getField()',\n description:\n 'Specify the order of fields to be displayed in the link graph from left to right when loaded. Unspecified fields will be excluded from the graph.',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n linkColor: {\n default: '#6d6f76',\n description:\n 'Specify the color used for highlighted links. Unhighlighted links will be displayed at 20% opacity.',\n pattern: COLOR_OR_TOKEN_PATTERN,\n type: 'string',\n },\n linkWidth: {\n default: 1,\n description: 'Specify, in pixels, the stroke width of each link.',\n type: 'number',\n },\n nodeColor: {\n default: '> themes.defaultNodeColor',\n description: 'Specify the color used for unhighlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeTextColor: {\n description: 'Specify the color used for unhighlighted nodes text.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> nodeColor | maxContrast(nodeTextColorMaxContrast)',\n },\n nodeHeight: {\n default: 21,\n description: 'Specify, in pixels, the height of each node.',\n type: 'number',\n },\n nodeHighlightColor: {\n default: VIZ_CATEGORICAL[0],\n description: 'Specify the color used for highlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeTextHighlightColor: {\n description: 'Specify the color used for highlighted nodes text.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> nodeHighlightColor | maxContrast(nodeHighlightTextColorMaxContrast)',\n },\n nodeSpacingX: {\n default: 32,\n description: 'Specify, in pixels, the horizontal spacing between each node.',\n type: 'number',\n },\n nodeSpacingY: {\n default: 18,\n description: 'Specify, in pixels, the vertical spacing between each node.',\n type: 'number',\n },\n nodeWidth: {\n default: 180,\n description: 'Specify, in pixels, the width of each node.',\n type: 'number',\n },\n resultLimit: {\n default: 50,\n description: 'Specify the number of nodes rendered in each column.',\n type: 'number',\n },\n showNodeCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the number of nodes displayed in each column. The number of total nodes is also shown if there are hidden nodes.',\n type: 'boolean',\n },\n showValueCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the frequency of occurrence for each distinct node value.',\n type: 'boolean',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.backgroundColorDialog(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorDialog(props),\n })(props),\n inverseDefaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst backgroundColorPaletteSet = new Set([\n ...COLOR_EDITOR_PALETTE,\n ...map(themes, (t): string => get(t, 'defaultBackgroundColor')),\n]);\n\nconst editorConfig: EditorConfig[] = [\n // {\n // label: _('Data'),\n // layout: [\n // [\n // {\n // label: _('Field Ordering'),\n // option: 'fieldOrder',\n // editor: 'editor.arrayOfStrings',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n // ],\n // },\n {\n label: _('Coloring'),\n layout: [\n [\n {\n label: _('Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Node Color'),\n option: 'nodeColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Selected Node Color'),\n option: 'nodeHighlightColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Link Color'),\n option: 'linkColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n ],\n },\n {\n label: _('Node Layout'),\n layout: [\n [\n {\n label: _('Node Width'),\n option: 'nodeWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Node Height'),\n option: 'nodeHeight',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Vertical Spacing'),\n option: 'nodeSpacingY',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Horizontal Spacing'),\n option: 'nodeSpacingX',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Link Width'),\n option: 'linkWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'left',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Result Limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'left',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Display Options'),\n layout: [\n [\n {\n label: _('Show Node Counts'),\n option: 'showNodeCounts',\n editor: 'editor.toggle',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Show Value Counts'),\n option: 'showValueCounts',\n editor: 'editor.toggle',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n ],\n },\n];\n\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.linkgraph',\n /**\n * viz name\n */\n name: 'Link Graph',\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: LinkGraphIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'node.click': {\n description: 'triggered when user clicks a node',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n"],"sourceRoot":""}
|